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.