Você está na página 1de 21

Série e Transformada Discreta de Fourier 1 Série e Transformada Discreta de Fourier 2

Transformadas para sinais de tempo discreto



DTFT: X(ejω ) = x[n]e−jωn
X

n=−∞

Processamento Digital de Sinais • É uma transformada da variável contı́nua ω


• Usada para sinais de duração finita/infinita
• Não pode ser implementada de maneira exata num computador
Notas de Aula • Uso de outras ferramentas matemáticas que a aproximam

DFT:

• Aplicada a sinais de tempo discreto de duração finita


Série e Transformada Discreta de
Fourier • O resultado é um sinal de frequência discreta e de duração finita
• Pode ser implementada de maneira exata num computador

DFS / DFT • É uma aproximação da DTFT


• Existem algoritmos eficientes para seu cálculo (FFT - Fast Fourier
Transform)
• Está relacionada com sinais periódicos (DFS - Discrete Fourier Series)

Aplicações:

• Análise espectral de sinais, resposta em frequência


• Implementação de SLITs
Ricardo Tokio Higuti

Departamento de Engenharia Elétrica - FEIS - Unesp

Observação: Estas notas de aula estão baseadas no livro: “Discrete-Time Signal Processing”,
A.V. Oppenheim and R.W. Schafer, Prentice Hall, 1989/1999.
Série e Transformada Discreta de Fourier 3 Série e Transformada Discreta de Fourier 4

Série Discreta de Fourier - DFS Série Discreta de Fourier - DFS


Seja um sinal de tempo discreto periódico, com perı́odo N , que obedece a: Portanto, há apenas N diferentes frequências:

x̃[n] = x̃[n + rN ], r, N inteiros, ωk = k, para k = 0, 1, 2, · · · , N − 1
N
em que define-se a frequência fundamental do sinal por: e portanto a série fica:
2π NX
−1 NX
−1
ω0 = 1 2π 1 2π
N x̃[n] = X̃k ej N kn = X̃[k]ej N kn
N k=0 N k=0
Analogamente ao caso de tempo contı́nuo, este sinal também pode ser
representado por uma série, composta por uma soma de exponenciais com- Os valores X̃[k] são os coeficientes da série discreta de Fourier (DFS),
plexas de tempo discreto, cujas frequências são múltiplas da frequência que representam a contribuição de cada componente de frequência 2πk/N
fundamental: na composição do sinal periódico. Os coeficientes são obtidos por:
NX
−1
X̃k j 2π kn 2π
X̃[k] = x̃[n]e−j N kn , −∞ < k < +∞
X
x̃[n] = e N
k N n=0

Devido à periodicidade das frequências das exponenciais complexas, há Chagando-se ao par transformado:
apenas N frequências distintas: DF S
x̃[n] ←→ X̃[k]
j 2π
N kn
ek [n] = e
Observações:
Para k inteiro, fica-se com as exponenciais e0 [n], e1 [n], ..., eN −1 [n].
• X̃[k] é de frequência discreta. Para cada k há uma frequência 2πk/N
Quando k = N , tem-se:
2π • X̃[k] é periódico com N : X̃[k + N ] = X̃[k], por isso basta observar
eN [n] = ej N N n = ej2πn = 1 = e0[n] seus valores no intervalo entre 0 e N − 1.
De forma análoga, eN +1[n] = e1 [n] e assim por diante.
Série e Transformada Discreta de Fourier 5 Série e Transformada Discreta de Fourier 6

Exemplo - DFS Exemplo - DFS (cont.)


