沃爾什函數
沃爾什函數有三種不同的函數定義,但都可由拉德梅克函數構成。
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).