Você está na página 1de 18

1

Transformada Discreta de Fourier

Transformada Discreta de Fourier

Transformada Discreta de Fourier - DFT


DTFT: X(ej ) =

x[n]ejn

n=

Processamento Digital de Sinais

uma transformada da variavel contnua


E
Usada para sinais de duracao finita/infinita

Notas de Aula

Nao pode ser implementada de maneira exata num computador


Uso de outras ferramentas matematicas que a aproximam
DFT:

Transformada Discreta de Fourier


DFT

Aplicada a sinais de tempo discreto de duracao finita


O resultado e um sinal de frequencia discreta e de duracao finita
Pode ser implementada de maneira exata num computador
uma aproximacao da DTFT
E
Existem algoritmos eficientes para seu calculo (FFT - Fast Fourier
Transform)
Esta relacionada com sinais periodicos (DFS - Discrete Fourier Series)
Aplica
c
oes:
Analise espectral de sinais, resposta em frequencia

Ricardo Tokio Higuti


Departamento de Engenharia Eletrica - FEIS - Unesp

Observacao: Estas notas de aula est


ao baseadas no livro: Discrete-Time Signal Processing,
A.V. Oppenheim and R.W. Schafer, Prentice Hall, 1989/1999.

Implementacao de SLITs

Transformada Discreta de Fourier

Transformada Discreta de Fourier

S
erie Discreta de Fourier - DFS

S
erie Discreta de Fourier - DFS

Seja um sinal de tempo discreto periodico, com perodo N , que obedece a:

Portanto, ha apenas N diferentes frequencias:

x[n] = x[n + rN ], r, N inteiros,


em que define-se a frequ
encia fundamental do sinal por:
0 =

2
N

Analogamente ao caso de tempo contnuo, este sinal tambem pode ser


representado por uma serie, composta por uma soma de exponenciais complexas de tempo discreto, cujas frequencias sao m
ultiplas da frequencia
fundamental:
x[n] =

X
k

k 2
X
ej N kn
N