Calcule a DFS da sequência: Outra forma de verificar o resultado é reescrevendo a sequência x̃[n] em
termos de exponenciais complexas:
x̃[n] = A cos(πn/2)
A j π n A −j π n A j 2π n A −j 2π n
x̃[n] = A cos(πn/2) = e 2 + e 2 = e 4 + e 4
Inicialmente verifica-se que a sequência é periódica, com perı́odo N = 4, 2 2 2 2
e valores {A, 0, −A, 0} em um perı́odo (0 ≤ n ≤ 3). 2π 2π
Deve-se notar que e−j N kn = ej N (N −k)n , e portanto x̃[n] pode ser escrito
Portanto, a os coeficientes da DFS são:
como:
NX
−1
X̃[k] =
2π 2π
x̃[n]e−j N kn = A(1 − e−j 4 2k ) A j 2π n A j 2π 3n
x̃[n] = e 4 + e 4
n=0 2 2
Com valores: Como a expansão de x̃[n] em termos da DFS é:
• X̃[0] = A(1 − e−jπ0 ) = 0 1 NX
−1 2π
x̃[n] = X̃[k]ej 4 kn
4 k=0
• X̃[1] = A(1 − e−jπ1 ) = 2A
Nota-se que:
• X̃[2] = A(1 − e−jπ2 ) = 0
• X̃[3] = A(1 − e−jπ3 ) = 2A • X̃[0] = 0
• X̃[1]/4 = A/2, portanto X̃[1] = 2A
e percebe-se que X̃[4] = X̃[0], e assim por diante.
• X̃[2] = 0
• X̃[3]/4 = A/2, portanto X̃[3] = 2A
Série e Transformada Discreta de Fourier 7 Série e Transformada Discreta de Fourier 8

Relação entre a DFS e a DTFT Exemplo


Seja um sinal periódico de tempo discreto, x̃[n], com perı́odo N . Tomando- x[n] = {1, 1, 1, 1, 1, 0, 0}, N = 7, L = 5
se um perı́odo desse sinal, fica-se com o sinal x[n]: 4 sin(5ω/2)
X(ejω ) = e−jωn = e−j2ω
X

 x̃[n], n = 0, 1, ..., N − 1 n=0 sin(ω/2)
x[n] = 
0, caso contrário
4 sin(5πk/7)
A DTFT de x[n] é: e−j(2π/7)n = e−j(4π/7)k
X
X̃[k] =
n=0 sin(πk/7)
NX
−1 NX
−1
jω −jωn −jωn
X(e ) = x[n]e = x̃[n]e
n=0 n=0

E a DFS de x̃[n]:
x[n], x̃[n]
NX
−1 1
−j 2π
N kn
X̃[k] = x̃[n]e , −∞ < k < +∞
n=0

Comparando as equações, tem-se que a DFS e a DTFT, nessas condições, 0.5


estão relacionadas por:

X̃[k] = X(ejω )|ω= 2π


N k
, −∞ < k < +∞ 0
-6 -4 -2 0 2 4 6 8 10 12 14
ou seja, a DFS é composta por amostras da DTFT em N pontos n
equiespaçados de 2π/N , entre ω = 0 e 2π.
6
|X(ejω )|, |X̃[k]|
4

0
-2 -1 0 1 2 3 4

ω/π, ωk /π = 2k/7
Série e Transformada Discreta de Fourier 9 Série e Transformada Discreta de Fourier 10

Exemplo Exemplo
x[n] = {1, 1, 1, 1, 1, 0, 0, 0, 0, 0}, N = 10, L = 5 x[n] = {1, 1, 1, 1, 1}, N = 5, L = 5
4 sin(5ω/2) 4 sin(5ω/2)
X(ejω ) = e−jωn = e−j2ω X(ejω ) = e−jωn = e−j2ω
X X

n=0 sin(ω/2) n=0 sin(ω/2)

4 sin(πk/2) 4 sin(πk)
e−j(2π/10)n = e−j(4π/10)k e−j(2π/5)n = e−j(4π/5)k
X X
X̃[k] = X̃[k] =
n=0 sin(πk/10) n=0 sin(πk/5)

x[n], x̃[n] x[n], x̃[n]


1 1

0.5 0.5

0 0
-10 -5 0 5 10 15 20 -5 0 5 10
n n
6 6

|X(e )|, |X̃[k]| |X(ejω )|, |X̃[k]|
4 4

2 2

0 0
-2 -1 0 1 2 3 4 -2 -1 0 1 2 3 4

ω/π, ωk /π = 2k/10 ω/π, ωk /π = 2k/5


Série e Transformada Discreta de Fourier 11 Série e Transformada Discreta de Fourier 12

Exemplo Exemplo - DFS


Calcule a DFS de um trem de impulsos periódico:
5 ∞
X
x̃[n] = δ[n − m + rN ]
4.5 r=−∞

4 |X(ejω )|, |X̃[k]|, N = 20 Um perı́odo do sinal, para 0 ≤ n ≤ N − 1 é dado por δ[n − m], com m
3.5 uma constante inteira. Os coeficientes da DFS são dados por:
3 NX
−1 NX
−1
2π 2π 2π

