【 MATLAB 】信号处理工具箱之 dct 简介及案例分析
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 简介及案例分析相关推荐
- 【 MATLAB 】信号处理工具箱之 ifft 简介及案例分析
这篇博文和上篇博文对应:[ MATLAB ]信号处理工具箱之fft简介及案例分析 目录 ifft Syntax Description 案例分析 Inverse Transform of Vector ...
- 【 MATLAB 】信号处理工具箱之fft简介及案例分析
目录 Syntax Description Y = fft(X) Y = fft(X,n) Y = fft(X,n,dim) Examples Noisy Signal Syntax Y = fft( ...
- matlab ifft函数实例,【 MATLAB 】信号处理工具箱之 ifft 简介及案例分析
目录 ifft Inverse fast Fourier transform Syntax X = ifft(Y) X = ifft(Y,n) X = ifft(Y,n,dim) X = ifft(_ ...
- 【 MATLAB 】信号处理工具箱之 idct 简介及案例分析
有关idct的基础知识见博文:[ MATLAB ]逆离散余弦变换(idct)的基础知识介绍 idct 逆离散余弦变换 Syntax x = idct(y) x = idct(y,n) x = idct ...
- MATLAB信号处理工具箱函数列表分类
**现将MATLAB信号处理工具箱函数进行分组,便于记忆查询和长期回顾.(只解释基本用途,具体用法请在help目录下查询)** Waveform Generation(波形产生) chairp: 产生 ...
- matlab信号处理工具箱函数列表
现将MATLAB信号处理工具箱函数进行分组,便于记忆查询和长期回顾.(只解释基本用途,具体用法请在help目录下查询) Waveform Generation(波形产生) chairp: 产生扫频余弦 ...
- matlab滤波器设计工具箱带阻滤波器,用matlab信号处理工具箱进行fir滤波器设计的三种方法...
用matlab信号处理工具箱进行fir滤波器设计的三种方法 摘 要 介绍了利用 MATLAB 信号处理工具箱进行 FIR 滤波器设计的三种方法:程序设计法. FDATool 设计法和 SPTool 设 ...
- matlab软件及基础实验第8单元,《MATLAB统计分析与应用:40个案例分析》程序与数据(内含彩蛋)...
[实例简介]Matlab教材及随书光盘,超实用的好书,强烈推荐! MATLAB统计分析与应用 40个案例分析.pdf <MATLAB统计分析与应用:40个案例分析>程序与数据.rar 第1 ...
- Matlab信号处理工具箱
原文地址:http://blog.sina.com.cn/s/blog_701c05820100ns24.html 滤波器设计与分析: 滤波器 分析 abs 幅度 angle 相位 filternor ...
最新文章
- Xamarin Android设置界面提示类型错误
- zzuli oj 1167逆转数(指针专题)
- 牛津临床和实验室调查手册 Oxford Handbook of Clinical and Laboratory Investigation
- Python3 基础学习笔记 C07【函数】
- 荣耀青春30青春版能升鸿蒙,或是新一代拍照神器 荣耀30青春版今日发布
- 项目开发中对使用的第三方库统一进行管理__添加属性表/页
- ubuntu18.04安装qt5.9.0,图文详解
- jq的attr、prop和data区别
- Eclipse ADT插件版本下载大全
- 高等代数第3版下 [丘维声 著] 2015年版_全国硕士研究生入学统一考试管理类联考综合能力考试大纲(2021年版)...
- .NET Framework 4.6.1包和语言包下载
- 在虚拟机上搭建中标麒麟Neokylin6桌面版开发环境
- Kafka | Kafka中如何实现死信队列重试队列
- 益聚星荣:海底捞要关300家店,火锅还有救吗?
- WC2020 打铁记
- 命令提示窗口输出汉字
- win7系统如何映射服务器,映射网络驱动器在Win7系统中的操作方法
- lis25ba_实验LIS25BA骨振动传感器采集音频
- web前端开发远程调试工具Weinre
- 计算机微课课件评比活动总结,学校品德优质课评比活动总结
热门文章
- 嵌入式面试C语言试题
- 仰望众位Oracle大牛
- 计算机的桌面教案,《认识计算机桌面》教案-20210608141312.pdf-原创力文档
- aes算法的C语言实现代码,AES加密算法c语言实现代码
- ajax 提交订单,php-在Woocommerce 3中通过ajax提交并在结帐时创建订单
- android通知栏打开actvity,Android实现点击通知栏后,先启动应用再打开目标Activity...
- android设置app全局没通知声,从android中的firebase发送通知时没有通知声音
- 查找mysql的分区情况_MySQL 5.5 查看分区表的执行计划
- java抛出数组格式异常,Java中异常
- USB接口供电蓝牙彩色灯带控制器