Digital-signal-processing-dsp-in-place-computation
DSP-インプレース計算
このメモリの効率的な使用は、FFTを計算する高速ハードウェアを設計するために重要です。 インプレース計算という用語は、このメモリ使用量を説明するために使用されます。
時系列のデシメーション
この構造では、すべてのポイントをバイナリ形式で表します。 0と1で。 次に、これらの構造を逆にします。 その後取得するシーケンスは、ビット反転シーケンスとして知られています。 これは、時系列の間引きとしても知られています。 8点DFTのインプレース計算は、以下に示すように表形式で示されています-
POINTS | BINARY FORMAT | REVERSAL | EQUIVALENT POINTS |
---|---|---|---|
0 | 000 | 000 | 0 |
1 | 001 | 100 | 4 |
2 | 010 | 010 | 2 |
3 | 011 | 110 | 6 |
4 | 100 | 001 | 1 |
5 | 101 | 101 | 5 |
6 | 110 | 011 | 3 |
7 | 111 | 111 | 7 |
周波数シーケンスのデシメーション
タイムシーケンスとは別に、Nポイントシーケンスを周波数で表すこともできます。 それをよりよく理解するために4点のシーケンスを取りましょう。
シーケンスを$ x [0]、x [1]、x [2]、x [3]、x [4]、x [5]、x [6]、x [7] $とします。 最初に、2つのポイントを1つのグループにグループ化します。 数学的には、このシーケンスは次のように記述できます。
次に、シーケンス番号0〜3の1つのグループと、シーケンス4〜7の別のグループを作成します。 今、数学的にこれは次のように表示できます。
nをrで置き換えましょう。r= 0、1、2…。(N/2-1)。 数学的には、
私たちは最初の4つのポイント(x [0]、x [1]、x [2]、x [3])を最初に取り、それらを数学的に次のように表現しようとします-
$ \ sum _ \ {n = 0} ^ 3x [n] W_8 ^ \ {nk} + \ sum _ \ {n = 0} ^ 3x [n + 4] W_8 ^ \ {(n + 4)k} $
$ = \ lbrace \ sum _ \ {n = 0} ^ 3x [n] + \ sum _ \ {n = 0} ^ 3x [n + 4] W_8 ^ \ {(4)k} \ rbrace \ times W_8 ^ \ { nk} $
今$ X [0] = \ sum _ \ {n = 0} ^ 3(X [n] + X [n + 4])$
$ X [1] = \ sum _ \ {n = 0} ^ 3(X [n] + X [n + 4])W_8 ^ \ {nk} $
$ = [X [0] -X [4] +(X [1] -X [5])W_8 ^ 1 +(X [2] -X [6])W_8 ^ 2 +(X [3] -X [7])W_8 ^ 3 $
さらに2つの部分に分割できます。つまり、4ポイントシーケンスとして分割する代わりに、2ポイントシーケンスに分割できます。