沃尔什-哈达玛变换


沃尔什函数
沃尔什函数有三种不同的函数定义,但都可由拉德梅克函数构成。

1、按沃尔什排列的沃尔什函数

 

其中,R(k+1,t)是任意拉德梅克函数,g(i)是i的格雷码, g(i)k是此格雷码的第k位数。P为正整数, 

 

2、按佩利(Paley)排列的沃尔什函数

 

其中,R(k+1,t)是任意拉德梅克函数,ik是自然二进制码的第k位数。P为正整数,。

取样后得到的按佩利排列的沃尔什函数矩阵:

3、按哈达玛(Hadamard)排列的沃尔什函数

 

其中,R(k+1,t)是任意拉德梅克函数,<ik>是倒序的二进制码的第k位数。P为正整数,。

 

 

 

 

取样后得到的按哈达玛排列的沃尔什函数矩阵:

 

2^n阶哈达玛矩阵有如下形式:

 

 

显然哈达玛矩阵H的逆矩阵和转置矩阵与原矩阵相等

可见,哈达玛矩阵的最大优点在于它具有简单的递推关系, 即高阶矩阵可用两个低阶矩阵的克罗内克积(Kronecker Product)求得。因此常采用哈达玛排列定义的沃尔什变换。

离散沃尔什-哈达玛变换(DWHT)

式中,[Hn]为N阶哈达玛矩阵。

由哈达玛矩阵的特点可知,沃尔什-哈达玛变换的本质上是将离散序列f(x)的各项值的符号按一定规律改变后,进行加减运算, 因此,它比采用复数运算的DFT和采用余弦运算的DCT要简单得多。

 

快速沃尔什变换(FWHT)

类似于FFT,WHT也有快速算法FWHT, 也可将输入序列f(x)按奇偶进行分组,分别进行WHT。FWHT的基本关系为:

对于第二种算法的蝶形运算公式为:

把fx分成前后f1x和f2x两部分。

复杂度分析:

原哈达玛变换,每个W(u)需要N次乘法,N-1次加法(对照上面哈达玛正变换表达式)

因此算法复杂度为:N个W(u)需要N*N次乘法和N*(N-1)次加法;

对于算法二所示蝶形运算,每个蝶形运算需要2次加(减)法,对于N=2^L的哈达玛变换,共有L级蝶形运算,每级需要N/2个蝶形运算

因此算法复杂度为:2*L*N/2=NL=Nlog2(N).

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM