Escolar Documentos
Profissional Documentos
Cultura Documentos
para Engenharia
MÓDULO 12 - DFT- TRANSFORMADA DISCRETA DE FOURIER
PROFESSOR LUCIANO NEVES DA FONSECA
Transformada Discreta de Fourier (DFT)
Embora o cálculo da Transformada Direta de Fourier do Tempo Discreto (TFTD direta) seja relativamente
simples e de fácil implementação numérica, a TFTD inversa, que é calculada através de uma integral,
apresenta um dificuldade maior.
Transformada Discreta de Fourier (DFT) surge então com uma alternativa que simplifica tanto o cálculo
da transformada direta quanto da inversa.
A DFT tem sua origem na Transformada de Fourier do Tempo discreto (TDFT) 𝐹𝑠 𝑗𝑤 das amostras
discretas 𝑓[𝑛]do sinal contínuo 𝑓(𝑡).
∞ 𝑚
𝑤 = 2𝜋
𝐹𝑠 𝑗𝑤 = 𝑓[𝑛] 𝑒 −𝑗𝑤𝑛 𝑁
𝑛=−∞ 0≤𝑚<𝑁
Se tivermos N amostras dos sinal 𝑓[𝑛], com 0 ≤ 𝑛 ≤ 𝑁 − 1 , poderemos obter também N amostras do
𝑚
primeiro período de 𝐹𝑠 𝑗𝑤 0 ≤ 𝑤 < 2𝜋, com 𝑤 = 2𝜋 𝑁 para 0 ≤ 𝑚 ≤ 𝑁 − 1 . Ao fazermos esta
substituição, assumirmos que o sinal 𝑓(𝑛) é periódico no tempo com período N,
∞ 𝑁−1
𝑚 −𝑗
𝑚
2𝜋 𝑛 −
𝑗2𝜋𝑛𝑚
𝐹[𝑚] = 𝐹𝑠 𝑗𝑤 = 𝑗2𝜋 = 𝑓[𝑛] 𝑒 𝑁 = 𝑓[𝑛] 𝑒 𝑁
𝑁
𝑛=−∞ 𝑛=0
A expressão acima irá produzir o sinal discreto 𝐹[𝑚] que é a DFT do sinal discreto 𝑓 𝑛 .
A DFT 𝐹[𝑚] é também periódica com período N, com N amostras equiespaçadas no domínio da
𝑚
frequência (∆𝑤 = 2𝜋 𝑁 com 0 ≤ 𝑚 < 𝑁) . As N amostras são obtidas de um período da TDFT 𝐹𝑠 𝑗𝑤 .
A DFT é simplesmente obtida a partir de N amostras de 1 período da TFTD
Seja um sinal discreto e não periódico 𝑓 𝑛 , com N amostras ( 0 ≤ 𝑛 < 𝑁) igualmente espaçadas no
tempo de 𝑡𝑜 . A sua TDFT normalizada 𝐹𝑠 𝑗𝑤 será contínua e periódica com período 2𝜋:
∞ 𝑁−1
𝐹𝑠 𝑗𝑤 = 𝑓 𝑛 𝑒 −𝑗𝑤𝑛 = 𝑓 𝑛 𝑒 −𝑗𝑤𝑛
𝑛=−∞ 𝑛=0
𝑓[𝑛]
𝐹𝑠 𝑗𝑤
𝑓[𝑛]
𝐹 𝑚
1 𝑇
𝐹 𝑛 = න 𝑓 𝑡 𝑒 −𝑗𝑛𝑤𝑜 𝑡 𝑑𝑡
𝑇 0
∞
𝐹 𝑗𝑤 = න 𝑓 𝑡 𝑒 −𝑗𝑤𝑡 𝑑𝑡
−∞
𝑓[𝑛]
𝐹𝑠 𝑗𝑤 = 𝑓 𝑛 𝑒 −𝑗𝑤𝑛𝑡𝑜
𝑛=−∞
𝑓[𝑛]
∞
𝐹𝑠 𝑗𝑤 = 𝑓 𝑛 𝑒 −𝑗𝑤𝑛
𝑛=−∞
𝑓[𝑛]
𝐹𝑚 𝑁−1
𝑗2𝜋𝑛𝑚
𝐹 𝑚 = 𝑓 𝑛 𝑒− 𝑁
𝑛=0
Cálculo da DFT a partir da definição
𝑊8 6 = 𝑗
𝑁−1 𝑁−1
−𝑗2𝜋𝑛𝑚 2 2
𝑛𝑚 𝑊8 5 = − +𝑗
𝐹 𝑚 = 𝑓 𝑛 𝑒 𝑁 = 𝑓 𝑛 𝑊𝑁 2 2
𝑊8 7 =
2
+𝑗
2
2 2
𝑛=0 𝑛=0 −𝑗2𝜋
𝑊𝑁 1 = 𝑒 𝑁
nm
𝑛𝑚
−𝑗2𝜋𝑛𝑚 −𝑗2𝜋 𝑊8 4 = −1 𝑊8 0 = 1
𝑊𝑁 =𝑒 𝑁 = 𝑒 𝑁
Onde:
𝐹 𝑚 - é a m-ésima componente de frequência sinal discreto no
domínio da frequência
2 2
𝑚 - índice de frequência discreta m=0,1,2,...,N-1 𝑊81 = −𝑗
2 2
𝑛 - índice do tempo discreto n=0,1,2,..,N-1
2 2
𝑁 - número de amostras no tempo e número de amostras na 𝑊8 3 = −
2
−𝑗
2 𝑊8 2 = −j
frequência
𝑓 𝑛 - sinal discreto no domínio tempo
𝑊𝑁 𝑛𝑚 =
𝑓 𝑛 = [1 , 3, 5 , 3, 1, −2, −5, −1] N=8
𝑊8 6 = 𝑗
2 2
𝑊8 5 = − +𝑗
2 2 2 2
𝑊8 7 = +𝑗
2 2
𝑊8 4 = −1 𝑊8 0 = 1
2 2
𝑊81 = −𝑗
2 2
2 2
𝑊8 3 = − −𝑗
2 2 𝑊8 2 = −j
Cálculo da DFT a partir da definição
𝑁−1
2𝜋𝑚 ∞
−𝑗 𝑁 𝑛
𝐹 𝑚 = 𝑓 𝑛 𝑒
𝐹𝑠 𝑗𝑤 = 𝑓 𝑛 𝑒 −𝑗(𝑤)𝑛
𝑛=0
𝑛=−∞
𝑁−1
Onde:
𝐹 𝑚 - é a m-ésima componente de frequência sinal discreto no domínio da frequência
𝑚 - índice de frequência discreta m=0,1,2,...,N-1
𝑛 - índice do tempo discreto n=0,1,2,..,N-1
𝑁 - número de amostras no tempo e número de amostras na frequência
𝑓 𝑛 - sinal discreto no domínio tempo
Interpretação da Frequência Digital
𝑊8 6 = 𝑗
2 2
𝑚 = [0: 𝑁 − 1] 𝑊8 5 = − +𝑗
2 2 2 2
𝑊8 7 = +𝑗
2 2
𝑚 = [0, 1, 2, 3, 4, 5, 6, 7]
m 𝑊8 4 = −1
𝑓d = 𝑊8 0 = 1
N
1 2 3 4 5 6 7
𝑓𝑑 = [0, , , , , , , ]
8 8 8 8 8 8 8
2 2
𝑊81 = −𝑗
𝑓 = 𝑓𝑑 ∗ 𝑓𝑠 2 2
𝑊𝑁 𝑛𝑚 =
𝑾𝑵 −𝒏𝒎 = 𝒄𝒐𝒏𝒋 𝑾𝑵 𝒏𝒎
F 𝑚 = [5. + 0. 𝑖, 0.707 − 16.36𝑖, 2. + 𝑖, −0.707 + 3.636𝑖, −1 + 0. 𝑖, −0.707 − 3.636𝑖, 2. − 𝑖 , 0.707 + 16.36𝑖] N=8
𝑊8 6 = 𝑗
2 2
𝑊8 5 = − +𝑗
2 2 2 2
𝑊8 7 = +𝑗
2 2
𝑊8 4 = −1 𝑊8 0 = 1
2 2
𝑊81 = −𝑗
2 2
2 2
𝑊8 3 = − −𝑗
2 2 𝑊8 2 = −j
Cálculo da IDFT ( DFT inversa)
A DFT oferece um algoritmo simples para o cálculo da Transformada Inversa.
Utiliza-se basicamente o memos algoritmo da transformada direta.
𝑁−1
1 𝑗2𝜋𝑛𝑚
𝑓𝑛 = 𝐹𝑚 𝑒 𝑁
𝑁
𝑚=0
𝑁−1
1
𝑓 𝑛 = 𝐹 𝑚 𝑊𝑁−𝑛𝑚
𝑁
𝑚=0
Onde:
𝐹 𝑚 - é a m-ésima componente de frequência sinal discreto no domínio da frequência
𝑚 - índice de frequência discreta m=0,1,2,...,N-1
𝑛 - índice do tempo discreto n=0,1,2,..,N-1
𝑁 - número de amostras no tempo e número de amostras na frequência
𝑓 𝑛 - sinal discreto no domínio tempo
Exemplos com Sinais Diversos
1) Temperatura mensal do DF - 𝑓𝑠 = 12 𝑎𝑚𝑜𝑠𝑡𝑟𝑎𝑠/ 𝑎𝑛𝑜
1 amostra por mês – N=686 amostras -Duração 57 anos
2) Som Morcego - 𝑓𝑠 = 230.4 𝑘𝐻𝑧
1 amostra a cada 4.24𝜇𝑠 – N= 2048 amostras Duração 8.9ms
3) Música - 𝑓𝑠 = 8000 𝐻𝑧 - Domínio Frequência
1 amostra a cada 0.125𝑚𝑠 – N= 268237 amostras - Duração 33.5 s
a) Música com filtro passa Baixas no domínio da Frequência
b) Música com filtro passa Altas no domínio da Frequência
c) Música com filtro passa Bandas no domínio da Frequência
d) Música com filtro rejeita Bandas no domínio da Frequência
3) Música - 𝑓𝑠 = 8000 𝐻𝑧 - Domínio Tempo
a) Música com filtro passa Baixas no domínio do Tempo
b) Música com filtro passa Baixas no domínio do Tempo – Filtro Complementar
c) Música com filtro passa Altas no domínio do Tempo – Inversão Espectral
d) Música com filtro passa Bandas no domínio do Tempo
e) Música com filtro rejeita Bandas no domínio do Tempo
1) Temperatura mensal do DF -1 amostra por mês –
N=686 amostras - Duração 57 anos
𝑓𝑠 = 12/𝑎𝑛𝑜 (12 amostras por ano)
2) Som Morcego
𝑓𝑠 = 230.4 kHz, (𝑇𝑠 = 4.24𝜇𝑠) – N= 2048 amostras
Duração 8.9ms
playsnd(bat,230400)
playsnd(bat,4000)
8) Música
𝑓𝑠 = 8000 𝐻𝑧, (𝑇𝑠 = 0.125𝑚𝑠) – N= 268237 amostras
Duração 33.54 s
𝑓 = 50 𝐻𝑧
𝑓 = 100 𝐻𝑧
𝑓 = 200 𝐻𝑧 playsnd(y0,8000)
𝑓 = 400 𝐻𝑧
3a) Passa Baixas no Domínio da Frequência
𝑌 𝑗𝑤 = 𝑌 𝑗𝑤 𝐻(𝑗𝑤)
𝐻 𝑗2𝜋𝑓
Sinal de Entrada Sinal de Saída
𝑌(𝑗𝑤) 𝑌 𝑗𝑤 = 𝑌 𝑗𝑤 𝐻(𝑗𝑤)
Sistema
3b) Passa Altas no Domínio da Frequência
𝑌 𝑗𝑤 = 𝑌 𝑗𝑤 𝐻(𝑗𝑤)
𝐻(𝑗2𝜋𝑓)
Sinal de Entrada Sinal de Saída
𝑌(𝑗𝑤) 𝑌 𝑗𝑤 = 𝑌 𝑗𝑤 𝐻(𝑗𝑤)
Sistema
3c) Passa Bandas no Domínio da Frequência
𝑯 𝒋𝟐𝝅𝒇
Sinal de Entrada Sinal de Saída
𝑌(𝑗𝑤) 𝑌𝑓 𝑗𝑤 = 𝑌 𝑗𝑤 𝐻(𝑗𝑤)
Sistema
3d) Rejeita Bandas no Domínio da Frequência
2𝜋𝑛
sin
1 𝑁 𝑀 − 0.5
ℎ𝑙𝑝 𝑛 = 𝜋𝑛
𝑁 sin
𝑁
𝑦𝑓 𝑛 = 𝑦 𝑛 ∗ ℎ𝑙𝑝 𝑛
𝑦𝑛 ℎ𝑙𝑝 [𝑛]
Sinal de Entrada Sinal de Saída
𝑌(𝑗𝑤)
Sistema
A largura 𝐾 que vamos truncar o sinc é determinada pela fração 𝐾 = 4/δ𝑓 , onde δ𝑓 é a
razão entre a largura ∆𝑓 desejada da banda de transição e a frequência de amostragem.
4
Para uma fração de δ𝑓 = ∆𝑓/𝑓𝑠 =1% (∆𝑓=80Hz com 𝑓𝑠 = 8000) 𝐾 = = 400
0.01
4b) Passa Altas no Domínio do Tempo
filtro complementar
𝐼𝐷𝐹𝑇
Hhp = 1 − Hlp ℎℎ𝑝 [𝑛] = 𝛿 𝑛 − ℎ𝑙𝑝 𝑛
𝑦𝑓 𝑛 = 𝑦 𝑛 ∗ ℎℎ𝑝 𝑛
𝑦𝑛 ℎℎ𝑝 [n]
Sinal de Entrada Sinal de Saída
𝑌(𝑗𝑤)
Sistema
A largura 𝐾 que vamos truncar o sinc é determinada pela fração 𝐾 = 4/δ𝑓 , onde δ𝑓 é a
razão entre a largura ∆𝑓 desejada da banda de transição e a frequência de
4
amostragem. Para uma fração de δ𝑓 = ∆𝑓/𝑓𝑠 =1% (∆𝑓=80Hz com 𝑓𝑠 = 8000) 𝐾 = =
0.01
4c) Passa Altas no Domínio do Tempo
inversão espectral
𝑁 𝐼𝐷𝐹𝑇 𝑗2𝜋𝑛 𝑁
Hhp m = Hlp 𝑚 − ℎℎ𝑝 𝑛 = 𝑒 𝑁 2 ℎ𝑙𝑝 𝑛
2
Hhp m = 𝑒 𝑗𝜋𝑛 ℎ𝑙𝑝 𝑛 = −1 𝑛 ℎ𝑙𝑝 𝑛
𝑦𝑓 𝑛 = 𝑦 𝑛 ∗ ℎℎ𝑝 𝑛
𝑦𝑛 ℎℎ𝑝 [n]
Sinal de Entrada Sinal de Saída
𝑌(𝑗𝑤)
Sistema
A largura 𝐾 que vamos truncar o sinc é determinada pela fração 𝐾 = 4/δ𝑓 , onde δ𝑓 é a
razão entre a largura ∆𝑓 desejada da banda de transição e a frequência de amostragem.
4
Para uma fração de δ𝑓 = ∆𝑓/𝑓𝑠 =1% (∆𝑓=80Hz com 𝑓𝑠 = 8000) 𝐾 = = 400
0.01
4d) Passa Bandas no Domínio do Tempo
𝐼𝐷𝐹𝑇
Hbp = Hlp1 − Hlp0 ℎ𝑏𝑝 𝑛 = ℎℎ𝑝1 𝑛 − ℎ𝑙𝑝𝑜 𝑛
Sistema
A largura 𝐾 que vamos truncar o sinc é determinada pela fração 𝐾 = 4/δ𝑓 , onde δ𝑓 é a razão
entre a largura ∆𝑓 desejada da banda de transição e a frequência de amostragem. Para uma
4
fração de δ𝑓 = ∆𝑓/𝑓𝑠 =0,5% (∆𝑓=40Hz com 𝑓𝑠 = 8000) 𝐾 = = 800
0.005
4e) Rejeita Bandas no Domínio do Tempo
𝐼𝐷𝐹𝑇
Hbp = Hhp1 + Hlp0 ℎ𝑏𝑟 𝑛 = ℎ𝑙𝑝1 𝑛 + ℎ𝑙𝑝𝑜 𝑛
Sistema
A largura 𝐾 que vamos truncar o sinc é determinada pela fração 𝐾 = 4/δ𝑓 , onde δ𝑓 é a razão
entre a largura ∆𝑓 desejada da banda de transição e a frequência de amostragem. Para uma
4
fração de δ𝑓 = ∆𝑓/𝑓𝑠 =0,5% (∆𝑓=40Hz com 𝑓𝑠 = 8000) 𝐾 = = 800
0.005
Conteúdo Opcional
FFT - Transformada Rápida de Fourier
A FFT não é uma nova transformada, é simplesmente uma maneira eficiente
de se calcular a DFT
Foi publicado por Cooley e Tukey em 1965; “An Algorithm for the Machine
Calculation of Complex Fourier Series”, Mathematic Computation, Vol 19, 1965
Há muitas variações na literatura. Vamos discutir 3 implementações:
Um algoritmo recursivo com decimação no tempo.
Um algoritmo Radix-2 com decimação tempo DIF, no qual o tamanho do
sinal no tempo de ser uma potência de dois, isto é, 𝑁 = 2𝑘 , onde k é um
inteiro positivo.
Um algoritmo Radix-2 com decimação na Frequência DIT, no qual o
tamanho do sinal no tempo de ser uma potência de dois, isto é, 𝑁 =
2𝑘 , onde k é um inteiro positivo.
Supondo que todo os fatores complexos 𝑊𝑁𝑛 estejam pré- 𝑁−1
𝑥 𝑛 = 𝑎 , 𝑏, 𝑐, 𝑑, 𝑒, 𝑓, 𝑔, ℎ
Podemos calcular a DFT pela definição 𝑊81 =
2
−𝑗
2
2 2
7
2 2
𝑊8 3 = − −𝑗
X m = 𝑥 𝑛 𝑊8𝑛𝑚 2 2 𝑊8 2 = −j
𝑛=0
+
2 2 𝑊8 2 = −j
𝐷𝐹𝑇
𝑥𝑜𝑖 n = 0, b, 0, d, 0 f, 0, h 𝑋𝑜𝑖 m = B, D, F, H, B, D, F, H
= 𝐷𝐹𝑇
.∗ [𝑊80 , 𝑊81 , 𝑊82 , 𝑊83 , 𝑊84 , 𝑊85 , 𝑊86 , 𝑊87 ]
Seja x(n) um sinal discreto com N amostras, a sua DFT X(m) será dada por:
𝑁−1
𝑋 𝑚 = 𝐷𝐹𝑇𝑁 𝑥 𝑛 = 𝑥 𝑛 𝑊𝑁𝑛𝑚
𝑛=0
𝑁 𝑁
−1 −1
2 2
(2𝑛)𝑚
𝑋 𝑚 = 𝑥 2𝑛 𝑊𝑁 + 𝑥 2𝑛 + 1 𝑊𝑁
2𝑛+1 𝑚
Amostras pares + ímpares
𝑛=0 𝑛=0
𝑁 𝑁
2 −1 2 −1
(2𝑛)𝑚 2𝑛 𝑚
𝑋 𝑚 = 𝑥 2𝑛 𝑊𝑁 + 𝑊𝑁𝑚 𝑥 2𝑛 𝑊𝑁
𝑛=0 𝑛=0
0 0000 0000 0
1 0001 1000 8
2 0010 0100 4
3 0011 1100 12
4 0100 0010 2
Na decomposição interlaçada, primeiro decompomos o 5 0101 1010 10
sinal de 16 amostras em 2 sinais de 8 amostras 6 0110 0110 6
3) Síntese na Frequência
No último estágio da FFT, os N sinais no domínio da frequência de comprimento 1 serão
recombinados para formar 1 sinal de comprimento N no domínio da frequência.
Esta combinação será feita na ordem reversa da decomposição no tempo.
No primeiro estágio combinamos 16 sinais no domínio da frequência de comprimento 1,
em 8 sinais de comprimento 2.
No segundo estágio combinamos em 4 sinais de comprimento 4.
No terceiro estágio em 2 sinais de comprimento 8.
E por fim no quarto estágio combinamos em 1 sinal de comprimento 16 no domínio da
frequência.
• FFT otimizada de 8 pontos do sinal 𝑥 𝑛 = 𝑎 , 𝑏, 𝑐, 𝑑, 𝑒, 𝑓, 𝑔, ℎ com decimação no tempo e
entrada bit reversa
• Notar que na FFT temos 8log28=24 multiplicações, ou invés das 82 = 64 multiplicações da DFT
Decimação Bit- Transformada do tempo para
frequência DFT de 1 ponto Síntese no domínio da frequência
Reversa no tempo
Implementação Direta FFT DIT -Decimação no tempo
Borboleta DIT
Princípio da FFT com Decimação na frequência
Seja x(n) um sinal discreto com N amostras, a sua DFT X(m) será dada por:
𝑁−1
𝑋 𝑚 = 𝐷𝐹𝑇𝑁 𝑥 𝑛 = 𝑥 𝑛 𝑊𝑁𝑛𝑚
𝑛=0
𝑋 2𝑚 = 𝐷𝐹𝑇𝑁 𝑥 𝑛 + 𝑥 𝑛 + 𝑁ൗ2
2
➢ Concluímos que as amostras pares 𝑋 2𝑚 da DFT de N amostras de x(n) podem ser calculadas a partir
𝑁
da DFT de N/2 amostras da soma entre as primeiras N/2 amostras no tempo de x(n) ( 0 ≤ 𝑛 < ) ; com a
2
N
últimas N/2 amostras no tempo de x(n) ( ≤ 𝑛 < 𝑁) .
2
➢ De maneira similar podemos provar que amostras ímpares de X(m) serão:
Borboleta DIF