2.5
X̃[k] = x̃[n]e−j N kn = δ[n − m]e−j N kn = e−j N km
n=0 n=0
2
Portanto, a representação do sinal periódico fica:
1.5
1 NX
−1 2π 1 NX
−1 1 NX
−1 2π
−j 2π 2π
1 x̃[n] = X̃[k]ej N kn = eN km j N kn
e = j N k(n−m)
e
N k=0 N k=0 N k=0
0.5

0
E tem-se a identidade:
0 0.5 1 1.5 2
∞ 1 NX
−1 2π
X j N k(n−m)
ω/π, ωk /π = 2k/20 x̃[n] = δ[n − m + rN ] = e
r=−∞ N k=0

Esta identidade será útil quando for relacionada a DFS com a DTFT.
5

4.5

4 |X(ejω )|, |X̃[k]|, N = 40


3.5

2.5

1.5

0.5

0
0 0.5 1 1.5 2

ω/π, ωk /π = 2k/40
Série e Transformada Discreta de Fourier 13 Série e Transformada Discreta de Fourier 14

Amostragem da DTFT Amostragem da DTFT


Foi visto que, se, a partir de uma sequência de duração finita L, x[n], se A sequência periódica x̃[n] resultante pode ser calculada por meio da DFS
produz uma sequência periódica x̃[n] com perı́odo N ≥ L, os coeficientes da inversa:
DFS X̃[k] são as amostras da DTFT X(ejω ), nas frequências ωk = 2πk/N . 1 NX
−1 2π
x̃[n] = X̃[k]ej N kn
+∞
DF S N k=0
x[n + mN ] ←→ X̃[k] = X(ejω )|ω= 2π
X
x[n] ⇒ x̃[n] = N k
m=−∞  
1 NX
−1 +∞
X −j 2π 2π
N km  j N kn
Suponha agora que se tenha uma DTFT de um sinal x[n] qualquer, dada =  x[m]e e
N k=0 m=−∞
por X(ejω ), e se tomam amostras da DTFT, formando coeficientes de uma
DFS:
 
+∞ 1 NX
−1 2π
X j N k(n−m) 
= x[m]  e
X̃[k] = X(ejω )|ω= 2π m=−∞ N k=0
N k
O termo entre colchetes representa a DFS de um trem de impulsos
em que a DTFT é dada por:
periódico:
+∞
X(ejω ) = x[m]e−jωm NX
−1 2π +∞
X
1 j N k(n−m) X
m=−∞ e = δ[n − m + rN ]
N k=0 r=−∞
Ou seja, a DFS pode ser escrita em função de x[n] como:
Portanto:
+∞
−j 2π +∞ +∞
N km
X
X̃[k] = x[m]e x̃[n] =
X
x[m]
X
δ[n − m + rN ]
m=−∞
m=−∞ r=−∞
Calculando-se a DFS inversa pode-se chegar a uma relação entre a
+∞
sequência periódica x̃[n] e a sequência x[n].
X
= x[n] ∗ δ[n + rN ]
r=−∞

+∞
X
= x[n + rN ]
r=−∞
Série e Transformada Discreta de Fourier 15 Série e Transformada Discreta de Fourier 16

Amostragem da DTFT Amostragem da DTFT: Exemplo


Logo, ao se tomar N amostras da DTFT de um sinal x[n], obtendo-se coefi- Seja x[n] um pulso de duração 5 amostras (L = 5).
cientes de uma DFS, a sequência periódica correspondente pode ser obtida
por meio da adição de infinitas cópias de x[n], deslocadas de múltiplos de sequências | DTFT | , | DFS |
N. 3
5 |X(ejω )|
2 x[n]

1
DTFT
x[n] jω
X(e ) 0 0
0 5 10 15 20 0 0.5 1 1.5 2
3
N amostras +∞ 5
N = 10, X̃1 [k] = X(ejω )|ω= 2π k
X
2 x̃1 [n] = x[n + 10r] 10
+∞
X DFS r=−∞
x̃[n] = x[n + rN ] jω
X̃[k] = X(e )|ω= 2π 1
r=−∞ N k

0 0
0 5 10 15 20 0 5 10
3 +∞
X 5
Logo: se a sequência x[n] possuir um comprimento L > N , haverá so- 2 x̃2 [n] = x[n + 5r]
N = 5, X̃2 [k] = X(ejω )|ω= 2π k
r=−∞
breposição no domı́nio do tempo, e um perı́odo de x̃[n] não representará 5

1
corretamente a sequência x[n].
0 0

0 5 10 15 20 0 2 4
Há um número mı́nimo de amostras de X(e ) para que a sequência x[n] 3 +∞
5
X
possa ser recuperada a partir de x̃[n] (ou a partir das amostras da DTFT). x̃3 [n] = x[n + 4r]
N = 4, X̃3 [k] = X(ejω )|ω= 2π k
2 r=−∞ 4

1
0 0
0 5 10 15 20 0 1 2 3 4
amostra n amostra k
Série e Transformada Discreta de Fourier 17 Série e Transformada Discreta de Fourier 18

Amostragem da DTFT - Exemplo DTFT de Sinais Periódicos


Um sinal periódico x̃[n] pode ser representado por sua DFS:
x[n] = (7/10)nu[n] ⇔ X(ejω ) = [1 − (7/10)e−jω ]−1
1 NX
−1 2π
x̃[n] = X̃[k]ej N kn
Amostrando a DTFT com N = 4 pontos, a sequência no domı́nio do N k=0
tempo fica (em preto: amostras de x[n], em vermelho: amostras de x̃[n]):
Usando as propriedades da DTFT:
1.5 +∞ DT F T
x̃[n] =
X
x[n + 4r] x[n] ←→ X(ejω )
r=−∞
1
DT F T
x[n] · ejω0 n ←→ X(ej(ω−ω0) )
0.5
DT F T
1 ←→ 2πδ(ω), 0− ≤ ω < 2π (um perı́odo)
0
0 1 2 3
DT F T
1 · ejω0 n ←→ 2πδ(ω − ω0 ), 0− ≤ ω < 2π
0
Logo, a DTFT do sinal periódico, representado por uma soma de expo-
−0.1
nenciais complexas, fica:
−0.2 NX
−1
1 2π NX
−1 2π
!
2π DT F T
Erro: x[n] − x̃[n] x̃[n] = X̃[k]ej N kn ←→ X̃[k]δ ω − k , 0− ≤ ω < 2π
−0.3 N k=0 N k=0 N
−0.4
0 1 2 3
Na prática, a informação contida no espectro da DTFT é a mesma da
amostra n DFS de um sinal periódico, a menos de uma constante (2π/N ) e a substi-
tuição das amostras para cada k (X̃[k]) pelos impulsos nas frequências
Para N = 8 pontos: 2πk/N , com áreas (2π/N )X̃[k].
1.5
X̃[k]
x̃[n] =
+∞
X
x[n + 8r] ... ...
1 x[n], x̃[n]
r=−∞
0 1 N −1 N k
... ...
0.5
0 1 N −1 N n
0 X(ejω )
0 1 2 3 4 5 6 7
... ...
0 2p
0 2p ω
N
2p(N-1)
−0.02
N

−0.04
Erro: x[n] − x̃[n]
−0.06

−0.08
0 1 2 3 4 5 6 7
Série e Transformada Discreta de Fourier 19 Série e Transformada Discreta de Fourier 20

Propriedades da DFS Exemplo - Convolução periódica


Sequências x̃[n] e ỹ[n], e suas séries, de perı́odo N . Deseja-se fazer a convolução periódica entre as sequências:

Propriedade Sequência DFS, perı́odo N

Linearidade ax̃[n] + bỹ[n] aX̃[k] + bỸ [k]

Atraso no tempo x̃[n − m] e−j(2π/N )km X̃[k]

Deslocamento em frequência ej(2π/N )k0 n x̃[n] X̃[k − k0 ]

Dualidade X̃[n] N x̃[−k]

N
X −1
Convolução periódica ỹ[n] = x̃[m]h̃[n − m] Ỹ [k] = X̃[k] · H̃[k]
m=0 NX
−1
N −1
x̃3[n] = x̃1[m]x̃2[n − m]
1 X m=0
Modulação ṽ[n] = x̃[n] · w̃[n] Ṽ [k] = X̃[l]W̃ [k − l]
N l=0
Nota-se que a somatória é realizada em um perı́odo apenas. Para n = 0,
Simetria x̃∗ [n] X̃ ∗ [−k] deve-se ter o sinal x̃2[0 − m],e multiplicá-lo por x̃1[m]:

