阿达马变换
| 建議将沃爾什轉換合併到本條目或章節。(討論) |
阿达马变换(Hadamard transform),或称沃爾什-阿達瑪轉換,是一种廣義傅立葉變換(Fourier transforms),作为变换编码的一种在视频编码当中使用有很久的历史。在近来的视频编码标准中,阿达马变换多被用来计算SATD(一种视频残差信号大小的衡量)。
在數位信號處理大型積體電路演算法的領域中,阿达马变换是一種簡單且重要的演算法之一,主要能針對頻譜做快速的分析。
目录 |
[编辑] 变换矩阵
在H.264中使用了4阶和8阶的阿达马变换来计算SATD,其变换矩阵为:
[编辑] SATD计算方法
当计算4x4块
的SATD时,先使用下面的方法进行二维的阿达马变换:
类似的,当计算8x8块
的SATD时,先使用下面的方法进行二维的Hadamard变换:
[编辑] 建構阿达马变换
阿达马变换轉換主要型式為
點的轉換矩陣,其最小單位矩陣為 2x2 的阿达马变换矩陣,以下分別為二點、四點與如何產生
點的阿达马变换轉換步驟。
- 二點阿达马变换轉換:

- 四點阿达马变换轉換:

- 產生
點阿达马变换的步驟:
步驟一: 
步驟二: 根據正負號次序 (Sign change,正負號改變次數) 將矩陣 (Matrix) 內的列向量座順序上的重新排列。

[编辑] 範例


