A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 A Transformada de Fourier Discreta A DTFT transforma um sinal discreto num sinal continuo. No entanto o sinal continuo não pode ser processado numa maquina.

Apresentações semelhantes


Apresentação em tema: "1 A Transformada de Fourier Discreta A DTFT transforma um sinal discreto num sinal continuo. No entanto o sinal continuo não pode ser processado numa maquina."— Transcrição da apresentação:

1 1 A Transformada de Fourier Discreta A DTFT transforma um sinal discreto num sinal continuo. No entanto o sinal continuo não pode ser processado numa maquina digital, PC, DSP… Solução: DFT Corresponde a amostragem da DTFT, ou seja a calcular a DTFT num conjunto finito de pontos: H[k]=H(e j ) para = 2 k/N A amostragem no domínio da frequência é equivalente á formação de réplicas no domínio do tempo, o que conduz á série de fourier discreta.

2 2 A Transformada de Fourier Discreta Existe uma correspondência entre sequências finitas e sequências periódicas 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 (DTFT) Transformada de Fourier Discreta (DFT)

3 3 Série A Série de Fourier Discreta (DFS) Com:

4 4 Série A Série de Fourier Discreta (DFS) Série de Fourier Discreta Inversa Série de Fourier Discreta DFS – Discrete Fourier Series

5 5 Relações da Série de Fourier Relações entre a Série de Fourier Discreta e a Transformada de Fourier Temos ainda Transformada de Fourier do sinal periódico Transformada de Fourier do sinal finito Amostras do espectro do sinal

6 6 Relações com a Série de Fourier DTFTDFT

7 7 Frequências negativas Valores de k maiores que N/2 são equivalentes a k negativos X[k] = X[N-k]

8 8 Série Propriedades da Série de Fourier Discreta

9 9

10 10 A Transformada de Fourier Discreta (DFT) DFT- Discrete Fourier Transform Matriz (dois índices) vector A matriz é Otonormal á parte do factor 1/N, sendo a inversa dada pelo matriz transposta, W -kn N

11 11 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.

12 12 Convolução Periódica (circular) Convolução periódica 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. Convolução circular

13 13 Aproximando a DTFT através da DFT Extensão com zeros DFT

14 14 Aproximando a Transformada de Fourier através da DFT Período de amostragem T=1/Fa Comprimento da DFT NT Resolução na frequência = 1/(NT) Banda de frequências 0 a Fa/2

15 15 DFT de uma sinusóide A sinusóide tem de ser sempre truncada por uma janela mesmo que seja a janela rectangular. O espectro não é exactamente uma dirac… Com uma janela que não a rectangular o espectro melhora….

16 16 Convolução Periódica (circular) DCT = DTFT Amostrada aliasing no tempo

17 17 Convolução Periódica (aliasing no tempo) O produto do domínio da DFT é equivalente á convolução no domínio do tempo com aliasing z[n] z[n-N] z[n+N] resultado N=10

18 18 Convolução Periódica rodar Um atraso corresponde a rodar a sequência!

19 19 Goertzel Algorithm Notar que: x[n]=0 para n<0

20 20 A Transformada Rápida de Fourier (FFT) N^2 Requer N^2 multiplicações Fast Fourier Transform (FFT) É uma algoritmo computacionalmente eficiente para o cálculo da DFT DFT: FFT N/2 log 2 N N/2 log 2 N multiplicações

21 21 Principio Básico da FFT A DFT de um vector de dimensão N pode ser calculada à custa de duas DFT de dimensão N/2

22 22 Grapho de uma FFT Butterfly x[n]X[k] FFT DFT

23 23 Butterfly Estágio m-1 Estágio m Redução do peso computacional para N/2 log(N) Permite que os cálculos sejam Efectuados no local (in place), Necessita apenas de uma variavel auxiliar: aux = W N r y y= x-aux x=x+aux x y x y

24 24 Efeito do Ruído de Quantificação (virgula fixa) Cada valor é calculado através de N-1 Butterflys 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

25 25 Efeito do Ruído de Quantificação Para prevenir a saturação no pior caso do resultado devemos ter 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: 4N2 -2B Sinais sinusoidais: 4 log 2 N 2 -2B N – Dimensão da FFT B – Numero de bits de para representação dos números

26 26 Ordenação de bits Invertidos 1ª divisão Xx0 (pares) Xx1 (impares) 2ª divisão X00 X10 X01 X11 3ª divisão Corresponde à ordenação tradicional mas com bits invertidos!! A reordenação pode ser efectuada in place

27 27 Twiddle factors Necessários para o cálculo das butterflys Calculo Off-line e armazenados numa tabela Iterativo: (pode ser efectuado com maior precisão) W N r+1 = W N W N r Imediato:

28 28 Outras Implementações Decimação na frequência 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. Outras bases que não a dois! 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 Implementações com ordem directa na entrada e na saída Não permite computação no local

29 29 Implementação Blocos: corresponde ao cálculo de uma DFT de dimensão inferior Um loop externo para os diferentes estágios Tamanho do bloco começa por ser dois e duplica para cada novo estádio. Loop interno para diferentes blocos Cálculo de half_block_size Butterflys Os coeficientes das butterflys estão espaçados de half_block_size

30 30 Implementação da Convolução Linear com a FFT Série de Fourier Discreta convolução 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

31 31 Implementação da Convolução Linear com a FFT Pretendemos obter a convolução de x[n] com y[n], 0 n < N Estende-se x[n] e y[n] com N zeros x e [n] = [x[n], ], y e [n] = [y[n], ] Efectua-se a convolução circular de x e [n] com y e [n] #N #M #(N+M-1) Aplicações: Overlap and Add e Overlap and Save

32 32 Overlap and SAVE / Overlap and ADD Implementação de filtros FIR, por blocos usando a FFT. 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]). Solução: dividir x[n] em blocos: Overlap and SAVE Implementar a convolução circular de dois blocos do sinal de dados com a resposta ao impulso…. Overlap and ADD 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

33 33 Overlap and Add x0[n]x1[n]x2[n]x3[n]x4[n] h[n]convolução x0[n]*h[n] x1[n]*h[n] x2[n]*h[n] y0[n]y1[n]y2[n]y3[n]y4[n] Add Convolução linear implementada com a FFT

34 34 Overlap and Save x0[n]x1[n]x2[n]x3[n]x4[n] h[n] convolução (x0[n]|x1[n])*h[n] y0[n]y1[n]y2[n]y3[n]y4[n] Save (x1[n]|x2[n])*h[n] (x2[n]|x3[n])*h[n] aliasing Bloco errado Bloco correcto Convolução circular implementada com a FFT


Carregar ppt "1 A Transformada de Fourier Discreta A DTFT transforma um sinal discreto num sinal continuo. No entanto o sinal continuo não pode ser processado numa maquina."

Apresentações semelhantes


Anúncios Google