Você está na página 1de 19

Transformada Discreta de Fourier 1 Transformada Discreta de Fourier 2

Transformadas para sinais de tempo discreto



DTFT: X(ej ) = x[n]ejn
X

n=

Processamento Digital de Sinais E uma transformada da variavel contnua


Usada para sinais de duracao finita/infinita
Nao pode ser implementada de maneira exata num computador
Notas de Aula Uso de outras ferramentas matematicas que a aproximam

DFT:

Aplicada a sinais de tempo discreto de duracao finita


Serie e Transformada Discreta de
Fourier O resultado e um sinal de frequencia discreta e de duracao finita
Pode ser implementada de maneira exata num computador

DFS / DFT E uma aproximacao da DTFT


Existem algoritmos eficientes para seu calculo (FFT - Fast Fourier
Transform)
Esta relacionada com sinais periodicos (DFS - Discrete Fourier Series)

Aplicacoes:

Analise espectral de sinais, resposta em frequencia


Implementacao de SLITs
Ricardo Tokio Higuti

Departamento de Engenharia Eletrica - FEIS - Unesp

Observacao: Estas notas de aula estao baseadas no livro: Discrete-Time Signal Processing,
A.V. Oppenheim and R.W. Schafer, Prentice Hall, 1989/1999.
Transformada Discreta de Fourier 3 Transformada Discreta de Fourier 4

Serie Discreta de Fourier - DFS Serie Discreta de Fourier - DFS


Seja um sinal de tempo discreto periodico, com perodo N , que obedece a: Portanto, ha apenas N diferentes frequencias:
2
x[n] = x[n + rN ], r, N inteiros, k = k, para k = 0, 1, 2, , N 1
N
em que define-se a frequencia fundamental do sinal por: e portanto a serie fica:
2 NX
1 NX
1
0 = 1 2 1 2
N x[n] = Xk ej N kn = X[k]ej N kn
N k=0 N k=0
Analogamente ao caso de tempo contnuo, este sinal tambem pode ser
representado por uma serie, composta por uma soma de exponenciais com- Os valores X[k] sao os coeficientes da serie discreta de Fourier (DFS),
plexas de tempo discreto, cujas frequencias sao multiplas da frequencia que representam a contribuicao de cada componente de frequencia 2k/N
fundamental: na composicao do sinal periodico. Os coeficientes sao obtidos por:
NX
1
Xk j 2 kn 2
X[k] = x[n]ej N kn, k = 0, 1, , N 1
X
x[n] = e N
k N n=0

Devido a periodicidade das frequencias das exponenciais complexas, ha Chagando-se ao par transformado:
apenas N frequencias distintas: DF S
x[n] X[k]
j 2
N kn
ek [n] = e
Observacoes:
Para k inteiro, fica-se com as exponenciais e0 [n], e1 [n], ..., eN 1 [n].
X[k] e de frequencia discreta. Para cada k ha uma frequencia 2k/N
Quando k = N , tem-se:
2 X[k] e periodico com N : X[k + N ] = X[k], por isso basta observar
eN [n] = ej N N n = ej2n = 1 = e0[n] seus valores no intervalo entre 0 e N 1.
De forma analoga, eN +1[n] = e1 [n] e assim por diante.
Transformada Discreta de Fourier 5 Transformada Discreta de Fourier 6

Exemplo - DFS Relacao entre a DFS e a DTFT


Calcule a DFS da sequencia: Seja um sinal periodico de tempo discreto, x[n], com perodo N . Tomando-
se um perodo desse sinal, fica-se com o sinal x[n]:
x[n] = A cos(n/2)
x[n], n = 0, 1, ..., N 1
Inicialmente verifica-se que a sequencia e periodica, com perodo N = 4, x[n] =
0, caso contrario
e valores {A, 0, A, 0} em um perodo (0 n 3).
Portanto, a os coeficientes da DFS sao: A DTFT de x[n] e:
NX
1 NX
1 NX
1
X[k] =
2 2
x[n]ej N kn = A(1 ej 4 2k ) X(ej ) = x[n]ejn = x[n]ejn
n=0 n=0 n=0

Com valores: E a DFS de x[n]:


