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 02468101214 0 2 4 6 8 0246 0 2 4 6 8 -2-4 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 0123456 0 2 4 6 8

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 000 100 010 110 001 101 011 111 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], 0... 0], y e [n] = [y[n], 0... 0] 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