x̃∗ [−n] X̃ ∗ [k]

X̃[k] + X̃ ∗ [−k]
ℜ{x̃[n]} X̃e [k] =
2

X̃[k] − X̃ ∗ [−k]
ℑ{x̃[n]} X̃o [k] =
2 Deve-se perceber que, como o sinal é periódico, deslocamentos posteri-
x̃[n] + x˜∗ [−n] ores do sinal serão da forma:
x̃e [n] = ℜ{X̃[k]}
2

x̃[n] − x˜∗ [−n]


x̃o [n] = ℑ{X̃[k]}
2

x̃[n] real X̃[k] = X̃ ∗ [−k]

|X̃[k]| = |X̃[−k]|

6 {X̃[k]} = −6 {X̃[−k]}

e amostras que “saem” pelo lado direito “entram” pelo lado esquerdo,
quando se considera um perı́odo dos sinais.
Para obter os valores da saı́da, deve-se multiplicar as duas sequênciase
realizar a soma das amostras em um perı́odo.
Série e Transformada Discreta de Fourier 21 Série e Transformada Discreta de Fourier 22

Exemplo - Convolução periódica Exemplo - Convolução periódica


NX
−1
Deseja-se fazer a convolução periódica entre as sequências:
Para n = 1: ỹ[1] = x̃[m]h̃[1 − m]
x̃[n] m=0

...
... x̃[m]

...
−N 0 1 2 3 4 N n
...

h̃[n] −N 0 1 2 3 4 N m

... h̃[1 − m]
...
... ...
−N 0 1 2 3 4 N n

−N 0 1 2 3 4 N m

NX
−1
ỹ[n] = x̃[m]h̃[n − m] NX
−1
m=0 Para n = 2: ỹ[2] = x̃[m]h̃[2 − m]
m=0

NX
−1
Para n = 0: ỹ[0] = x̃[m]h̃[0 − m] x̃[m]
m=0
...
...
x̃[m]
−N 0 1 2 3 4 N m
...
h̃[2 − m]
...
... ...
−N 0 1 2 3 4 N m

h̃[−m] −N 0 1 2 3 4 N m

... ...

−N 0 1 2 3 4 N m
Série e Transformada Discreta de Fourier 23 Série e Transformada Discreta de Fourier 24

Exemplo - Convolução periódica Transformada Discreta de Fourier - DFT


NX
−1
Seja um sinal x[n] de duração finita N (ou de comprimento L ≤ N ):
Para n = 3: ỹ[3] = x̃[m]h̃[3 − m]
m=0
x[n] = 0 para n < 0 e n ≥ N

Pode-se montar, com essa sequência, uma outra, periódica, tal que:
x̃[m]

...
X
x̃[n] = x[n + rN ] = x[n modulo N ] = x[((n))N ]
r=−∞
...
Dessa sequência periódica, pode-se calcular a DFS, X̃[k], que é periódica
−N 0 1 2 3 4 N m com perı́odo N .
h̃[3 − m] NX
−1 2π
X̃[k] = x̃[n]e−j N kn.
... ... n=0

Para manter a dualidade entre os domı́nios do tempo e frequência, toma-


−N 0 1 2 3 4 N m se um perı́odo dessa sequência periódica e dá-se o nome de X[k]:

 X̃[k], k = 0, 1, ..., N − 1
X[k] = 
NX
−1
0, caso contrário
Para n = 4: ỹ[4] = x̃[m]h̃[4 − m]
m=0 de modo que:

X̃[k] = X[k modulo N ] = X[((k))N ]


x̃[m]

...
Exemplo para L = 6 e N = 8:
...
X[k]
x[n]
−N 0 1 2 3 4 N m
DFT
h̃[4 − m]

... ... 0 L−1 n 0 N −1 k

x̃[n] X̃[k]
−N 0 1 2 3 4 N m

DFS
...
...
... ...

−N 0 N n −N 0 N k
Série e Transformada Discreta de Fourier 25 Série e Transformada Discreta de Fourier 26

DFT Operações com (( ))N


Dessa forma, tem-se: Ao se trabalhar com a DFT, lembrar que as sequências (de duração finita

NX
−1 no tempo e na frequência) são na verdade um perı́odo das sequências

x[n]e−j N kn , k = 0, 1, ..., N − 1 periódicas correspondentes (x̃[n] e X̃[k]).



