Digital-signal-processing-dsp-discrete-fourier-transform-circular-convolution
提供:Dev Guides
DSP-DFT循環たたみ込み
Nの整数の長さを持つ2つの有限期間シーケンスx〜1〜(n)およびx〜2〜(n)を使用してみましょう。 それらのDFTは、それぞれX〜1〜(K)およびX〜2〜(K)です。
ここで、X〜3〜(K)として与えられる別のシーケンスx〜3〜(n)のDFTを見つけようとします。
$ X_3(K)= X_1(K)\ times X_2(K)$
上記のIDFTを取得することにより、
$ x_3(n)= \ frac \ {1} \ {N} \ displaystyle \ sum \ limits _ \ {n = 0} ^ \ {N-1} X_3(K)e ^ \ {\ frac \ {j2 \ Pi kn} \ {N}} $
上記の方程式を解いた後、最終的に、
$ x_3(n)= \ displaystyle \ sum \ limits _ \ {m = 0} ^ \ {N-1} x_1(m)x_2 [((nm))_ N] \ quad m = 0,1,2 … N-1 $
Comparison points | Linear Convolution | Circular Convolution |
---|---|---|
Shifting | Linear shifting | Circular shifting |
Samples in the convolution result | $N_1PLUSN_2−1$ | $Max(N_1,N_2)$ |
Finding response of a filter | Possible | Possible with zero padding |
循環たたみ込みの方法
一般的に、循環畳み込みを実行するために採用されている2つの方法があります-
- 同心円法、
- 行列乗算法。
同心円法
$ x_1(n)$と$ x_2(n)$を2つの与えられたシーケンスとします。 $ x_1(n)$と$ x_2(n)$の循環たたみ込みの手順は次のとおりです。
- 2つの同心円を取ります。 反時計回りの方向に(等距離の連続するポイントを維持する)外側の円周上に$ x_1(n)$のN個のサンプルをプロットします。
- $ x_2(n)$をプロットするには、$ x_2(n)$のN個のサンプルを内側の円に時計回りにプロットします。開始サンプルは、$ x_1(n)$の0 ^ th ^サンプルと同じポイントに配置されます。
- 2つの円の対応するサンプルを乗算し、それらを追加して出力を取得します。
- 一度に1つのサンプルで内側の円を反時計回りに回転させます。
行列乗算法
マトリックスメソッドは、2つの指定されたシーケンス$ x_1(n)$および$ x_2(n)$をマトリックス形式で表します。
- 与えられたシーケンスの1つは、一度に1つのサンプルの循環シフトを介して繰り返され、N X Nマトリックスを形成します。
- 他のシーケンスは列行列として表されます。
- 2つの行列の乗算により、循環たたみ込みの結果が得られます。