ifwht

逆快速沃尔什 - 阿达玛变换

句法

Y = ifwht(x)的
Y = ifwht(X,N)
Y = ifwht(X,N,排序)

描述

Y = ifwht(x)的返回逆离散的系数快速沃尔什 - 哈达玛变换所述输入的X。如果X是一个矩阵,逆快速沃尔什 - 哈达玛变换上的每一列计算X。逆快速沃尔什 - 哈达玛变换仅在具有长度信号进行操作等于2的幂。如果长度的X小于2的幂,其长度被用零填充到处理前的两个下一个更大的功率。

Y = ifwht(X,N)返回ñ- 点逆离散沃尔什 - 哈达玛变换,其中ñ必须是2的幂。

Y = ifwht(X,N,排序)指定的顺序用于返回逆沃尔什 - 阿达玛变换系数。要指定排序,你必须为长度输入一个值ñ或者,使用默认行为,指定一个空载体([])为ñ。对于排序的有效值如下:

订购 描述
“列率” 系数以升序列率值,其中每一行有一个附加的过零点的顺序。这是默认的排序。
“阿达玛” 系数的正常秩序阿达玛。
“二元” 系数以格雷码顺序,其中单个位改变发生从一个系数到下一个。

例子

全部收缩

使用心电图(ECG)信号,以示出与该沃尔什 - 哈达玛变换工作。ECG信号通常都很大,需要被存储在未来的时间分析和检索。沃尔什 - 哈达玛变换被特别适合于这种应用,因为它们提供的压缩并因此需要较少的存储空间。他们还提供快速的信号重构。

开始与ECG信号。复制它来创建一个更长的信号,并插入一些额外的随机噪声。

XE = ECG(512);XR = repmat(XE,1,8);X = XR + 0.1 * randn(1,长度(XR));

变换使用快速沃尔什 - 阿达玛变换的信号。绘制原始信号和变换信号。

Y = FWHT(X);副区(2,1,1)图(X)xlabel(“样本指数”)ylabel('振幅')标题(“心电信号”)副区(2,1,2)情节(ABS(Y))xlabel(“时序器指数”)ylabel('大小')标题(“WHT系数”

该图显示,大部分的信号能量在较低列率值,低于约1100只存储第一系数1024(在4096)。尝试从只有这些存储的系数精确地重建该信号。

Y(1025:长度(X))= 0;xHat = ifwht(Y);图图(X)保持图(xHat)xlabel(“样本指数”)ylabel(“ECG信号幅度”)图例('原版的'“重建”

所再现的信号非常接近原始,但已被压缩的大小的四分之一。存储更多的系数是增加的分辨率和噪声增加之间的折衷,同时存储更少的系数可能导致峰的损失。

算法

逆快速沃尔什 - 哈达玛变换算法是类似于用于逆FFT的库利 - 图基算法。两者都采用蝶形结构,以确定变换系数。详情请参阅参考资料。

参考

[1]波尚,肯尼斯G.沃尔什和相关功能的应用:通过介绍时序器原理。伦敦:学术出版社,1984年。

[2]啤酒,汤姆。“沃尔什变换。”美国物理学杂志。卷。49,1981年,第466-472。

扩展功能

C / C ++代码生成
生成使用MATLAB®编码器™C和C ++代码。

也可以看看

||||

介绍了在R2008b