X[k] =  n=0
0, caso contrário

x[n]
1 NX
−1

j 2π
N kn
X[k]e , n = 0, 1, ..., N − 1



x[n] =  N n=0
0, caso contrário x̃[n] = x[((n))5 ]

DF T
x[n] ←→ X[k]
x̃[n − 2]

OBSERVAÇÕES:
• Os sinais x[n] e X[k] são ambos discretos e de duração finita N x[n − 2]
• Da mesma forma que antes, a DFT pode ser vista como amostras da
DTFT do sinal x[n], nas frequências ωk = 2πk/N , k = 0..N − 1. n
• Ao se trabalhar com as sequências x[n] e X[k] e a DFT, deve-se sempre
lembrar que há sequências periódicas envolvidas.
• Ao se usar a DFT, deve-se trabalhar com as sequências considerando x[n]
que estas são periódicas e, ao final toma-se apenas um perı́odo (0 ≤
n ≤ N − 1, 0 ≤ k ≤ N − 1). Fora desse intervalo, considera-se que as
sequências têm valor zero (sinais de duração finita N ). x̃[n] = x[((n))5 ]

x̃[n + 2]

x[n + 2]

n
Série e Transformada Discreta de Fourier 27 Série e Transformada Discreta de Fourier 28

Operações com (( ))N Propriedades da DFT


Sequências x[n], y[n], X[k] e Y [k] (etc.) com comprimento N (iguais a zero
para n < 0 e n ≥ N ).
x[n]
Propriedade Sequência DFT N pontos

Linearidade ax[n] + by[n] aX[k] + bY [k]


x̃[n] = x[((n))5 ]
Atraso no tempo x[((n − nd ))N ] e−j(2π/N )knd X[k]

Deslocamento em freq. ej(2π/N )k0 n x[n] X[((k − k0 ))N ]


x̃[−n]
Dualidade X[n] Nx[((−k))N ]

Convolução circular y[n] = x[n](N)h[n]


x[−n] N
X −1
= x[m]h[((n − m))N ] Y [k] = X[k] · H[k]
m=0

n 1 NX
−1
Janelamento v[n] = x[n] · w[n] V [k] = X[l]W [((k − l))N ]
N l=0

Simetria x∗ [n] X ∗ [((−k))N ]


x̃[−n − 2]
x∗ [((−n))N ] X ∗ [k]

X[((k))N ] + X ∗ [((−k))N ]
x[−n − 2] ℜ{x[n]} Xep [k] =
2
X[((k))N ] − X ∗ [((−k))N ]
ℑ{x[n]} Xop [k] =
2
x̃[−n + 2]
x[((n))N ] + x∗ [((−n))N ]
xep [k] = ℜ{X[k]}
2
x[((n))N ] − x∗ [((−n))N ]
x[−n + 2] xop [k] = ℑ{X[k]}
2

n x[n] real X[k] = X ∗ [((−k))N ]

|X[k]| = |X[((−k))N ]|

6 {X[k]} = −6 {X[((−k))N ]}
Série e Transformada Discreta de Fourier 29 Série e Transformada Discreta de Fourier 30

Convolução Linear Usando a DFT Convolução Linear Usando a DFT


• Em SLITs, a saı́da é obtida pela convolução linear entre a entrada e Sejam duas sequências:
a resposta impulsiva
• x[n] de comprimento L
• A operação de convolução pode ser muito custosa (somas e multi-
plicações) • h[n] de comprimento M

• Quando se usa a DFT, tem-se a convolução circular O resultado da convolução linear entre x[n] e h[n] terá comprimento
L+M −1
• Existem algoritmos eficientes para o cálculo da DFT (FFT)
• Como usar a DFT para implementar a convolução linear?
x[n]
Para fazer a convolução linear entre duas sequências x1[n] e x2[n] (DTFT):

x[k]h[n − k] ↔ Y (ejω ) = X(ejω ) · H(ejω )
X
y[n] = x[n] ∗ h[n] =
k=−∞

Usando-se a DFT, tem-se a convolução circular:


h[n]
yp [n] = x[n](N )h[n] ↔ Y [k] = X[k] · H[k]

Questão: Sob que condições yp [n] = y[n] ?

x[n] ∗ h[n]

n
Série e Transformada Discreta de Fourier 31 Série e Transformada Discreta de Fourier 32

