A Transformada de Fourier Discreta w Existe uma







![A Transformada de Fourier Discreta (DFT) A DFT corresponde a representação de x[n] numa A Transformada de Fourier Discreta (DFT) A DFT corresponde a representação de x[n] numa](https://slidetodoc.com/presentation_image/005a637e5575b276e5270e6ac7c37cb1/image-8.jpg)



![Goertzel Algorithm Notar que: x[n]=0 para n<0 12 Goertzel Algorithm Notar que: x[n]=0 para n<0 12](https://slidetodoc.com/presentation_image/005a637e5575b276e5270e6ac7c37cb1/image-12.jpg)


![Grapho de uma FFT Butterfly FFT DFT x[n] X[k] 15 Grapho de uma FFT Butterfly FFT DFT x[n] X[k] 15](https://slidetodoc.com/presentation_image/005a637e5575b276e5270e6ac7c37cb1/image-15.jpg)






![Implementação da Convolução Linear com a FFT w Pretendemos obter a convolução de x[n] Implementação da Convolução Linear com a FFT w Pretendemos obter a convolução de x[n]](https://slidetodoc.com/presentation_image/005a637e5575b276e5270e6ac7c37cb1/image-22.jpg)

![Overlap and Add x 0[n] convolução x 1[n] x 2[n] x 3[n] x 4[n] Overlap and Add x 0[n] convolução x 1[n] x 2[n] x 3[n] x 4[n]](https://slidetodoc.com/presentation_image/005a637e5575b276e5270e6ac7c37cb1/image-24.jpg)
![Overlap and Save x 0[n] convolução Bloco errado x 1[n] h[n] x 2[n] x Overlap and Save x 0[n] convolução Bloco errado x 1[n] h[n] x 2[n] x](https://slidetodoc.com/presentation_image/005a637e5575b276e5270e6ac7c37cb1/image-25.jpg)
- Slides: 25
A Transformada de Fourier Discreta w Existe uma correspondência entre sequências finitas e sequências periódicas n A Transformada de Fourier Discreta de uma sequência finita, corresponde à Transformada de Fourier da Sequência periódica obtida por repetição da sequência finita Série de Fourier (DFS) Transformada de Fourier Discreta (DFT) Transformada de Fourier (DTFT) 1
A Série de Fourier Discreta (DFS) Com: 2
A Série de Fourier Discreta (DFS) Série de Fourier Discreta Inversa Série de Fourier Discreta DFS – Discrete Fourier Series 3
Relações da Série de Fourier Transformada de Fourier do sinal periódico Temos ainda Relações entre a Série de Fourier Discreta e a Transformada de Fourier do sinal finito Amostras do espectro do sinal 4
Propriedades da Série de Fourier Discreta 5
Propriedades da Série de Fourier Discreta 6
A Transformada de Fourier Discreta (DFT) vector Matriz (dois índices) DFT- Discrete Fourier Transform 7
A Transformada de Fourier Discreta (DFT) A DFT corresponde a representação de x[n] numa base diferente, sendo sempre possível recuperar o sinal original. 8
Convolução Periódica (circular) w Convolução periódica w Convolução circular A convolução no tempo só corresponde a multiplicação na frequência para a DFS. Para a DFT temos de utilizar a convolução circular. A convolução circular é comutativa. 9
Convolução Periódica (circular) DCT = DTFT Amostrada aliasing no tempo 10
Convolução Periódica Um atraso corresponde a rodar a sequência! 11
Goertzel Algorithm Notar que: x[n]=0 para n<0 12
A Transformada Rápida de Fourier (FFT) w Fast Fourier Transform (FFT) w É uma algoritmo computacionalmente eficiente para o cálculo da DFT Requer N^2 multiplicações DFT: FFT N log 2 N multiplicações 13
Principio Básico da FFT n A DFT de um vector de dimensão N pode ser calculada à custa de duas DFT de dimensão N/2 14
Grapho de uma FFT Butterfly FFT DFT x[n] X[k] 15
Efeito do Ruído de Quantificação (virgula fixa) w Cada valor é calculado através de N-1 Butterflys w Em cada Butterfly há um arredondamento (o erro é ~ b) Ruído no resultado (pior caso): (N-1) b Ruído no resultado assumindo sinais de ruído independentes: 1 Multiplicação Complexa = 4 Multiplicações reais 16
Efeito do Ruído de Quantificação w Para prevenir a saturação no pior caso do resultado devemos a componente real e complexa de x[n] menor que 1/N ou seja: Ou seja duplicar N implica perder um bit de relação sinal ruído Adicionando um escalamento de ½ às butterflys da FFT reduz a relação ruído sinal (N/S) para: Para processadores de virgula flutuante: Sinais de banda larga: 4 N 2 -2 B Sinais sinusoidais: 4 log 2 N 2 -2 B 17
Ordenação de bits Invertidos w 1ª divisão n n Xx 0 (pares) Xx 1 (impares) w 2ª divisão n n X 00 X 10 X 01 X 11 w 3ª divisão n n n n 000 100 010 110 001 101 011 111 Corresponde à ordenação tradicional mas com bits invertidos!! A reordenação pode ser efectuada “in place” 18
Outras Implementações w Decimação na frequência n n Os coeficientes estão ordenados no tempo, e em ordem de bits invertidos na frequência! Não necessita de Bit_reversed_addressing para implementar a convolução com a FFT. w Outras bases que não a dois! n n Permite FFT de dimensão que não são potência de dois (sem extensão com zeros) Pode conduzir a um menor ruído de quantificação w Implementações com ordem directa na entrada e na saída n Não permitem computação no local 19
Implementação w Blocos: corresponde ao cálculo de uma DFT de dimensão inferior Um loop externo para os diferentes estágios w Tamanho do bloco começa por ser dois e duplica para cada novo estádio. w Loop interno para diferentes blocos n n Cálculo de half_block_size Butterflys Os coeficientes das butterflys estão espaçados de half_block_size 20
Implementação da Convolução Linear com a FFT convolução Série de Fourier Discreta A convolução de uma sequência de dimensão L por uma de dimensão N resulta numa sequência de dimensão L+N-1 21
Implementação da Convolução Linear com a FFT w Pretendemos obter a convolução de x[n] com y[n], 0 n < N w Estende-se x[n] e y[n] com N zeros w xe[n] = [x[n], 0. . . 0], ye[n] = [y[n], 0. . . 0] w Efectua-se a convolução circular de xe[n] com ye [n] #N #(N+M-1) #M Aplicações: Overlap and Add e Overlap and Save 22
Overlap and SAVE / Overlap and ADD w Implementação de filtros FIR, por blocos usando a FFT. w Implementação de convolução de dois vectores de sinais (x[n] e h[n]) com um dos vectores (x[n]) muito maior que outro (h[n]). w Solução: dividir x[n] em blocos: w Overlap and SAVE n Implementar a convolução circular de dois blocos do sinal de dados com a resposta ao impulso…. w Overlap and ADD n Implementar a convolução de um bloco do sinal de dados com a resposta ao impulso. Somar resultados de outros blocos. Desvantagem: atraso na saída 23
Overlap and Add x 0[n] convolução x 1[n] x 2[n] x 3[n] x 4[n] Convolução linear implementada com a FFT h[n] x 0[n]*h[n] x 1[n]*h[n] x 2[n]*h[n] Add y 0[n] y 1[n] y 2[n] y 3[n] y 4[n] 24
Overlap and Save x 0[n] convolução Bloco errado x 1[n] h[n] x 2[n] x 3[n] x 4[n] Convolução circular implementada com a FFT aliasing (x 0[n]|x 1[n])*h[n] (x 1[n]|x 2[n])*h[n] Bloco correcto y 0[n] (x 2[n]|x 3[n])*h[n] Save y 1[n] y 2[n] y 3[n] y 4[n] 25

























