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つの行列の乗算により、循環たたみ込みの結果が得られます。