Convolução Linear Usando a DFT Convolução Linear Usando a DFT


Vimos que se um sinal de duração finita x[n] tem DTFT X(ejω ), as amostras No caso da convolução linear, tem-se:
de X(ejω ) nas frequência ωk = 2πk/N formam um perı́odo de uma DFS ∞
x[k]h[n − k] ↔ Y (ejω ) = X(ejω ) · H(ejω )
X
cuja sequência é: y[n] = x[n] ∗ h[n] =
k=−∞

X
x̃[n] = x[((n))N ] = x[n + rN ] Definindo a DFT:
r=−∞

e Y [k] = Y (ej(2πk/N )), k = 0..N − 1



 X(ej(2πk/N ) ), k = 0..N − 1 Então,
X[k] = 
0, caso contrário
Y [k] = X(ej(2πk/N ) ) · H(ej(2πk/N ) ) = X[k] · H[k], k = 0..N − 1
é a DFT de um perı́odo de x̃[n]:
 E a DFT inversa de Y [k] corresponde a:
 x̃[n], n = 0..N − 1
x[n] =   ∞
0, caso contrário 


X
y[n + rN ], n = 0..N − 1
yp [n] =  r=−∞
Note que, se o comprimento de x[n] for menor ou igual a N , não haverá 
 0, caso contrário
sobreposição no tempo, e um perı́odo de x̃[n] será igual a x[n].
em que y[n] é a convolução linear entre x[n] e h[n], e yp [n] é o resultado da
convolução circular entre x[n] e h[n]:

yp [n] = x[n](N )h[n]

Ou seja, a convolução circular entre duas sequências pode ser vista como
a convolução linear entre essas sequências seguida de uma sobreposição
no tempo. Com isso, conclui-se que a convolução circular será igual à
convolução linear, se e se somente se N for maior que o comprimento de
x3[n]:

N ≥L+M −1
Série e Transformada Discreta de Fourier 33 Série e Transformada Discreta de Fourier 34

Convolução Circular Convolução Circular

x[n] x[n]

h[n] h[n]

x[n](4)h[n] x[n](6)h[n]

x[n] x[n]

h[n] h[n]

x[n](5)h[n] x[n](7)h[n]

n n
Série e Transformada Discreta de Fourier 35 Série e Transformada Discreta de Fourier 36

Convolução Linear Usando a DFT Convolução por Blocos


Conclusão: sendo • Convolução rápida: para sinais de duração finita;

• x[n] de comprimento L; • Sistemas práticos: a entrada pode ter duração muito grande;

• h[n] de comprimento M; • Se a resposta impulsiva tiver duração finita, pode-se separar a en-
trada em blocos de comprimento finito e utilizar a convolução rápida,
• A convolução circular entre x[n] e h[n] é igual à convolução linear se aplicada aos blocos - linearidade da operação de filtragem;
N ≥ L + M − 1.
• O comprimento da convolução linear entre dois sinais é maior que
a duração de cada sinal - necessário um ajuste entre resultados de
Convolução rápida (Fast Convolution) convoluções aplicadas a blocos adjacentes;
1. Calcular a DFT X[k], de comprimento N ≥ L + M − 1;
2. Calcular a DFT H[k], de comprimento N ;
3. Obter Y [k] = X[k] · H[k];
4. Calcular a DFT inversa de Y [k] para obter y[n]

Nestas operações se utilizam algoritmos eficientes para o cálculo da


DFT, que são os algoritmos de FFT (Fast Fourier Transform).
8
10

7
10 Convolução rápida
Convolução linear

6
10

5
10
flops

4
10

3
10

2
10

1
10 0 1 2 3 4
10 10 10 10 10
L = M (N = 2L)
Série e Transformada Discreta de Fourier 37 Série e Transformada Discreta de Fourier 38

Overlap-Add Overlap-Add
Neste método, considera-se o seguinte:
L L L
• O sistema FIR tem resposta impulsiva h[n], com comprimento M;
x[n] ...
• O sinal de entrada x[n] tem comprimento muito maior que M;
(M − 1) zeros
• Separa-se o sinal x[n] em blocos de comprimento L, produzindo sinais
x0 [n]
xi [n];
(M − 1) zeros
• Calcula-se a convolução rápida entre xi [n] e h[n], produzindo os sinais
yi [n]. x1 [n]

