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

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

A Transformada de Fourier Discreta

Apresentações semelhantes


Apresentação em tema: "A Transformada de Fourier Discreta"— Transcrição da apresentação:

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(ej) 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 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 Transformada de Fourier Discreta (DFT) Série de Fourier (DFS) Transformada de Fourier (DTFT)

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

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

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

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

7 Frequências negativas
5 10 15 20 25 30 -1 -0.5 0.5 1 8 6 4 2 2 4 6 8 10 12 14 Valores de k maiores que N/2 são equivalentes a k negativos X[k] = X[N-k] 8 6 4 2 -4 -2 2 4 6

8 Propriedades da Série de Fourier Discreta

9 Propriedades da Série de Fourier Discreta

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

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 Convolução Periódica (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. Convolução circular A convolução circular é comutativa.

13 Aproximando a DTFT através da DFT
50 100 150 200 250 -1 -0.5 0.5 1 5 10 15 20 25 30 -1 -0.5 0.5 1 Extensão com zeros DFT DFT 1 2 3 4 5 6 8 8 6 4 2 1 2 3 4 5 6

14 Aproximando a Transformada de Fourier através da DFT
5 10 15 20 25 30 -1 -0.5 0.5 1 1 2 3 4 5 6 8 Período de amostragem T=1/Fa Resolução na frequência = 1/(NT) Comprimento da DFT NT Banda de frequências 0 a Fa/2

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 Convolução Periódica (circular)
DCT = DTFT Amostrada aliasing no tempo

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

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

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

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

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 Grapho de uma FFT Butterfly FFT DFT x[n] X[k]

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

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 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: N – Dimensão da FFT B – Numero de bits de para representação dos números 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 log2N 2-2B

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 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) WNr+1 = WN WNr Imediato:

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 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 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 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 xe[n] = [x[n], ], ye[n] = [y[n], ] Efectua-se a convolução circular de xe[n] com ye [n] #(N+M-1) #N #M Aplicações: Overlap and Add e Overlap and Save

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 Convolução linear implementada com a FFT
Overlap and Add x0[n] x1[n] x2[n] x3[n] x4[n] Convolução linear implementada com a FFT convolução h[n] x0[n]*h[n] x1[n]*h[n] x2[n]*h[n] Add y0[n] y1[n] y2[n] y3[n] y4[n]

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


Carregar ppt "A Transformada de Fourier Discreta"

Apresentações semelhantes


Anúncios Google