📅  最后修改于: 2020-11-25 05:39:23             🧑  作者: Mango
内存的这种有效利用对于设计快速硬件以计算FFT非常重要。就地计算一词用于描述此内存使用情况。
在此结构中,我们以二进制格式(即0和1)表示所有点。然后,我们反转这些结构。之后得到的序列称为位反转序列。这也称为时间抽取。八点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点序列也可以用频率表示。让我们采取四点顺序来更好地理解它。
假设序列为$ x [0],x [1],x [2],x [3],x [4],x [5],x [6],x [7] $。首先,我们将把两个点分组。从数学上讲,该序列可以写为:
$$ x [k] = \ sum_ {n = 0} ^ {N-1} x [n] W_N ^ {nk} $$
现在,让我们将一组序列号为0到3,将另一组序列号为4到7。现在,数学上可以显示为:
$$ \ displaystyle \ sum \ limits_ {n = 0} ^ {\ frac {N} {2} -1} x [n] W_N ^ {nk} + \ displaystyle \ sum \ limits_ {n = N / 2} ^ {N-1} x [n] W_N ^ {nk} $$
让我们用r代替n,其中r = 0、1、2 ….(N / 2-1)。数学上
$$ \ displaystyle \ sum \ limits_ {n = 0} ^ {\ frac {N} {2} -1} x [r] W_ {N / 2} ^ {nr} $$
首先,我们采用前四个点(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 $
我们可以进一步将其分为两部分,这意味着与其将其分解为4点序列,不如将其分解为2点序列。