関数 > 信号処理 > スペクトル解析 > 例: ケプストラムと複素ケプストラム
例: ケプストラムと複素ケプストラム
cepstrum関数とccepstrum関数を使用して、実数のマルチチャネル信号のケプストラムと複素ケプストラムを計算します。
ケプストラムはコンボリューションとデコンボリューションを周波数領域の加算と減算にマップし、音声信号や地球物理学信号の処理に応用されています。
cepstrum
シーケンス x(n) のケプストラムは次の式によって求められます。
クリックしてこの式をコピー
ここで、X(ω) はシーケンス x(n) のフーリエ変換です。
これは x(n) のフーリエ変換の自然対数をとってから逆変換したものです。対数によってタイムドメインのコンボリューションが周波数領域の加算にマップされ、デコンボリューションが減算にマップされるので、ケプストラムは信号のデコンボリューションに便利なツールです。
1. n の範囲を定義します。
クリックしてこの式をコピー
2. シーケンス関数 x を定義します。
クリックしてこの式をコピー
3. シーケンス関数 x をプロットします。
クリックしてこの式をコピー
クリックしてこの式をコピー
4. ケプストラムを計算し、返された関数をプロットします。
クリックしてこの式をコピー
クリックしてこの式をコピー
5. recenter関数を使用して、1 つ目の要素が中心にくるように結果を移動します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
位相情報は保持されないので、ケプストラムから元の信号を回復することはできません。
ccepstrum
複素ケプストラム関数は次の複素対数式によって求められます。
クリックしてこの式をコピー
ここで、X(ω) はシーケンス x(n) のフーリエ変換であり、位相関数を使用して指定されたシーケンスの位相情報が取得されます。
出力信号の複素ケプストラムと入力とチャネルシーケンスの複素ケプストラムを比較し、出力の複素ケプストラムは入力とチャネルの複素ケプストラムの和であることを確認します。これは周波数領域で 2 つの信号のスペクトルを加算することと同じですが、ここではタイムドメインでこれを行っています。
次の例は、エコーを誘発する、通信チャネルを通過する信号をシミュレートしています (Alan V. Oppenheim/Ronald W. Schafer 共著「Discrete-Time Signal Processing」 Prentice Hall (1989) のセクション 12.8.1 より)。
1. 別のシーケンス (エコー) の減衰コピーを誘発するチャネル応答を FIR フィルタとして定義してプロットします。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
2. チャネル応答によってコンボリューションするシーケンス v を定義してプロットします。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
3. response関数を使用して、係数配列 v (通信チャネル関数 v) を持つ FIR フィルタに対する入力ベクトル p の n 次ベクトル応答を取得します。
クリックしてこの式をコピー
クリックしてこの式をコピー
4. 応答関数をプロットします。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
返されたシーケンスは入力関数 p と通信チャネル関数 v のコンボリューションです。
このシーケンスは、元の信号に遅延レプリカが加わったものを示しています。
5. 出力信号の複素ケプストラムを元のシーケンスの複素ケプストラムと比較します。比較しやすいように結果の中心位置を移動します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
上記のプロットは、出力信号の複素ケプストラムが、相互にコンボリューションされた 2 つのシーケンスの複素ケプストラムの和であることを示しています。
これは役に立ちましたか?