DSP - computação in-loco
Este uso eficiente de memória é importante para projetar hardware rápido para calcular o FFT. O termo computação in-loco é usado para descrever esse uso de memória.
Decimação na sequência de tempo
Nessa estrutura, representamos todos os pontos em formato binário, ou seja, em 0 e 1. Em seguida, invertemos essas estruturas. A sequência que obtemos depois disso é conhecida como sequência de reversão de bits. Isso também é conhecido como decimação na sequência de tempo. O cálculo no local de um DFT de oito pontos é mostrado em um formato tabular, conforme mostrado abaixo -
PONTOS | FORMATO BINÁRIO | REVERSÃO | PONTOS EQUIVALENTES |
---|---|---|---|
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 |
Decimação na sequência de frequência
Além da sequência de tempo, uma sequência de N pontos também pode ser representada em frequência. Tomemos uma seqüência de quatro pontos para entendê-lo melhor.
Seja a sequência $ x [0], x [1], x [2], x [3], x [4], x [5], x [6], x [7] $. Vamos agrupar dois pontos em um grupo, inicialmente. Matematicamente, essa sequência pode ser escrita como;
$$ x [k] = \ sum_ {n = 0} ^ {N-1} x [n] W_N ^ {nk} $$Agora vamos fazer um grupo de número de seqüência de 0 a 3 e outro grupo de seqüência de 4 a 7. Agora, matematicamente, isso pode ser mostrado como;
$$ \ 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} $$Vamos substituir n por r, onde r = 0, 1, 2 ... (N / 2-1). Matematicamente,
$$ \ displaystyle \ sum \ limits_ {n = 0} ^ {\ frac {N} {2} -1} x [r] W_ {N / 2} ^ {nr} $$Pegamos os primeiros quatro pontos (x [0], x [1], x [2], x [3]) inicialmente e tentamos representá-los matematicamente da seguinte forma -
$ \ 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 \ vezes W_8 ^ {nk} $
agora $ 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 $
Podemos dividi-lo em mais duas partes, o que significa que, em vez de quebrá-los como uma sequência de 4 pontos, podemos quebrá-los em uma sequência de 2 pontos.