• Como visto anteriormente, a convolução rápida deve ser realizada com (M − 1) zeros
um número de pontos N ≥ L+M −1, que é o comprimento resultante x2 [n]
das sequências yi[n].
...
No processamento por blocos:
y0 [n]
• Na prática, adicionam-se zeros a xi[n] e h[n] para que atinjam o com-
primento N .
adiciona y1 [n]
• A saı́da y0 [n] corresponde às amostras entre 0 e N − 1; M −1
pontos
• A saı́da y1 [n] corresponde às amostras entre L e L + N − 1 ;
adiciona y2 [n]
• Há uma sobreposição entre y0[n] e y1 [n], para L ≤ n ≤ N − 1. Essas M −1
amostras devem ser somadas na resposta total; pontos

• Há um atraso no processamento.


y[n]

xi[n] = x[n + iL], 0 ≤ n ≤ L − 1; i = 0, 1, ...

yi [n] = DFT−1 {H[k] · Xi [k]}, N = L + M − 1

y[n] = y0[n] + y1 [n − L] + y2 [n − 2L] + ...


Série e Transformada Discreta de Fourier 39 Série e Transformada Discreta de Fourier 40

Overlap-Add - Exemplo Overlap-Save


Neste método, se faz a sobreposição dos blocos de entrada, de modo que
1 M = 4, L = 5, N = 8 não seja necessário adicionar saı́das adjacentes.
h[n]

01 2 3 4 5 6 7
• Separa-se a entrada x[n] em sequências de comprimento L = N > M;
n
1 • Calcula-se a DFT com comprimento N ;
x[n] ...
01 2 3 4 5 6 7
• O comprimento de h[n] é igual a M < L, e adicionam-se N − M zeros
n
para que fique com comprimento N ;
1
x0 [n]
• Faz-se uma sobreposição das entradas, em que as M − 1 últimas
01 2 3 4 5 6 7 n amostras de xi[n] serão as M − 1 primeiras amostras de xi+1[n].
1
x1 [n] • A sequência x0[n] é montada com zeros nas primeiras M − 1 amostras
e depois com as L − (M − 1) primeiras amostras de x[n].
01 2 3 4 5 6 7 n
• A convolução circular entre h[n] e xi[n] (yi [n]) terá valores diferentes
1
x2 [n] da convolução linear nas M − 1 primeiras amostras. Essas M − 1
01 2 3 4 5 6 7
primeiras amostras de yi [n] são descartadas;
n
4
3
2
y0 [n] 1

01 2 3 4 5 6 7 n
4
3
y1 [n] 2
1

01 2 3 4 5 6 7 n
4
3
y2 [n] 2
1

01 2 3 4 5 6 7 n
4
3

y[n] 1
2
...
01 2 3 4 5 6 7 n
Série e Transformada Discreta de Fourier 41 Série e Transformada Discreta de Fourier 42

Overlap-Save Overlap-Save - Exemplo

L − (M − 1) L
L 1 M = 4, L = N = 8
h[n]

x[n] ... 01 2 3 4 5 6 7
n
1
x0 [n] x[n] ...
sobreposição
(M − 1) 01 2 3 4 5 6 7 n
x1 [n] pontos
(M − 1) 1
x0 [n]
zeros
0 1 2 3 4 5 6 7 n
x2 [n]
1
x1 [n]

0 1 2 3 4 5 6 7 n
...
x2 [n] 1
y0 [n]
0 1 2 3 4 5 6 7 n
4 4
3 3
y1 [n] 2 2
y0 [n] 1 1

descarta y2 [n] 0 1 2 3 4 5 6 7 n
(M − 1)
3 3
pontos y1 [n] 2 2
1 1

0 1 2 3 4 5 6 7 n
y[n] ... 4 4
3 3
2 2
y2 [n] 1 1

xi[n] = x[n + iL − i(M − 1) − (M − 1)], 0 ≤ n ≤ L − 1, i > 0 01 2 3 4 5 6 7 n


4 4
 3

x0[n] = 
 0, 0≤n≤M −2
y[n] 1
2
...
x[n], M − 1 ≤ n < L − (M − 1)
0 1 2 3 4 5 6 7 n

yi [n] = DFT−1{H[k] · Xi [k]}, N = L, 0 ≤ n ≤ L − 1

yli[n] = yi [n], M − 1 ≤ n < L − 1

Você também pode gostar