主要内容

ウォルシュ·アダマル変換

ウォルシュ·アダマル変換は,信号を一連の基底関数に分解する,非正弦関数による直交変換手法です。これらの基底関数はウォルシュ関数で,+1または-1の値をも。·アダマル変換は,アダマル変換(matlabの関数.阿达玛を参照),ウォルシュ変換またはウォルシュ·フリエ変換としても知られています。

最初の8個の沃尔什関数は以下の値をもます。

ンデックス 沃尔什関数値
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 -1 -1 -1 -1
2 1 1 -1 -1 -1 -1 1 1 1
3. 1 1 -1 -1 1 1 -1
4 1 -1 -1 1 -1 1 -1 1
5 1 -1 -1 1 -1 1 1 -1
6 1 -1 1 -1 1 -1 1 -1 1 -1 1
7 1 -1 1 -1 1 -1 1 -1

ウォルシュ·アダマル変換では,交差数値が返されます。交差数(顺序)は周波数の一般化概念で,単位時間間隔あたりのゼロクロッシングの平均数の1/2として定義されます。各沃尔什関数は,一意な交差数値をもます。返される交差数値を使用して元の信号の周波数を推定します。

ウォルシュ関数の保存には次の3種類の順序付けが使用されます。交差数,アダマルおよび2進です。顺序は,信号処理アプリケーションで使用され,上記の表のような沃尔什関数を含みます。アダマール順序付けは制御アプリケーションで使用され,その配置は0,4,6,2、3、7、5、1のようになります。2進符号またはグレイ符号の順序付けは数値演算で使用され,0、1、3、2、6、7、5、4のようになります。

ウォルシュ・アダマール変換は,イメージ処理や音声処理,フィルター処理,パワースペクトル解析など多くの用途で利用されています。帯域幅のストレジ要求の削減やスペクトル拡散解析に役立ます。ウォルシュ·アダマル変換には、FFT と同様に高速版である、高速ウォルシュ・アダマール変換 (fwhtがあります。FWHTは,複素数値が必要であるFFTと比較して実数の加算と減算のみを使用するため,ストレージ容量が少なくてすみ,計算が高速です。FWHTは,FFTよりも少ない係数を使用して,シャープな不連続点をもつ信号をより正確に表すことができます。FWHTと逆FWHT (ifwht)は対称で,同じ計算プロセスを使用します。長さnの信号x (t)に対するFWHTとifwhtは,

y n 1 N 0 N 1 x 细胞膜 n x 0 N 1 y n 细胞膜 n

のように定義されます。ここで,i = 0,1,…,N - 1および细胞膜n,我)はウォルシュ関数です。FFTに対するクーリー・テューキーのアルゴリズムと同様に,N要素は,2セットのN / 2要素に分解され,これらはFWHTを生成するためにバタフライ構造を使用して結合されます。イメージに対しては,入力は一般に2次元信号で,FWHT係数はまず行について,次いで列について値を求めることにより計算されます。

以下の簡単な信号にいて,結果のFWHTは,xが交差数値が0,1,3,6であるWalsh関数を使用して作成されたことを示します。これは,変換されたxの非ゼロ邮箱ンデックスです。逆FWHTは元の信号を再作成します。

X = [4 2 2 0 0 2 -2 0] y = fwht(X)
X = 4 2 2 0 0 2 -2 0 y = 1 1 0 1 0 0 1 0
X1 = ifwht(y)
X1 = 4 2 2 0 0 2 -2 0

参考

|

関連するトピック