Documente Academic
Documente Profesional
Documente Cultură
x[n]ejn
n=
Notas de Aula
Implementacao de SLITs
S
erie Discreta de Fourier - DFS
S
erie Discreta de Fourier - DFS
2
N
X
k
k 2
X
ej N kn
N
k =
2
k, para k = 0, 1, 2, , N 1
N
1
N
NX
1
1
k ej 2
N kn =
X
N
k=0
NX
1
j 2
N kn
X[k]e
k=0
Os valores X[k]
sao os coeficientes da serie discreta de Fourier (DFS),
que representam a contribuicao de cada componente de frequencia 2k/N
na composicao do sinal periodico. Os coeficientes sao obtidos por:
=
X[k]
NX
1
x[n]ej N kn, k = 0, 1, , N 1
n=0
j 2
N kn
ek [n] = e
Observa
c
oes:
e de frequencia discreta. Para cada k ha uma frequencia 2k/N
X[k]
+ N ] = X[k],
X[k]
e periodico com N : X[k
por isso basta observar
seus valores no intervalo entre 0 e N 1.
Exemplo - DFS
Exemplo - DFS
x[n] = A cos(n/2)
x[n] =
[n m + rN ]
r=
NX
1
x[n]ej N kn = A(1 ej 4 2k )
= A(1 ej0 ) = 0
X[0]
x[n] =
= A(1 ej1 ) = 2A
X[1]
[n m]ej N kn = ej N km
n=0
A j n A j n A j 2 n A j 2 n
e 2 + e 2 = e 4 + e 4
2
2
2
2
2
1
j 2
N kn =
X[k]e
N
k=0
r=
= X[0],
x[n] =
NX
1
x[n] =
= A(1 ej3 ) = 2A
X[3]
1
N
NX
1
2
j 2
N km j N kn
k=0
1
N
NX
1 2
j N k(nm)
k=0
E tem-se a identidade:
)=0
x[n] = A cos(n/2) =
NX
1
Com valores:
= A(1 e
X[2]
x[n]ej N kn =
n=0
n=0
j2
NX
1
1
1 NX
j 2
4 kn
X[k]e
4 k=0
Nota-se que:
=0
X[0]
= 2A
X[1]/4
= A/2, portanto X[1]
=0
X[2]
= 2A
X[3]/4
= A/2, portanto X[3]
[n m + rN ] =
1
N
NX
1 2
j N k(nm)
k=0
Rela
c
ao entre a DFS e a DTFT
Exemplo
Seja um sinal periodico de tempo discreto, x[n], com perodo N . Tomandose um perodo desse sinal, fica-se com o sinal x[n]:
x[n], n = 0, 1, ..., N 1
0,
caso contrario
x[n] =
X(e ) =
NX
1
jn
x[n]e
n=0
NX
1
ejn = ej2
4
X
n=0
x[n]e
n=0
x[n], x[n]
NX
1
j 2
N kn
x[n]e
k = 0..N 1
n=0
k = 0..N 1
ou seja, a DFS
e composta por amostras da DTFT em N pontos
equiespacados de 2/N , entre = 0 e 2.
sin(5/2)
sin(/2)
ej(2/10)n = ej(4/10)k
jn
E a DFS de x[n]:
=
X[k]
4
X
n=0
=
X[k]
A DTFT de x[n] e:
X(ej ) =
N = 10, L = 5
sin(k/2)
sin(k/10)
Exemplo
10
Exemplo
N = 7, L = 5
4
X
ejn = ej2
n=0
=
X[k]
4
X
ej(2/7)n = ej(4/7)k
n=0
X(ej ) =
sin(5k/7)
sin(k/7)
=
X[k]
1
0.8
0.6
0.6
0.4
0.4
0.2
0.2
2
6
n
4
X
10
sin(5/2)
sin(/2)
ej(2/5)n = ej(4/5)k
12
14
sin(k)
sin(k/5)
x[n], x[n]
1.2
ejn = ej2
n=0
0.8
0
2
4
X
n=0
x[n], x[n]
1.2
N = 5, L = 5
0
2
10
12
14
3
2
1
0
1
0
0.5
/,
k / = k/N
1.5
0.5
/,
k / = k/N
1.5
11
12
Amostragem da DTFT
Amostragem da DTFT
Foi visto que, se, a partir de uma sequencia de duracao finita L, x[n], se
produz uma sequencia periodica x[n] com perodo N L, os coeficientes da
sao as amostras da DTFT X(ej ), nas frequencias k = 2k/N .
DFS X[k]
Logo, ao se tomar N amostras da DTFT de um sinal x[n], obtendo-se coeficientes de uma DFS, a sequencia periodica correspondente pode ser obtida
por meio da adicao de infinitas copias de x[n], deslocadas de m
ultiplos de
N.
+
X
x[n] x[n] =
DF S
m=
= X(ej )|= 2 k
x[n + mN ] X[k]
N
DTFT
Suponha agora que se tenha uma DTFT de um sinal x[n] qualquer, dada
por X(ej ), e se tomam amostras da DTFT, formando coeficientes de uma
DFS:
= X(ej )|= 2 k
X[k]
N
+
X
x[m]ejm
m=
1
N
NX
1
1
N
NX
1
k=0
m=
+
X
m=
x[m]
x[m]ej N km ej N kn
1
N
NX
1 2
j N k(nm)
k=0
NX
1 2
j N k(nm)
k=0
+
X
[n m + rN ]
+
X
[n m + rN ]
r=
Portanto:
x[n] =
+
X
x[m]
r=
m=
= x[n]
+
X
[n + rN ]
r=
+
X
r=
x[n + rN ]
x[n + rN ]
DFS
= X(ej )| 2
X[k]
= N k
Logo: se a sequencia x[n] possuir um comprimento L > N , havera sobreposicao no domnio do tempo, e um perodo de x[n] nao representara
corretamente a sequencia x[n].
Ha um n
umero mnimo de amostras de X(ej ) para que a sequencia x[n]
possa ser recuperada a partir de x[n] (ou a partir das amostras da DTFT).
j 2
N kn
X[k]e
k=0
+
X
+
X
r=
X(ej ) =
X(ej )
N amostras
x[n] =
x[n] =
x[n]
13
3
5
x[n]
|X(e )|
1.5
1
0
+
X
x1 [n] =
10
15
20
0
5
x[n + 10r]
14
x[n] =
1 [k] = X(ej )| 2
N = 10, X
= k
0.5
0.5
1.5
+
X
x[n + 4r]
r=
10
r=
1
0
3
x2 [n] =
10
+
X
15
20
2 [k] = X(ej )| 2
N = 5, X
= k
0.1
0.2
0
x3 [n] =
10
+
X
15
20
x[n + 4r]
3 [k] = X(ej )| 2
N = 4, X
= k
r=
0.3
0.4
amostra n
1
0
x[n + 5r]
r=
3
2
10
1
0
Para N = 8 pontos:
0
10
amostra n
15
20
amostra k
1.5
x[n] =
+
X
x[n + 8r]
r=
0.5
0
0.02
0.04
0.06
0.08
3
4
amostra n
15
16
Propriedades da DFS
x[n] =
1
N
NX
1
j 2
N kn
X[k]e
k=0
Propriedade
Sequ
encia
DFS, perodo N
Linearidade
a
x[n] + b
y [n]
+ bY [k]
aX[k]
Atraso no tempo
x[n m]
Deslocamento em frequencia
k0 ]
X[k
Dualidade
X[n]
N x[k]
Convolucao periodica
N
1
X
x[n] X(ej )
DT F T
1 2(),
x[m]
y [n m]
Y [k]
X[k]
m=0
DT F T
1 ej0 n 2( 0 ),
0 < 2
Logo, a DTFT do sinal periodico, representado por uma soma de exponenciais complexas, fica:
x[n] =
1
N
NX
1
j 2
N kn
X[k]e
DT F T
k=0
1
2
2 NX
X[k]
k ,
N k=0
N
!
0 < 2
X[k]
...
Modulacao
x[n] y[n]
1
1 NX
Y [k l]
X[l]
N l=0
Simetria
x [n]
[k]
X
x [n]
[k]
X
{
x[n]}
{
x[n]}
...
xe [n] =
x[n] + x [n]
2
{X[k]}
xo [n] =
x[n] x [n]
2
{X[k]}
x[n], x[n]
0
...
...
0
N -1 N
N -1 N
x[n] real
=X
[k]
X[k]
X(e )
...
...
0
2p
N
2p
2p(N-1)
N
|X[k]|
= |X[k]|
6
{X[k]}
= 6 {X[k]}
17
18
Exemplo - Convoluc
ao peri
odica
r=
x3[n] =
NX
1
m=0
de modo que:
X[k] =
X[k],
k = 0, 1, ..., N 1
0,
caso contrario
Deve-se perceber que, como o sinal e periodico, deslocamentos posteriores do sinal serao da forma:
e amostras que saem pelo lado direito entram pelo lado esquerdo,
quando se considera um perodo dos sinais.
Para obter os valores da sada, deve-se multiplicar as duas sequenciase
realizar a soma das amostras em um perodo.
19
DFT
20
Opera
c
oes com (( ))N
NX
1
x[n]ej N kn ,
X[k] =
n=0
x[n] =
0,
1
N
0,
NX
1
x[n]
k = 0, 1, ..., N 1
caso contrario
x[n]
j 2
N kn
X[k]e
, n = 0, 1, ..., N 1
n=0
caso contrario
x[n 2]
DF T
x[n] X[k]
x[n 2]
x[n]
x[n + 2]
x[n + 2]
21
22
Propriedades da DFT
Opera
c
oes com (( ))N
x[n]
x[n]
Propriedade
Sequ
encia
DFT N pontos
Linearidade
ax[n] + by[n]
aX[k] + bY [k]
Atraso no tempo
x[((n nd ))N ]
Deslocamento em freq.
X[((k k0 ))N ]
Dualidade
X[n]
Nx[((k))N ]
Convolucao circular
v[n] = x[n](N)y[n]
v[n] =
x[n]
x[n 2]
N
1
X
x[m]y[((n m))N ]
m=0
1
1 NX
X[l]Y [((k l))N ]
N l=0
Janelamento
V [k] =
Simetria
x [n]
X [((k))N ]
x [((n))N ]
X [k]
{x[n]}
Xep [k] =
X[((k))N ] + X [((k))N ]
2
{x[n]}
Xop [k] =
X[((k))N ] X [((k))N ]
2
x[n 2]
x[n + 2]
xep [k] =
x[((n))N ] + x [((n))N ]
2
{X[k]}
xop [k] =
x[((n))N ] x [((n))N ]
2
{X[k]}
x[n + 2]
X[k] = X [((k))N ]
x[n] real
n
6
|X[k]| = |X[((k))N ]|
{X[k]} = 6 {X[((k))N ]}
23
Convoluc
ao Linear Usando a DFT
Em SLITs, a sada e obtida pela convolucao linear entre a entrada e
a resposta impulsiva
A operacao de convolucao pode ser muito custosa (somas e multiplicacoes)
Quando se usa a DFT, tem-se a convolucao circular
Existem algoritmos eficientes para o calculo da DFT (FFT)
Como usar a DFT para implementar a convolucao linear?
24
Convoluc
ao Linear Usando a DFT
Sejam duas sequencias:
x1 [n] de comprimento L
x2 [n] de comprimento M
O resultado da convoluc
ao linear entre x1 [n] e x2[n] tera comprimento
L+M 1
x1 [n]
Para fazer a convolucao linear entre duas sequencias x1[n] e x2[n] (DTFT):
x3[n] = x1[n] x2[n] =
k=
x1 [n] x2 [n]
25
26
Convoluc
ao Linear Usando a DFT
Convoluc
ao Linear Usando a DFT
Vimos que se um sinal de duracao finita x[n] tem DTFT X(ej ), as amostras de X(ej ) nas frequencia k = 2k/N formam um perodo de uma
DFS cuja sequencia e:
x[n] = x[((n))N ] =
X[k] =
j(2k/N )
X(e
0,
x[n + rN ]
r=
), k = 0..N 1
caso contrario
x[n] =
k=
Definindo a DFT:
X3[k] = X3 (ej(2k/N )),
x[n], n = 0..N 1
0,
caso contrario
k = 0..N 1
Entao,
X3[k] = X1 (ej(2k/N )) X2 (ej(2k/N ) ) = X1 [k] X2 [k],
k = 0..N 1
x3p[n] =
r=
0,
x3 [n + rN ], n = 0..N 1
caso contrario
27
Convoluc
ao Linear Usando a DFT
28
Convoluc
ao Linear Usando a DFT
x1 [n]
x1 [n]
x2 [n]
x2 [n]
x1 [n](4)x2 [n]
x1 [n](6)x2 [n]
x1 [n]
x1 [n]
x2 [n]
x2 [n]
x1 [n](5)x2 [n]
x1 [n](7)x2 [n]
29
Convoluc
ao Linear Usando a DFT
30
Convoluc
ao por Blocos
Conclusao: sendo
x[n] de comprimento L;
h[n] de comprimento M;
Se a resposta impulsiva tiver duracao finita, pode-se separar a entrada em blocos de comprimento finito e utilizar a convolucao rapida,
aplicada aos blocos - linearidade da operacao de filtragem;
Convoluc
ao r
apida (Fast Convolution)
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 operacoes se utilizam algoritmos eficientes para o calculo da
DFT, que sao os algoritmos de FFT (Fast Fourier Transform).
8
10
10
Convoluo rpida
Convoluo linear
10
flops
10
10
10
10
10 0
10
10
10
L = M (N = 2L)
10
10
31
Overlap-Add
32
Overlap-Add
...
x[n]
(M 1) zeros
x0 [n]
(M 1) zeros
x1 [n]
(M 1) zeros
x2 [n]
...
y1 [n]
adiciona
M 1
pontos
y2 [n]
Ha um atraso no processamento.
y[n]
0 n L 1;
i = 0, 1, ...
33
Overlap-Add - Exemplo
h[n]
M = 4, L = 5, N = 8
...
x[n]
01 2 3 4 5 6 7
01 2 3 4 5 6 7
x1 [n]
01 2 3 4 5 6 7
A convolucao circular entre h[n] e xi[n] (yi [n]) tera valores diferentes
da convolucao linear nas M 1 primeiras amostras. Essas M 1
primeiras amostras de yi [n] sao descartadas;
x2 [n]
01 2 3 4 5 6 7
4
3
2
y0 [n]
1
01 2 3 4 5 6 7
n
4
y1 [n]
2
1
01 2 3 4 5 6 7
n
4
y2 [n]
2
1
01 2 3 4 5 6 7
4
3
2
y[n]
34
Overlap-Save
01 2 3 4 5 6 7
x0 [n]
1
01 2 3 4 5 6 7
...
n
35
36
Overlap-Save - Exemplo
Overlap-Save
L
L (M 1)
...
x[n]
01 2 3 4 5 6 7
x0 [n]
sobreposicao
(M 1)
...
x[n]
01 2 3 4 5 6 7
pontos
x1 [n]
(M 1)
M = 4, L = N = 8
h[n]
x0 [n]
zeros
n
0 1 2 3 4 5 6 7
x2 [n]
1
x1 [n]
0 1 2 3 4 5 6 7
...
x2 [n]
y0 [n]
0 1 2 3 4 5 6 7
3
y1 [n]
descarta
(M 1)
pontos
y0 [n]
y2 [n]
4 4
3
2
2
1 1
0 1 2 3 4 5 6 7
3 3
y1 [n]
2
1
0 1 2 3 4 5 6 7
...
y[n]
0 n L 1, i > 0
4 4
1 1
y2 [n]
3
2
01 2 3 4 5 6 7
4 4
x0[n] =
0,
0nM 2
x[n], M 1 n < L (M 1)
...
1
0 1 2 3 4 5 6 7
y[n] =
y[n]