dct

Discrete cosine transform


Syntax

y = dct(x)

y = dct(x,n)

y = dct(x,n,dim)

y = dct(___,'Type',dcttype)


Description

y = dct(x)返回输入数组x的酉离散余弦变换。 输出y的大小与x相同。 如果x具有多个维度,则dct沿第一个数组维度运行,其大小大于1。

y = dct(x,n)在转换之前将x的相关维度填充或截断为长度n。

y = dct(x,n,dim)计算沿维度dim的变换。 要输入维度并使用默认值n,请将第二个参数指定为空,[]。

y = dct(___,'Type',dcttype)指定要计算的离散余弦变换的类型。 有关详细信息,请参见离散余弦变换。 此选项可以与任何以前的语法结合使用。


Discrete Cosine Transform

离散余弦变换(DCT)与离散傅立叶变换密切相关。 您通常可以从几个DCT系数非常精确地重建序列。 此属性对需要数据减少的应用程序很有用。

DCT有四种标准型号。 对于长度为N的信号x,以及具有δkℓ的Kronecker delta,变换由下式定义:

该系列从n = 1和k = 1索引,而不是通常的n = 0和k = 0,因为MATLAB®向量从1到N而不是从0到N - 1。

DCT的所有变体都是单一的(或等效地,正交):要找到它们的反转,在每个定义中切换k和n。 特别地,DCT-1和DCT-4是它们自己的逆,并且DCT-2和DCT-3是彼此相反的。


Energy Stored in DCT Coefficients

找出有多少DCT系数代表序列中99%的能量。

clc
clear
close all
% Find how many DCT coefficients represent 99% of the energy in a sequence.x = (1:100) + 50*cos((1:100)*2*pi/40);
X = dct(x);
[XX,ind] = sort(abs(X),'descend');
i = 1;
while norm(X(ind(1:i)))/norm(X) < 0.99i = i + 1;
end
needed = i;
% Reconstruct the signal and compare it to the original signal.X(ind(needed+1:end)) = 0;
xx = idct(X);plot([x;xx]')
legend('Original',['Reconstructed, N = ' int2str(needed)], ...'Location','SouthEast')

得到:

上面这个例子中用到了下面博文中的知识点:

【 MATLAB 】norm ( Vector and matrix norms )(向量范数以及矩阵范数)

【 MATLAB 】范数的必备基础知识

【 MATLAB 】sort ( Sort array elements )

【 MATLAB 】信号处理工具箱之 dct 简介及案例分析相关推荐

  1. 【 MATLAB 】信号处理工具箱之 ifft 简介及案例分析

    这篇博文和上篇博文对应:[ MATLAB ]信号处理工具箱之fft简介及案例分析 目录 ifft Syntax Description 案例分析 Inverse Transform of Vector ...

  2. 【 MATLAB 】信号处理工具箱之fft简介及案例分析

    目录 Syntax Description Y = fft(X) Y = fft(X,n) Y = fft(X,n,dim) Examples Noisy Signal Syntax Y = fft( ...

  3. matlab ifft函数实例,【 MATLAB 】信号处理工具箱之 ifft 简介及案例分析

    目录 ifft Inverse fast Fourier transform Syntax X = ifft(Y) X = ifft(Y,n) X = ifft(Y,n,dim) X = ifft(_ ...

  4. 【 MATLAB 】信号处理工具箱之 idct 简介及案例分析

    有关idct的基础知识见博文:[ MATLAB ]逆离散余弦变换(idct)的基础知识介绍 idct 逆离散余弦变换 Syntax x = idct(y) x = idct(y,n) x = idct ...

  5. MATLAB信号处理工具箱函数列表分类

    **现将MATLAB信号处理工具箱函数进行分组,便于记忆查询和长期回顾.(只解释基本用途,具体用法请在help目录下查询)** Waveform Generation(波形产生) chairp: 产生 ...

  6. matlab信号处理工具箱函数列表

    现将MATLAB信号处理工具箱函数进行分组,便于记忆查询和长期回顾.(只解释基本用途,具体用法请在help目录下查询) Waveform Generation(波形产生) chairp: 产生扫频余弦 ...

  7. matlab滤波器设计工具箱带阻滤波器,用matlab信号处理工具箱进行fir滤波器设计的三种方法...

    用matlab信号处理工具箱进行fir滤波器设计的三种方法 摘 要 介绍了利用 MATLAB 信号处理工具箱进行 FIR 滤波器设计的三种方法:程序设计法. FDATool 设计法和 SPTool 设 ...

  8. matlab软件及基础实验第8单元,《MATLAB统计分析与应用:40个案例分析》程序与数据(内含彩蛋)...

    [实例简介]Matlab教材及随书光盘,超实用的好书,强烈推荐! MATLAB统计分析与应用 40个案例分析.pdf <MATLAB统计分析与应用:40个案例分析>程序与数据.rar 第1 ...

  9. Matlab信号处理工具箱

    原文地址:http://blog.sina.com.cn/s/blog_701c05820100ns24.html 滤波器设计与分析: 滤波器 分析 abs 幅度 angle 相位 filternor ...

最新文章

  1. Xamarin Android设置界面提示类型错误
  2. zzuli oj 1167逆转数(指针专题)
  3. 牛津临床和实验室调查手册 Oxford Handbook of Clinical and Laboratory Investigation
  4. Python3 基础学习笔记 C07【函数】
  5. 荣耀青春30青春版能升鸿蒙,或是新一代拍照神器 荣耀30青春版今日发布
  6. 项目开发中对使用的第三方库统一进行管理__添加属性表/页
  7. ubuntu18.04安装qt5.9.0,图文详解
  8. jq的attr、prop和data区别
  9. Eclipse ADT插件版本下载大全
  10. 高等代数第3版下 [丘维声 著] 2015年版_全国硕士研究生入学统一考试管理类联考综合能力考试大纲(2021年版)...
  11. .NET Framework 4.6.1包和语言包下载
  12. 在虚拟机上搭建中标麒麟Neokylin6桌面版开发环境
  13. Kafka | Kafka中如何实现死信队列重试队列
  14. 益聚星荣:海底捞要关300家店,火锅还有救吗?
  15. WC2020 打铁记
  16. 命令提示窗口输出汉字
  17. win7系统如何映射服务器,映射网络驱动器在Win7系统中的操作方法
  18. lis25ba_实验LIS25BA骨振动传感器采集音频
  19. web前端开发远程调试工具Weinre
  20. 计算机微课课件评比活动总结,学校品德优质课评比活动总结

热门文章

  1. 嵌入式面试C语言试题
  2. 仰望众位Oracle大牛
  3. 计算机的桌面教案,《认识计算机桌面》教案-20210608141312.pdf-原创力文档
  4. aes算法的C语言实现代码,AES加密算法c语言实现代码
  5. ajax 提交订单,php-在Woocommerce 3中通过ajax提交并在结帐时创建订单
  6. android通知栏打开actvity,Android实现点击通知栏后,先启动应用再打开目标Activity...
  7. android设置app全局没通知声,从android中的firebase发送通知时没有通知声音
  8. 查找mysql的分区情况_MySQL 5.5 查看分区表的执行计划
  9. java抛出数组格式异常,Java中异常
  10. USB接口供电蓝牙彩色灯带控制器