Devido `a periodicidade das frequencias das exponenciais complexas, ha


apenas N frequencias distintas:

k =

2
k, para k = 0, 1, 2, , N 1
N

e portanto a serie fica:


x[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

Chagando-se ao par transformado:


DF S
x[n] X[k]

j 2
N kn

ek [n] = e

Para k inteiro, fica-se com as exponenciais e0 [n], e1 [n], ..., eN 1 [n].


Quando k = N , tem-se:
2

eN [n] = ej N N n = ej2n = 1 = e0[n]


De forma analoga, eN +1[n] = e1 [n] e assim por diante.

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.

Transformada Discreta de Fourier

Transformada Discreta de Fourier

Exemplo - DFS

Exemplo - DFS

Calcule a DFS da sequencia:

Calcule a DFS de um trem de impulsos periodico:

x[n] = A cos(n/2)

x[n] =

[n m + rN ]

r=

Inicialmente verifica-se que a sequencia e periodica, com perodo N = 4,


e valores {A, 0, A, 0} em um perodo (0 n 3).
Portanto, a os coeficientes da DFS sao:
=
X[k]

NX
1

x[n]ej N kn = A(1 ej 4 2k )

Um perodo do sinal, para 0 n N 1 e dado por [n m], com m


uma constante inteira. Os coeficientes da DFS sao dados por:
=
X[k]

= 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

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
e 4 + e 4
2
2

Como a expansao de x[n] em termos da DFS e:


x[n] =

1
j 2

N kn =
X[k]e
N
k=0

r=

= X[0],

e percebe-se que X[4]


e assim por diante.
Outra forma de verificar o resultado e reescrevendo a sequencia x[n] em
termos de exponenciais complexas:

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

Portanto, a representacao do sinal periodico fica:

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

Esta identidade sera u


til quando for relacionada a DFS com a DTFT.

Transformada Discreta de Fourier

Transformada Discreta de Fourier

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] = {1, 1, 1, 1, 1, 0, 0, 0, 0, 0},

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

Comparando as equacoes, tem-se que a DFS e a DTFT, nessas condicoes,


estao relacionadas por:
= X(ej )|= 2 k ,
X[k]
N

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

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

sin(k/2)
sin(k/10)

Transformada Discreta de Fourier

Exemplo

10

Transformada Discreta de Fourier

Exemplo

x[n] = {1, 1, 1, 1, 1, 0, 0},


X(ej ) =

N = 7, L = 5
4
X

ejn = ej2

n=0

=
X[k]

4
X

x[n] = {1, 1, 1, 1, 1},


sin(5/2)
sin(/2)

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

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

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

3
2

1
0

1
0

0.5

/,

k / = k/N

1.5

0.5

/,

k / = k/N

1.5

11

Transformada Discreta de Fourier

12

Transformada Discreta de Fourier

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=

A sequencia periodica x[n] resultante pode ser calculada por meio da


DFS inversa:

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

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


periodico:
1
N

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] =

em que a DTFT e dada por:

x[n] =

x[n]

13

Transformada Discreta de Fourier

Amostragem da DTFT: Exemplo

Amostragem da DTFT - Exemplo

Seja x[n] um pulso de duracao 5 amostras (L = 5).


sequncias

x[n] = (7/10)nu[n] X(ej ) = [1 (7/10)ej ]1


| DTFT | , | DFS |

Amostrando a DTFT com N = 4 pontos, a sequencia no domnio do


tempo fica (em preto: amostras de x[n], em vermelho: amostras de x[n]):

3
5

x[n]

|X(e )|

1.5

1
0

+
X

x1 [n] =

10

15

20

0
5

x[n + 10r]

14

Transformada Discreta de Fourier

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=

Erro: x[n] x[n]

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

Erro: x[n] x[n]

0.06
0.08

3
4
amostra n

15

Transformada Discreta de Fourier

16

Transformada Discreta de Fourier

DTFT de Sinais Peri


odicos

Propriedades da DFS

Um sinal periodico x[n] pode ser representado por sua DFS:

Sequencias x[n] e y[n], e suas series, de perodo N .

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]

ej(2/N )km X[k]

Deslocamento em frequencia

ej(2/N )k0 n x[n]

k0 ]
X[k

Dualidade

X[n]

N x[k]

Convolucao periodica

N
1
X

Usando as propriedades da DTFT:


DT F T

x[n] X(ej )
DT F T

x[n] ej0 n X(ej(0) )


DT F T

1 2(),

0 < 2 (um perodo)

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

Na pratica, a informacao contida no espectro da DTFT e a mesma da


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

2k/N , com areas (2/N )X[k].

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]}

e [k] = X[k] + X [k]


X
2

{
x[n]}

o [k] = X[k] X [k]


X
2

...

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

Transformada Discreta de Fourier

18

Transformada Discreta de Fourier

Exemplo - Convoluc
ao peri
odica

Transformada Discreta de Fourier - DFT

Deseja-se fazer a convolucao periodica entre as sequencias:

Seja um sinal x[n] de duracao finita N :


x[n] = 0 para n < 0 e n N
Pode-se montar, com essa sequencia, uma outra, periodica, tal que:
x[n] =

r=

x3[n] =

NX
1

x[n + rN ] = x[n modulo N ] = x[((n))N ]

Dessa sequencia periodica, pode-se calcular a DFS, X[k],


que e periodica
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
de X[k]:
x1[m]
x2[n m]

m=0

Nota-se que a somatoria e realizada em um perodo apenas. Para n = 0,


deve-se ter o sinal x2[0 m],e multiplica-lo por x1[m]:

de modo que:

X[k] =

X[k],
k = 0, 1, ..., N 1
0,
caso contrario

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


X[k]

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

Transformada Discreta de Fourier

DFT

20

Transformada Discreta de Fourier

Opera
c
oes com (( ))N

Dessa forma, tem-se:

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]

Os sinais x[n] e X[k] sao ambos discretos e de duracao finita N


Da mesma forma que antes, a DFT pode ser vista como amostras da
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


lembrar que ha sequencias periodicas envolvidas.
x[n]

Ao se usar a DFT, deve-se trabalhar com as sequencias considerando


que estas sao periodicas e, ao final toma-se apenas um perodo (0
n N 1, 0 k N 1). Fora desse intervalo, considera-se que as
sequencias tem valor zero (sinais de duracao finita N ).

x[n]

x[n + 2]

x[n + 2]

21

Transformada Discreta de Fourier

22

Transformada Discreta de Fourier

Propriedades da DFT

Opera
c
oes com (( ))N

Sequencias x[n], y[n], X[k] e Y [k] com comprimento N .


x[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 ]

ej(2/N )knd X[k]

Deslocamento em freq.

ej(2/N )k0 n x[n]

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 ]

V [k] = X[k] Y [k]

m=0

1
1 NX
X[l]Y [((k l))N ]
N l=0

Janelamento

v[n] = x[n] y[n]

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

Transformada Discreta de Fourier

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

Transformada Discreta de Fourier

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] =

x1[k]x2[n k] X3 (ej ) = X1(ej ) X2 (ej )

k=

Usando-se a DFT, tem-se a convolucao circular:


x2 [n]

x3p[n] = x1[n](N )x2[n] X3 [k] = X1 [k] X2 [k]


Quest
ao: Sob que condicoes x3p[n] = x3[n] ?

x1 [n] x2 [n]

25

Transformada Discreta de Fourier

26

Transformada Discreta de Fourier

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:

No caso da convolucao linear, tem-se:

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

x3[n] = x1[n] x2[n] =

X[k] =

j(2k/N )

X(e
0,

x[n + rN ]

r=

), k = 0..N 1
caso contrario

e a DFT de um perodo de x[n]:

x[n] =

x1[k]x2[n k] X3 (ej ) = X1(ej ) X2 (ej )

k=

Definindo a DFT:
X3[k] = X3 (ej(2k/N )),

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

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


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

k = 0..N 1

Entao,
X3[k] = X1 (ej(2k/N )) X2 (ej(2k/N ) ) = X1 [k] X2 [k],

k = 0..N 1

E a DFT inversa de X3[k] corresponde a:

x3p[n] =

r=

0,

x3 [n + rN ], n = 0..N 1
caso contrario

em que x3[n] e a convolucao linear entre x1[n] e x2[n], e x3p[n] e o resultado


da convolucao circular entre x1[n] e x2[n]:
x3p[n] = x1[n](N )x2[n]
Ou seja, a convolucao circular entre duas sequencias pode ser vista como
a convolucao linear entre essas sequencias seguida de uma sobreposicao
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

27

Transformada Discreta de Fourier

Convoluc
ao Linear Usando a DFT

28

Transformada Discreta de Fourier

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

Transformada Discreta de Fourier

Convoluc
ao Linear Usando a DFT

Transformada Discreta de Fourier

30

Convoluc
ao por Blocos

Conclusao: sendo

Convolucao rapida: para sinais de duracao finita;

x[n] de comprimento L;

Sistemas praticos: a entrada pode ter duracao muito grande;

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;

A convolucao circular entre x[n] e h[n] e igual `a convolucao linear se