NX
1
X[0] = A(1 ej0 ) = 0 X[k] =
2
x[n]ej N kn , k = 0..N 1
n=0
j1
X[1] = A(1 e ) = 2A
Comparando as equacoes, tem-se que a DFS e a DTFT, nessas condicoes,
X[2] = A(1 ej2 ) = 0 estao relacionadas por:
X[3] = A(1 ej3 ) = 2A
X[k] = X(ej )|= 2
N k
, k = 0..N 1
e percebe-se que X[4] = X[0], e assim por diante. ou seja, a DFS e composta por amostras da DTFT em N pontos
Outra forma de verificar o resultado e reescrevendo a sequencia x[n] em equiespacados de 2/N , entre = 0 e 2.
termos de exponenciais complexas:
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
2 2 2 2
2 2
Deve-se notar que ej N kn = ej N (N k)n , e portanto x[n] pode ser escrito
como:
A j 2 n A j 2 3n
x[n] = e 4 + e 4
2 2
Como a expansao de x[n] em termos da DFS e:
1 NX
1 2
x[n] = X[k]ej 4 kn
4 k=0
Nota-se que:

X[0] = 0
X[1]/4 = A/2, portanto X[1] = 2A
X[2] = 0
X[3]/4 = A/2, portanto X[3] = 2A
Transformada Discreta de Fourier 7 Transformada Discreta de Fourier 8

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, 0, 0}, N = 7, L = 5
4 sin(5/2) 4 sin(5/2)
X(ej ) = ejn = ej2 X(ej ) = ejn = ej2
X X

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

4 sin(k/2) 4 sin(5k/7)
ej(2/10)n = ej(4/10)k ej(2/7)n = ej(4/7)k
X X
X[k] = X[k] =
n=0 sin(k/10) n=0 sin(k/7)

1.2 x[n], x[n]


x[n], x[n] 1
0.8
0.6
0.4
0.2
0
2 0 2 4 6 8 10 12 14
n
n
5

4
|X(ej )|, |X[k]| |X(ej )|, |X[k]|
3

0
0 0.5 1 1.5 2
/, k / = 2k/N
Transformada Discreta de Fourier 9 Transformada Discreta de Fourier 10

Exemplo Exemplo
x[n] = {1, 1, 1, 1, 1}, N = 5, L = 5
4 sin(5/2) 5
X(ej ) = ejn = ej2
X

n=0 sin(/2) 4.5

4 |X(ej )|, |X[k]|, N = 20


4 sin(k) 3.5
ej(2/5)n = ej(4/5)k
X
X[k] =
n=0 sin(k/5) 3

2.5

2
1.2 x[n], x[n]
1.5
1
0.8 1
0.6
0.5
0.4
0
0.2 0 0.5 1 1.5 2
0
2 0 2 4 6 8 10 12 14 /, k / = 2k/N
n

6
5
5
4.5
4 |X(ej )|, |X[k]|
3
4 |X(ej )|, |X[k]|, N = 40

2 3.5

1 3

0 2.5
0 0.5 1 1.5 2
/, k / = 2k/N 2

1.5

0.5

0
0 0.5 1 1.5 2

/, k / = 2k/N
Transformada Discreta de Fourier 11 Transformada Discreta de Fourier 12

Exemplo - DFS Amostragem da DTFT


Calcule a DFS de um trem de impulsos periodico: 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
DFS X[k] sao as amostras da DTFT X(ej ), nas frequencias k = 2k/N .
X
x[n] = [n m + rN ]
r=
+
DF S
Um perodo do sinal, para 0 n N 1 e dado por [n m], com m x[n + mN ] X[k] = X(ej )|= 2
X
x[n] x[n] = N k
m=
uma constante inteira. Os coeficientes da DFS sao dados por:
NX
1 2
NX
1 2 2
Suponha agora que se tenha uma DTFT de um sinal x[n] qualquer, dada
X[k] = x[n]ej N kn = [n m]ej N kn = ej N km por X(ej ), e se tomam amostras da DTFT, formando coeficientes de uma
n=0 n=0
DFS:
Portanto, a representacao do sinal periodico fica:
X[k] = X(ej )|= 2
N k
1 NX
1 1 NX
1 1 NX
1 2
j 2
N kn j 2 2
N km j N kn j N k(nm)
x[n] = X[k]e = e e = e em que a DTFT e dada por:
N k=0 N k=0 N k=0
+
E tem-se a identidade: X(ej ) =
X
x[m]ejm
NX
1 2 m=
X 1 j N k(nm)
x[n] = [n m + rN ] = e
r= N k=0
A sequencia periodica x[n] resultante pode ser calculada por meio da
DFS inversa:
Esta identidade sera util quando for relacionada a DFS com a DTFT.
1 NX
1 2
x[n] = X[k]ej N kn
N k=0

