Escolar Documentos
Profissional Documentos
Cultura Documentos
x[n]
-N1
4 3 2 1 0 -8 -7 -6 -5 -4 -3 -2 -1 0
N1
xp[n]
10
11
12
-N
~[n] = x
k= N
a .e
k
jk
2 n N
1 ak = N
n= N
jk n x ~[n].e N
p / N1 n N1 p / | n | N1
1 ak = N
N .ak =
n = N1
x[n].e
N1
jk
2 n N
ou ento:
n =
x[n].e
jk
2 n N
2 = k . 0 N
Quando N
Discreto Contnuo
jn
Obtemos:
X (e ) =
n =
x[n].e
0 =
Logo:
ak =
1 . X (k 0 ) N
2 N
Os coeficientes da Srie de Fourier do sinal ~ x[n] podem ser vistos como amostragem da Transformada de Fourier em k.0 do sinal x[n].
~ N .ak = X [k ]
0 =
2 N
~[n] = 1 x N
X [k ].e
k =0
N 1
jk 0 n
0 =
2 N
WN = e
2 N
1 x[n] = N
X [n].W
n=0
N 1
kn N
r r ~ ~ X = WN x r r 1 * ~ ~= W X x N N
N 1 ~ kn X [k ] = ~[n].WN x n =0
x[n] =
1 N
X [n].W
n =0
N 1
kn N
1 1 L 1 1 W 1 L W N 1 kn N N WN = WN ;0 k , n N 1 = M M M M N 1 ( N 1)2 n L WN 1 WN
8.2.2. Deslocamento:
8.2.3. Dualidade:
~ X 1[ k ] ~ X 2 [k ]
~ ~ DFS ~ [ n] ~ [ n] X [ k ]. X [ k ] x1 1 2 * x2
N 1
~[n] = x
r =
x[n rN ]
ou
~[n] = x[((n)) ] x N
Se comprimento x[n]
x ~[n], 0 n N 1 x[n] = 0, outros
Temos que:
~ X [k ], 0 k N 1 X [k ] = 0, outros
ou
~ X [k ] = X [((k )) N ]
DFT de N pontos:
X [k ] = x[n].e
n =0 N 1
jk 2N n
Eq. de sntese:
x[n] =
1 N
X [k ].e
k =0
N 1
jk 2N n
x[n] =
1 N
X [k ].e
k =0
N 1
jk 2N n
X [k ] = x[n].e
n =0
N 1
jk 2N n
DFT ( N x[n] ) X [k ]
Interpretaes: ~ -X [k ] , DFS de x[n], uma amostragem do espectro X(ej) -X[k] uma amostragem de 1 perodo de X(ej) espectro do sinal no peridico. ~ -X[k] um perodo do espectro X [k ] do sinal x peridico associado ~[n]
Exemplo
|X(k)|
1, 0 n 3 x[n] = 0 , c.c.
X e
( )
j
Degrees
sin (2 ) j = e sin 2
3 nk 4
3 2
X 4 [k ] = x[n]W
n=0
0.5
1.5
2 k
2.5
3.5
X 4 [k ] = {4,0,0,0}
|X(k)|
-1
12
14
16
0 -100 -200
8 k
10
12
14
16
signal x(n), 0 <= n <= 9 + 40 zeros 2 1 0 -1 -2 0 10 8 6 4 2 0 0 0.1 0.2 0.3 0.4 0.5 0.6 frequency in pi units 0.7 0.8 0.9 1 5 10 15 20 25 30 n DTFT Magnitude 35 40 45 50
signal x(n), 0 <= n <= 9 + 90 zeros 2 1 0 -1 -2 0 10 8 6 4 2 0 0 0.1 0.2 0.3 0.4 0.5 0.6 frequency in pi units 0.7 0.8 0.9 1 10 20 30 40 50 60 n DTFT Magnitude 70 80 90 100
40
20
0.1
0.2
0.3
0.7
0.8
0.9
5 10 0 50 100 0 50 100 n n n Samples of DTFT Magnitude DTFT Magnitude DTFT Magnitude 10 10 60 8 6 4 2 0 0 0.5 1 frequency in pi units 8 6 4 2 0 0 0.5 1 frequency in pi units 0 0 0.5 1 frequency in pi units 40
20
0.5
20
0 1
10
20
30
40
0 20
10
20
30
40
10
-1 1
10
20
30
40
0 20
10
20
30
40
10
-1 1
10
20
30
40
0 40
10
20
30
40
20
-1
10
20
30
40
10
20
30
40
10
Porm:
1
0.5
-0.5
-1
10
15
20
25
30
35
15
10
10
15
20
25
30
35
N 3 max{N1 , N 2 }
DFT ( N 8.6.2. Deslocamento Circular: x[n] ) X [k ]
DFT ( N x[((n m)) N ] ) X [k ].e
jk 2N m
0 n N 1
0 k N 1
11
Deslocamento Circular
8.6.5. Convoluo Circular: Nada mais do que a convoluo peridica considerando sinais de durao finitos x1[n] e x2[n] Linear:
Sinais ilimitados
x1[n] * x2 [n] =
m =
x [m].x [n m]
1 2 M =0 N 1
x x ~ [m].~ [n m]
1 2
N 1
Circular:
Sinais limitados
x1[n]
x1[n]
12
13
Sendo:
N L + P 1
Porm: se um dos sinais tiver comprimento indeterminado (processamento em tempo real). Dois mtodos implementam uma forma eficiente de clculo da convoluo linear atravs da DFT. Overlap-add e Overlap-save
14
15
Convoluo Circular
3 2.5 2 x1[n] 1.5 1 0.5 0
2 3 0 0 1 0 0 x1[n] 3 2
3 0 0 1 2 x2[-n]
4 n
1 0 0 3 2 1
3 2 1 0 0 0 3 2 1 0
4 n
12 10 8 y[n] 6 4 2 0
1.5
2.5
3 n
3.5
4.5
Cmputo da DFT
kn X [k ] = x[n].WN n =0 N 1
x[n] =
1 1 L 1 1 W 1 L W N 1 kn N N WN = WN ;0 k , n N 1 = M M M M 2 N 1 ( L WNN 1) n 1 WN
X [n].W r r X = WN x r r 1 * x = WN X N
n =0
1 N
N 1
kn N
-como x[n] pode ser um sinal complexo, para se computar N amostras do sinal X[k] so necessrias N2 multiplicaes complexas e N(N-1) adies complexas ou 4N2 multiplicaes reais e N(4N-2) somas reais E mais memrias p/ armazenamento de N amostras complexas de x[n] e coeficientes WN
16
A maioria dos algoritmos de FFT exploram as seguintes caractersticas: 1) Simetria complexa conjugada: WNk [ N n ] = WN kn = (WNkn )
kn k ( n+ N ) ( = WN k + N ) n 2) Periodicidade em k e n : WN = WN
Exploram ainda a decomposio de uma DFT de N pontos em DFTs de comprimentos menores Algoritmos: -Goertzel(1958): O(N2) -Cooley-Tukey(1965): Deu origem decimao no tempo -Sande-Tukey(1966): Deu origem decimao em freq.
X [k ] =
n par
x[n].W
nk N
n mpar
x[n].W
nk N
17
X [k ] =
n par
x[n].W
nk N
n mpar
x[n].W
nk N
X [k ] = X [k ] =
( N / 2 1) r =0
x[2r ].WN2rk +
r =0 2 x[2r ]. WN
( N / 2 1) r =0
x[2r + 1].W
( N / 2 1)
( 2 r +1) k N
( N / 2 1)
( )
rk
+ WNk
r =0
2 x[2r + 1]. WN
( )
rk
2 Como: WN = WN / 2
2 Como: WN = WN / 2
Podemos reescrever:
X [k ] = X [k ] =
( N / 2 1)
r =0 r =0
2 x[2r ]. WN
( )
rk N /2
rk
+ WNk
( N / 2 1)
r =0
2 x[2r + 1]. WN
( )
rk
( N / 2 1)
x[2r ].W
k N
k + WN
( N / 2 1) r =0
x[2r + 1].W
rk N /2
X [k ] = G[ k ] + W H [k ]
k = 0,1,2,..., N 1
18
G[k ] =
( N / 4 1)
l =0
( N / 4 1)
l =0
g[2l + 1].W
l =0
lk N /4
H [k ] =
( N / 4 1)
k + WN / 2
( N / 4 1)
h[2l + 1].W
lk N /4
Temos:
19
DFT de 2 pontos:
kn X [k ] = x[n].WN n =0 1
X [0] = x[0].W20.0 + x[1].W20.1 = x[0] + x[1] X [1] = x[0].W21.0 + x[1].W21.1 = x[0] x[1]
20
Como:
Obs: -Complexidade computacional O(N.log(N)) -Computao In-Place, uso da mesma memria p/ entrada e sada -Ordem do sinal de entrada x[n]
21
Ordenao Bit-Reversa
X[0] = x[0] X[1] = x[4] X[2] = x[2] X[3] = x[6] X[4] = x[1] X[5] = x[5] X[6] = x[3] X[7] = x[7]
X[000] = x[000] X[001] = x[100] X[010] = x[010] X[011] = x[110] X[100] = x[001] X[101] = x[101] X[110] = x[011] X[111] = x[111]
P/ X[pares]
22
n X [ 2r ] = x[ n].WN ( 2 r ) n =0
N 1
P/ X[pares]
X [ 2r ] =
N / 2 1 n =0
x[n].WN2nr +
N / 2 1 n =0
n= N / 2
x[n].W
N / 2 1 n =0
N 1
2 nr N
X [ 2r ] =
x[n].W
2 nr N
x[n +
2 ].WN ( n +
2)r
Logo:
X [ 2r ] =
x[n].WN2rn +
N / 2 1 n =0
x[n +
2 ].WN rn
Lembrando que:
2 rn WN rn = WN / 2
N / 2 1 n =0 N / 2 1 n =0
x[n].W
N / 2 1 n =0
2 rn N
x[n +
N 2
2 ].WN rn
X [ 2r ] =
rn N /2
P/ X[mpares]
23
n X [ 2r + 1] = x[n].WN ( 2 r +1) n =0
N 1
P/ X[mpares]
X [ 2r + 1] =
N / 2 1 n =0
x[n].WNn( 2r +1) +
n= N / 2
x[n].W
N 1
n ( 2 r +1) N
X [ 2r + 1] =
N / 2 1 n =0
x[n].WNn( 2r +1) +
N / 2 1 n =0
x[n +
( ].WNn +
2 )( 2 r +1)
n = WN ( 2 r +1) .(1)
n ].WN ( 2 r +1)
Logo: X [ 2r + 1] =
N / 2 1 n =0
x[n].WNn( 2r +1)
N / 2 1 n =0
x[n +
Logo: X [ 2r + 1] =
N / 2 1 n =0
x[n].WNn( 2r +1)
N / 2 1 n =0 N / 2 1
N / 2 1 n =0
x[n +
2
n ].WN ( 2 r +1)
X [2r + 1] = X [2r + 1] =
P/ k mpares: X [2r + 1] =
X [ 2r ] =
N / 2 1 n =0
rn N /2
24
25
Algoritmos vistos so Radix-2 Outros algoritmos: -Radix-4, Radix-8, etc... -Split-Radix -Produto de inteiros -...
Convoluo:
N 1
N N1 + N 2 1 = 2 N 1
N ( 2 Por FFT: x[n] FFT ) X [k ] N h[n] FFT ) H [k ] ( 2
Y [k ] = X [k ].H [k ]
Y [k ] IFFTN ) y[n] ( 2
Complexidade: O(3.2N.log(2N)+2N)
26