DSPで循環たたみ込みが使用されるのはなぜですか?なぜ線形たたみ込みではないのですか?


8
  1. なぜDSPで循環たたみ込みを使用するのですか?

  2. デジタル処理で使用する主な理由は何ですか?

  3. 循環たたみ込みの概念が線形たたみ込みよりも頻繁に現れるのはなぜですか?


2
すべての回答に、FFTで最も効率的に実装される離散フーリエ変換に関する記述が含まれていることに気づくでしょう。DFTは、渡された有限長のシーケンス(循環)を本質的に定期的に拡張します。循環たたみ込みはめったに目的ではありません。通常、線形畳み込みが目標です。DFTを乗算するとX[k] そして H[k]まとめると、これは2つの周期的に拡張されたシーケンスの循環たたみ込みに対応します。x[n] そして h[n]DFTに渡されます。問題は、どういうわけかこれを線形たたみ込みに変換することです。
robert bristow-johnson

回答:


8

インパルス応答のある離散時間LTIシステムを考える h[n]、任意の入力に対する応答を計算できます x[n]畳み込み合計:

(1)y[n]=x[n]h[n]=k=h[k]x[nk]

これ以上の説明はありませんが、上記の定義は線形畳み込み(非周期的畳み込み)のh[n] そして x[n]、特に明記しない限り、無限長の可能性のある非周期的な離散時間シーケンスです。これは、周期の2つの周期的なシーケンスの間にある循環たたみ込みとは異なります。N、および単一の期間にわたって計算されます。

次のDTFT(離散時間フーリエ変換)プロパティを使用して、Eq.1によって時間領域で、または周波数領域で線形たたみ込みを計算できます。

(2)y[n]=x[n]h[n]Y(ejω)=X(ejω)H(ejω)

DTFTは、線形畳み込みと自然に関係しています。 定義した合計の制限に反映されます。

(3)X(ejω)=n=x[n]ejωn

手作業で計算する場合は、次のような信号の記号式を使用します。 x[n]=anu[n] そして h[n]=bnu[n]、上で概説したように、時間または周波数領域で結果を計算できます。

また、コンピューターを使用して同じ結果を計算する場合は、LCCDE再帰(IIRシステムの場合)または直接有限たたみ込み和(FIRシステムの場合)に基づく時間領域アプローチを使用できますが、周波数領域アプローチは使用できません。 t DTFTで動作します。それは主に信号とシステム理論の数学を開発するために使用されるツールであり、その変数として、デジタルコンピューターの実装には適していません。ω実数の連続数です。

代わりに使用されるのは、次のように定義されたDFT(離散フーリエ変換)です。

(4)X[k]=X(ejω)|ω=2πkN

どこ k=0,1,...,N1 そして NDFTの長さで、信号のNポイント DFT と呼ばれますx[n]

Eq.4は、DFTシーケンスが X[k] DTFTの均一サンプルとして取得されます X(ejω)、これは周期関数なので、DFT X[k] も定期的ですが、最初の期間は k=0N1

DFTシーケンスは本質的に周期的であるため、その畳み込みも周期的(循環)になります。したがって、非周期的な信号間の線形たたみ込みx[n] そして y[n] I-DTFT式によって暗示される

y[n]=IDTFT{X(ejω)H(ejω)}
代わりに、2つの周期的シーケンス間の循環たたみ込みは、I-DFT式によって暗示されます。
y~[n]=IDFT{X[k]H[k]}

したがって、2つの非周期的なシーケンス間の線形たたみ込みを計算したいとします。 x[n] そして h[n] 長さの Lx そして Lh それぞれ、周波数ドメインを使用して N ポイントDFT、 X[k] そして H[k]、信号の周期的な拡張間の循環たたみ込みを実際に計算する必要があります x~[n] そして h~[n] 期間の N

キーは適切な長さを選択することです Nシーケンスの時間領域のエイリアシングを回避するのに十分な長さのDFTy~[n]、IDFT計算によって返されます。

(5)y~[n]=r=y[nrN]

どこ y[n] は、理論上の逆DTFTによって返される線形畳み込みの結果であり、 y~[n] は、逆DFTによって暗示される周期的(循環)畳み込みの周期的結果です。