1 NX
1 + 2 2
x[m]ej N km ej N kn
X
=
N k=0 m=


+ 1 NX
1 2
X j N k(nm)
= x[m] e
m= N k=0

O termo entre colchetes representa a DFS de um trem de impulsos


periodico:
1 NX
1 2 +
j N k(nm) X
e = [n m + rN ]
N k=0 r=

Portanto:
+
X +
X
x[n] = x[m] [n m + rN ]
m= r=

+
X
= x[n] [n + rN ]
r=

+
X
= x[n + rN ]
r=
Transformada Discreta de Fourier 13 Transformada Discreta de Fourier 14

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 duracao 5 amostras (L = 5).
cientes de uma DFS, a sequencia periodica correspondente pode ser obtida
por meio da adicao de infinitas copias de x[n], deslocadas de multiplos de sequncias | 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, X1 [k] = X(ej )|= 2 k
X
2 x1 [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 sequencia x[n] possuir um comprimento L > N , havera so- 2 x2 [n] = x[n + 5r]
N = 5, X2 [k] = X(ej )|= 2 k
r=
breposicao no domnio do tempo, e um perodo de x[n] nao representara 5

1
corretamente a sequencia x[n].
0 0
0 5 10 15 20 0 2 4
Ha um numero mnimo de amostras de X(ej ) para que a sequencia x[n] 3 +
5
X
possa ser recuperada a partir de x[n] (ou a partir das amostras da DTFT). x3 [n] = x[n + 4r]
N = 4, X3 [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
Transformada Discreta de Fourier 15 Transformada Discreta de Fourier 16

Amostragem da DTFT - Exemplo DTFT de Sinais Periodicos


Um sinal periodico x[n] pode ser representado por sua DFS:
x[n] = (7/10)nu[n] X(ej ) = [1 (7/10)ej ]1
1 NX
1 2
x[n] = X[k]ej N kn
Amostrando a DTFT com N = 4 pontos, a sequencia no domnio 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] ej0 n X(ej(0) )
0.5
DT F T
1 2(), 0 < 2 (um perodo)
0
0 1 2 3
DT F T
1 ej0 n 2( 0 ), 0 < 2
0
Logo, a DTFT do sinal periodico, 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 pratica, a informacao contida no espectro da DTFT e a mesma da
amostra n DFS de um sinal periodico, a menos de uma constante (2/N ) e a substi-
tuicao das amostras para cada k (X[k]) pelos impulsos nas frequencias
Para N = 8 pontos: 2k/N , com areas (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 w
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
amostra n
Transformada Discreta de Fourier 17 Transformada Discreta de Fourier 18

Propriedades da DFS Exemplo - Convolucao periodica


Sequencias x[n] e y[n], e suas series, de perodo N . Deseja-se fazer a convolucao periodica entre as sequencias:

Propriedade Sequencia DFS, perodo N

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

Atraso no tempo x[n m] ej(2/N )km X[k]

Deslocamento em frequencia ej(2/N )k0 n x[n] X[k k0 ]

Dualidade X[n] N x[k]

N
X 1
Convolucao periodica x[m]y[n m] X[k] Y [k]
m=0 NX
1
x3[n] = x1[m]x2[n m]
1 NX
1
m=0
Modulacao x[n] y[n] X[l]Y [k l]
N l=0
Nota-se que a somatoria e realizada em um perodo apenas. Para n = 0,
Simetria
x [n]
X [k] deve-se ter o sinal x2[0 m],e multiplica-lo por x1[m]:

x [n] X [k]

X[k] + X [k]
{x[n]} Xe [k] =
2

X[k] X [k]
{x[n]} Xo [k] =
2 Deve-se perceber que, como o sinal e periodico, deslocamentos posteri-
x[n] + x [n] ores do sinal serao da forma:
xe [n] = {X[k]}
2

x[n] x [n]
xo [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 perodo dos sinais.
Para obter os valores da sada, deve-se multiplicar as duas sequenciase
realizar a soma das amostras em um perodo.
Transformada Discreta de Fourier 19 Transformada Discreta de Fourier 20

Transformada Discreta de Fourier - DFT DFT


Seja um sinal x[n] de duracao finita N : Dessa forma, tem-se:
NX
1

2
x[n] = 0 para n < 0 e n N

x[n]ej N kn , k = 0, 1, ..., N 1
X[k] = n=0
Pode-se montar, com essa sequencia, uma outra, periodica, tal que: 0, caso contrario


X
x[n] = x[n + rN ] = x[n modulo N ] = x[((n))N ]
1 NX
1 2
r= X[k]ej N kn, n = 0, 1, ..., N 1



x[n] = N n=0
Dessa sequencia periodica, pode-se calcular a DFS, X[k], que e periodica

0, caso contrario
com perodo N . Para manter a dualidade entre os domnios do tempo e
frequencia, toma-se um perodo dessa sequencia periodica e da-se o nome DF T
de X[k]: x[n] X[k]

X[k], k = 0, 1, ..., N 1 Os sinais x[n] e X[k] sao ambos discretos e de duracao finita N
X[k] =
0, caso contrario
Da mesma forma que antes, a DFT pode ser vista como amostras da
de modo que: DTFT do sinal x[n], nas frequencias k = 2k/N , k = 0..N 1.
Ao se trabalhar com as sequencias x[n] e X[k] e a DFT, deve-se sempre
X[k] = X[k modulo N ] = X[((k))N ]
lembrar que ha sequencias periodicas envolvidas.
X[k] Ao se usar a DFT, deve-se trabalhar com as sequencias considerando
x[n]
que estas sao periodicas e, ao final toma-se apenas um perodo (0
DFT
n N 1, 0 k N 1). Fora desse intervalo, considera-se que as
sequencias tem valor zero (sinais de duracao finita N ).
0 L1 n 0 N 1 k

x[n] X[k]

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

N 0 N n N 0 N k
Transformada Discreta de Fourier 21 Transformada Discreta de Fourier 22

Operacoes com (( ))N Operacoes com (( ))N

x[n] x[n]

x[n] x[n]

x[n 2] x[n]

x[n 2] x[n]

n n

x[n 2]
x[n]

x[n 2]
x[n]

x[n + 2]
x[n + 2]

x[n + 2]
x[n + 2]

n
n
Transformada Discreta de Fourier 23 Transformada Discreta de Fourier 24

Propriedades da DFT Convolucao Linear Usando a DFT


Sequencias x[n], y[n], X[k] e Y [k] com comprimento N . Em SLITs, a sada e obtida pela convolucao linear entre a entrada e
a resposta impulsiva
Propriedade Sequencia DFT N pontos
A operacao de convolucao pode ser muito custosa (somas e multi-
Linearidade ax[n] + by[n] aX[k] + bY [k] plicacoes)
Atraso no tempo x[((n nd ))N ] ej(2/N )knd X[k] Quando se usa a DFT, tem-se a convolucao circular
j(2/N )k0 n
Deslocamento em freq. e x[n] X[((k k0 ))N ] Existem algoritmos eficientes para o calculo da DFT (FFT)
Dualidade X[n] Nx[((k))N ] Como usar a DFT para implementar a convolucao linear?
Convolucao circular v[n] = x[n](N)y[n] Para fazer a convolucao linear entre duas sequencias x1[n] e x2[n] (DTFT):
N
X 1
v[n] = x[m]y[((n m))N ] V [k] = X[k] Y [k]
x[k]h[n k] Y (ej ) = X(ej ) H(ej )
X
m=0 y[n] = x[n] h[n] =
k=
1 NX
1
Janelamento v[n] = x[n] y[n] V [k] = X[l]Y [((k l))N ] Usando-se a DFT, tem-se a convolucao circular:
N l=0

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


x [((n))N ] X [k] Questao: Sob que condicoes yp [n] = y[n] ?
X[((k))N ] + X [((k))N ]
{x[n]} Xep [k] =
2
X[((k))N ] X [((k))N ]
{x[n]} Xop [k] =
2
x[((n))N ] + x [((n))N ]
xep [k] = {X[k]}
2
x[((n))N ] x [((n))N ]
xop [k] = {X[k]}
2

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

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

6 {X[k]} = 6 {X[((k))N ]}
Transformada Discreta de Fourier 25 Transformada Discreta de Fourier 26

Convolucao Linear Usando a DFT Convolucao Linear Usando a DFT


Sejam duas sequencias: 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
x[n] de comprimento L cuja sequencia e:
h[n] de comprimento M
X
x[n] = x[((n))N ] = x[n + rN ]
r=
O resultado da convolucao linear entre x[n] e h[n] tera comprimento
L+M 1 e

X(ej(2k/N ) ), k = 0..N 1
X[k] =
0, caso contrario
x[n]
e a DFT de um perodo de x[n]:

x[n], n = 0..N 1
x[n] =
0, caso contrario

Note que, se o comprimento de x[n] for menor ou igual a N , nao havera


h[n] sobreposicao no tempo, e um perodo de x[n] sera igual a x[n].

x[n] h[n]

n
Transformada Discreta de Fourier 27 Transformada Discreta de Fourier 28

Convolucao Linear Usando a DFT Convolucao Circular


No caso da convolucao linear, tem-se:

x[k]h[n k] Y (ej ) = X(ej ) H(ej ) x[n]
X
y[n] = x[n] h[n] =
k=

Definindo a DFT:

Y [k] = Y (ej(2k/N )), k = 0..N 1 h[n]

Entao,

Y [k] = X(ej(2k/N ) ) H(ej(2k/N ) ) = X[k] H[k], k = 0..N 1


x[n](4)h[n]
E a DFT inversa de Y [k] corresponde a:

X
y[n + rN ], n = 0..N 1



yp [n] = r=
0, caso contrario

em que y[n] e a convolucao linear entre x[n] e h[n], e yp [n] e o resultado da


convolucao circular entre x[n] e h[n]: x[n]

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

Ou seja, a convolucao circular entre duas sequencias pode ser vista como
a convolucao linear entre essas sequencias seguida de uma sobreposicao h[n]
no tempo. Com isso, conclui-se que a convolucao circular sera igual a
convolucao linear, se e se somente se N for maior que o comprimento de
x3[n]:

N L+M 1 x[n](5)h[n]

n
Transformada Discreta de Fourier 29 Transformada Discreta de Fourier 30

Convolucao Circular Convolucao Linear Usando a DFT


Conclusao: sendo

x[n] x[n] de comprimento L;


h[n] de comprimento M;
A convolucao circular entre x[n] e h[n] e igual a convolucao linear se
h[n]
N L + M 1.

Convolucao rapida (Fast Convolution)


1. Calcular a DFT X[k], de comprimento N L + M 1;
x[n](6)h[n]
2. Calcular a DFT H[k], de comprimento N ;

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


x[n] DFT, que sao os algoritmos de FFT (Fast Fourier Transform).
8
10

h[n]
7
10 Convoluo rpida
Convoluo linear

6
10

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

flops
4
10
n
3
10

2
10

1
10 0 1 2 3 4
10 10 10 10 10
L = M (N = 2L)
Transformada Discreta de Fourier 31 Transformada Discreta de Fourier 32

Convolucao por Blocos Overlap-Add


Convolucao rapida: para sinais de duracao finita; Neste metodo, considera-se o seguinte:
Sistemas praticos: a entrada pode ter duracao muito grande; O sistema FIR tem resposta impulsiva h[n], com comprimento M;
Se a resposta impulsiva tiver duracao finita, pode-se separar a en- O sinal de entrada x[n] tem comprimento muito maior que M;
trada em blocos de comprimento finito e utilizar a convolucao rapida,
aplicada aos blocos - linearidade da operacao de filtragem; Separa-se o sinal x[n] em blocos de comprimento L, produzindo sinais
xi [n];
O comprimento da convolucao linear entre dois sinais e maior que
a duracao de cada sinal - necessario um ajuste entre resultados de Calcula-se a convolucao rapida entre xi [n] e h[n], produzindo os sinais
convolucoes aplicadas a blocos adjacentes; yi [n].
Como visto anteriormente, a convolucao rapida deve ser realizada com
um numero de pontos N L+M 1, que e o comprimento resultante
das sequencias yi[n].

No processamento por blocos:

Na pratica, adicionam-se zeros a xi[n] e h[n] para que atinjam o com-


primento N .
A sada y0 [n] corresponde as amostras entre 0 e N 1;
A sada y1 [n] corresponde as amostras entre L e L + N 1 ;
Ha uma sobreposicao entre y0[n] e y1 [n], para L n N 1. Essas
amostras devem ser somadas na resposta total;
Ha um atraso no processamento.
Transformada Discreta de Fourier 33 Transformada Discreta de Fourier 34

Overlap-Add Overlap-Add - Exemplo

L L L
1 M = 4, L = 5, N = 8
h[n]
x[n] ...
01 2 3 4 5 6 7
n
(M 1) zeros
1
x[n] ...
x0 [n]
01 2 3 4 5 6 7 n
(M 1) zeros
1
x0 [n]
x1 [n]
01 2 3 4 5 6 7 n
(M 1) zeros
1
x2 [n] x1 [n]
... 01 2 3 4 5 6 7 n
1
y0 [n] x2 [n]

01 2 3 4 5 6 7 n
4
adiciona y1 [n] 3
2
M 1 y0 [n] 1
pontos
01 2 3 4 5 6 7 n
adiciona y2 [n]
4
M 1 3
y1 [n] 2
pontos 1

01 2 3 4 5 6 7 n
y[n] 4
3
y2 [n] 2
1
xi[n] = x[n + iL], 0 n L 1; i = 0, 1, ... 01 2 3 4 5 6 7 n
4
3
yi [n] = DFT1 {H[k] Xi [k]}, N = L + M 1 2
...
y[n] 1

01 2 3 4 5 6 7 n
y[n] = y0[n] + y1 [n L] + y2 [n 2L] + ...
Transformada Discreta de Fourier 35 Transformada Discreta de Fourier 36

Overlap-Save Overlap-Save
Neste metodo, se faz a sobreposicao dos blocos de entrada, de modo que
L (M 1) L
nao seja necessario adicionar sadas adjacentes. L

Separa-se a entrada x[n] em sequencias de comprimento L = N > M; x[n] ...


Calcula-se a DFT com comprimento N ; x0 [n]
sobreposicao
O comprimento de h[n] e igual a M < L, e adicionam-se N M zeros (M 1)
para que fique com comprimento N ; x1 [n] pontos
(M 1)
Faz-se uma sobreposicao das entradas, em que as M 1 ultimas zeros
amostras de xi[n] serao as M 1 primeiras amostras de xi+1[n].
x2 [n]
A sequencia x0[n] e montada com zeros nas primeiras M 1 amostras
e depois com as L (M 1) primeiras amostras de x[n].
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 y0 [n]
primeiras amostras de yi [n] sao descartadas;

y1 [n]

descarta y2 [n]
(M 1)
pontos

y[n] ...

xi[n] = x[n + iL i(M 1) (M 1)], 0 n L 1, i > 0



0, 0nM 2
x0[n] =
x[n], M 1 n < L (M 1)

yi [n] = DFT1{H[k] Xi [k]}, N = L, 0 n L 1

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

+
X
y[n] = yli[n iL i(M 1) (M 1)]
i=0
Transformada Discreta de Fourier 37

Overlap-Save - Exemplo

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

01 2 3 4 5 6 7
n
1
x[n] ...
01 2 3 4 5 6 7 n
1
x0 [n]

0 1 2 3 4 5 6 7 n
1
x1 [n]

0 1 2 3 4 5 6 7 n

x2 [n] 1

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

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

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

01 2 3 4 5 6 7 n
4 4
3

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