N L + M 1.

O comprimento da convolucao linear entre dois sinais e maior que


a duracao de cada sinal - necessario um ajuste entre resultados de
convolucoes aplicadas a blocos adjacentes;

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

Transformada Discreta de Fourier

31

Overlap-Add

32

Transformada Discreta de Fourier

Overlap-Add

Neste metodo, considera-se o seguinte:

O sistema FIR tem resposta impulsiva h[n], com comprimento M;


O sinal de entrada x[n] tem comprimento muito maior que M;
Separa-se o sinal x[n] em blocos de comprimento L, produzindo sinais
xi [n];

...

x[n]
(M 1) zeros
x0 [n]
(M 1) zeros

Calcula-se a convolucao rapida entre xi [n] e h[n], produzindo os sinais


yi [n].

x1 [n]
(M 1) zeros

Como visto anteriormente, a convolucao rapida deve ser realizada com


um n
umero de pontos N L+M 1, que e o comprimento resultante
das sequencias yi[n].

x2 [n]

...

No processamento por blocos:


y0 [n]

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


adiciona
M 1
pontos

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 ;

y1 [n]

adiciona
M 1
pontos

Ha uma sobreposicao entre y0[n] e y1 [n], para L n N 1. Essas


amostras devem ser somadas na resposta total;

y2 [n]

Ha um atraso no processamento.
y[n]

xi[n] = x[n + iL],

0 n L 1;

i = 0, 1, ...

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


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

33

Transformada Discreta de Fourier

Overlap-Add - Exemplo

h[n]

Neste metodo, se faz a sobreposicao dos blocos de entrada, de modo que


nao seja necessario adicionar sadas adjacentes.

M = 4, L = 5, N = 8

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

Calcula-se a DFT com comprimento N ;

...

x[n]
01 2 3 4 5 6 7

O comprimento de h[n] e igual a M < L, e adicionam-se N M zeros


para que fique com comprimento N ;

01 2 3 4 5 6 7

Faz-se uma sobreposicao das entradas, em que as M 1 u


ltimas amostras de xi [n] serao as M 1 primeiras amostras de xi+1[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].

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]

Transformada Discreta de Fourier

1
01 2 3 4 5 6 7

...
n

35

Transformada Discreta de Fourier

36

Transformada Discreta de Fourier

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]

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

3
2

01 2 3 4 5 6 7
4 4

x0[n] =

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

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


+
X
i=0

yli[n iL i(M 1) (M 1)]

...

1
0 1 2 3 4 5 6 7

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

y[n] =

y[n]

Você também pode gostar