信号のいずれかが無限の長さのものであるならば、それはだと注意しないと、DFTのアプローチを使用して線形畳み込みを計算することが可能N無限に行き、事実上不可能です。DFTによる線形たたみ込みの実装には、次の手順があります。

  1. 次の基準に従ってNを選択します。

    NLx+Lh1
    エイリアスのない逆信号の再構成を保証します y[n] そのDFTから Y[k] 計算された循環たたみ込みの X[k]H[k]

  2. N点DFTの計算 X[k] そして H[k]x[n] そして h[n]

  3. 計算する Y[k]=X[k]H[k]

  4. のN点逆DFTを計算する Y[k] 出力を生成する y[n]


2

あなたの質問への答え:

  1. なぜDSPで循環たたみ込みを使用するのですか?

DSPでは、通常、有限長の離散シーケンスを扱います(調査中の信号が無限であっても、一度に分析できるのはその有限部分のみです)。信号を処理する場合、その処理方法はディスクリートロジックデバイス(つまり、この値は無限であり、メモリ、ストレージなどの容量が限られているため、連続値を格納できないデバイス)に実装できる必要があります。これは、離散時間シーケンスを連続周波数シーケンスに変換する離散時間フーリエ変換(DTFT)をハードウェアに実装できない理由を説明しています。時間内の線形たたみ込みは、2つのシーケンスDTFTの乗算に相当しますが、DTFTはハードウェアに実装できないため、これは線形たたみ込みを取得する方法ではありません。一方、離散フーリエ変換(DFT)は、離散時間シーケンスを離散周波数シーケンスに変換します。これにより、ハードウェアでの実装が可能になります。ただし、2つのシーケンスのDFTを乗算すると、原則として循環たたみ込みと同等になります。(線形コンボリューションは、時系列に十分なゼロが事前に埋め込まれている場合にも得られます。以下の説明を参照してください)。2つのシーケンスのDFTを乗算することが線形たたみ込みではなく循環と同等である理由は、有限時間長のシーケンスのDFTが、周期的に拡張された非常に同じ有限時間長のシーケンスの離散フーリエ級数(DFS)と同等であるという事実に由来します(有限の時間の長さのシーケンス(時間軸で無限))を1つの期間にわたって取得。DFSは周波数領域でも周期的であるため、線形畳み込みは適用されません(オッペンハイムの離散時間信号処理第3版の8.2.5および8.6.5を参照)

  1. デジタル処理で使用する主な理由は何ですか?

DFT乗算によって得られ、DFTはハードウェアに簡単に実装できます。さらに、DFTを計算するためのFFTなどの非常に効率的なアルゴリズムが存在します。

  1. 循環たたみ込みの概念が線形たたみ込みよりも頻繁に現れるのはなぜですか?

それはアプリケーションによって異なります。循環たたみ込みでは、線形たたみ込みも生成されます。たとえば、長さNの信号Aと長さNの信号Bを処理しているとします(さまざまな長さで実行することもできます)。循環たたみ込みは長さNになります。線形たたみ込みを取得するには、AとBの両方に少なくとも2 * N-1の長さになるまでゼロを埋め込む必要があります。次に、両方にDFTを適用し、それらを乗算して逆DFTは線形たたみ込みを提供します


1

ここに少し直感があります:

信号をデジタルで扱う場合、常に有限の信号を扱います。これは、有限量のデータポイントでしか処理できないためです。

ただし、問題は、DFTを使用して周波数領域への変換を実行する場合、定義上、信号を有限にすることができないことです。したがって、DFT演算を実行すると、信号が周期的ではない場合でも、信号が有限から周期的に暗黙的に変更されます。

この信号の周期性により、畳み込みを循環的に使用する必要が生じます。


1

DFT / FFTは便利な計算「ハンマー」ですが、その変換基底ベクトルはすべて、開口部が円形(整数周期)であり、周期関数として無限に拡張できるため、一部のユーザーは入力データの性質と混同します。

十分な量のゼロパディングを行う場合、循環たたみ込みは線形たたみ込みと同じ結果を生成しますが、循環よりも計算コストがわずかに高くなります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.