Escolar Documentos
Profissional Documentos
Cultura Documentos
n=−∞
DFT:
Aplicações:
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
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
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
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
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)
0.5 0.5
0 0
-10 -5 0 5 10 15 20 -5 0 5 10
n n
6 6
jω
|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
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
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
+∞
X
= x[n + rN ]
r=−∞
Série e Transformada Discreta de Fourier 15 Série e Transformada Discreta de Fourier 16
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
jω
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
−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
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̃[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̃[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
...
... 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
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
...
Exemplo para L = 6 e N = 8:
...
X[k]
x[n]
−N 0 1 2 3 4 N m
DFT
h̃[4 − m]
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
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
n 1 NX
−1
Janelamento v[n] = x[n] · w[n] V [k] = X[l]W [((k − l))N ]
N l=0
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
|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
• 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=−∞
x[n] ∗ h[n]
n
Série e Transformada Discreta de Fourier 31 Série e Transformada Discreta de Fourier 32
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
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
• 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]
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
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
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
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