Title: A Transformada de Fourier Discreta
1A 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)
2A Série de Fourier Discreta (DFS)
Com
3A Série de Fourier Discreta (DFS)
Série de Fourier Discreta Inversa
Série de Fourier Discreta
DFS Discrete Fourier Series
4Relaçõ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
5Propriedades da Série de Fourier Discreta
6Propriedades da Série de Fourier Discreta
7A Transformada de Fourier Discreta (DFT)
vector
Matriz (dois índices)
DFT- Discrete Fourier Transform
8A Transformada de Fourier Discreta (DFT)
A DFT corresponde a representação de xn numa
base diferente, sendo sempre possível recuperar o
sinal original.
9Convoluçã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.
A convolução circular é comutativa.
10Convolução Periódica (circular)
DCT DTFT Amostrada aliasing no tempo
11Convolução Periódica
Um atraso corresponde a rodar a sequência!
12Goertzel Algorithm
Notar que xn0 para nlt0
13A Transformada Rápida de Fourier (FFT)
- Fast Fourier Transform (FFT)
- É uma algoritmo computacionalmente eficiente
para o cálculo da DFT
Requer N2 multiplicações
DFT
N log2N multiplicações
FFT
14Principio 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
15Grapho de uma FFT
Butterfly
FFT
DFT
xn
Xk
16Efeito 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
17Efeito do Ruído de Quantificação
- Para prevenir a saturação no pior caso do
resultado devemos a componente real e complexa de
xn 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
log2N 2-2B
18Ordenação de bits Invertidos
- 3ª divisão
- 000
- 100
- 010
- 110
- 001
- 101
- 011
- 111
- 1ª divisão
- Xx0 (pares)
- Xx1 (impares)
- 2ª divisão
- X00
- X10
- X01
- X11
Corresponde à ordenação tradicional mas com bits
invertidos!!
A reordenação pode ser efectuada in place
19Outras 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 permitem computação no local
20Implementaçã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
21Implementaçã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 LN-1
22Implementação da Convolução Linear com a FFT
- Pretendemos obter a convolução de
- xn com yn, 0 ? n lt N
- Estende-se xn e yn com N zeros
- xen xn, 0 ... 0, yen yn, 0 ... 0
- Efectua-se a convolução circular de xen com ye
n
(NM-1)
N
M
Aplicações Overlap and Add e Overlap and Save
23Overlap 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 (xn e hn) com um dos vectores (xn)
muito maior que outro (hn). - Solução dividir xn 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
24Overlap and Add
x0n x1n x2n x3n x4n
Convolução linear implementada com a FFT
hn
convolução
x0nhn
x1nhn
x2nhn
Add
y0n y1n y2n y3n y4n
25Overlap and Save
x0n x1n x2n x3n x4n
Convolução circular implementada com a FFT
hn
aliasing
convolução
Bloco errado
(x0nx1n)hn
(x1nx2n)hn
(x2nx3n)hn
Bloco correcto
Save
y0n y1n y2n y3n y4n