文档帮助中心文档
反离散余弦变换
x = idct (y)
x = idct (y, n)
x = idct (y, n,昏暗的)
y = idct (___“类型”,dcttype)
例子
x= idct (y)返回输入数组的离散余弦反变换y。输出x有相同的尺寸y。如果y有一个以上的维度idct对第一个大于1的数组维度进行操作。
x= idct (y)
x
y
idct
x= idct (y,n)的相关尺寸的零垫或截断y长度n在改变之前。
x= idct (y,n)
n
x= idct (y,n,昏暗的)沿维数计算变换昏暗的。输入维度并使用的默认值n,指定第二个参数为空,[]。
x= idct (y,n,昏暗的)
昏暗的
[]
y= idct (___“类型”,dcttype)指定要计算的逆离散余弦变换的类型。看到反离散余弦变换获取详细信息。这个选项可以与前面的任何语法组合使用。
y= idct (___“类型”,dcttype)
dcttype
全部折叠
生成一个信号,该信号由一个25hz的正弦信号组成,采样频率为1000 Hz,持续1秒。正弦信号嵌入高斯白噪声中,方差为0.01。
rng (“默认”) Fs = 1000;t = 0:1 / Fs: 1 - 1 / f;X = sin(2*pi*25*t) + randn(size(t))/10;
计算序列的离散余弦变换。确定1000个DCT系数中有多少是有效的。选择1作为显著性阈值。
y = dct (x);Sigcoeff = abs(y) >= 1;多少=总和(sigcoeff)
多少= 17
仅使用重要分量重建信号。
y (~ sigcoeff) = 0;z = idct (y);
绘制原始信号和重建信号。
Subplot (2,1,1) plot(t,x) yl = ylim;标题(“原始”) subplot(2,1,2) plot(t,z) ylim(yl) title(“重建”)
以随机信号为基准,验证离散余弦变换的不同变量是正交的。
从产生信号开始。
s = randn (1000 1);
验证DCT-1和DCT-4是否与它们本身相反。
dct1 = dct(年代,“类型”1);idt1 = idct(年代,“类型”1);马克斯(abs (dct1-idt1))
ans = 1.3323 e15汽油
dct4 = dct(年代,“类型”4);idt4 = idct(年代,“类型”4);马克斯(abs (dct4-idt4))
验证DCT-2和DCT-3是相反的。
dct2 = dct(年代,“类型”2);idt2 = idct(年代,“类型”3);马克斯(abs (dct2-idt2))
ans = 4.4409 e-16
dct3 = dct(年代,“类型”3);idt3 = idct(年代,“类型”2);马克斯(abs (dct3-idt3))
ans = 1.1102 e15汽油
gpuArray
输入离散余弦变换,指定为实值或复值向量、矩阵,N- d数组,或gpuArray对象。
看到在GPU上运行MATLAB函数(并行计算工具箱)和GPU支金宝app持情况(并行计算工具箱)有关gpuArray(并行计算工具箱)对象。
例子:dct(罪(2 *π* (0:255)/ 4))指定正弦函数的离散余弦变换。
dct(罪(2 *π* (0:255)/ 4))
例子:dct(罪(2 *π* [0.1,0.3]* (0:39)))指定双通道正弦信号的离散余弦变换。
dct(罪(2 *π* [0.1,0.3]* (0:39)))
数据类型:单|双复数的支持:金宝app是的
单
双
反变换长度,指定为一个正整数标量。
数据类型:单|双
要操作的维数,指定为正整数标量。
2
1
3.
4
反离散余弦变换类型,指定为从1到4的正整数标量。
反离散余弦变换,返回实值或复值向量、矩阵,N- d数组,或gpuArray对象。
离散余弦反变换从其离散余弦变换(DCT)系数重建序列。的idct函数是函数的逆dct函数。
dct
DCT有四种标准变体。对于变换后的信号y的长度N,用δkℓ克罗内克函数的倒数定义为:
DCT-1逆:
x ( n ) = 2 N − 1 ∑ k = 1 N y ( k ) 1 1 + δ k 1 + δ k N 1 1 + δ n 1 + δ n N 因为 ( π N − 1 ( k − 1 ) ( n − 1 ) )
DCT-2逆:
x ( n ) = 2 N ∑ k = 1 N y ( k ) 1 1 + δ k 1 因为 ( π 2 N ( k − 1 ) ( 2 n − 1 ) )
DCT-3逆:
x ( n ) = 2 N ∑ k = 1 N y ( k ) 1 1 + δ n 1 因为 ( π 2 N ( 2 k − 1 ) ( n − 1 ) )
DCT-4逆:
x ( n ) = 2 N ∑ k = 1 N y ( k ) 因为 ( π 4 N ( 2 k − 1 ) ( 2 n − 1 ) )
该级数的索引来自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是相反的。
A. K.杰恩数字图像处理基础。Englewood Cliffs, NJ: Prentice-Hall, 1989。
Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck。离散时间信号处理。第二版。上鞍河,新泽西:普伦提斯霍尔,1999。
潘尼贝克,W. B.和J. L.米切尔。静止图像数据压缩标准。纽约:Van Nostrand Reinhold, 1993。
使用注意事项及限制:
为C和c++代码生成dct需要DSP系统工具箱™软件。
变换维的长度必须是2的幂。如果指定,垫或截断值必须是常量。允许表达式或变量的值不变。
输入必须是双精度的。
N不支持-D输入数组。金宝app
的昏暗的和dcttype不支持输入参数。金宝app
有关更多信息,请参见在GPU上运行MATLAB函数(并行计算工具箱)。
dct|传输线|dct2(图像处理工具箱)|idct2(图像处理工具箱)
传输线
dct2
idct2
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系