[编辑] 特性
- 正交性
![\sum_{n=0}^{N-1} W\left[ {h, n} \right]W\left[ {m, n} \right] = 0, \quad \mathrm{if} \, h \ne m.](http://upload.wikimedia.org/wikipedia/zh/math/f/3/f/f3f24fe6b0982a698159337b344dcdb4.png)
其表示 Walsh-Hadamard 轉換矩陣中,不同的列向量 (Row verctor) 做內積 (Inner product) 為零。
- 奇偶函數性質
可簡單從 Walsh-Hadamard 轉換矩陣中發現,其奇數列向量呈現左右兩邊偶對稱(Even symmetric)。反之,其偶數列向量呈現左右兩邊奇對稱(Odd symmetric)。
若 ![f\left[{n}\right] \Rightarrow F\left[{m}\right] \, and \, \, g\left[{n}\right] \Rightarrow G\left[{m}\right],](http://upload.wikimedia.org/wikipedia/zh/math/a/2/6/a2657b336f2b40f9ae80fd6bb70ef245.png)
則 ![a\,f\left[{n}\right] + b\,g\left[{n}\right] \Rightarrow a\,F\left[{m}\right] + b\,G\left[{m}\right].](http://upload.wikimedia.org/wikipedia/zh/math/b/a/4/ba4757f56d0d44eae0aa9967e886d00d.png)
- 邏輯相加性質
![W\left[{m, n}\right] \cdot W\left[{l, n}\right] = W\left[{m \oplus l, n}\right].](http://upload.wikimedia.org/wikipedia/zh/math/b/d/5/bd5a77fe6e3ee27977f3398e34923dcd.png)
範例:

其運算方式為布林代數內的 XOR 邏輯閘。
![\delta\left[{n}\right] \Rightarrow 1, \quad 1 \Rightarrow N \cdot \delta\left[{n}\right].](http://upload.wikimedia.org/wikipedia/zh/math/7/c/d/7cd2fca17dcf50e1c1d1d5125782ab9b.png)
其中, ![\delta\left[{n}\right] = \begin{cases} \, 1, \quad \mathrm{when} \; n = 0 \\ \, 0, \quad \mathrm{when} \; n \ne 0 \end{cases}.](http://upload.wikimedia.org/wikipedia/zh/math/e/1/f/e1fa1194e93cf79c43b2ad215b3be356.png)
- 平移性質
若 ![f\left[{n}\right] \Rightarrow F\left[{m}\right],](http://upload.wikimedia.org/wikipedia/zh/math/b/0/7/b07cb447439e783b0e6e864b8a43e7a0.png)
則 ![f\left[{n \oplus k}\right] \Rightarrow W\left[{k, m}\right] F\left[{m}\right].](http://upload.wikimedia.org/wikipedia/zh/math/5/c/2/5c2c21dbc42f99f6383fdab94602ead2.png)
- 調變性質
若 ![f\left[{n}\right] \Rightarrow F\left[{m}\right],](http://upload.wikimedia.org/wikipedia/zh/math/b/0/7/b07cb447439e783b0e6e864b8a43e7a0.png)
則 ![W\left[{k, n}\right] f\left[{n}\right] \Rightarrow F\left[{m \oplus k}\right].](http://upload.wikimedia.org/wikipedia/zh/math/8/1/c/81c0a3bd3f4bcbe317a53d2488f1eba7.png)
- 帕塞瓦尔定理 (Parseval's Theorem)
若 ![f\left[{n}\right] \Rightarrow F\left[{m}\right], \quad \sum_{n=0}^{N-1} \left| f\left[ n \right] \right|^2 = \left( \frac{1}{N} \right) \sum_{n=0}^{N-1} \left| F\left[ m \right] \right|^2.](http://upload.wikimedia.org/wikipedia/zh/math/d/5/2/d520b130f3d92d57bde2cec03ba3108d.png)
若 ![f\left[{n}\right] \Rightarrow F\left[{m}\right] \, and \, \, g\left[{n}\right] \Rightarrow G\left[{m}\right],](http://upload.wikimedia.org/wikipedia/zh/math/a/2/6/a2657b336f2b40f9ae80fd6bb70ef245.png)
則 ![\sum_{n=0}^{N-1} f\left[ n \right]g\left[ n \right] = \left( \frac{1}{N} \right) \sum_{n=0}^{N-1} F\left[ m \right]G\left[ m \right].](http://upload.wikimedia.org/wikipedia/zh/math/a/7/2/a7203efab04ad66bb26987d3f1d7089c.png)
- 摺積性質 (Convolution Property)
若 ![f\left[{n}\right] \Rightarrow F\left[{m}\right] \, and \, \, g\left[{n}\right] \Rightarrow G\left[{m}\right],](http://upload.wikimedia.org/wikipedia/zh/math/a/2/6/a2657b336f2b40f9ae80fd6bb70ef245.png)
則 ![h\left[{n}\right] = f\left[{n}\right] \star g\left[{n}\right] \Rightarrow H\left[{m}\right] = F\left[{m}\right] G\left[{m}\right],](http://upload.wikimedia.org/wikipedia/zh/math/8/8/6/886d74ed2fdda6fdb3950b0e25065d8a.png)
其中
代表邏輯摺積 (Logical convolution)。
[编辑] 優缺點比較
[编辑] 優點
- 僅需實數運算 (Real operation) 。
- 不需乘法運算 (No multiplication) ,僅有加減法運算。
- 有部分性質類似於離散傅立葉變換 (Discrete fourier transform) 。
- 順向轉換 (Forward transform) 與反向轉換 (Inverse transform ) 型式為相似式。
![\begin{cases} \begin{matrix} F\left[ m \right] &=& \sum_{n=0}^{N-1} W\left[ {m, n} \right] f\left[ n \right] & & (\mbox{Forward Type}) \\ f\left[ n \right] &=& \left( \frac{1}{N} \right) \sum_{n=0}^{N-1} W\left[ {m, n} \right]F\left[ m \right] & &(\mbox{Inverse Type}) \end{matrix} \end{cases},](http://upload.wikimedia.org/wikipedia/zh/math/8/6/6/866793c1de8c78aec8b6b08f454f46dd.png)
其中
與
分別都為行向量 (Column vector) 。
[编辑] 缺點
[编辑] 應用範圍
阿达马变换轉換主要為一種非常適合應用於頻域分析 (Spectrum analysis) ,去執行快速之分析。可惜的是對於摺積性質是一種邏輯摺積,與離散傅立葉變換上之摺積性質截然不同。因此,較摺積上無法取代離散傅立葉變換。
主要應用範圍:
其主要是一種調變 (modulation) 與解調 (Demodultion) 之技術。
- 資訊編碼 (Information coding)。
- 特徵識別 (Feature extraction)。
- 心電圖分析 (ECG signal analysis in medical signal processing)。
- Hadamard 頻譜量測 (Hadamard spectrometer)。
- 避免量化誤差 (Avoiding quantization error)。由於阿达马变换轉換輸入輸出皆為整數,因此不會有量化誤差的問題。
[编辑] Jacket 轉換
廣義來說,其實阿达马变换轉換是 Jacket 轉換中的一項特例情況,其將
即可求得。
以下為四點的 Jacket 轉換:

點的 Jacket 轉換:

[编辑] 相关条目
[编辑] 參考文獻
- Jian-Jiun Ding, Advanced Digital Signal Processing class note,the Department of Electrical Engineering, National Taiwan University (NTU), Taipei, Taiwan, 2008.
- H. F. Harmuth,“Transmission of information by orthogonal functions,”1970.
- Moon-Hu. Lee,“A new reverse Jacket transform and its fast algorithm,”IEEE Trans. Circuits Syst.-II, vol. 47, pp.39-46, 2000.



所有系数
所有系数
點的 Jacket 轉換: