Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada...

20
Transformada Discreta de Fourier (DFT) A DFT de uma sequência de comprimento finito é definida como: = 2 −1 =0 ,0≤≤−1 A DFT mapeia uma sequência de comprimento , , em outra sequência, , também de comprimento , cujas componentes correspondem a amostras igualmente espaçadas no eixo da DTFT desta sequência, ou seja: = =2 ,0≤≤−1

Transcript of Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada...

Page 1: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Transformada Discreta de Fourier (DFT)

A DFT de uma sequência 𝑥 𝑛 de comprimento finito 𝑁 é

definida como:

𝑋 𝑘 = 𝑥 𝑛 𝑒−𝑗2𝜋𝑁 𝑘𝑛

𝑁−1

𝑛=0

, 0 ≤ 𝑘 ≤ 𝑁 − 1

A DFT mapeia uma sequência de comprimento 𝑁, 𝑥 𝑛 , em outra

sequência, 𝑋 𝑘 , também de comprimento 𝑁, cujas componentes

correspondem a amostras igualmente espaçadas no eixo 𝜔 da DTFT

desta sequência, ou seja:

𝑋 𝑘 = 𝑋 𝑒𝑗𝜔 𝜔=2𝜋𝑘 𝑁

, 0 ≤ 𝑘 ≤ 𝑁 − 1

Page 2: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Transformada Discreta de Fourier (DFT)

Em geral, as amostras igualmente espaçadas da DTFT não

representam unicamente uma sequência 𝑥 𝑛 quando 𝑥 𝑛 tem

duração infinita. As amostras 𝑋 𝑒𝑗𝜔 𝜔=2𝜋𝑘 𝑁

representam a DFT de

um período (0 ≤ 𝑛 ≤ 𝑁 − 1) da sequência periódica:

𝑥𝑝(𝑛) = 𝑥 𝑛 − 𝑙𝑁 ,

𝑙=−∞

Page 3: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Transformada Discreta de Fourier (DFT)

Definindo 𝑊𝑁 = 𝑒−𝑗2𝜋

𝑁 , a DFT pode ser escrita como:

𝑋 𝑘 = 𝑥 𝑛 𝑊𝑁𝑘𝑛,

𝑁−1

𝑛=0

0 ≤ 𝑘 ≤ 𝑁 − 1

Complexidade da DFT:

• O cálculo de cada componente da DFT pela expressão acima requer

𝑁 multiplicações complexas e 𝑁 − 1 somas complexas.

• O cálculo de todos componentes (0 ≤ 𝑘 ≤ 𝑁 − 1) requer 𝑁2

multiplicações e 𝑁(𝑁 − 1) somas.

• O algoritmo FFT, que será visto mais adiante, requer apenas

𝑁 log2 𝑁 multiplicações e somas complexas quando 𝑁 = 2𝑟 , 𝑟 inteiro.

Page 4: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Transformada Discreta de Fourier (DFT)

Exemplo 1: A DFT de

𝑥 𝑛 = 1, 𝑛 = 0 0, 𝑛 = 1,2, ⋯ , 𝑁 − 1

é

Exemplo 2: A DFT de

𝑥 𝑛 = 1, 𝑛 = 0,1, ⋯ , 𝑁 − 1

é

𝑋 𝑘 = 𝑊𝑁𝑛𝑘

𝑁−1

𝑛=0

=1 − 𝑊𝑁

𝑁𝑘

1 − 𝑊𝑁𝑘 =

𝑁, 𝑘 = 00, 𝑘 ≠ 0

𝑋 𝑘 = δ(𝑛)𝑊𝑁𝑛𝑘

𝑁−1

𝑛=0

= 1, 𝑘 = 0,1, ⋯ , 𝑁 − 1

Page 5: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Transformada Discreta de Fourier (DFT)

Exemplo 3: A DFT de

𝑥 𝑛 = cos 2𝜋𝑟𝑛

𝑁, 𝑛 = 0,1, ⋯ , 𝑁 − 1

sendo 𝑟 um inteiro com 0 ≤ 𝑟 ≤ 𝑁 − 1, é

𝑋 𝑘 = 1

2𝑊𝑁

−𝑟𝑛 + 𝑊𝑁𝑟𝑛 𝑊𝑁

𝑛𝑘

𝑁−1

𝑛=0

=1

2 𝑊𝑁

(𝑘−𝑟)𝑛+ 𝑊𝑁

(𝑘+𝑟)𝑛

𝑁−1

𝑛=0

=1

2

1 − 𝑊𝑁𝑁(𝑘−𝑟)

1 − 𝑊𝑁𝑘−𝑟

+1 − 𝑊𝑁

𝑁(𝑘+𝑟)

1 − 𝑊𝑁𝑘+𝑟

=

𝑁

2, 𝑘 = 𝑟

𝑁

2, 𝑘 = 𝑁 − 𝑟

0, outro 𝑘

Page 6: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Simetrias da DFT de Sequências Reais

Para uma sequência 𝑥 𝑛 real de comprimento 𝑁, temos:

𝑋 𝑘 ∗ = 𝑥 𝑛 𝑒𝑗2𝜋𝑁 𝑘𝑛

𝑁−1

𝑛=0

= 𝑥 𝑛 𝑒−𝑗2𝜋𝑁

(𝑁−𝑘)𝑛

𝑁−1

𝑛=0

= 𝑋 𝑁 − 𝑘

Portanto:

𝑋𝑅 𝑘 = 𝑋𝑅 𝑁 − 𝑘

𝑋𝐼 𝑘 = −𝑋𝐼 𝑁 − 𝑘

𝑋 𝑘 = 𝑋 𝑁 − 𝑘

∠𝑋 𝑘 = −∠𝑋 𝑁 − 𝑘

Page 7: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

DFT Inversa (IDFT)

As componentes de 𝑥 𝑛 podem ser obtidas da sua DFT pela

expressão:

𝑥 𝑛 =1

𝑁 𝑋 𝑘 𝑊𝑁

−𝑘𝑛,

𝑁−1

𝑘=0

0 ≤ 𝑛 ≤ 𝑁 − 1

Page 8: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Obtenção da DTFT por Interpolação da DFT

A DTFT de uma sequência de 𝑥 𝑛 de comprimento 𝑁 é:

𝑋 𝑒𝑗𝜔 = 𝑥(𝑛)𝑒−𝑗𝜔𝑛

𝑁−1

𝑛=0

Substituindo 𝑥 𝑛 pela expressão da IDFT, obtemos:

𝑋 𝑒𝑗𝜔 = 1

𝑁 𝑋 𝑘 𝑊𝑁

−𝑘𝑛

𝑁−1

𝑘=0

𝑒−𝑗𝜔𝑛

𝑁−1

𝑛=0

=1

𝑁 𝑋 𝑘

𝑁−1

𝑘=0

𝑒−𝑗 𝜔−

2𝜋𝑘𝑁 𝑛

𝑁−1

𝑛=0

=1

𝑁 𝑋 𝑘

𝑁−1

𝑘=0

𝑠𝑒𝑛 (𝜔𝑁 − 2𝜋𝑘) 2

𝑠𝑒𝑛 (𝜔𝑁 − 2𝜋𝑘) 2𝑁 𝑒

−𝑗 𝜔−2𝜋𝑘𝑁

𝑁−12

Através da expressão acima, podemos reconstruir a DTFT 𝑋 𝑒𝑗𝜔 de uma

sequência de comprimento 𝑁 a partir da sua DFT 𝑋 𝑘 .

Page 9: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Cálculo Numérico da DTFT

A DTFT 𝑋 𝑒𝑗𝜔 de uma sequência 𝑥(n) de comprimento 𝑁 pode ser

obtida em um grid denso de frequências 𝜔𝑘 = 2𝜋𝑘/𝑀, com M ≫ 𝑁,

definindo:

𝑥𝑒 𝑛 = 𝑥 𝑛 , 0 ≤ 𝑛 ≤ 𝑁 − 10, 𝑁 ≤ 𝑛 ≤ 𝑀 − 1

Observando que 𝑋𝑒 𝑒𝑗𝜔 = 𝑋 𝑒𝑗𝜔 , a DFT de 𝑥𝑒 𝑛 corresponderá

à DTFT de 𝑥 n para 𝜔𝑘 =2𝜋𝑘

𝑀, 0 ≤ 𝑘 ≤ M − 1.

Page 10: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Relações Matriciais

As 𝑁 componentes da DFT podem ser escritas, na forma matricial,

em função das 𝑁 amostras de 𝑥 𝑛 , como:

𝑋[0]

𝑋[1]

𝑋[2]⋮

𝑋[𝑁 − 1]

=

1 11 𝑊𝑁

1 ⋯ 1𝑊𝑁

2 ⋯ 𝑊𝑁𝑁−1

1 𝑊𝑁2

⋮ ⋮1 𝑊𝑁

𝑁−1

𝑊𝑁4 ⋯ 𝑊𝑁

2(𝑁−1)

⋮ ⋱ ⋮

𝑊𝑁2(𝑁−1) ⋯ 𝑊𝑁

(𝑁−1)2

𝑥[0]

𝑥[1]

𝑥[2]⋮

𝑥[𝑁 − 1]

ou, na forma compacta:

𝑿𝑁 = 𝑾𝑁𝒙𝑁

onde 𝑾𝑁 é chamada de matriz DFT.

Page 11: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Relações Matriciais

A IDFT também pode ser expressa na forma matricial:

𝑥[0]

𝑥[1]

𝑥[2]⋮

𝑥[𝑁 − 1]

=1

𝑁

1 11 𝑊𝑁

−11 ⋯ 1

𝑊𝑁−2 ⋯ 𝑊𝑁

−(𝑁−1)

1 𝑊𝑁−2

⋮ ⋮

1 𝑊𝑁−(𝑁−1)

𝑊𝑁−4 ⋯ 𝑊𝑁

−2(𝑁−1)

⋮ ⋱ ⋮

𝑊𝑁−2(𝑁−1) ⋯ 𝑊𝑁

−(𝑁−1)2

𝑋[0]

𝑋[1]

𝑋[2]⋮

𝑋[𝑁 − 1]

ou, na forma compacta:

𝒙𝑁 =1

𝑁𝑾𝑁

𝑿𝑁

Comparando as expressões da DFT e da IDFT, concluímos que:

𝑾𝑁−𝟏 =

1

𝑁𝑾𝑁

Page 12: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Operações Circulares

Operação 𝑚 𝑚ó𝑑𝑢𝑙𝑜 𝑁 ou 𝑚 𝑁:

Dados dois números inteiros 𝑚 e 𝑁, seja 𝑖 o inteiro positivo ou

negativo tal que

𝑚 = 𝑖𝑁 + 𝑟, com 0 ≤ 𝑟 ≤ 𝑁 − 1

Então:

𝑚 𝑁 = 𝑟

Exemplos:

13 5 = 3, pois 13 = 2 × 5 + 3

27 5 = 2, pois 27 = 5 × 5 + 2

−12 5 = 3, pois −12 = −3 × 5 + 3

Page 13: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Operações Circulares

Deslocamento circular de 𝑛0 amostras de uma sequência x(n) de

comprimento 𝑁:

𝑥𝐶 𝑛 = 𝑥( 𝑛 − 𝑛0 𝑁)

Exemplo:

Page 14: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Operações Circulares

Convolução circular de duas sequências g n e h(n) de

comprimento 𝑁:

𝑦 𝑛 = 𝑔(𝑚)

𝑁−1

𝑚=0

ℎ( 𝑛 − 𝑚 𝑁)

Exemplo:

𝑦 0 = 𝑔 0 ℎ 0 4 + 𝑔 1 ℎ −1 4 + 𝑔 2 ℎ −2 4 𝑔 3 ℎ −3 4

= 𝑔 0 ℎ 0 + 𝑔 1 ℎ 3 + 𝑔 2 ℎ 2 + 𝑔 3 ℎ 1 = 1 + 4 + 3 + 2

= 10

Page 15: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Operações Circulares

A convolução circular pode ser escrita na forma matricial como:

𝑦[0]

𝑦[1]⋮

𝑦[𝑁 − 1]

=

ℎ[0] ℎ[𝑁 − 1]

ℎ[1] ℎ[0]

⋯ ℎ[1]

⋯ ℎ[2]⋮ ⋮

ℎ[𝑁 − 1] ℎ 𝑁 − 2 ⋱ ⋮⋯ ℎ[0]

𝑔[0]

𝑔[1]⋮

𝑔[𝑁 − 1]

No exemplo anterior:

𝑦[0]

𝑦[1]𝑦[2]

𝑦[3]

=

1 42 1

3 24 3

3 24 3

1 42 1

1111

=

10101010

Page 16: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Propriedades da DFT

Sejam duas sequências de comprimento 𝑁, g n ⟷ 𝐺(𝑘) e

h(n) ⟷ 𝐻 𝑘 . Então, as seguintes propriedades são válidas:

(i) Linearidade:

αg n + 𝛽ℎ 𝑛 ⟷ 𝛼𝐺 𝑘 + 𝛽𝐻(𝑘)

(ii) Deslocamento circular no tempo:

g 𝑛 − 𝑛0 𝑁 ⟷ 𝑊𝑁𝑘𝑛0𝐺 𝑘

(iii) Deslocamento circular na frequência:

𝑊𝑁−𝑘0𝑛g(n) ⟷ 𝐺 𝑘 − 𝑘0 𝑁

Page 17: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Propriedades da DFT

(iv) Convolução circular:

𝑔(𝑚)

𝑁−1

𝑚=0

ℎ( 𝑛 − 𝑚 𝑁) ⟷ 𝐺 𝑘 𝐻(𝑘)

ou seja, a DFT da convolução circular de 𝑁 amostras de duas

sequências é o produto de suas DFTs.

(v) Modulação:

𝑔 𝑛 ℎ(𝑛) ⟷1

𝑁 𝐺(𝑙)

𝑁−1

𝑙=0

𝐻( 𝑘 − 𝑙 𝑁)

ou seja, a DFT do produto de duas sequências é igual à

convolução circular de suas DFTs.

Page 18: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Computação de Convoluções Lineares Usando DFTs

Vimos que a resposta de um sistema LTI é a convolução linear da

entrada com a resposta ao impulso.

Vimos também que a convolução linear pode ser computada usando

DTFTs, ou seja:

A motivação para o uso da DFT é a redução da complexidade

computacional. Mas, pela propriedade (iv) da DFT, a IDFT do

produto de duas DFTs é igual à convolução circular das duas

sequências no tempo.

Page 19: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Computação de Convoluções Lineares Usando DFTs

A convolução linear de sequências de comprimento 𝑀 e 𝑁 é uma

sequência de comprimento 𝐿 = 𝑀 + 𝑁 − 1.

A convolução circular entre duas sequências exige que elas tenham

o mesmo comprimento. A sequência resultante terá o mesmo

comprimento das sequências.

Os resultados das convoluções linear e circular serão idênticos se

aumentarmos o comprimento de cada sequência com zeros de

forma que cada uma delas tenha comprimento 𝐿 = 𝑀 + 𝑁 − 1.

Portanto, definimos as sequências estendidas:

𝑥𝑒 𝑛 = 𝑥 𝑛 , 0 ≤ 𝑛 ≤ 𝑁 − 10, 𝑁 ≤ 𝑛 ≤ 𝐿 − 1

ℎ𝑒 𝑛 = ℎ 𝑛 , 0 ≤ 𝑛 ≤ 𝑀 − 10, 𝑀 ≤ 𝑛 ≤ 𝐿 − 1

Page 20: Transformada Discreta de Fourier (DFT) - pads.ufrj.brmariane/Cap5_slides.pdf · Transformada Discreta de Fourier (DFT) Em geral, as amostras igualmente espaçadas da DTFT não representam

Computação de Convoluções Lineares Usando DFTs

A convolução linear pode ser então obtidas usando DFTs conforme

ilustrado abaixo:

Exemplo: