Escolar Documentos
Profissional Documentos
Cultura Documentos
Professor Associado
Departamento de Engenharia Electrotcnica e de Computadores
Faculdade de Engenharia da Universidade do Porto
Dezembro de 1998
Indice
1.
2.
1.1
Sinais
1.2
1.3
1.4
1.5
1.6
Vantagens do PDS
1.7
Microprocessadores de Sinal
1.8
Bibliografia
11
2.1
Sinais Discretos
11
2.2
Convoluo Discreta
11
2.3
14
2.4
15
2.5
15
2.6
15
2.7
15
2.8
16
2.8.1 Fase
17
18
2.9
19
2.10
21
2.11
23
23
23
24
26
2.12
3.
27
3.1
Introduo
27
3.1
Teorema da Amostragem
30
3.2
Aliasing
30
1998 F. J. Restivo
4.
30
3.3
32
3.4
Amostragem Real
33
3.5
Reconstruo Real
34
3.6
Interpolao
36
3.7
Decimao
38
3.8
39
Transformada em z
40
4.1
Definio
40
4.2
Regio de Convergncia
41
4.3
43
4.4
43
4.5
Propriedade da Convoluo
43
4.6
44
4.7
Estabilidade e Causalidade
44
4.8
44
4.9
Inverso da Transformada em z
46
46
46
47
49
4.10
5.
52
5.1
Introduo
52
52
53
5.2
56
5.3
57
5.4
Propriedades da DFT
60
5.5
62
5.6
63
63
65
65
66
70
5.7.3 Raiz 4
72
73
75
5.7
5.8
1998 F. J. Restivo
6.
5.9
76
5.10
77
Filtros Digitais
80
6.1
Introduo
80
6.2
80
6.2.1 Classificao.
81
6.2.2 Relaes entre os Zeros dos Filtros FIR com Fase Linear.
83
84
90
90
92
97
97
99
6.3
6.4
7.
102
7.1
Grficos de Fluncia
102
7.2
Formas Directas
103
103
105
105
105
106
7.3
1998 F. J. Restivo
Controlador
Sistema
1998 F. J. Restivo
Exemplo
Consideremos o sistema definido pela equao s diferenas
y(n) = 0.4x(n) + 0.6y(n-1) .
Suponhamos que a este sistema aplicada a entrada
x(n) =
2
1.5
1
0.5
0
10
12
10
12
2
1.5
1
0.5
0
Na realidade, estamos a realizar um sistema discreto de primeira ordem, que poderia ser utilizado, por exemplo,
para estudar o fenmeno da carga/descarga de um condensador.
1998 F. J. Restivo
PDS
Conversor A/D
Conversor D/A
Convm contudo referir que existem actualmente certas implementaes de sistemas discretos (por exemplo,
com condensadores comutados) em que os valores das amostras desses sinais so armazenados de uma
forma analgica, pelo que seria talvez mais correcto falar-se de Processamento Discreto de Sinal.
Importa tambm realar que PDS no apenas a realizao discreta de sistemas contnuos.
Por um lado, existem sinais discretos que no so uma amostragem de sinais contnuos, como , por exemplo,
o sinal v(n)
n - dia do ano
v(n) - veculos que atravessaram a Ponte da Arrbida no dia n,
que pode perfeitamente interessar processar.
Por outro, nem sempre o resultado do processamento de um sinal discreto outro sinal discreto da mesma
natureza, como acontece num sistema de reconhecimento de voz, por exemplo.
Nesta disciplina, comearemos por estudar os sinais e sistemas discretos independentemente da sua relao
com os sinais e sistemas contnuos, e s posteriormente estudaremos essa relao.
Tambm estudaremos apenas os sinais e sistemas discretos unidimensionais, sendo contudo razoavelmente
simples a extenso do estudo aos sinais multidimensionais (imagens, por exemplo).
1998 F. J. Restivo
No incio dos anos 60, Kaiser, nos laboratrios Bell, apresentou importantes contribuies para a anlise e a
sntese de filtros digitais, e a transformada rpida de Fourier (FFT) foi descoberta em 1965 por Cooley e
Tukey, apesar de a sua origem poder ser atribuda aos matemticos alemes Runge e mesmo Gauss.
A publicao, em 1975, dos livros referncia [5] e [6] marca verdadeiramente o nascimento de PDS como
disciplina, e dos seus autores como os seus verdadeiros criadores.
Actualmente, o PDS emergiu das aplicaes militares onde nasceu e desempenha um papel chave em produtos
de consumo, industriais e de telecomunicaes. Microprocessadores de sinal de baixo custo so
componentes essenciais de jogos electrnicos, telefones celulares, brinquedos, leitores de CDs, discos de
computadores, modems, impressoras, sistemas de reconhecimento de voz e de conferncia vdeo, e muitos
outros produtos familiares. Cada vez mais aplicaes tradicionalmente do domnio dos sistemas analgicos
esto a encontrar solues digitais mais baratas e mais fiveis.
1998 F. J. Restivo
1.8 Bibliografia
A bibliografia publicada na rea do PDS muito vasta.
Recomenda-se qualquer um dos dois seguintes livros para o estudo desta disciplina
[1]
[2]
[4]
Os dois livros a seguir marcaram o estabelecimento de PDS como uma disciplina cientfica prpria, e so leitura
obrigatria para o seu estudo mais aprofundado
[5]
[6]
L. R. Rabiner, B. Gold, Theory and Application of Digital Signal Processing, Prentice-Hall, 1975.
[8]
[9]
D. F. Elliot, K. R. Rao, Fast Transforms: Algorithms, Analyses and Applications, Academic Press, 1982
[10]
[11]
I. Ahmed, ed., Digital Control Applications with the TMS320 Family, Texas Instruments, 1991
[12]
[13]
A. Antoniou, Digital Filters: Analysis, Design and Applications, 2nd edition, McGraw-Hill, 1993
[14]
C. Marven, G. Ewers, A Simple Approach to Digital Signal Processing, Texas Instruments, 1994
[15]
P. M. Clarkson, H. Stark, Signal Processing Methods for Audio, Images and Telecommunications,
Academic Press, 1995
[16]
No que respeita a livros orientados para a utilizao de aplicaes informticas como MatLab, MathCad,
Maple, Mathematica e outras para a resoluo de problemas de Processamento de Sinal, , recomenda-se
[17]
C. S. Burrus et al., Computer-Based Exercises for Signal Processing Using MatLab, Prentice-Hall
(1994)
[18]
Est disponvel na FEUPnet a verso 4.2 de MatLab, assim como a maior parte das suas toolbox,
nomeadamente a de Processamento de Sinal.
Finalmente, importa referir as revistas onde publicada a maioria dos trabalhos cientficos em Processamento
de Sinal
[19]
[20]
[21]
[22]
[23]
1998 F. J. Restivo
http://www.fe.up.pt/~fjr/pds.html/
onde se encontram disponveis todas as informaes relevantes para o seu funcionamento.
1998 F. J. Restivo
10
11
1, se n = 0
0, se no ,
devendo notar-se que qualquer sinal discreto pode ser decomposto numa soma de impulsos unitrios,
deslocados e multiplicados por uma constante
x( n ) =
x (k )(n k ) .
k =
1, se n 0
0, se no .
Um sistema discreto um sistema que aceita na(s) sua(s) entrada(s) um sinal (sinais) discreto(s) e que fornece
na(s) sua(s) sada(s) um sinal (sinais) discreto(s), sendo conhecida de algum modo a(s) relao (relaes)
entre uma(s) e outra(s).
Consideraremos neste estudo apenas os sistemas discretos lineares e invariantes (LI).
Num sistema discreto linear, se aplicarmos uma entrada que uma combinao linear de duas outras, na sua
sada encontramos a mesma combinao linear mas agora das sadas correspondentes a essas duas entradas,
quando aplicadas separadamente.
Um sistema linear obedece ao princpio da sobreposio.
A resposta de um sistema discreto invariante a uma dada entrada independente do instante (ou ordem,
ndice) em que essa entrada aplicada.
x( n ) =
x(k)(n k ) ,
k =
1998 F. J. Restivo
12
e tendo em conta que o sistema invariante, pelo que a resposta do sistema entrada (n-k) h(n-k), e que
linear, pelo que esta combinao linear respeitada,
y( n ) =
x(k)h(n k ) .
k =
Esta operao entre os sinais discretos x(n) e h(n) designa-se por convoluo discreta, e goza da propriedade
comutativa, entre outras
+
h(k)x(n k ) .
x(k)h(n k ) =
k =
k =
Realmente,
+
k =
k =
k =
k =
Exemplo
Suponhamos que ao sistema discreto linear e invariante com resposta impulsional
h(n) = (n) + 0.75(n-1) + 0.5(n-2) + 0.25(n-3)
2
1
0
-1
aplicada a entrada
x(n) = u(n) - u(n-4) ,
2
1
0
-1
y( n ) =
x(k)h(n k ) =
k =
h(k)x(n k ) .
k =
Interpretando graficamente a primeira destas expresses como exprimindo que a resposta y(n) pode ser obtida
somando os sinais discretos (os restantes sero nulos) x(0)h(n-0), x(1)h(n-1), x(2)h(n-2) e x(3)h(n-3)
1998 F. J. Restivo
13
1
0.5
0
-1
1
0.5
0
-1
1
0.5
0
-1
1
0.5
0
-1
obtem-se o resultado
4
3
2
1
0
-1
isto ,
y(n) = x(0)h(n) + x(1)h(n-1) + x(2)h(n-2) + x(3)h(n-3)
y(n) = (n) + 1.75(n-1) + 2.25(n-2) + 2.5(n-3) + 1.5(n-4) + 0.75(n-5) + 0.25(n-6) .
A mesma expresso pode tambm ser interpretada como exprimindo que cada elemento y(n) da resposta se
pode obter multiplicando termo a termo os sinais dois discretos x(k) e h(n-k) e realizando a soma desses
produtos.
Exemplificando, para calcular y(2), ser n = 2, como x(k) e h(2-k) so
1998 F. J. Restivo
14
2
1
0
-1
2
1
0
-1
y( n ) =
h(k)x(n k )
n =
= (3-n)(u(n) - u(n-3))
4
2
0
-1
1998 F. J. Restivo
15
1998 F. J. Restivo
16
Naqueles, a instabilidade poder eventualmente provocar uma situao de overflow, mas mesmo este pode
muitas vezes ser "evitado" mediante uma representao adequada dos sinais.
Em termos da sua resposta impulsional h(n), pode demonstrar-se que a condio necessria e suficiente de
estabilidade
+
S=
h( k) < .
k =
x( n) < M
ento
y( n) =
h( k ) x( n k) M
k =
h (k ) <
k =
h( k) < .
k =
h ( n )
h( n )
x(n)=
se h(n) 0
se h(n) = 0
y(0) =
h( k) x( k) =
k =
k =
h (k )
+ h ( k )
h ( k)
=
=
h( k) k = h( k)
h( k)
=S,
k =
que ilimitada se S = .
1998 F. J. Restivo
17
1
0.5
0
-0.5
-1
0
10
Um sinal discreto sinusoidal com frequncia angular radianos tem a expresso geral
x(n) = sin(n+) .
A relao entre o sinal discreto e o sinal contnuo reside no facto de o sinal discreto sinusoidal com
frequncia angular se poder obter por amostragem unitria (perodo 1 s) do sinal contnuo com essa
frequncia.
H, no entanto, uma diferena fundamental, que resulta de no existir a noo de tempo associada ao sinal
discreto sinusoidal, e evidenciada pelo facto de se medir em radianos por segundo e se medir em
radianos. Enquanto que a frequncia angular do sinal contnuo sinusoidal o ngulo que a sinuside
avana por unidade de tempo, a frequncia angular do sinal discreto sinusoidal o ngulo que a sinuside
avana entre dois termos consecutivos do sinal.
O sinal discreto sinusoidal com frequncia angular /2 radianos ser
x(n) = sin(0.5n) = ..., 0, 1, 0, -1, 0, 1, 0, -1, ... ,
e pode obter-se por amostragem unitria do sinal contnuo com essa frequncia representado anteriormente.
1
0.5
0
-0.5
-1
0
10
2.8.1 Fase
A noo de fase de um sinal discreto no obvia, como se pode concluir comparando dois sinais discretos
sinusoidais com a mesma frequncia e fases diferentes.
1998 F. J. Restivo
18
1
0.5
0
-0.5
-1
0
10
10
1
0.5
0
-0.5
-1
0
A fase corresponde, na realidade, a uma translaco da sinuside contnua associada ao sinal discreto
sinusoidal, que no se pode confundir com uma translaco do sinal discreto propriamente dito.
1
0.5
0
-0.5
-1
0
10
10
1
0.5
0
-0.5
-1
0
1998 F. J. Restivo
19
ilustra.
1
0.5
0
-0.5
-1
0
10
Este sinal discreto sinusoidal ..., 0, 1, 0, -1, 0, 1, 0, -1, ... pode ser obtido por amostragem unitria de uma
infinidade de sinais sinusoidais contnuos.
De facto, no intervalo [, [, ou no intervalo [0, 2[, por exemplo, podem encontrar-se todas as frequncias
digitais distintas!
Esta ambiguidade da amostragem ser estudada no captulo 3. Por agora, pense-se apenas no seguinte.
Numa imagem muito utilizada, pode gerar-se um sinal sinusoidal contnuo com frequncia angular
imaginando a projeco de um ponto sobre uma circunferncia rodando a radianos por segundo sobre um
eixo que passe pelo seu centro.
Se um observador s puder observar a circunferncia, ou medir o sinal, em instantes discretos n t, e detectar
que entre dois desses instantes a sua posio variou de , no tem meios para saber se realmente a
circunferncia rodou de ou de +2k, k inteiro.
cos(n ) =
e j n + e jn
2
sin(n ) =
e jn e jn
2j
y( n ) =
h ( k ) e j ( n k ) =
k =
h (k ) e jk e jn = H (e j ) e j n
k =
com
H ( e j ) =
h ( k ) e j k .
k =
A resposta do sistema a sua entrada multiplicada por H(e j ), e esta funo de a resposta em frequncia
do sistema discreto.
1998 F. J. Restivo
20
H ( e j( +2 ) ) =
h ( k ) e j( +2 ) k =
k =
h (k ) e jk e j2k = H (e j ) .
k =
Esta propriedade est obviamente relacionada com a ambiguidade na representao de uma sinuside atravs
de uma sua amostragem, que atrs vimos. Pode-se dizer que, como um sistema discreto no "distingue"
aquelas diferentes frequncias, apresenta o mesmo comportamento a todas elas.
Exemplo
Vamos determinar a resposta em frequncia do sistema discreto
y( n ) =
x ( n ) + 2x( n 1) + x ( n 2)
.
4
0.5
-3
-2
-1
-3
-2
-1
2
0
-2
1998 F. J. Restivo
21
A resposta impulsional de um sistema discreto pode ser obtida a partir sua resposta em frequncia, tirando
partido da periodicidade desta funo. Como
+
h (k ) e jk
H ( e j ) =
k =
uma funo peridica de , com perodo 2, ento, H(e j ) pode ser desenvolvida em srie de Fourier, por
exemplo na forma
+
C k e jk
H ( e j ) =
k =
Ck =
1
2
H ( e j )e jk d ,
h (k ) =
1
2
H ( e j )e jk d .
X ( e j ) =
x( n ) e jn
n =
x (n ) =
1
2
X( e j )e jn d .
Exemplo
Pretende-se determinar a resposta impulsional h(n) do filtro digital passa baixo ideal, com frequncia de corte
c . A resposta em frequncia H(e j ) deste sistema naturalmente peridica, de perodo 2, e tem a seguinte
forma no intervalo [, [
H(e j ) =
1, se ||c
0, se no ,
h (n ) =
1
2
H ( e j )e j n d =
1
2
jn
d =
sinc( c n ) ,
1998 F. J. Restivo
22
0.3
0.2
0.1
0
-0.1
-20
-15
-10
-5
10
15
20
-15
-10
-5
10
15
20
0.3
0.2
0.1
0
-0.1
-20
Os sistemas obtidos so do tipo IIR, pelo que no podem ser realizados directamente a partir da sua resposta
impulsional (nem por qualquer outro processo - so sistemas ideais).
Na prtica, pode-se contudo realizar aproximaes, por exemplo do tipo
h a (n) = h(n)(u(n+n 0) - u(n-n 0-1)) ,
que sero, em princpio, tanto melhores quanto maior for n0. Representam-se a seguir as respostas em
frequncia correspondentes aos dois valores de c atrs indicados, para n 0 = 20.
1.5
1
0.5
0
-3
-2
-1
-3
-2
-1
1.5
1
0.5
0
O programa utilizado para obter estas representaes am MATLAB foi (note-se que, em MATLAB,
sin( x)
sin c( x ) =
)
x
1998 F. J. Restivo
23
n=-20:1:20;
h6=sinc(n/6)/6;
h3=sinc(n/3)/3;
a=[-20,20,-0.1,0.4];
clf, subplot(2,1,1), stem(n,h6), axis(a), grid on
subplot(2,1,2), stem(n,h3), axis(a), grid on
pause
w=-pi:pi/64:pi-pi/64;
x6=fftshift(fft(h6,128));
x3=fftshift(fft(h3,128));
a=[-pi,pi,0,1.5];
subplot(2,1,1), plot(w,abs(x6)), axis(a), grid on
subplot(2,1,2), plot(w,abs(x3)), axis(a), grid on
Note-se que estes sistemas no so causais, pelo que, em tempo real, seria ainda necessrio deslocar h a (n) de
n 0, introduzindo-se assim um atraso n 0 no clculo da resposta do sistema.
x( n k ) e jn =
n =
x(n ) e j(n +k ) = e jk X( e j ) .
n =
n =
n =
x (n ) =
1
2
X( e j )e jn d
mostra-nos como um sinal discreto x(n) pode ser decomposto numa combinao linear (integral) de sinais
discretos elementares, as exponenciais complexas ejn.
Se este sinal for aplicado entrada de um sistema discreto com resposta em frequncia H(e j ), como a
resposta do sistema a cada uma daquelas exponenciais H(e j )e jn, a sua resposta entrada x(n) contm a
mesma combinao linear e
1998 F. J. Restivo
y( n ) =
1
2
X(e j )H(e j )e
24
jn
d ,
x( n ) =
x (k )(n k )
k =
x (n ) =
1
2
X( e j )e jn d .
(n)
h(n)
H
e jn
H(e j)e j n
x ( n ) e jn =
n =
(x (n ) e jn ) = X(e j ) .
n =
1998 F. J. Restivo
25
pelo que a transformada de Fourier de um sinal discreto imaginrio puro tem parte real mpar e parte imaginria
par.
Se a transformada de Fourier X(e j ) de um sinal discreto for puramente real,
X(e j ) = X(e j ) ,
e o sinal discreto x(n) verifica a igualdade
x(-n) = x(n) ,
pelo que um sinal discreto com transformada de Fourier puramente real tem parte real par e parte imaginria
mpar.
Se a transformada de Fourier X(e j ) de um sinal discreto for puramente imaginria,
X(e j ) = -X(e j ) ,
e o sinal discreto x(n) verifica a igualdade
x(-n) = -x(n) ,
pelo que um sinal discreto com transformada de Fourier puramente imaginria tem parte real mpar e parte
imaginria par.
Um sinal discreto x(n) real e par tem transformada de Fourier X(e j ) real e par.
As correspondncias
sinal
transformada de Fourier
puramente real
puramente imaginrio
puramente real
puramente imaginria
podem ser condensadas a partir das noes de parte simtrica conjugada e parte anti-simtrica conjugada de
um sinal discreto x(n) ou da sua transformada de Fourier X(e j ),
x e (n ) =
x( n ) + x ( n )
,
2
x o(n ) =
x( n ) x ( n )
,
2
X e ( e j ) =
X ( e j ) + X ( e j )
,
2
X o (e j ) =
X ( e j ) X ( e j )
,
2
respectivamente.
Estas definies permitem identificar as correspondncias
sinal / transformada de Fourier
parte real
parte imaginria
1998 F. J. Restivo
26
y( n ) =
N 1
N 1
k =0
k =1
a kx (n k ) +
bk y( n k ) ,
Y( e j ) =
N 1
N-1
k =0
k =1
a k e jk X( e j ) +
bk e jk Y(e j ) .
H ( e j ) =
Y( e j )
X ( e j )
a k e jk
k =0
N -1
1-
bk
e j k
k =1
Exemplo
Vamos determinar a equao s diferenas que rege o sistema discreto com resposta impulsional
h(n) = 0.3(0.7)nu(n) .
A resposta em frequncia do sistema discreto
H ( e j ) =
h ( n ) e jn = 0.3
k =
1998 F. J. Restivo
0.7
n =0
e jn =
0.3
1 0.7e j
27
x c(t) =
1
2
X c( j )e
jt
d ,
donde
1
x( n) =
2
Xc ( j)e
jn T
d ,
x (n ) =
1
2
X( e j )e j n d .
x( n) =
1
2T
Xc (
j j n
)e d ,
T
x( n) =
+ ( 2 r +1)
1
2T r =
( 2 r 1)
Xc (
j jn
)e d ,
T
1998 F. J. Restivo
x( n) =
1 +
2T r =
1
x( n) =
2T
28
Xc (
Xc (
r = -
j( + 2r ) j(+ 2 r) n
)e
d ,
T
j( + 2r ) jn
)e d ,
T
X ( e j ) =
1 +
j( + 2r)
Xc(
) .
T r =-
T
A transformada de Fourier do sinal discreto x(n) uma soma de uma infinidade de parcelas, cada uma das
quais resultante, a menos do factor 1/T, da transformada de Fourier do sinal contnuo xc (t) atravs da mudana
de varivel linear
+ 2r
.
T
A frequncia angular mede-se em radianos por segundo, e a frequncia angular digital mede-se em
radianos.
A parcela correspondente a r = 0,
1
j
Xc ( ) ,
T
T
regista, em termos da amplitude, uma alterao de escala resultante da multiplicao por 1/T e, em termos da
varivel independente, uma alterao de escala resultante da mudana de varivel /T .
Se a transformada de Fourier Xc (j) do sinal analgico for, por exemplo,
T-1
-2
- MT
MT
1998 F. J. Restivo
29
1
j( + 2r )
Xc (
) ,
T
T
uma translaco de um mltiplo de 2 da parcela correspondente a r = 0
T-1
-2
- MT
MT
Exemplo
O sinal contnuo
xc (t) = e-tu(t)
tem transformada de Fourier
X c (j ) =
1
.
1 + j
O sinal discreto que se obtem de xc (t) atravs de uma amostragem frequncia angular
a = 40 radianos/s , = 0.05 s
x(n) = xc (0.05n) ,
tem transformada de Fourier
X(e j ) =
20
r = 1
1
+ j20 + j40r
-1
0.5
0
-60
-40
-20
20
40
60
enquanto que em |X(e j )|, que a seguir tambm se representa, so visveis as mudanas de escala e a
sobreposio das diferentes parcelas presentes.
1998 F. J. Restivo
30
8
6
4
2
0
-6
-4
-2
10
12
De notar que poderamos facilmente obter uma expresso compacta para X(e j ), pois, como
x(n) = e-0.05nu(n) ,
X(e j ) =
1
1-e
-0.05 -j
X(e j ) =
1 +
j( + 2r)
Xc (
)
T r= -
T
3.2 Aliasing
O fenmeno do aliasing ocorre quando no se verificam as condies do teorema da amostragem, e resulta da
sobreposio das diferentes parcelas de X(e j ).
Quando M > /T, tudo se passa como se as partes do espectro de Xc (j) exteriores ao intervalo [-/T, /T] se
fossem dobrando sucessivamente em torno destas frequncias.
1998 F. J. Restivo
31
Na TV, a realidade amostrada cinquenta vezes por segundo, e a reproduo dessa sequncia de imagens
que chega a nossas casas.
Se duas imagens consecutivas de uma roda de um carro em movimento estiveram na situao que a figura
representa, ns automaticamente as interpretamos (aliasing) como se entre as duas imagens a roda tivesse
girado 45 no sentido retrgrado.
No entanto, nada nos garante que tal tenha acontecido. Pode ter girado qualquer nmero inteiro de voltas
mais 45, no sentido retrgrado, ou pode ter girado qualquer nmero inteiro de voltas mais 315, no sentido
directo, ou pode ter realizado os movimentos mais extravagantes. No possvel saber!
A amostragem , por natureza, uma operao que conduz perda irremedivel de quase a totalidade da
informao contida no sinal amostrado.
Agora, se se souber, por exemplo, que a cadncia de imagens tal que entre duas imagens consecutivas a
roda gira, no mximo, 180, ento, j possvel ter alguma certeza sobre o que se est a passar.
Se a roda girar a f voltas/s, realiza meia volta em 1/2f s, e a cadncia mnima de imagens que permite recuperar o
movimento 2f imagens/s, o dobro da velocidade a que a roda gira.
O teorema da amostragem, ou de Nyquist, diz exactamente isto!
Exemplo
O sinal contnuo
xc (t) = sinc2(10t)
a seguir representado
0.5
0
-1
-0.5
0.5
tem transformada de Fourier Xc (j) de banda limitada a -20 < < 20 radianos por segundo.
Na realidade, a transformada de Fourier de sinc(10t) um pedestal entre 10 e 10 radianos por segundo, como
se pode confirmar calculando a tansformada de Fourier inversa de um pedestal no domnio das frequncias
X(j) =
1, se || M
0, se no ,
que
1
x( n ) =
2
1998 F. J. Restivo
X( j)e
jt
1
d =
2
j t
d =
sinc( c t ) .
32
Atendendo a que ao produto de dois sinais corresponde a convoluo das suas transformadas de Fourier
ento a transformada de Fourier de sinc2(10t) a convoluo deste pedestal com ele prprio, ou seja, um sinal
triangular entre 20 e 20 radianos por segundo.
Se procedermos a uma amostragem daquele sinal frequncia angular de 40 radianos por segundo, isto ,
obedecendo ao teorema da amostragem, no se verificar a ocorrncia de aliasing.
2
1.5
1
0.5
0
-3
-2
-1
Se realizarmos essa amostragem frequncia angular de, por exemplo, 30 radianos por segundo, isto , no
obedecendo ao teorema da amostragem, verificar-se- a ocorrncia de aliasing.
2
1.5
1
0.5
0
-3
-2
-1
O programa em MATLAB seguinte serviu para calcular as transformadas de Fourier dos dois sinais
amostrados, no intervalo [-, ]:
n=-64:1:63;
x40=sinc(2*n/4).*sinc(2*n/4);
x30=sinc(2*n/3).*sinc(2*n/3);
h40=fftshift(fft(x40));
h30=fftshift(fft(x30));
w=-pi:pi/64:pi-pi/64;
a=[-pi,pi,0,2];
clf, subplot(2,1,1), plot(w,abs(h40)), axis(a), grid on
subplot(2,1,2), plot(w,abs(h30)), axis(a), grid on
X(e j ) =
x(n )e jn
n =
1998 F. J. Restivo
33
Xc (j) =
0, se no .
Calculando em seguida a transformada de Fourier inversa
xc (t) =
T
2
/ T +
/ T n = -
x(n)
n =-
T
2
/T
j( t nT)
/T
n = -
/ T
xc (t) =
x(n)e - j Tn e jtd =
n = -
(t - nT)
) .
T
2
1
0
0
10
10
O resultado
2
1
0
1998 F. J. Restivo
34
(n+1)T
(n-1)T
1
x(n) =
nT-
(n+2)T
nT
nT
xc (t )dt ,
nT
1
0.5
0
-0.5
-4/
-2/
2/
4/
Como, normalmente, muito menor que , ento 2/ >> /T e o efeito deste filtro passa-baixo , nesses
casos, muito pequeno.
Por outro lado, esse efeito pode sempre ser compensado noutro ponto da cadeia de processamento,
nomeadamente no processador de sinal.
xc (t) =
x(n)sinc(
n = -
(t - nT)
)
T
normalmente problemtica, e mesmo impossvel em tempo real, por ser uma operao no causal.
Em muitos casos, a reconstruo que realmente se faz da forma
+
xc (t) =
x(n) (t - nT)
n =-
em que (t) uma determinada funo de reconstruo, que se pode facilmente obter reconstruindo o sinal
discreto (n).
Calculando a transformada de Fourier
1998 F. J. Restivo
X c (j) =
35
= (j)X(e jT ) ,
n =-
Xc (j) =
0, se no ,
pode dizer-se que Xc (j) se obtem de X(e j ), no atravs de um filtro passa-baixo ideal, cujo efeito eliminar
as bandas de X(e j ) fora do intervalo [, ], mas sim atravs de um filtro, (j), que, para alm de no ter
ganho constante neste intervalo, eventualmente apenas atenua aquelas bandas.
Exemplos
Na reconstruo de ordem 0,
1.5
1
0.5
0
-0.5
-2
10
10
10
2
1.5
1
0.5
0
-2
(t) = u(t) - u(t-T) ,
(j) = Tsinc(0.5T)e -0.5j ,
como se sabe, e na reconstruo de ordem 1 (interpolao linear),
1.5
1
0.5
0
-0.5
-2
1998 F. J. Restivo
36
2
1.5
1
0.5
0
-2
(t) =
10
(j) = Tsinc2(0.5T) .
3.6 Interpolao
A interpolao corresponde ao aumento da frequncia de amostragem do sinal contnuo, e s , naturalmente,
possvel se este tiver j sido amostrado a uma frequncia satisfazendo o teorema da amostragem.
Sejam x(n) um sinal discreto com transformada de Fourier X(e j ) e x0(n) o sinal discreto que se obtem do
anterior intercalando M-1 zeros entre cada dois valores de x(n)
x0(n) =
x(n/M), se n mltiplo de M
0, se no .
X(e j ) =
1
t
Xc (
r =-
j( + 2r )
),
t
que amostrar a uma frequncia M vezes maior um sinal contnuo tem exactamente por efeito comprimir M
vezes a transformada de Fourier do sinal discreto resultante e multiplicar por M a sua amplitude, pode-se
concluir que a interpolao se consegue realizando uma filtragem passa baixo de x0 (n) com frequncia de corte
/M e ganho M.
1998 F. J. Restivo
37
/M
A interpolao uma situao em que os filtros digitais do tipo no recursivo so muitas vezes utilizados,
tirando partido do facto de apenas 1 em M elementos do sinal discreto x0(n), no mximo, serem no nulos.
Assim, na equao
L 1
x i (n ) =
h ( n )x0( n k )
n =0
apenas L/M coeficientes h(k) intervm no clculo de um elemento de xi(n), como se o filtro fosse realmente de
comprimento L/M.
Estes L/M coeficientes variam contudo com a ordem do elemento de xi(n).
Se L for um mltiplo de M, os L coeficientes h(k) podem ser arranjados em M conjuntos
conjunto
0
h(0)
h(M)
...
h(L-M)
h(1)
h(M+1)
...
h(L-M+1)
...
...
...
...
...
M-1
h(M-1)
h(2M-1)
...
h(L-1)
sendo utilizado o conjunto n mod M para o clculo do elemento xi(n), e tudo se passando como se fosse
utilizado um filtro no recursivo de comprimento L/M e coeficientes variveis (no invariante).
Em MATLAB, a funo interp realiza a interpolao. O programa a seguir mostra-o:
t=0:1:10;
x=exp(-t/5).*sin(t);
xi=interp(x,8);
ti=0:0.125:10.875;
subplot(2,1,1), fplot('exp(-x/5)*sin(x)',[0 10 -1 1])
hold on, subplot(2,1,1), stairs(t,x), axis([0 10 -1 1]), grid on
subplot(2,1,2), fplot('exp(-x/5)*sin(x)',[0 10 -1 1])
hold on, subplot(2,1,2), stairs(ti,xi), axis([0 10 -1 1]), grid on
1998 F. J. Restivo
38
1
0.5
0
-0.5
-1
0
10
10
1
0.5
0
-0.5
-1
0
3.7 Decimao
A decimao a operao correspondente reduo da frequncia de amostragem do sinal contnuo.
Na realizao desta operao, a nica dificuldade a possvel ocorrncia de aliasing.
Sejam x(n) um sinal discreto com transformada de Fourier X(e j ) e xd(n) o sinal discreto que se obtem do
anterior atravs de uma decimao de M:1
xd(n) = x(Mn) , M inteiro .
Como
x(n) =
1
2
x d (n) =
X( e j )e jn d
1
2
X( e j )e jMn d
1
x d (n) =
2M
X( e j M )e jn d
x d (n) =
1
2M
M 1
r =0
1998 F. J. Restivo
2r
X(e j M + j M )e
jn
Xd (e j ) =
1
M
M 1
39
2r
X(e j M + j M )
r =0
A decimao ser uma operao reversvel, isto , realizada sem perda de informao, se X(e j ) for zero fora
do intervalo [-/M, /M], ou seja, se for de banda limitada.
A decimao assim habitualmente precedida de uma filtragem passa baixo digital, para que esta situao se
verifique garantidamente.
A decimao outra das situaes em que os filtros digitais do tipo no recursivo so muito utilizados, apesar
de normalmente exigirem mais operaes por sada do que os do tipo recursivo.
Apesar de apenas ser necessrio conservar uma sada do filtro passa baixo de M em M, se o filtro for do tipo
recursivo todas as sadas tm de ser necessariamente calculadas.
1998 F. J. Restivo
40
4. Transformada em z
4.1 Definio
A transformada em z um instrumento matemtico essencial para a anlise e sntese de sistemas discretos,
desempenhando um papel paralelo ao desempenhado pela transformada de Laplace relativamente aos
sistemas contnuos.
Como se sabe, um sinal discreto x(n) apenas ter transformada de Fourier se a soma
+
x (n )e j n
X(e j ) =
n =
x(n) =
1
2
X( e j )e jn d .
x( n ) z n .
X(z) =
n =
Como veremos, esta definio vai permitir que muitos daqueles sinais que no tm transformada de Fourier
tenham transformada em z.
Exemplos
O sinal discreto impulso unitrio
x(n) = (n)
tem transformada
X(z) = 1 .
O sinal discreto degrau unitrio
x(n) = u(n) ,
que no tem transformada de Fourier, tem transformada em z
+
X(z) =
z n
n =0
1
1 z 1
1998 F. J. Restivo
41
X(z) =
a n z n
n =0
1
1 az 1
,z > a
e a transformada em z de
x(n) = -anu(-n-1)
X(z) =
X( z ) =
a n z n = a n z n
n =
n =1
,z < a ,
1 az 1
a 1z
1 a 1z
, a 1z < 1
X(z) =
x (n )z n
n = n1
x( n ) R c n ,
n = n1
o que quer dizer que a regio de convergncia da transformada em z de um sinal discreto nestas condies o
exterior de um crculo centrado na origem do plano z e com raio Rc .
1998 F. J. Restivo
42
Rc
x( n )R c n ,
n =
Rc
Finalmente, se o sinal discreto for de comprimento infinito e no se verificar nenhuma das situaes
anteriores, a regio de convergncia da sua transformada em z, se existir, ser uma coroa circular centrada na
origem do plano z.
Em muitos casos, a transformada em z de um sinal discreto uma fraco cujos numerador e denominador so
dois polinmios em z, ou em z-1.
Os zeros do denominador desta fraco so os polos dessa transformada em z.
Os polos da transformada em z de um sinal discreto situam-se sempre fora da sua regio de convergncia, a
qual, contudo, sempre limitada pelos seus polos.
Seria absurdo que assim no fosse.
1998 F. J. Restivo
43
X( e j ) = X( z ) z =e j .
De notar que existiro sinais discretos para os quais no existe transformada de Fourier e existe transformada
em z, e para os quais portanto esta relao no vlida.
Inversamente, pode obter-se a transformada em z de x(n) a partir da sua transformada de Fourier, utilizando a
transformada de Fourier inversa e em seguida a definio de transformada em z
X(e j ) x(n) X(z) .
Esta possibilidade de se obter uma funo definida num plano a partir do conhecimento do seu valor ao longo
de uma linha desse plano, est ligada ao facto de X(z) ser uma funo complexa da varivel complexa z.
No ser esta a ltima vez em que certas propriedades das funes complexas da varivel complexa so
referidas.
x( n )z n + k k = z k
n =
x ( n ) z n + k = z k X ( z )
n =
y(n) =
x(k)h(n - k )
k =-
1998 F. J. Restivo
Y(z) =
44
x(k)h(n - k )z n
n = k =-
Y( z ) =
x(k)h(n - k )z n +k k
n = k =-
+
Y(z) =
x(k)z -k
k =-
n =-
sendo necessrio que no seja vazia a interseco das regies de convergncia de X(z) e de H(z). A regio de
convergncia de Y(z) inclui aquela interseco, mas pode exced-la, se houver cancelamento de polos com
zeros.
A transformada em z tem asim a propriedade da convoluo.
X(z) =
(z z z
(z z p
i
i
)
)
1998 F. J. Restivo
45
z
1
| X(e
)| =
e j z z
e j z p
X( z ) =
1 0.5 z 1 + 0.5z 2
1 + z 1 + 0.5z 2 0.1z 3
basta fazer
zplane([1 -0.5 0.5],[1 1 0.5 -0.1])
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-1
1998 F. J. Restivo
-0.5
0.5
46
X(z) =
1
1 az 1
, causal ,
1
-1
+ az-1
az-1
-az-1
+ a2z-2
...
Para se encontrar a soluo no causal, seria necessrio realizar a diviso segundo as potncias crescentes de
z
-az-1+1
1
-1
+ a-1z
a-1z
-a-1z
+ a-2z2
...
Este mtodo no permite normalmente obter uma expresso compacta para x(n), mas oferece um processo
expedito para o clculo de seus valores iniciais. muito usado em programas de computador.
a n u(n)
z
1
=
,z > a
z a 1 az 1
a n u ( n 1)
1998 F. J. Restivo
z
1
=
,z < a ,
z a 1 az 1
47
H(z) =
z -1
1 - 2.25z -1 + 0.5z -2
, estvel .
H(z) apresenta dois polos simples em 0.25 e 2, e, para o sistema ser estvel, a regio de convergncia de H(z)
0.25 < |z| < 2
0.25
1
8
z
7
H(z) =
, 0.25 <| z| < 2 =
, | z| > 0.25 + 7 , | z| < 2 ,
(z - 0.25)(z - 2 )
z 0.25
z2
e, notando que sempre possvel decidir qual a regio de convergncia de cada uma das parcelas em face da
regio de convergncia da transformada em z, j que esta a interseco daquelas,
h (n ) =
1
8
4
0.25 n 1 u ( n 1) 2 n 1 u ( n ) = 0.25 n u ( n 1) + 2 n u ( n ) .
7
7
7
dz
calculado ao longo de uma qualquer linha fechada C que envolva a origem do plano z, e percorrida no sentido
directo, vale
2j , se n = -1
dz =
0 , se no .
Escrevendo X(z) como uma soma de potncias de z
X(z) = ... + x(n-1)z-n+1 + x(n)z-n + x(n+1)z-n-1 + ... ,
multiplicando ambos os termos desta igualdade por zn-1
X(z)zn-1 = ... + x(n-1) + x(n)z-1 + x(n+1)z-2 + ... ,
e calculando o integral de linha atrs referido
X(z )z
n -1
1998 F. J. Restivo
48
x(n) =
1
X(z)z n -1 dz ,
2j
com o integral calculado ao longo de um contorno C desenhado volta da origem do plano z e na regio de
convergncia de X(z).
Esta a forma geral para o clculo da transformada em z inversa.
Um integral de linha como o anterior pode ser calculado pelo mtodo dos resduos, que utiliza o facto de esse
integral ser igual soma dos resduos da funo integranda nos seus polos situados no interior do contorno,
suposto percorrido no sentido directo.
O resduo de uma funo F(z) num polo simples a
(z - a)F(x) z =a
Num polo a com multiplicidade m, o resduo dado por uma expresso um pouco mais complexa
1
d m 1
( z a )m F ( z )
( m 1)! dz m 1
z =a
Exemplo
Seja novamente
H(z) =
z-1
1 2.25z -1 + 0.5z -2
, estvel .
h(n) =
1
1
zn
H(z)z n -1dz =
dz ,
2j
2 j (z 0.25)(z 2)
apresentando a funo integranda dois polos simples em 0.25 e 2, e um polo de multiplicidade -n em 0, este
para valores negativos de n, apenas.
No caso n 0, verifica-se que apenas o polo em 0.25 se encontra no interior de um contorno de integrao
traado na regio de convergncia de H(z), pelo que, utilizando o teorema dos resduos,
h(n) =
0.25n
4
= 0.25 n , n 0 .
1.75
7
No caso n < 0, verifica-se que os polos em 0.25 e em 0 se encontram no interior do contorno, sendo este ltimo
de multiplicidade varivel, o que obrigaria a calcular h(n) termo a termo.
Em muitas situaes, este problema no surge, por se saber, por exemplo, que o sinal original causal, e,
portanto, nulo para valores negativos de n.
No caso geral, a mudana de varivel de integrao
z p -1
permite colocar em (e logo, no exterior de qualquer contorno) o polo que estava em 0 e simplificar o
problema.
No nosso exemplo, a funo a integrar passa a ser
h(n) =
1
2j
p-n
(p-1 0.25)(p-1 2 )
Cp
1998 F. J. Restivo
(-p -2 )dp =
1
2 j
Cp
-2p-n
dp ,
(p 4)(p 0.5)
49
h(n) = -
-2.0.5 -n
4
= - 0.5 -n , n < 0 .
-3.5
7
h(n) = -
4
0.25n u(n) + 2 n u(-n -1) .
7
x(n)w (n)z -n
n =
+
x(n)w(n)z -n
n =
n =
1
1
X(v)vn -1dvw(n)z -n =
X(v)
w(n)z -n v n -1 dv
2j
2 j
n =
1
z
X(v)W ( ) v-1dv .
2j
v
Este integral na realidade uma convoluo! A varivel de integrao v desempenha um papel equivalente ao
da varivel k na expresso da convoluo
+
x(k)h(n k ) .
k=-
A transformada de Fourier do produto de dois sinais discretos x(n) e w(n) , por sua vez,
1
z
X(v)W ( ) v -1 d v
2j
v
.
z= e
Repare-se que se se escolher como contorno de integrao C a circunferncia unitria do plano v, o que
sempre possvel pois de outro modo x(n) e w(n) no teriam transformada de Fourier,
v = ej
v -1dv = jd,
aquele integral fica
1
2
X(e
)W ( e j( ) )d
expresso que evidencia claramente uma convoluo, com a imagem geomtrica que geralmente lhe est
associada.
Esta propriedade muito utilizada para avaliar o efeito, no domnio das frequncias, da multiplicao de dois
sinais discretos, como acontece, por exemplo, quando se multiplica uma resposta impulsional infinita por uma
janela rectangular
h a (n) = h(n)[u(n+n 0) - u(n-n 0-1)] .
1998 F. J. Restivo
50
Exemplo
Os sinais discretos
x(n) = 2-nu(n)
e
w(n) = 3-nu(n)
tem transformada em z respectivamente
X( z ) =
1
1
, | z| >
1
2
1 z 1
2
W (z ) =
1
1
, | z| >
1 1
3
1 z
3
e o seu produto
x(n)w(n) = 6-nu(n)
tem transformada em z
1
1
, | z| >
1 1
6
1 z
6
Este resultado pode ser naturalmente obtido atravs da propriedade da convoluo complexa, calculando no
plano v o integral
1
2j
1
1
1
z
1
,
v-1dv , | v | >
e| |>
1 1
1 z 1
2
v
3
1 ( )
C1 v
2
3 v
com o contorno C satisfazendo as condies impostas pelas regies de convergncia de X(z) e W(z), isto ,
1
<| v| < 3| z| .
2
Um contorno nessas condies s existir evidentemente se
3| z| >
1
1
| z| >
2
6
1
2j
3z
1
1
dv , | z| >
<| v| < 3| z| ,
1
6
2
C (v )(v 3z)
2
3z
1
1
=
, | z| > ,
1
1 1
6
3z 1 z
2
6
a transformada em z procurada.
1998 F. J. Restivo
51
Note-se que atravs da propriedade da convoluo complexa foi possvel deduzir no s a expresso da
transformada em z como tambm a sua regio de convergncia.
1998 F. J. Restivo
52
X c (j ) =
x c (t )e
-j t
dt ,
x c(t) =
1
2
X c( j )e
jt
d ,
Se esta condio no for satisfeita ocorre o fenmeno designado por aliasing e a amostragem deixa de ser
reversvel.
Atendendo similaridade entre as expresses da transformada de Fourier e da transformada de Fourier
inversa, poderamos verificar que quando se amostra uma transformada de Fourier Xc (j),
X(k) = Xc (jk) , kN
1998 F. J. Restivo
53
esta amostragem apenas representar a transformada de Fourier se o sinal contnuo xc (t) for de durao
limitada a um intervalo igual ou inferior a 2/, e que de outro modo ocorreria aliasing e a transformada de
Fourier no poderia ser recuperada a partir da amostragem realizada.
Na realidade, amostrar num dos domnios equivale a repetir periodicamente no outro, e o aliasing no mais
que a sobreposio decorrente dessa repetio peridica.
1
Ck =
T
x p (t )e
-j
2
kt
T dt
x p( t ) =
C k e j T kt
k =
Os coeficientes Ck so, a menos do factor 1/T, uma amostragem nos pontos 2k/T da transformada de Fourier
do sinal de durao limitada definido por um perodo do sinal peridico xp(t)
X p (j ) =
x p ( t )e
-jt
dt
Ck =
1
2k
Xp(j
).
T
T
No domnio dos tempos, exxis te uma correspondncia biunvoca entre um sinal de durao limitada e um sinal
peridico constitudo por uma repetio peridica daquele, desde que o perodo da repetio seja igual ou
superior durao do sinal.
1998 F. J. Restivo
54
No domnio das frequncias, desde que se considere um nmero suficiente de amostras, h igualmente uma
correspondncia biunvoca, sendo os coeficientes da srie de Fourier do primeiro uma amostragem, a menos
do factor 1/T, da transformada de Fourier do segundo.
sinal contnuo
de durao limitada
sinal contnuo
peridico
amostragem
transformada de Fourier
srie de Fourier
A situao dual desta pode ser encontrada na transformada de Fourier de um sinal discreto, anteriormente
estudada,
X ( e j ) =
x( n ) e jn
n =
x c(t) =
1
2
X c( j )e
jt
d .
Realmente, no domnio das frequncias, pode estabelecer-se uma correspondncia biunvoca entre uma
transformada de Fourier de banda limitada e uma transformada de Fourier peridica obtida por repetio
daquela, desde que o perodo desta seja superior largura de banda daquela, isto , no haja aliasing.
No domnio dos tempos, desde que se considere um nmero suficiente de amostras, h igualmente uma
correspondncia biunvoca, sendo o sinal discreto original da segunda uma amostragem do sinal contnuo
original da primeira.
amostragem
sinal discreto
transformada de Fourier
peridica
sinal contnuo
transformada de Fourier
de banda limitada
1998 F. J. Restivo
xp ( t ) =
55
Ck e j T kt
k =
x( n ) e jn
X ( e j ) =
n =
sinal contnuo
de durao limitada
sinal contnuo
sinal contnuo
peridico
amostragem
transformada de Fourier
peridica
transformada de Fourier
de banda limitada
transformada de Fourier
srie de Fourier
Um sinal contnuo peridico tem uma transformada de Fourier constituda por "riscas", os coeficientes Ck, e
uma transformada de Fourier peridica tem como original um sinal constitudo por "riscas", o sinal discreto
x(n).
assim possvel estabelecer uma relao entre estes dois sinais discretos, o sinal x(n) e os coeficientes Ck, na
condio de se verificarem as condies requeridas para a realizao das amostragens nos domnios do tempo
e da frequncia, isto , largura de banda 2/t e durao 2/, em que t e so os intervalos de
amostragem respectivos.
Como
x p( t ) =
C k e j T kt
k =
x (n ) = x p ( n
1998 F. J. Restivo
2
T
)=
C k e j N kn
N
k =
Ck =
56
1
2k
Xp(j
) , k = 0 .. N-1
T
T
isto , a menos do factor 1/T, uma amostragem de Xp(j) em N pontos igualmente espaados de =2/T
X p ( j ) = tX( e j t ) = t
Ck =
t
T
x( n ) e jn t
n =
x( n ) e j N k n = N x(n ) e j N kn
1
n =
n =
Estas relaes so vlidas se se verificarem as condies requeridas para a realizao das amostragens nos
domnios do tempo e da frequncia, isto , largura de banda 2N/T e durao T, pelo que apenas N
coeficientes Ck e N amostras x(n) sero no nulos, tornando-se
x (n ) =
N-1
N 1
N-1
C k e j N kn
k =0
Ck =
1
N
N 1
x( n ) e j N kn
n =0
x p (n) =
x(n + rN) ,
r =-
X p (z) =
X p (z ) =
x p (n )z n =
n =-
x(n + r N )z n + rN r N
n = r =-
r =-
n =
r =-
z rN x(n + r N )z n + rN = X(z ) z r N
no converge em nenhum ponto do plano z (convergiria se o sinal peridico fosse limitado de um dos lados,
mas mesmo neste caso continuaria a no existir transformada de Fourier devido aos polos de Xp (z) sobre a
circunferncia unitria do plano z).
Um sinal discreto peridico, com perodo N, pode contudo ser desenvolvido em srie de Fourier discreta, isto
, pode ser descrito como uma soma de sinais discretos sinusoidais complexos com perodo N ou um seu
submltiplo
1998 F. J. Restivo
x p (n) =
(o factor N
-1
1
N
X p (k ) e
57
j2kn
N
k =
Como
j 2 k n
j2(k +N)n
=e
s h efectivamente N sinais discretos sinusoidais complexos de perodo N diferentes, pelo que um sinal
discreto peridico com perodo N pode ser desenvolvido numa srie de Fourier discreta com apenas N termos
diferentes
N 1
Xp
1
x p (n) =
N
j2kn
(k )e N
k =0
X p (k) =
x p (n ) e
-j2kn
N
n =0
2k
, k = 0 .. N -1 ,
N
X(e j ) =
N -1
x(n)e -jn ,
n =0
N -1
X(k) =
x(n)e
-j2nk
N
, k = 0 .. N - 1 .
n =0
A relao inversa
1
x(n) =
N
N -1
X(k)e
j2nk
N
, n = 0 .. N -1 .
k =0
como se pode verificar substituindo nesta expresso X(k) pelo valor dado na expresso anterior
1
x(n) =
N
1
x (n ) =
N
N -1 N -1
-j2rk j2nk
x(r)e N e N
, n = 0 .. N -1
k =0 r = 0
N -1
r =0
N -1 j2(n -r)k
x(r) e N
k =0
1998 F. J. Restivo
, n = 0 .. N - 1
N -1
j2( n-r) k
N
58
0 , se r n
k =0
N , se r = n .
Normalmente, as expresses anteriores escrevem-se de uma forma mais compacta, introduzindo a notao
j
2
2
WN = e N = cos
j sin
N
N
e escrevendo-as na sua forma mais usual
N -1
X(k) =
x(n)W N n k , k
= 0 .. N -1
n =0
x(n) =
1
N
N -1
X(k)W N nk , n
= 0 .. N - 1 .
k =0
Comparando as respectivas expresses, pode verificar-se que a transformada de Fourier discreta de um sinal
discreto x(n) com comprimento N pode ser interpretada como a srie de Fourier discreta do sinal discreto
peridico com perodo N que se obtem repetindo periodicamente aquele sinal
+
x p (n) =
x(n + r N ) ,
r =-
ou ainda, a menos do factor N, como a srie de Fourier do sinal contnuo peridico com perodo T que se
obtem por repetio do sinal de durao T e largura de banda 2N/T cuja amostragem com perodo T/N x(n)
X(k) = NCk .
Exemplos
O sinal discreto de comprimento 4
x(n) = [1, 1, 1, 1]
tem DFT
3
X(k) =
W4 n k , k
= 0 .. N - 1
n =0
X(k) = [4, 0, 0, 0]
que uma amostragem da transformada de Fourier
X(e j ) = (2cos(/2) + 2cos(3/2))e -3j/2
do sinal discreto dado, nos pontos
k =
2k
, k = 0 .. 3 .
4
1998 F. J. Restivo
59
4
3
2
1
0
2k
, k = 0 .. 2
3
obteriamos
X(0) = 2 + 2 = 4
X(1) = (1 - 2)e
-j
=1
-j2
=1
4
3
2
1
0
x(n)
0
1998 F. J. Restivo
60
com o elemento x(3) do sinal original adicionado a x(0) no sinal obtido atravs da iDFT.
Como se mostra a seguir, a amostragem em 3 pontos da transformada de Fourier deste ltimo sinal
exactamente [4, 1, 1].
4
3
2
1
0
x(n)
0
x((n-1))
1998 F. J. Restivo
61
h(n)
x(n)
0
x(n)*h(n)
h(n)
x(n)*h(n)
A convoluo circular introduz aliasing sempre que o comprimento do sinal discreto resultante da
convoluo excede o comprimento da DFT, como o caso da figura.
Existe na DFT uma dualidade entre os domnios original e transformado, traduzido na similaridade das
expresses da DFT e da iDFT.
Se se registar em X(k) um deslocamento circular de m, X((k-m)), o sinal discreto no domnio original ser
W N-nm x(n) ,
1998 F. J. Restivo
62
e se multiplicarem dois sinais discretos verifica-se a convoluo circular das duas DFT.
Finalmente, as propriedades de simetria conhecidas devem ser interpretadas em termos da periodicidade
subjacente DFT.
O sinal discreto de comprimento 5
x(n)
0
x(n)
0
-k
, k = 0 .. N-1 .
x(n) =
1
N
N 1
X(k)W N
n k
, n = 0 .. N -1
k =0
obtem-se facilmente
X ( z) =
N 1
1 N 1
1 z N
X( k ) ( WN k z 1 ) n =
N k= 0
N
n= 0
N 1
X( k )
1 W
k =0
k 1
Esta expresso a base de um mtodo de projecto de filtros digitais designado por mtodo da amostragem da
funo de transferncia (FST - Frequency Sampling Technique).
Dada uma amostragem H(k) de uma funo de transferncia H(z), como
1998 F. J. Restivo
H (z ) =
1
N
N 1
63
N 1
H (k )
k =0
(e
2
k
N z 1 ) n
n =0
1 z N
N
N 1
k =0
H(k)
1 e
2
k
N z 1
conclui-se que o sistema correspondente pode ser implementado pela associao em srie de um sistema com
funo de transferncia
H p (z ) =
1 z N
N
1
+
p
H
N-1
com um sistema constitudo pela associao em paralelo de N sistemas com funo de transferncia
H(k )
H k ( z) =
1 e
2
k
N z 1
, k = 0 .. N 1.
1998 F. J. Restivo
64
x(n)
N-M+1
h(n)
0 M-1
N-M+1
h(n)
0 M-1
N-1
N-M+1
2N-M
2(N-M+1)
3N-2M+1
3(N-M+1)
4N-3M+2
4(N-M+1)
5N-4M+3
5(N-M+1)
6N-5M+4
y(n)
+
N-M+1
1998 F. J. Restivo
65
-M+1 0
N-M+1
h(n)
0 M-1
-M+1
N-M
N-2M+2
2N-2M+1
2N-3M+3
3N-3M+2
3N-4M+4
4N-4M+3
4N-5M+5
5N-5M+4
5N-6M+6
6N-6M+5
y(n)
N-M+1
A realizao da convoluo linear utilizando a DFT tem interesse porque existem algoritmos extremamente
eficientes para o clculo desta transformada.
1998 F. J. Restivo
66
Outros ilustres matemticos, como Runge, em 1903, Stumpff, em 1939, e Danielson e Lanczos, em 1942,
descobriram mtodos eficientes para o clculo da DFT.
X( k ) =
g( n )WN
N
1
2
2nk
n =0
N
1
2
X( k ) =
g( n ) WN
n =0
h ( n )WN
(2 n + 1 )k
n =0
nk
+ WN
N
1
2
h ( n ) WN
n =0
nk
G(k)
X(k)
H(k)
W
n
k
X(k+N/2)
-1
1998 F. J. Restivo
67
Se N/2 ainda for par, este mtodo pode ser novamente aplicado ao clculo de G(k) e de H(k), e assim
sucessivamente at as DFT a calcular serem triviais, como a seguir se exemplifica com o clculo de uma DFT
de comprimento 8
x(0)
g(0)
G(0)
G(3)
x(7)
h(0)
H(0)
h(3)
H(3)
1998 F. J. Restivo
X(7)
68
x(0)
x(7)
X(7)
Este algoritmo pode considerar-se dividido em duas partes, uma primeira em que os elementos de x(n) so
arranjados segundo uma determinada ordem e uma segunda em que os clculos so efectivamente realizados.
A reordenao inicial dos elementos de x(n) habitualmente designada por bit-reverse, uma vez que a posio
que o elemento de ordem n vai ocupar se pode obter escrevendo n na base 2 com log2 N bits e lendo o nmero
binrio obtido na ordem inversa dos bits, como alis se deduz facilmente notando que um ltimo bit 0
corresponde a um elemento de ordem par e um ltimo bit 1 corresponde a um elemento de ordem mpar.
A computao consiste na realizao sistemtica de um conjunto de clculos habitualmente designados por
butterfly, que correspondem s duas equaes que inicialmente deduzimos
k
X (p)
n
X (q)
n
X (p)
n+1
r
WN
-1
X (q)
n+1
A estrutura do algoritmo aponta para a sua realizao andar a andar, num total de log2 N andares e de N/2
butterflies por andar.
O clculo pode ser todo realizado in place, incluindo o bit-reverse, isto , sobre uma nica estrutura de dados,
os quais vo sendo substitudos dois a dois pelos vrios resultados intermdios e pelos resultados finais.
Normalmente utilizam-se trs contadores, um contador de andar, que controla o progresso do clculo da
esquerda para a direita, um contador de grupo, resultante do facto de em cada andar as borboletas a realizar
estarem agrupadas em conjuntos afins, e um contador de borboleta:
1998 F. J. Restivo
69
procedure FastFourierTransform;
begin
BitReverse;
Andar := 1;
repeat
Grupo := 0;
repeat
Borboleta := 0;
repeat
CalcularIndices;
CalcularBorboleta;
Borboleta := Borboleta + 1;
until Borboleta = Andar;
Grupo := Grupo + 1;
until Grupo = ComprFFT div (2 * Andar);
Andar := 2 * Andar;
until Andar = ComprFFT;
end;
A operao bit-reverse pode ser realizada de diferentes modos. Habitualmente, recorre-se implementao de
um contador em bit-reverse em simultneo com um contador em ordem natural, no exemplo as variveis j e i,
inicializados em N/2 e 1, tendo-se o cuidado de no trocar duas vezes os elementos do array:
procedure BitReverse;
begin
j := ComprFFT div 2;
for i := 1 to ComprFFT - 2 do
begin
if i <= j then
begin
t := x[j];
x[j] := x[i];
x[i] := t;
end;
k := ComprFFT div 2;
while j >= k do
begin
j := j - k;
k := k div 2;
end;
j := j + k;
end;
end;
O clculo de i+1 em bit-reverse dado i em bit-reverse, isto , j, toma em considerao o que acontece, em
termos de "carry", no clculo em binrio de i+1: comeando pela direita, todos os "uns" at ao primeiro "zero"
passam a "zero", e aquele "zero" passa a "um".
1
(863)
+1
1
(864)
Assim, j+1 calcula-se a partir de j subtraindo uma determinada potncia de 2 por cada "um" que passou a
"zero" e somando uma potncia de 2 pelo "zero" que passou a"um".
1998 F. J. Restivo
70
-512
-256
-128
-64
-32
+16
(1003)
(27)
Os ndices necessrios ao clculo de uma borboleta so trs, dois relativos aos dois elementos que intervm
r
na borboleta e um terceiro relativo ao factor WN , e que pode ser um apontador para uma tabela de senos e
cossenos:
procedure CalcularIndices;
begin
IndUm := 2 * Andar * Grupo + Borboleta;
IndDois := IndUm + Andar;
IndTab := Borboleta * ComprFFT div (2 * Andar);
end;
Uma borboleta realiza-se com trs operaes com nmeros complexos e com o recurso a uma varivel
temporria:
procedure CalcularBorboleta;
begin
Mult(x[IndDois], w[IndTab], t);
Sub(x[IndUm], t, x[IndDois]);
Add(t, x[IndUm], x[IndUm]);
end;
O nmero total de multiplicaes e de adies complexas requerido pelo algoritmo para a realizao de uma
DFT de comprimento 1024
n.and.
n.but.
mult./but.
ad./but.
tot.mult.
tot.ad.
10
512
5120
10240
X( k ) =
x( n )WN
nk
n =0
X(2 k ) =
x( n )WN
2nk
, k = 0 ..
n =0
N
1
2
X (2 k ) =
x( n )WN
2nk
N
1
2
+
n =0
N
1
2
X(2 k ) =
( x( n ) + x( n +
n =0
N
1
2
x( n +
n =0
N
N
2nk
)W N , k = 0 ..
1
2
2
N
N
nk
)) W N , k = 0 ..
1
2
2
2
podem ser calculados como a DFT G(k) do sinal discreto com comprimento N/2
g( n ) = x( n ) + x( n + N / 2) , n = 0 .. N / 2 - 1 ,
1998 F. J. Restivo
71
X(2 k + 1 ) =
N 1
x(n )WN
2 nk + n
, k = 0 ..
n =0
X (2 k + 1 ) =
N
1
2
x (n )WN
WN
2nk
n =0
X(2 k + 1 ) =
N
1
2
N
1
2
+
x( n +
n =0
N
1
2
( x ( n ) - x( n +
n =0
N
N
N
n+
2nk
)W N 2 W N , k = 0 ..
1
2
2
N
N
n
nk
)) WN W N , k = 0 ..
1
2
2
2
podem ser calculados como a DFT H(k) do sinal discreto com comprimento N/2
n
h ( n ) = ( x( n ) - x( n + N / 2))W N , n = 0 .. N / 2 - 1 ,
resultando destas duas expresses que possvel obter dois elementos de X(k) a partir de um elemento de
G(k) e de um elemento de H(k), com uma nica multiplicao e com duas adies complexas, e com uma
aprecivel reduo no nmero das operaes aritmticas requeridas
g(3)
x(7)
-1
W83
h(3)
H(3)
X(7)
Se N/2 ainda for par, este mtodo pode ser novamente aplicado ao clculo de G(k) e de H(k), e assim
sucessivamente at as DFT a calcular serem triviais.
A estrutura do algoritmo aponta para a sua realizao andar a andar, num total de log2 N andares e de N/2
butterflies por andar, cada uma das quais do tipo
Xn(p)
X (q)
n
1998 F. J. Restivo
-1
r
W
N
(p)
n+1
(q)
n+1
72
Os dois algoritmos que acabamos de referir admitem muitas variaes, as quais tm em comum o facto de no
ser possvel uma realizao in place sem uma operao de bit-reverse, ou sobre o sinal de entrada ou sobre o
sinal de sada.
5.7.3 Raiz 4
Os algoritmos que estudmos dizem-se de raiz 2, por se basearem na decomposio do sinal de entrada em
dois, com metade do comprimento cada.
Algoritmos equivalentes raiz 4, que se baseiam na decomposio do sinal de entrada em quatro, com um
quarto do comprimento cada, so mais favorveis do ponto de vista do nmero de multiplicaes requeridas.
Refere-se apenas o caso da decimao no tempo.
Se o sinal discreto x(n) tiver comprimento N mltiplo de 4, possvel formar os sinais com comprimento N/4
X( k ) =
x i (n )WN ( 4 n + i )k
i = 0 n =0
X( k ) =
N
1
4
i=0
n =0
WN ik x i ( n )WN 4 nk
3
X( k ) =
WN ik X i (k )
i=0
2k
3k
2k
3k
2k
3k
2k
3k
1998 F. J. Restivo
73
-j
-1 j
W1
N
-1
W2
N
-1
j
-1
-j
W3
N
Comparando os dois algoritmos para N = 1024, por exemplo,
n.and.
n.but.
mult./but.
ad./but.
tot.mult.
tot.ad.
raiz 2
10
512
5120
10240
raiz 4
256
12
3840
15360
Nos casos em que o tempo necessrio para o clculo de uma multiplicao muito superior ao tempo
necessrio para o clculo de uma soma, os algoritmos raiz 4 so mais interessantes que os raiz 2.
X( k ) =
N
1
2
N
1
4
N
1
4
n =0
n =0
n =0
e, designando por G(k), H0 (k) e H1 (k), respectivamente, as DFT de comprimento N/2, N/4 e N/4 de x(2n),
x(4n+1) e x(4n+3),
X( k ) = G( k ) + W N k H 0 ( k ) + WN 3 k H 1 ( k ) .
Atendendo periodicidade destas DFT
X( k + N / 4 ) = G( k + N / 4 ) jWN k H 0 ( k ) + jWN 3 k H1 ( k )
X( k + N / 2 ) = G ( k ) WN k H 0 ( k ) W N 3 k H 1 ( k )
X( k + 3N / 4 ) = G( k + N / 4 ) + jWN k H 0 ( k ) jWN 3 k H 1 ( k )
o que quer dizer que possvel calcular quatro valores de uma DFT de comprimento N a partir de dois valores
de uma DFT de comprimento N/2 e de um valor de cada uma de duas DFT de comprimento N/4.
A butterfly respectiva requere duas multiplicaes e seis adies complexas, desde que se calcule em primeiro
lugar
1998 F. J. Restivo
74
WN k H 0 ( k ) + WN 3 k H 1 ( k )
W N k H 0 ( k ) WN 3 k H1 ( k ) ,
G(k)
k
N
-1
H (k)
0
W
3k
N
-1
j
H (k)
1
-1
Para N=8, temos a situao seguinte, em que se representa apenas o clculo de X(0), X(2), X(4) e X(6), para
melhor visibilidade
x(0)
G(0)
H (0)
0
H1(0)
x(7)
X(7)
A DFT de comprimento 4 pode ser calculada pelo mesmo mtodo, isto , a partir de uma DFT de comprimento
2 e de duas de comprimento 1, o que quer dizer que no total teramos 3 butterflies de raiz dupla, isto , 6
multiplicaes e 18 adies, e trs butterflies de raiz 2.
Comparando, para N=8,
n.but.
mult./but.
ad./but.
tot.mult.
tot.ad.
raiz 2
12
12
24
raiz 4
2+4
3/1
12/2
10
32
raiz dupla
3+3
2/1
6/2
24
Se observarmos que uma DFT de comprimento N=2n pode ser substituda por uma DFT de comprimento 2n-1,
duas DFT de comprimento 2n-2 e 2n-2 butterflies de raiz dupla, simples concluir que, para o algoritmo
completo, o nmero total de butterflies de raiz dupla a realizar dado pela relao recursiva
b(2) = 1
1998 F. J. Restivo
75
b(3) = 2
b(n) = b(n-1) + 2b(n-2) + 2n-2 , n 4
e que o nmero total de DFT de comprimento 2 a realizar dado pela relao recursiva
d(1) = 1
d(2) = 1
d(n) = d(n-1) + 2d(n-2) , n 3 .
Resolvendo estas relaes, encontra-se
b( n ) =
( 3 n 2) 2 n 1 + ( 1 ) n
,n 4
9
d (n ) =
2n ( 1 ) n
,n 3
3
m ( n ) = 2 b( n ) =
n 2 n 2( 2 n 1 ( 1) n )
,n 4 ,
3
9
tendendo para 2/3 do nmero de multiplicaes correspondente aos algoritmos de raiz 2 quando n cresce, e
que o nmero de adies complexas a realizar
a( n) = 6b( n) + 2d ( n) = n2 n , n 4 ,
isto , exactamente o nmero de adies correspondente aos algoritmos de raiz 2.
Para n=1024, ter-se-ia
n.but.
mult./but.
ad./but.
tot.mult.
tot.ad.
raiz 2
5120
5120
10240
raiz 4
1280
12
3840
15360
raiz dupla
1593+341
2/0(a)
6/2
3186
10240
x((-n)) = N DFT[X(k)] ,
e que x(n) se obtem de x((-n)) de modo "circular".
Assim, a iDFT pode ser calculada utilizando o programa de clculo da DFT com os coeficientes X(k),
dividindo os resultados obtidos por N, e reordenando-os trocando de posies os elementos de ordem n e Nn, para n = 1 .. N/2-1.
Alternativamente,
-1
x(n) = N (DFT[X* (k)])* ,
como se conclui de
1998 F. J. Restivo
76
N 1 ( DFT [X * ( k )] )* = N 1 (
N 1 ( DFT [X * ( k )] )* = N 1
N 1
X * (k )WN n k ) *
k =0
N 1
X( k )WN n k .
k =0
Este segundo mtodo, que consiste em utilizar o programa de clculo da DFT com os conjugados dos
coeficientes X(k), dividir os resultados obtidos por N e calcular os seus conjugados, dispensa a reordenao
exigida pelo mtodo anterior.
Finalmente, pode utilizar-se a relao
xI(n)+jxR(n) = N-1DFT[XI(k)+jXR(k)] ,
como resulta de
N -1 D F T[ X I (k) + jX R ( k )] = N 1 D F T[ jX * ( k )]
N 1
X(k)WN nk) *
k =0
G(k) =
XR ( k ) + X R (( k )) + j( X I ( k ) X I (( k )))
2
H(k) =
XI ( k ) + XI (( k )) j( X R ( k ) XR (( k )))
,
2
o que mostra que possvel calcular simultaneamente as DFT de dois sinais reais com comprimento N,
considerando um como a parte real e outro como a parte imaginria de um sinal comp lexo, e utilizando as
simetrias das DFT pretendidas.
Quando se pretente calcular apenas a DFT de um sinal discreto real x(n) com comprimento N, possvel
utilizar uma s vez um programa para o clculo de uma DFT de comprimento N/2.
Para isso, basta construir os sinais discretos reais de comprimento N/2
1998 F. J. Restivo
77
g(n) = x(2n)
h(n) = x(2n+1) ,
calcular simultaneamente as suas DFT como se viu atrs
w(n) = g(n) + jh(n)
G(k) =
WR ( k ) + W R (( k )) + j( W I ( k ) WI (( k )))
2
H(k) =
WI ( k ) + WI (( k )) j( W R ( k ) WR (( k )))
,
2
e recuperar X(k) como se se tratasse do ltimo andar do algoritmo C&T que estudamos
k
tot.ad.
1 mt.
(5120x4+2x1024)/2=11264
(10240x2+5120x2+4x1024)/2=17408
2 mt.
2304x4+2x512+256x4=11264
4608x2+2304x2+4x256+256x2=15360
-k
, k = 0,...,M-1 ,
j
j
W = W 0e .
Nestas condies, o ponto z0 est em A e os restantes esto separados angularmente de e dispostos sobre
uma espiral de raio crescente ou decrescente conforme |W 0 | maior ou menor que um (pode ser um arco da
circunferencia unitria, por exemplo).
1998 F. J. Restivo
78
Substituindo em
X ( z) =
N1
x ( n ) z n
n =0
obtem-se
X (z k ) =
N 1
x(n)(AW k ) n
n =0
2nk = -(n-k) + n + k ,
X( z k ) =
N 1
x (n )A
n2
W 2 W
(n k )2
k2
W 2 ,
n =0
f ( n) = A
n2
W 2
W2
x( n) ,
n2
g(n) =
f(k)W -(n-k)
k =0
g(k) =
f(n)W -(n-k)
k =0
k2
e finalmente multiplicao termo a termo do resultado obtido g(k) por W 2 , como se ilustra na figura a
seguir, em que
h ( n) = W
n2
2
h(n)
x(n)
f(n)
A-n
h(n)
g(k)
X(z )
k
1
h(k)
Os valores X(zk ) obtm-se na sada deste sistema, podendo a convoluo envolvida ser calculada recorrendo
propriedade da convoluo da DFT.
1998 F. J. Restivo
79
Neste caso, necessrio atender cuidadosamente no s ao facto de esta propriedade ser circular mas tambm
ao facto de h(n) ser um sinal discreto definido entre - e +.
As DFT devem ser de comprimento N+M-1 e os sinais alinhados de modo tal que os M valores pretendidos
da convoluo estejam isentos de aliasing (como no mtodo overlap-save anteriormente estudado)
h(n)
-N+1
M-1
f(n)
0
N-1
f(n)*h(n)
aliasing
-N+1
M-1
Uma das possveis aplicaes da CZT diz respeito ao estudo da transformada em z, X(z), ao longo de uma
linha traada no plano z, por exemplo um arco da circunferncia unitria (zoom da DFT) ou uma linha na
vizinhana de um polo de X(z).
Com a emergncia de microprocessadores de sinal especializados na convoluo, a CZT est a encontrar uma
nova aplicao que o clculo da DFT com base na convoluo, o que se consegue fazendo
zk = e
2k
N
1998 F. J. Restivo
, k = 0 .. N-1 .
80
6. Filtros Digitais
6.1 Introduo
Os filtros digitais so um dos grandes campos de aplicao de Processamento Digital de Sinal.
Projectar um filtro digital determinar um algoritmo que satisfaa as especificaes pretendidas; realizar um
filtro digital implementar esse algoritmo, seja em software ou em hardware, atendendo s implicaes do uso
de preciso finita na representao dos coeficientes e dos sinais de entrada e de sada e na realizao das
operaes aritmticas respectivas.
Os filtros digitais do tipo FIR
y( n) =
N1
h(k)x (n k)
n =0
y( n) =
N 1
N 1
k =1
k =0
b k y( n k ) +
a k x (n k )
podem ser facilmente relacionados com filtros analgicos e so normalmente menos exigentes em termos do
nmero de operaes necessrias para realizar uma determinada resposta em frequncia.
H contudo situaes, como por exemplo a decimao e a interpolao, em que esta vantagem apenas
aparente.
Os parmetros do projecto de um filtro digital so normalmente os limites das bandas de passagem e de
rejeio e o ripple mximo admitido em cada uma destas bandas.
h(N-1-n) , se 0 n N-1
0 , se no .
1998 F. J. Restivo
81
6.2.1 Classificao.
Os filtros digitais do tipo FIR costumam ser classificados de acordo com o sinal desta simetria e com o facto
do seu comprimento ser par ou mpar:
Comprimento mpar
Comprimento par
Simetria +
Tipo I
Tipo II
Simetria -
Tipo III
Tipo IV
6.2.1.1 Tipo I.
Quando a simetria positiva e N mpar,
H (e j ) =
N 1
h(n)e jn
n =0
H ( e j ) = h (
N 1
)e
2
N1
2
N 1
1
2
h ( n)( e j n + e j( 1n ) )
n =0
donde, como
- j n
+e
- j( N -1- n )
H ( e j ) = A ( )e
- j
N 1
= 2 cos( (
- n)) e
2
N 1
2
N -1
2
com
A( ) = h(
N 1
)+ 2
2
N 1
1
2
h (n) cos((
n =0
N 1
n ))
2
H ( e j ) =
N1
2
a( n) cos(n) e
N1
2
n =0
com
a (0) = h(
N 1
)
2
a(n) = 2h(
N -1
N -1
- n) , se 1 n
,
2
2
isto , a amplitude da resposta em frequncia uma soma de cossenos, com termo contnuo.
H ( e j ) =
N
1
2
h(n)(e jn + e j( 1n ) )
n= 0
1998 F. J. Restivo
82
e ento
H( e
) = A () e
- j
N -1
2
com
A( ) = 2
N
1
2
h(n) cos((
n =0
N 1
n))
2
H( e
N
2
1 j
)=
b(n ) cos(( n )) e
2
n =1
N1
2
com
b(n) = 2h(
N
N
- n) , se 1 n
.
2
2
Note-se que
j
= H(e ) = 0 ,
pelo que este tipo de filtro FIR no pode ser utilizado como passa alto, por exemplo.
h(
N 1
)=0 ,
2
como
- jn
-e
- j( N -1- n )
H ( e j ) = jB()e
- j
N 1
= 2 jsen( (
- n))e
2
- j
N -1
2
com
B( ) = 2
N1
1
2
h(n)sen((
n =0
N 1
n ))
2
H( e
)=
N1
2
N1
j(
)
2
2
c( n)sen (n) e
n =1
com
c(n) = 2h(
N -1
N -1
- n) , se 1 n
.
2
2
Note-se que
1998 F. J. Restivo
N-1
2
83
= 0 ou = H(e ) = 0 ,
pelo que este tipo de filtro FIR adequado para a realizao de diferenciadores digitais ou de filtros de Hilbert.
H( e
) = jB()e
- j
N -1
2
com
B( ) = 2
N
1
2
h(n)sen((
n =0
N 1
n))
2
H( e
N
2
1 j(
) = d (n )sen( (n )) e 2
2
n =1
N1
)
2
com
d(n) = 2h(
N
N
- n) , se 1 n
.
2
2
Como
j
= 0 H(e ) = 0 ,
este tipo de filtros tem tambm particular interesse para a realizao de diferenciadores digitais ou de filtros de
Hilbert.
6.2.2 Relaes entre os Zeros dos Filtros FIR com Fase Linear.
Sabemos que se os coeficientes de um sistema discreto forem reais, os seus polos e zeros complexos ocorrem
sempre em conjunto com os respectivos conjugados.
Se o sistema for de fase linear verifica-se uma outra propriedade: se zk for um zero do sistema, zk 1 tambm o .
Na realidade, se
N1
h (n )z k n = 0
n =0
ento
N1
h(N 1 n )z k n = 0
n =0
N1
h (n )z k ( N1n) = 0
n =0
1998 F. J. Restivo
z N +1
84
N 1
h( n) z k n = 0 .
n= 0
Os zeros de um filtro do tipo FIR com fase linear ocorrem normalmente em grupos de quatro, zk , zk * , zk
1
-1
e zk *
z*
k
z *k
z -1
k
Na realizao de um filtro deste tipo pela associao em srie de sistemas de pequena ordem, estes grupos de
zeros devem naturalmente ser includos no mesmo sistema, a fim de se poder tirar partido da simetria dos
coeficientes.
A partir da especificao de uma determinada resposta em frequncia Hd(e ), real e par, possvel determinar
a resposta impulsional h d(n) de um sistema discreto com essa resposta em frequncia
h n ( n) =
1
2
H d (e
ej
) e jn d .
Esta resposta impulsional normalmente de comprimento infinito, real e par, e torna-se necessrio trunc-la,
utilizando uma janela w(n), isto , um sinal discreto de comprimento limitado, N, obedecendo s condies,
supondo N mpar,
w(n) = w(-n)
n<-
N 1
N 1
ou n >
w(n) = 0 ,
2
2
1998 F. J. Restivo
85
N -1
N +1
) u(n ) ,
2
2
w R (n) = u(n +
tem o inconveniente de introduzir um grande overshoot nas descontin uidades de Hd(e ), problema
geralmente conhecido como fenmeno de Gibbs, usando-se normalmente outras janelas, tais como a janela de
Hanning
2n
)) w R ( n) ,
N -1
2 n
)) w R (n ) ,
N -1
H R (e ) =
n =
j n
N 1
1 e jN
1 e j
N 1
2
N
)
2
H R ( e j ) =
sen( )
2
sen(
25
20
15
10
5
-3.14
-2.36
-1.57
-0.79
0
0.00
-5
0.79
1.57
2.36
3.14
O lobo principal, entre -2/N e 2/N, manifesta-se essencialmente nas bandas de transio do filtro que est a
ser projectado, efeito que pode ser contornado por uma escolha conveniente do comprimento N.
O conjunto de lobos de menor amplitude e largura 2/N manifesta-se, quer nas bandas de passagem quer nas
bandas de bloqueio, pela introduo de um ripple, cuja amplitude no depende do comprimento do filtro!
1998 F. J. Restivo
86
2n
wH(n) = ( + (1-)cos(
))wR(n) ,
N 1
cuja transformada de Fourier
WH ( e
) = W R (e
j(
)
j( +
)
1
N1 ) + W ( e
N1 ))
)+
( WR ( e
R
2
Representa-se a seguir a transformada de Fourier da janela de Hamming para N = 21 (neste caso, = 0.54).
12
9
6
3
-3.14
-2.36
-1.57
-0.79
0
0.00
-3
0.79
1.57
2.36
3.14
O lobo principal situa-se agora entre -4/N e 4/N, o que quer dizer que esta janela tem um efeito mais negativo
sobre as bandas de transio do filtro que est a ser projectado, introduzindo em compensao um ripple
bastante menor nas bandas de passagem e de bloqueio.
2n
4n
) + 0.08cos(
))wR(n) ,
N 1
N 1
apresenta uma transformada de Fourier com um lobo principal entre -6/N e 6/N, mas tem a vantagem de
introduzir um ainda menor ripple nas bandas de passagem e de bloqueio do filtro que est a ser projectado.
O quadro a seguir, extrado da referncia [6], quantifica alguns destes aspectos
janela
transio
rectang
-13 dB
0.9 2/N
-21 dB
Hanning
-31 dB
3.1 2/N
-44 dB
Hamming
-41 dB
3.3 2/N
-53 dB
Blackman
-57 dB
5.5 2/N
-74 dB
H (z ) =
1 z N
N
1998 F. J. Restivo
N1
H( k)
k =0 1 W N
k 1
87
satisfaz a essa amostragem, e pode ser realizada pela associao em srie de um filtro digital do tipo FIR
H p ( z) =
1 zN
N
com N zeros em
zk = W N
-k
, k = 0 .. N-1 ,
H(k )
H k ( z) =
1 e
2
k
z 1
, k = 0 .. N - 1 ,
-k
16
24
32
40
48
56
64
72
80
88
/128
Os sistemas Hk , filtros de banda, apresentam um polo cada um, coincidente com um dos zeros de Hp .
Uma vez que os sistemas Hk e KN-k tm polos conjugados e que num sistema com resposta impulsional real
H(k) = H(N-k), se se associarem estes dois sistemas obtem-se um sistema de segunda ordem cuja funo de
transferncia tem coeficientes reais
H (k )
H k ( z ) + H N k ( z ) =
1
H k ( z) + H N k ( z) =
2
j k
e N z 1
H ( k)
+
1
2
j ( N k )
e N
z 1
2
1
k )z
N
.
2
1 2 cos( k) z 1 + z 2
N
1998 F. J. Restivo
88
100
80
60
40
20
0
0
16
24
32 40 48 56 64 72 80
88
/128
Um dos principais problemas deste mtodo de sntese de filtros resulta da absoluta necessidade de os polos
dos filtros de banda cancelarem os zeros do filtro em pente, o que pode ser difcil de garantir numa
implementao em que os clculos so realizados com preciso finita.
A soluo habitualmente adoptada consiste em localizar esses polos e zeros sobre uma circunferncia de raio r
inferior, mas aproximadamente igual, a 1, de tal modo que mesmo que no coincidam se possam considerar a
igual distncia da circunferncia unitria.
Esta operao corresponde mudana de varivel
z
z
r
donde resulta
H p ( z) =
1 r N zN
N
H( k)
H k (z ) =
1 re
2
k
N z 1
, k = 0,.., N 1 .
2
1
k) z
N
H k ( z) + H N k ( z) =
.
2
1 2r cos( k )z 1 + r 2 z 2
N
2H(k ) 2rH (k ) cos(
Exemplo
Pretende-se remover a componente com frequncia 150 Hz do sinal
1998 F. J. Restivo
89
1.5
0.5
0
0
16
32
48
64
80
96
112
128
144
160
176
192
208
224
240
-0.5
-1
-1.5
v(n ) =
x( n) r N x( n N)
N
y 0 ( n) = v(n ) + ry 0 ( n 1)
0.5
0
0
16
32
48
64
80
96
112
128
144
160
176
192
208
224
240
-0.5
-1
-1.5
1998 F. J. Restivo
90
1
0.5
0
1998 F. J. Restivo
H ( e j ) =
Ha (
r =-
91
j( + 2r )
)
T
H s (s ) =
N 1
s ks
A
k =0
H (z ) = T
N 1
1 e s kT z 1
k =0
verificando-se que este mtodo corresponde a um mapa dos polos de Ha(s) do plano s sobre o plano z
z k = e sk T .
Este mapa no biunvoco, pois todos os polos
s k + 2jrT-1 , r inteiro
vo recair sobre o mesmo polo zk
plano s
plano z
Na realidade, trata-se de mais uma manifestao do aliasing inerente amostragem, sendo certo que o maior
problema deste mtodo de projecto de filtros digitais do tipo IIR a possibilidade de ocorrncia de aliasing.
De acordo com este mapa, o eixo j do plano s recai sobre a circunferncia unitria do plano z
z = ejT ,
o que est de acordo com a relao j conhecida entre frequncia analgica e frequncia digital.
Pontos situados esquerda do eixo j do plano s recaem sobre o interior da circunferncia unitria do plano
z, o que garante que um sistema causal e estvel d origem a um sistema causal e estvel.
Sintetizando, podemos dizer que o mapa
z = e sT
estabelece um correspondncia biunvoca entre uma "tira" do plano s paralela ao seu eixo real e com largura
2/T, por exemplo a limitada pelas rectas
Im(s) = jT-1
Im(s) = -jT-1 ,
e todo o plano z, com o mapa inverso
s = T-1log(z) .
O logaritmo principal de um nmero complexo um nmero complexo com parte imaginria compreendida entre
-j e j.
1998 F. J. Restivo
92
2 1 z 1
T 1 + z 1
z=
2 + sT
2 sT
e pode facilmente observar-se que ao eixo j do plano s corresponde a circunferncia unitria do plano z
j2 arctg(
z=e
T
)
2
o que quer dizer que a resposta em frequncia do filtro digital uma cpia da resposta em frequncia do filtro
analgico, com a distoro resultante da compresso de todo o eixo j numa revoluo a essa circunferncia,
e que ao semiplano esquerdo do plano s corresponde o seu interior, o que quer dizer que um sistema contnuo
causal e estvel d origem a um sistema discreto causal e estvel.
A relao entre as frequncias analgica e digital
= 2arctg(
T
) ,
2
3.14
1.57
0
-8
-6
-4
-2
-1.57
-3.14
Exemplo
Consideremos que se pretende amostrar um sinal analgico a
fa = 20 kHz
e realizar uma filtragem digital passa-baixo com frequncia de corte
fc = 1 kHz
com um filtro de 1 ordem obtido a partir de um filtro analgico RC elementar.
Utilizando o mtodo da invarincia da resposta impulsional, devemos partir do filtro analgico
H a (s ) =
2000
s + 2000
1998 F. J. Restivo
H ( z) =
93
0.1
1 e 01. z 1
0.79
1.57
2.36
3.14
c =
2 c
tg
= 6335 .4 rads -1 ,
T
2
-1
utilizada anteriormente.
Assim, como
H a (s) =
6335 .4
,
s + 6335 .4
H( z ) =
0.137 (1 + z 1 )
1 0.727 z 1
1.5
1
0.5
0
-3.14 -2.36 -1.57 -0.79 0.00 0.79 1.57 2.36 3.14
Neste caso, no ocorre aliasing. De notar tambm o efeito do zero em z=-1.
Normalmente, o filtro digital especificado pelas suas bandas, de passagem, de transio e de bloqueio, e
pelas atenuaes que necessrio garantir, isto , o filtro analgico no dado.
Este problema resolve-se recorrendo em primeiro lugar ao projecto de um filtro analgico prottipo, utilizando
uma das famlias tradicionais, Butterworth, Chebyshev, etc..
1998 F. J. Restivo
94
| H a ( ) |2 =
1
,
2N
1+ (
)
c
em que c a frequncia angular de corte do filtro e N a sua ordem, e caracterizam-se por apresentarem uma
resposta em frequncia monotnica.
Graficamente, o andamento de |Ha()| tem a forma representada a seguir, para os filtros de ordem 1 a 6, e c =
1.
1.00
0.80
0.60
0.40
0.20
0.00
0.00
1.00
2.00
3.00
4.00
5.00
1+(
s 2N
)
=0 ,
j c
a qual admite 2N solues igualmente espaadas sobre uma circunferncia de raio c e centrada na origem do
plano s
s
= 2N 1
j c
s = j ce
j(
2
+k
)
2N 2N
, k = 0 .. 2 N - 1
H a (s) =
1
s
s N
1 + a1
+ ... + a N (
)
j c
j c
1998 F. J. Restivo
a1
95
a2
a3
a4
a5
a6
a7
B1
B2
0.707
B3
B4
2.613
3.414
2.613
B5
3.236
5.236
5.236
3.236
B6
3.864
7.464
9.141
7.464
3.864
B7
4.494
10.103
14.606
14.606
10.103
4.494
B8
5.126
13.138
21.848
25.691
21.848
13.138
5.126
a8
com
T0 (x) = 1
T1 (x) = x,
ou ento, de uma forma compacta, como
cos(Ncos -1 (x)) , se |x| 1
TN(x) =
cosh(Ncosh -1 (x)) , se no .
Na figura seguinte, representam-se os polinmios de Chebyshev de ordem 0 a 6
14
12
10
8
6
4
2
0
-20.00
1.00
1998 F. J. Restivo
2.00
3.00
4.00
96
|TN(x)| 1 , |x| 1
|TN(x)| 1 , |x| 1 ,
o que os torna apropriados para definir filtros passa-baixo.
Os filtros de Chebyshev do tipo I apresentam ripplena banda de passagem, e tm amplitude da resposta em
frequncia
| H a ( j) |2 =
1
1 + TN 2 (
2
)
c
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0.00
1.00
2.00
3.00
4.00
| H a ( j) | 2 =
TN ( b )
c
1 + 2
TN 2 ( b )
Como se pode ver por exemplo na referncia [5], no difcil estabelecer as equaes necessrias
determinao do polinmio de Chebyshev de ordem mnima que permite satisfazer uma determinada
especificao, e, a partir da, projectar o filtro digital.
Exemplo
Suponhamos que pretendemos projectar um filtro digital passa-baixo especificado pelo limite superior da
banda de passagem
p = 0.1 rad
e pela mxima atenuao admitida nesta banda
= -0.3 dB ,
e pelo limite inferior da banda de bloqueio
b = 0.3 rad
e pela mnima atenuao exigida nesta banda
= -40 dB .
No exemplo que estamos a considerar
|Ha(j0.1T-1 )|2 = 10-0.03
1998 F. J. Restivo
97
-1
c 0.437T
-1
H ( z) =
z *1
z
ento
| H( e j ) |=
1
.
| |
Na realidade,
| H( e j ) |=
| e j a 1 e j |
|e
1998 F. J. Restivo
ae
, = ae j
| H( e j ) |=
98
| H(e j ) | 2 =
| H ( e j ) | 2 =
| H ( e j ) | 2 =
Um estudo grfico simples teria permitido chegar mais rapidamente a esta concluso,
e j
-1
*
||(e j- *
-1
1
z
pois, como ressalta da figura,
| e j |=| | . | e j *1 | .
j
O modo como arg(H(e )) varia com tambm pode ser estudado analiticamente.
Vamos faz-lo para o caso R , uma vez que qualquer outro caso se resume a uma rotao de .
e j
-1
z
Assim,
1
)
arg(H(e j )) =
arg(cos + jsen )
arg(cos + jsen
1998 F. J. Restivo
99
arg(H (e j )) = arctg
sen
1
cos
arctg
sen
cos
tg( ) =
tg tg
1 + tgtg
sen
sen
1 cos
cos
tg arg(H (e j )) =
sen
sen
1+
1 cos
cos
tg arg(H(e j )) =
sen(cos ) sen(cos
(cos
1
)
1
)(cos ) + sen 2
1
)sen
arg(H( e j )) = arctg
1
2 ( + ) cos
3.14
2.36
1.57
0.79
0.00
0.00 0.79 1.57 2.36 3.14 3.93 4.71 5.50 6.28
-0.79
-1.57
-2.36
-3.14
z 1 = G ( Z 1 ) .
Dado o sistema discreto Hl(z), esta mudana de varivel transforma-o no sistema discreto
H d ( Z) = H l ( G 1 ( Z 1 )) .
As condies a que deve satisfazer uma mudana de varivel para ser adequada converso de um filtro
digital do tipo passa baixo num filtro digital de outro tipo so as seguintes
1998 F. J. Restivo
100
H (z ) =
z *1
z *1
=
z
1 z
Z 1 *1
G( Z 1 ) =
1 Z 1
que, com uma escolha apropriada do parmetro , conduzem s transformaes no domnio das frequncias
mais interessantes do ponto de vista do projecto de filtros digitais
passa baixo passa baixo
passa baixo passa alto
passa baixo passa banda
passa baixo tampo.
Limitamo -nos aqui a escrever as transformaes e as respectivas equaes de projecto.
z 1 =
Z 1
1 Z 1
em que
sin
sin
p p
2
p + p
2
z 1 =
Z 1 +
1 + Z 1
em que
cos
cos
p + p
2
p p
1998 F. J. Restivo
101
z 1
2 k 1 k 1
Z +
k +1
k +1
=
k 1 2 2k 1
Z
Z +1
k +1
k +1
Z 2
em que
2 + 1
2
=
2 1
cos
2
cos
1 p
k = cot g 2
tg
2
2
e p a frequncia de corte do filtro original e 1 e 2 so as frequncias inferior e superior de corte do filtro
pretendido, respectivamente.
2 k 1 1 k
Z +
1
+k
1+ k
=
1 k 2 2 1
Z
Z +1
1+ k
1+ k
Z 2
em que
2 + 1
2
=
2 1
cos
2
cos
1 p
k = tg 2
tg
2
2
e p a frequncia de corte do filtro original e 1 e 2 so as frequncias inferior e superior de corte do filtro
pretendido, respectivamente.
1998 F. J. Restivo
102
a(n)
a(n)+b(n)
b(n)
a(n)
k.a(n)
a(n)
z-1
a(n-1)
Exemplo
Consideremos o sistema discreto recursivo
y(n) = x(n) + A 1x(n-1) + A 2x(n-2) + B1y(n-1) + B2y(n-2) .
O grfico a seguir representa de uma maneira intuitiva o seu funcionamento.
y(n)
x(n)
z-1
z-1
A1
-B1
z-1
z-1
A2
1998 F. J. Restivo
-B 2
103
e permite, por manipulaes simples, a descoberta de outros algoritmos mais vantajosos para a sua
implementao.
Considerando o grfico como uma associao em srie de dois grficos mais simples, e invertendo a sua
ordem
y(n)
x(n)
z-1
z-1
A1
-B 1
z-1
z-1
A2
-B 2
v-se imediatamente que possvel implementar o algoritmo com apenas dois atrasos, em vez dos quatro
iniciais.
y(n)
x(n)
z-1
A1
-B1
z-1
-B 2
A2
As equaes respectivas so
v(n) = x(n) + B1 v(n-1) + B2 v(n-2)
y(n) = v(n) + A 1 v(n-1) + A 2 v(n-2)
em que v(n) o valor a memorizar (na realidade, uma varivel de estado).
y( n ) =
N 1
h ( k ) x( n k ) ,
k =0
1998 F. J. Restivo
104
x(n)
z-1
z-1
z-1
h(1)
h(0)
h(N-1)
h(2)
y(n)
Uma operao simples sobre este grfico, que consiste em inverter o sentido dos ramos e trocar a entrada com
a sada, permite obter uma forma alternativa, de muita importncia por exemplo em realizaes com o
microprocessador de sinal Inmos A100.
x(n)
h(N-2)
h(N-1)
z-1
h(N-3)
h(0)
z-1
z-1
y(n)
x(n)
z-1
z-1
h(0)
z-1
z-1
z-1
z-1
h(1)
h( N-1 )
2
h(2)
y(n)
x(n)
z-1
z-1
z-1
z-1
z-1
h(0)
1998 F. J. Restivo
z-1
z-1
h(1)
h(2)
h( N-1 )
2
y(n)
105
y( n ) =
N 1
k =0
a k x( n k ) +
N 1
bk y( n k )
k =1
pode ser implementado por uma estrutura que a generalizao da do exemplo anterior, e que conhecida por
forma directa 2 ou por forma cannica.
x(n)
y(n)
z-1
a
-b1
z-1
a
-b 2
z-1
-b N-1
N-1
H ( z ) = 1 z 1 ,
os de segunda ordem implementao de um par de zeros reais em e 1/
H ( z ) = (1 z 1 )(1 1 z 1 ) = 1 ( + 1 ) z 1 + z 2 ,
e os de quarta ordem implementao de quatro zeros complexos em , 1/, *e 1/*
1
H ( z ) = (1 ( + 1 )z 1 + z 2 )(1 ( + )z 1 + z 2 )
H ( z ) = 1 1 z 1 + 2 z 2 1 z 3 + z 4
com 1 e 2 reais e dados por
1998 F. J. Restivo
106
1 = + 1 + +
2 = ( + 1 )( + ) + 2
que so as combinaes de zeros que podem ocorrer nomeadamente em sistemas de fase linear, e que retm a
simetria dos coeficientes nestas decomposies.
Noutras situaes, podem ainda ocorrer pares de zeros complexos conjugados, que podem ser implementados
atravs de sistemas de segunda ordem.
1998 F. J. Restivo