DSPで巡回畳み込みが使用されるのはなぜですか?なぜ線形畳み込みではないのですか?
On 11月 29, 2020 by admin-
DSPで巡回畳み込みを使用するのはなぜですか?
-
デジタル処理で使用する主な理由は何ですか?
-
循環の概念がなぜですか畳み込みは線形畳み込みよりも頻繁に発生しますか?
コメント
- すべての回答に言及が含まれていることに気付くでしょうFFTで最も効率的に実装される離散フーリエ変換の例。DFTは、渡された有限長シーケンス(円形)を本質的に周期的に拡張します。循環畳み込みはめったに目標ではありません。通常、線形畳み込みです。が目標ですが、DFT 'の$ X [k] $と$ H [k] $を乗算すると、巡回畳み込みに対応します。定期的に拡張される2つのシーケンスのうち、$ x [n] $と$ h [n] $がDFTに渡されます。問題は、これを何らかの形で線形畳み込みにすることです。
回答
インパルス応答を備えた離散時間LTIシステムを指定
convolution 合計: $$ y [n] = x [n] \ star h [n] = \ sum_ {k =-\ infty} ^ {\ infty} {h [k] x [nk]} \ tag {1} $$
特に明記しない限り、上記の定義は $ h [n] $ 間の線形畳み込み(非周期的畳み込み) span>および
計算線形Eq.1による時間領域での畳み込み、または次のDTFT(離散時間フーリエ変換)プロパティを使用した周波数領域での畳み込み: $$ y [n] = x [n] \ star h [n] \ implies Y(e ^ {j \ omega})= X(e ^ {j \ omega})H(e ^ {j \ omega})\ tag {2} $$
DTFTは、 $-\ infty $ から
計算を行う場合手作業で、 $ x [n] = a ^ nu [n] $ や
また、コンピューターを使用して同じ結果を計算する場合は、LCCDE再帰(IIRシステムの場合)または直接有限畳み込み和(FIRシステムの場合)に基づく時間領域アプローチを使用できます。ただし、周波数領域アプローチはDTFTでは機能しません。DTFTは主に信号の数学を開発するために使用されるツールであり、&システム理論であり、デジタルコンピューターには適していません。変数
代わりに使用されるのは、
DFT (離散フーリエ変換)です。 class = “math-container”> $$ X [k] = X(e ^ {j \ omega})| _ {\ omega = \ frac {2 \ pi k} {N}} \ tag {4} $$
ここで、 $ k = 0,1、…、N-1 $ および
Eq.4は、DFTシーケンス $ X [k] $ がDTFTの均一サンプルとして取得されることを意味します
DFTシーケンスは本質的に周期的であるため、それらの畳み込みも周期的(循環)になります。したがって、 linear 非周期信号間の畳み込み
したがって、2つの非周期的シーケンス間の線形畳み込みを計算したい場合 $ x [n] $ および
重要なのは、DFTの適切な長さ $ N $ を選択することです。これは、タイムドメインiv id =を回避するのに十分な長さである必要があります。シーケンス
エイリアスが返されましたIDFT計算による: $$ \ tilde {y} [n] = \ sum_ {r =-\ infty} ^ {\ infty} y [n-rN] \ tag {5 } $$
ここで、 $ y [n] $ は、理論上の逆数によって返される線形畳み込みの結果です。 DTFTおよび
信号のいずれかが無限の長さである場合、不可能であることに注意してください。 $ N $ は無限大になり、実質的に不可能になるため、DFTアプローチを使用して線形畳み込みを計算します。DFTを介した線形畳み込みの実装には、次の手順があります。
-
次の基準に従って N を選択します: $$ N \ geq L_x + L_h -1 $$ は、逆信号 $ y [n] $ のエイリアスフリーの再構成を保証します。 $ X [k] H [k]を介して、計算された循環畳み込みのDFT $ Y [k] $ からspan> $ 。
-
NポイントDFTを計算します
$ X [k] $ およびpanclass = $ x [n] $ と $ H [k] $ th-container “> $ h [n] $ 。 -
計算
$ Y [k] = X [k ] H [k] $ -
$ Y [k] $ spanのN点逆DFTを計算します>出力を生成する
$ y [n] $
回答
質問への回答:
- DSPで巡回畳み込みを使用するのはなぜですか?
DSPでは通常、有限長の離散シーケンスを処理します(調査中の信号が無限であっても、一度に分析できるのは有限部分のみです。 )。信号の処理に関しては、離散論理デバイス(つまり、この値は無限であり、メモリ、ストレージなどの量が有限であるため、連続値を格納できないデバイス)に実装可能である必要があります。これは、離散時間シーケンスを連続周波数シーケンスに変換する離散時間フーリエ変換(DTFT)がハードウェアで実装できない理由を説明しています。 時間の線形畳み込みは、2シーケンスのDTFTの乗算と同等ですが、DTFTはハードウェアに実装できないため、これは線形畳み込みを取得する方法ではありません。離散フーリエ変換(DFT)は、離散時間シーケンスを離散周波数シーケンスに変換します。これにより、での実装が可能になります。ただし、2シーケンスのDFTを乗算することは、原則として循環畳み込みと同等です(時系列に十分なゼロが事前に埋め込まれている場合は、線形畳み込みも取得できます。以下の説明を参照してください)。2つのシーケンスのDFTを乗算することが、線形畳み込みではなく循環と同等である理由は、有限時間長シーケンスのDFTが、周期的に拡張された(連結する)同じ有限時間長シーケンスの離散フーリエシリーズ(DFS)と同等であるという事実に由来します。 1つの期間にわたって取得された有限の時間長シーケンス(時間軸で無限に)。 DFSは周波数領域でも周期的であるため、線形畳み込みは適用されません(Oppenheimの離散時間信号処理第3版の8.2.5および8.6.5を参照)
- デジタル処理で使用する主な理由は何ですか?
これはDFT乗算によって取得され、DFTはハードウェアに簡単に実装できます。さらに、DFTを計算するためのFFTなどの非常に効率的なアルゴリズムが存在します
- 巡回畳み込みの概念がより頻繁に使用されるのはなぜですか線形畳み込み?
それはアプリケーションによって異なります。巡回畳み込みも線形畳み込みを生成する場合があります。たとえば、たとえば、長さNの信号Aと長さNの信号Bを使用しています(さまざまな長さに対しても実行できます)。巡回畳み込みの長さはNになります。線形畳み込みを取得するには、AとBの両方にゼロを埋めて少なくとも2 * N-1の長さにする必要があります。次に、両方にDFTを適用し、それらを乗算して逆を適用します。 DFTは線形畳み込みを提供します
回答
ここに少し直感があります:
信号をデジタルで処理する場合、常に有限の信号を処理します。これは、有限量のデータポイントでしか処理できないためです。
ただし、問題は、を使用して周波数ドメインへの変換を実行する場合です。 DFTは、定義上、信号を有限にすることはできません。したがって、DFT演算を実行すると、信号が周期的でなくても、信号が有限から周期的に暗黙的に変更されます。
これ信号の周期性により、畳み込みを循環的に使用する必要があります。
回答
DFT / FFTは便利な計算上の「ハンマー」ですが、そのすべての変換基底ベクトルは開口部が円形(整数周期)であり、周期関数として無限に拡張できます。これは、一部のユーザーが入力データの性質と混同します。
十分な量をゼロパッドすると、循環畳み込みは線形畳み込みと同じ結果を生成しますが、循環よりも計算コストがわずかに高くなります。
コメントを残す