Professional Documents
Culture Documents
Dezembro de 1998
Indice
1. Processamento Digital de Sinal 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 2. Sinais Sinais Contnuos e Discretos Sistemas Contnuos e Discretos Processamento Digital de Sinal Breve Histria do PDS Vantagens do PDS Microprocessadores de Sinal Bibliografia 5 5 5 5 6 7 8 8 8 10 10 10 13 14 14 14 14 15 16 17 18 20 22 22 22 23 25 26 26 29 29 29
Sinais e Sistemas Discretos 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 Sinais Discretos Convoluo Discreta Sistemas Discretos FIR e IIR Sistemas Discretos Recursivos e No Recursivos Operao em Tempo Real e Operao em Tempo Diferido Sistemas Discretos Causais Sistemas Discretos Estveis Frequncia de um Sinal Discreto 2.8.1 Fase 2.8.2 Gamas de frequncias 2.9 2.10 2.11 Resposta em Frequncia de um Sistema Discreto Transformada de Fourier de um Sinal Discreto Propriedades da Transformada de Fourier 2.11.1 Propriedade da Translaco 2.11.2 Propriedade da Convoluo 2.11.3 Propriedades de Simetria 2.12 Equao s Diferenas e Resposta em Frequncia
3.
Amostragem de Sinais Contnuos 3.1 3.1 3.2 Introduo Teorema da Amostragem Aliasing 3.2.1 Uma explicao simples
1998 F. J. Restivo
Reconstruo de um Sinal Amostrado Amostragem Real Reconstruo Real Interpolao Decimao Converso Fraccionria da Frequncia de Amostragem
31 32 33 35 37 38 39 39 40 41 42 42 43 43 43 45 45 45 46 48 51 51 51 52 55 56 59 61 62 62 64 64 65 69 71 72 74 75
Transformada em z 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 Definio Regio de Convergncia Relao com a Transformada de Fourier Algumas Propriedades da Transformada em z Propriedade da Convoluo Funo de Transferncia de um Sistema Discreto Estabilidade e Causalidade Avaliao Geomtrica da Transformada de Fourier Inverso da Transformada em z 4.9.1 Mtodo da Diviso 4.9.2 Mtodo da Decomposio em Fraces Simples 4.9.3 Integral de Linha 4.10 Propriedade da Convoluo Complexa
5.
DFT - Transformada de Fourier Discreta 5.1 Introduo 5.1.1 Amostragem nos Domnios do Tempo e da Frequncia 5.1.2 Sinais Peridicos nos Domnios do Tempo e da Frequncia 5.2 5.3 5.4 5.5 5.6 DFS - Srie de Fourier Discreta DFT - Transformada de Fourier Discreta Propriedades da DFT Relao com a Transformada em z Convoluo Linear Utilizando a DFT 5.6.1 Mtodo Overlap-Add 5.6.2 Mtodo Overlap-Save 5.7 FFT - Transformada Rpida de Fourier 5.7.1 Decimao no Tempo 5.7.2 Decimao na Frequncia 5.7.3 Raiz 4 5.7.4 Raiz Dupla 5.8 5.9 Transformada de Fourier Discreta Inversa Transformada de Fourier Discreta de Sinais Reais
1998 F. J. Restivo
5.10 6.
Filtros Digitais 6.1 6.2 Introduo Projecto de Filtros Digitais do Tipo FIR. 6.2.1 Classificao. 6.2.2 Relaes entre os Zeros dos Filtros FIR com Fase Linear. 6.2.3 Mtodos de Projecto. 6.3 Projecto de Filtros Digitais do Tipo IIR. 6.3.1 Mtodo da Invarincia da Resposta Impulsional. 6.3.2 Transformao Bilinear. 6.4 Transformaes no Domnio das Frequncias. 6.4.1 Filtros Passa Tudo. 6.4.2 Transformaes no Domnio das Frequncias.
7.
Realizao de Sistemas Discretos 7.1 7.2 Grficos de Fluncia Formas Directas 7.2.1 Filtros FIR 7.2.2 Filtros IIR 7.3 Realizaes Srie e Paralelo 7.3.1 Filtros FIR 7.3.2 Filtros IIR
1998 F. J. Restivo
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) = 0 se n < 0 ou (n > 0 e n mod 12 > 5) 1 se no , e que o sistema se encontra inicialmente relaxado (y(-1) = 0). A resposta y(n) do sistema obtem-se realizando apenas duas multiplicaes e uma adio para calcular cada termo de y(n). Em MATLAB, o programa seguinte permite calcular os primeiros termos de y(n), x=[0 1 1 1 1 1 1 0 0 0 0 0 0 1 1]; y(1)=0; for i=2:15, y(i)=x(i)+0.5*y(i-1); end t=-1:1:13; a=[-1 13 0 2]; clf, subplot(2,1,1), stem(t,x), axis(a) subplot(2,1,2), stem(t,y), axis(a) e a representao grfica de x(n) e y(n) j fornece uma ideia do que ser possvel realizar com operaes simples como estas.
2 1.5 1 0.5 0 0 2 4 6 8 10 12
2 1.5 1 0.5 0 0 2 4 6 8 10 12
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
A razo porque se diz processamento digital de sinal decorre do facto de a realizao de um sistema discreto implicar normalmente a digitalizao das amostras dos seus sinais de entrada e de sada.
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
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.
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
1998 F. J. Restivo
[1] [2]
A. V. Oppenheim, R. W. Schafer, Discrete-Time Signal Processing, Prentice-Hall, 1989, E. C. Ifeachor, B. W. Jervis, Digital Signal Processing - A Practical Approach, Addison-Wesley, 1993.
Outros livros tm sido utilizados, e continuam a servir como textos de apoio [3] [4] R. Kuc, Introduction to Digital Signal Processing, McGraw-Hill, 1988 D. J. DeFatta, J. G. Lucas, W. S. Hodgkiss, Digital Signal Processing: A System Design Approach, Wiley, 1988.
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] A. V. Oppenheim, R. W. Schafer, Digital Signal Processing, Prentice-Hall, 1975 L. R. Rabiner, B. Gold, Theory and Application of Digital Signal Processing, Prentice-Hall, 1975.
Outros livros cuja leitura se recomenda so [7] [8] [9] [10] [11] [12] [13] [14]
!
E. O. Brigham, The Fast Fourier Transform, Prentice-Hall, 1974 H. J. Nussbaumer, Fast Fourier Transform and Convolution Algorithms, Springer-Verlag, 1981 D. F. Elliot, K. R. Rao, Fast Transforms: Algorithms, Analyses and Applications, Academic Press, 1982 Inmos, The Digital Signal Processing Databook, Inmos, 1989 I. Ahmed, ed., Digital Control Applications with the TMS320 Family, Texas Instruments, 1991 C. E. Reid, T. B. Passin, Signal Processing in C, Wiley, 1992 A. Antoniou, Digital Filters: Analysis, Design and Applications, 2nd edition, McGraw-Hill, 1993 C. Marven, G. Ewers, A Simple Approach to Digital Signal Processing, Texas Instruments, 1994
3 H @ E 8 P A F 8 # @ x U f f X X 3 E & & F e G B 4 G w Y v R ' @ ( # A x u f H a G f 9 $ A 3 3 Q X F W c & A V 0 E E D c 8 R r r U w T T 2 1 R D G 0 E e H S A b H t b R s E D ` G Q 3 P P G 9 U @ r 8 I H X H 9 E G @ F q 8 E H D H T G C F p B E A D 9 @ C @ 8 9 8 B H A 7 H G @ F 9 E 8 D H 7 8 C H 3 B ) B A ( A @ ' @ 6 9 8 5 T f 7 # f B X A 4 G P 3 P 8 3 0 H 9 0 2 8 c 1 7 ( i 0 3 3 " ) ' ( a ( ' e 6 e & e d % c 2 $ # c # b ' $ y h a # # # 5 " " ` ! !
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]
x
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] IEEE Transactions on Signal Processing, IEEE IEEE Signal Processing Magazine, IEEE Signal Processing, Eurasip Circuits, Systems, and Signal Processing, Birkhauser-Boston, Inc. IEE Proceedings: Vision, Image and Signal Processing, IEE.
A disciplina de Processamento de Sinal da FEUP tem a sua homepage na Web http://www.fe.up.pt/~fjr/pds.html/ onde se encontram disponveis todas as informaes relevantes para o seu funcionamento.
1998 F. J. Restivo
C. S. Burrus et al., Computer-Based Exercises for Signal Processing Using MatLab, Prentice-Hall (1994)
10
Outro sinal discreto importante o degrau unitrio u(n) u(n) = 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.
1998 F. J. Restivo
11
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,
Esta operao entre os sinais discretos x(n) e h(n) designa-se por convoluo discreta, e goza da propriedade comutativa, entre outras
Realmente,
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
e determinemos a resposta y(n) do sistema. A resposta y(n) dada pela convoluo discreta de x(n) com h(n)
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
12
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
13
2 1 0 -1 2 1 0 -1
y(2) = x(0)h(2) + x(1)h(1) + x(2)h(0) = 0.5 + 0.75 + 1 = 2.25 . Para obter os outros elementos de y(n) seria necessrio deslocar h(n-k) relativamente a x(k), e repetir este clculo, numa interpretao geomtrica bem conhecida. De acordo com a propriedade comutativa da convoluo, idnticas interpretaes resultariam se os papis de x(n) e de h(n) se invertessem.
tem nesse caso um nmero finito de termos. Exemplo O sistema com resposta impulsional finita h(n) = (3-n)(u(n) - u(n-3))
pode ser implementado pela equao s diferenas y(n) = 3x(n) + 2x(n-1) + x(n-2) .
1998 F. J. Restivo
4 2 0 -1
14
1998 F. J. Restivo
15
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=
k =
h (k ) < .
x (n ) < M
ento y( n ) =
k =
h (k ) x (n k ) M h (k ) < h (k ) < .
k = k =
k =
h (k ) x (k ) =
k =
h (k )
+ h ( k ) + h (k ) = = h (k ) = S , h (k ) k = h (k ) k =
que ilimitada se S = .
1998 F. J. Restivo
16
1 0.5 0 -0.5 -1 0 2 4 6 8 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 2 4 6 8 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
17
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.
1998 F. J. Restivo
18
ilustra.
1 0.5 0 -0.5 -1 0 2 4 6 8 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 nt, 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.
= =
d
Como vimos anteriormente, a resposta de um sistema discreto com resposta impulsional h(n) ao sinal discreto exponencial complexo a convoluo discreta destes dois sinais, e vale
e e e e j i e
com
e
A resposta do sistema a sua entrada multiplicada por H(ej), e esta funo de a resposta em frequncia do sistema discreto.
1998 F. J. Restivo
+ =
2
d g
+ 2
f f
19
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 =
+2
1 + 4
Como evidente, o sistema discreto dado tem resposta impulsional h(n) = 0.25(n) + 0.5(n-1) + 0.25(n-2)
e portanto resposta em frequncia H(ej) = 0.25 + 0.5e-j + 0.25e-2j = (0.5 + 0.5cos())e-j. Na figura a seguir, representa-se H(ej) em mdulo e fase. Os grficos foram obtidos em MATLAB, utilizando o seguinte programa (fft quer dizer Fast Fourier Transform) h=fft([0.25 0.5 0.25],128); w=-pi:pi/64:pi-pi/64; h=fftshift(h); a=[-pi,pi,0,1]; f=[-pi,pi,-pi,pi]; clf, subplot(2,1,1), plot(w,abs(h)), axis(a), grid on subplot(2,1,2), plot(w,angle(h)), axis(f), grid on
0.5
-3
-2
-1
2 0 -2 -3 -2 -1 0 1 2 3
A resposta impulsional de um sistema discreto pode ser obtida a partir sua resposta em frequncia, tirando partido da periodicidade desta funo. Como
1998 F. J. Restivo
=
h
+2
i
+2
e d h
20
uma funo peridica de , com perodo 2, ento, H(ej) pode ser desenvolvida em srie de Fourier, por exemplo na forma
e
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(ej) deste sistema naturalmente peridica, de perodo 2, e tem a seguinte forma no intervalo [, [ H(ej) = 1, se ||c 0, se no , Utilizando a transformada de Fourier inversa, obtem-se
o f e e e
que uma amostragem da funo seno cardinal. Representa a seguir h(n) para c = /6 e e para c = /3, respectivamente.
1998 F. J. Restivo
1 = 2
1 = 2
1 2
1 2
1 = 2
h h k m
21
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 ha(n) = h(n)(u(n+n0) - u(n-n0-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 n0 = 20.
1.5 1 0.5 0
-3
-2
-1
1.5 1 0.5 0
-3
-2
-1
O programa utilizado para obter estas representaes am MATLAB foi (note-se que, em MATLAB, ) = n=-20:1:20;
f f
1998 F. J. Restivo
22
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 ha(n) de n0, introduzindo-se assim um atraso n0 no clculo da resposta do sistema.
n =
e jn x (n ) e jn =
n =
x (n) e j( )n = X(e j( ) ) ,
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(ej), como a resposta do sistema a cada uma daquelas exponenciais H(ej)ejn, a sua resposta entrada x(n) contm a mesma combinao linear e
1998 F. J. Restivo
1 2
23
cuja transformada de Fourier X(ej)H(ej). A transformada de Fourier da convoluo de dois sinais discretos assim o produto das suas transformadas de Fourier. altura de colocar em paralelo duas expresses j conhecidas, que nos ensinam a decompor um sinal discreto em sinais discretos elementares, a primeira no domnio dos tempos, em que o sinal elementar o impulso unitrio
A resposta de um sistema discreto LI a um destes sinais elementares, a resposta impulsional h(n) ou a resposta em frequncia H(ej), caracteriza completamente um sistema H.
q t q
Daqui se deduzem algumas propriedades de simetria importantes. Se um sinal discreto x(n) for puramente real, x(n) = x(n) , a sua transformada de Fourier verifica a igualdade X(e-j) = X(ej) , pelo que a transformada de Fourier de um sinal discreto puramente real tem parte real par e parte imaginria mpar, isto , XR(e-j) = XR(ej) , XI(e-j) = -XI(ej) . Se um sinal discreto x(n) for puramente imaginrio, x(n) = -x(n) , e a sua transformada de Fourier verifica a igualdade X(e-j) = -X(ej) ,
1998 F. J. Restivo
s r
1 2
1 2
24
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(ej) de um sinal discreto for puramente real, X(ej) = X(ej) , 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(ej) de um sinal discreto for puramente imaginria, X(ej) = -X(ej) , 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(ej) real e par. As correspondncias sinal puramente real puramente imaginrio parte real par, parte imaginria mpar parte real mpar, parte imaginria par transformada de Fourier parte real par, parte imaginria mpar parte real mpar, parte imaginria par 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(ej), = =
e e e d d
+ 2 2
m d
respectivamente. Estas definies permitem identificar as correspondncias sinal / transformada de Fourier parte real parte imaginria entre o sinal e a sua transformada e reciprocamente. transformada de Fourier / sinal parte simtrica conjugada parte anti-simtrica conjugada
1998 F. J. Restivo
=
m
d d v w v w m m
+ 2
, 2
25
com os coeficientes bk nulos se o sistema for no recursivo. Esta equao, tal como uma equao diferencial, admite uma soluo constituda por dois termos, um correspondente resposta natural do sistema e outro correspondente sua resposta forada, e dependente das condies iniciais, que sero nulas se o sistema for causal. A resposta natural do sistema tende normalmente para zero num sistema estvel. No cabe nesta disciplina o estudo das equaes s diferenas, contudo. A transformada em z, que estudaremos no captulo seguinte, normalmente utilizada nesse estudo. Calculando a transformada de Fourier dos dois membros da equao anterior
} y m x
e x
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
e e
1998 F. J. Restivo
{ ~
=0
{ z z d d d h h }
26
donde x (n ) = 1 2
X c ( j)e
e d m
jnT
Xc (
j jn )e d , T
( 2r +1)
Xc (
( 2r 1)
1998 F. J. Restivo
1 2
1 2
d ,
j jn )e d , T
27
x (n ) =
1 + 2T r = 1 2T
Xc (
j( + 2r) j(+ 2 r) n )e d , T
x (n ) =
r = -
Xc (
j( + 2r) jn )e d , 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
frequncia angular de amostragem a = 2/T "corresponde" a frequncia "digital" 2. A frequncia de amostragem estabelece a relao entre as frequncias "analgica" e "digital". Cada uma das restantes parcelas,
1998 F. J. Restivo
28
T-1
0
Exemplo O sinal contnuo xc(t) = e-tu(t)
-2
- MT
MT
=
g
1 . 1+
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 =
{
Graficamente, |Xc(j)| pode obter-se com o seguinte programa em MATLAB w=-60:1:60; h=1./(1+j.*w); clf, subplot(2,1,1), plot(w,abs(h)), axis([-60,60,0,1]), grid on (note-se como simples tratar nmeros complexos em MATLAB) e
0.5
0 -60
-40
-20
enquanto que em |X(ej)|, que a seguir tambm se representa, so visveis as mudanas de escala e a sobreposio das diferentes parcelas presentes.
1998 F. J. Restivo
d m m
20
40
60
29
8 6 4 2 0 -6 -4 -2 0 2 4 6 8 10 12
De notar que poderamos facilmente obter uma expresso compacta para X(ej), pois, como x(n) = e-0.05nu(n) ,
e | |
no se sobrepuserem, isto , se ocuparem regies diferentes de . Uma condio a que Xc(j) tem de obedecer ocupar uma regio limitada de , isto , xc(t) tem de ser um sinal com espectro (transformada de Fourier) de banda limitada. Outra condio a frequncia angular de amostragem 2/T ser tal que as contribuies das diferentes parcelas de X(ej) no se sobreponham, isto , 2/T > 2M, em que M a frequncia limite superior de banda do sinal, em radianos por segundo. Um sinal contnuo com espectro de banda limitada ao intervalo [-M , M] deve ser amostrado a uma frequncia angular igual ou superior a 2M, para ser possvel a sua reconstruo exacta a partir do sinal discreto resultante.
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(ej). 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
d d m
30
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
o f g m
1998 F. J. Restivo
1 2
1 2
31
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 0 1 2 3
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 0 1 2 3
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
Xc(j) =
1998 F. J. Restivo
d m
32
/ T n = -
x(n)e- jTn e jt d =
n = -
x(n)
T 2
/T
/ T
j( t nT )
x c (t) =
n = -
x(n)
+ /T T 1 (t - nT ) e j ( t nT ) / T = x(n)sinc( ) . 2 j( t nT) T n = -
obtem-se um sinal de banda limitada nas condies pretendidas. Realmente, cada componente x(n)sinc((t-nT)/T) de banda limitada, e toma o valor zero em todos os pontos de amostragem, excepto no ponto t = n, onde toma o valor x(n), como se mostra no exemplo seguinte.
2 1 0 0
O resultado
10
2 1 0 0 2 4 6 8 10
1998 F. J. Restivo
33
x(n) =
nT
nT
x c (t)dt
que se pode exprimir como a amostragem ideal da convoluo xc(t) (u(t) - u(t-))/ , ou seja, do sinal contnuo xc(t) filtrado por um filtro passa baixo com resposta impulsional h(t) = (u(t) - u(t-))/ . A resposta em frequncia respectiva H(j) = sinc(/2)e-0.5j e, como seria de esperar, quanto menor for , maior a largura de banda do filtro e mais prxima da ideal esta amostragem real.
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.
n = -
x(n)sinc(
(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 x c (t) =
+
n = -
x(n)(t - nT)
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
p q p
34
X c (j) =
n = -
x(n)(j)e- jnT
= (j)X(e jT ) ,
em que (j) a transformada de Fourier de (t). Comparando esta expresso com a expresso da reconstruo ideal Xc(j) = TX(ejT), se -/T < < /T 0, se no , pode dizer-se que Xc(j) se obtem de X(ej), no atravs de um filtro passa-baixo ideal, cujo efeito eliminar as bandas de X(ej) 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,
10
10
1998 F. J. Restivo
35
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(ej) 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 . A transformada de Fourier de x0(n) evidentemente X0(ej) = X(ejM) , isto , a transformada de Fourier X(ej) como que comprimida no intervalo [-/M, /M] e depois repetida periodicamente com perodo 2/M Se se notar, a partir da expresso
o m
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
+2
d m
36
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
0
=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 1 ... M-1 h(0) h(1) ... h(M-1) h(M) h(M+1) ... h(2M-1) ... ... ... ... h(L-M) h(L-M+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
37
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(ej) 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
e e m
e e m
1998 F. J. Restivo
1 2
1 2
38
A decimao ser uma operao reversvel, isto , realizada sem perda de informao, se X(ej) 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
39
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
e
A condio de convergncia necessria existncia da transformada de Fourier demasiado exigente, da resultando que muitos sinais com interesse prtico no tm transformada de Fourier. A transformada em z, X(z), de um sinal discreto x(n) uma funo complexa da varivel complexa z C, e define-se como
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
=0
na regio do plano z |z| > 1 , condio em que este somatrio converge. A condio de convergncia necessria existncia da transformada em z menos exigente que a condio de convergncia necessria convergncia da transformada de Fourier.
1998 F. J. Restivo
1 1 1
1 2
d m m m
40
=
x
=1
que s difere da anterior na regio de convergncia! Em certas situaes, a regio de convergncia da transformada em z de um sinal discreto pode ser determinada muito facilmente. A regio de convergncia da transformada em z de um sinal discreto de comprimento finito, isto , tal que n < n1 ou n > n2 x(n) = 0 , todo o plano z, excepto z = 0 , se n2 > 0 , uma vez que neste caso
contem parcelas com potncias negativas de z, e / ou |z| = , se n1 < 0 , j que neste caso X(z) contem parcelas com potncias positivas de z. Se o sinal discreto for de comprimento infinito mas tal que n < n1 x(n) = 0 , sempre possvel encontrar um valor Rc suficientemente grande que garanta que exista
o
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
1
x
<
=0
m m m m
1 1
>
<1
41
Similarmente, se o sinal discreto for de comprimento infinito mas tal que n > n2 x(n) = 0 , sempre possvel encontrar um valor Rc suficientemente pequeno que garanta que exista
o
e ento a regio de convergncia da transformada em z de um sinal discreto nestas condies o interior de um crculo centrado na origem do plano z e com raio 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
42
Se a circunferncia de raio unitrio e centrada na origem do plano z z = ej , - < pertencer regio de convergncia de X(z), ento a transformada de Fourier de x(n) pode obter-se de X(z) atravs de
v q p
=
q
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(ej) 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.
A transformada em z do sinal discreto x(n) multiplicado por an, anx(n), anx(n) X(z/a) , com regio de convergncia de raio aRc. A transformada em z do sinal discreto x(-n) x(-n) X(z-1) , com regio de convergncia de raio Rc .
-1
~
~
1998 F. J. Restivo
p }
43
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.
avaliao de X(z) quer em mdulo quer em fase, muito utilizado por exemplo quando se pretende uma ideia aproximada do andamento da transformada de Fourier X(ej) de x(n). Interpretando z = ej como um ponto mvel z que se desloca ao longo da circunferncia unitria do plano z,
1998 F. J. Restivo
e se notarmos que
~
} } m
= X(z)H(z) ,
44
e
q p q
Exemplo Em MATLAB, a instruo zplane localiza imediatamente os zeros e polos de uma funo X(z). Por exemplo, para localizar no plano z os zeros e os polos de + +
{
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 -1 -0.5 0 0.5 1
1998 F. J. Restivo
p p d m m
45
, causal ,
a diviso segundo as potncias decrescentes de z conduz ao resultado pretendido 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 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. -az-1+1 -a-1z - a-2z2 - a-3z3 - ... 1 - az-1 1 + az-1 + a2z-2 + a3z-3 +...
1998 F. J. Restivo
>
<
46
, 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
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,
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 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
1998 F. J. Restivo
<
>
{
h h
0.25
< ,
].
47
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
=
x
Num polo a com multiplicidade m, o resduo dado por uma expresso um pouco mais complexa
1
x l
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,
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
1998 F. J. Restivo
, estvel .
1 1
1 2
g
0 2
48
com polos em 0.5 e 4, e em que Cp o novo contorno de integrao. O novo contorno de integrao, que est situado necessariamente no interior da nova regio de convergncia 0.5 < |p| < 4 , apresenta apenas o polo em 0.5 no seu interior, mas passa a ser percorrido em sentido retrgrado, pelo que ao aplicar a regra dos resduos necessario trocar o sinal ao resultado, obtendo-se
].
Este integral na realidade uma convoluo! A varivel de integrao v desempenha um papel equivalente ao da varivel k na expresso da convoluo
~
A transformada de Fourier do produto de dois sinais discretos x(n) e w(n) , por sua vez,
m
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
j i e e m
expresso que evidencia claramente uma convoluo, com a imagem geomtrica que geralmente lhe est associada.
1998 F. J. Restivo
49
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 ha(n) = h(n)[u(n+n0) - u(n-n0-1)] . Exemplo Os sinais discretos x(n) = 2-nu(n) e w(n) = 3-nu(n) tem transformada em z respectivamente
>
>
Este resultado pode ser naturalmente obtido atravs da propriedade da convoluo complexa, calculando no plano v o integral
com o contorno C satisfazendo as condies impostas pelas regies de convergncia de X(z) e W(z), isto ,
<
<
>
que ser a regio de convergncia da transformada em z de x(n)w(n). O integral pode ser calculado pelo mtodo dos resduos, para o que se torna necessrio determinar os polos da funo integranda
que so 1/2 e 3z. Como apenas o polo 1/2 se encontra no interior do contorno C, o resduo nesse polo,
1998 F. J. Restivo
>
>
{ m
50
a transformada em z procurada. 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
51
Quando se amostra um sinal contnuo xc(t), x(n) = xc(nt) , nN sabemos que esta amostragem apenas representa o sinal contnuo se a sua transformada de Fourier Xc(j) for de banda limitada a um intervalo de largura igual ou inferior a 2/t.
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
o m
52
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.
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)
No domnio dos tempos, exxiste 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
k m k
53
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
A situao dual desta pode ser encontrada na transformada de Fourier de um sinal discreto, anteriormente estudada,
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 sinal contnuo
1998 F. J. Restivo
d o m
54
x p (t) =
k =
Ck e j T kt
so assim expresses intimamente ligadas, podendo em certas condies relacionar-se os respectivos componentes Ck e x(n).
amostragem sinal discreto sinal contnuo sinal contnuo de durao limitada sinal contnuo peridico
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
e
1998 F. J. Restivo
d m
55
isto , a menos do factor 1/T, uma amostragem de Xp(j) em N pontos igualmente espaados de =2/T
e m
=
e
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
N-1
z e
~
em que x(n) um sinal discreto de comprimento limitado, isto , tal que n < 0 ou n > N-1 x(n) = 0 , verifica-se que a transformada em z de xp(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
~
~
=
g
k m k k m m
, k = 0 .. N-1
N-1
56
-1
Como
z 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
z m
sendo til notar que Xp(k+N) = Xp(k) , isto , que Xp(k) um sinal discreto peridico, com perodo N.
z
como se pode verificar substituindo nesta expresso X(k) pelo valor dado na expresso anterior
z z
1998 F. J. Restivo
| { ~
| { ~ z
A relao inversa
e { z
| ~
e { i z e z d d m m m
57
k= 0
N-1
j2(n-r)k N
0 , se r n N , se r = n .
Normalmente, as expresses anteriores escrevem-se de uma forma mais compacta, introduzindo a notao WN = e
j 2 N
= cos
2 2 j sin N N
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
~
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
X(k) = [4, 0, 0, 0] que uma amostragem da transformada de Fourier X(ej) = (2cos(/2) + 2cos(3/2))e-3j/2 do sinal discreto dado, nos pontos
k =
, k = 0 .. 3 .
1998 F. J. Restivo
| ~
| ~
| z ~
{ z m m
58
4 3 2 1 0 0 1 2 3 4 5 6
k = obteriamos
, k = 0 .. 2
=1 =1
-j2
4 3 2 1 0 0 1 2 3 4 5 6
e, calculando a transformada de Fourier discreta inversa (iDFT) com comprimento 3, x(0) = (4 + 1 + 1) / 3 = 2 x(1) = (4 + W3 + W32) / 3 = (4 - 1/2 - 3/2j - 1/2 +3/2j) / 3 = 1 x(2) = (4 + W32 + W34) / 3 = 1 , o que demonstra o fenmeno do aliasing. Na realidade, o sinal discreto original [1, 1, 1, 1]
x(n) 0 1 2 3 4 5
x(n) 0 1 2 3 4 5
1998 F. J. Restivo
59
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 0 1 2 3 4 5 6
x(n) 0 1 2 3 4 5
x((n-1))
em que o elemento x(N-1) aps o deslocamento surge ocupando a posio de x(0). A DFT tem a propriedade da convoluo circular ou peridica, isto , o produto de duas DFT de comprimento N a convoluo circular ou peridica dos respectivos sinais discretos originais, entendida como um perodo da convoluo de um deles por um perodo do outro. Enquanto que na convoluo linear
1998 F. J. Restivo
60
h(n)
x(n) 0 1 2 3 4 5
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 WN-nmx(n) ,
1998 F. J. Restivo
61
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 1 2 3 4 5
x(n) 0 1 2 3 4 5
mpar, deste ponto de vista. No caso geral, um sinal de comprimento N par se x(n) = x(N-n) e mpar se x(n) = -x(N-n).
-k
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
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
{ z
N 1 k =0
1 W
X( k )
k 1 N
62
conclui-se que o sistema correspondente pode ser implementado pela associao em srie de um sistema com funo de transferncia =
z
H1 Hp Hk +
H N-1
com um sistema constitudo pela associao em paralelo de N sistemas com funo de transferncia
H k ( z) =
H(k) 1 e
j 2 k N z 1
, k = 0 .. N 1.
1998 F. J. Restivo
{ z h h
63
Como cada convoluo parcial tem comprimento N-M+1+M-1 = N , os resultados parciais sobrepem-se dois a dois em M-1 pontos, com o efeito de os resultados relativos aos ltimos pontos de um segmento terem de aguardar pelos resultados relativos ao segmento seguinte para se realizar a adio.
1998 F. J. Restivo
64
A realizao da convoluo linear utilizando a DFT tem interesse porque existem algoritmos extremamente eficientes para o clculo desta transformada.
1998 F. J. Restivo
65
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(k) + WN H(k) , em que G(k) e H(k) so as DFT de comprimento N/2 de g(n) e h(n), respectivamente. Atendendo periodicidade de G(k) e de H(k), X(k+N/2) = G(k) - WN H(k) , 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
k
G(k)
H(k) W
n k
Por exemplo, se N=1024, o clculo directo da DFT requere 1024*1024 multiplicaes 1024*1023 adies enquanto que o clculo pelo mtodo descrito requere 2*512*512+512 multiplicaes 2*512*511+2*512 adies. 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
1998 F. J. Restivo
| ~
{ | ~
z { z
z m m
X(k)
X(k+N/2) -1
66
1998 F. J. Restivo
67
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 log2N 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 X(k) = G(k) + WN H(k) X(k+N/2) = G(k) - WN H(k) e que se podem representar no caso geral por um grfico de fluncia com forma que lembra uma borboleta ...
k k
X (p) n
X (p) n+1
X (q) n
r W N
-1
X (q) n+1
A estrutura do algoritmo aponta para a sua realizao andar a andar, num total de log2N 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
68
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 1 0 1 0 1 1 1 1 1 +1 1 1 0 1 1 0 0 0 0 0 (864) (863)
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". 1 -512 0 1 -256 0 1 -128 0 1 -64 0 1 -32 0 0 +16 1 1 0 1 1 (27) 1 0 1 1 (1003)
1998 F. J. Restivo
69
Os ndices necessrios ao clculo de uma borboleta so trs, dois relativos aos dois elementos que intervm 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. 10 n.but. 512 mult./but. 1 ad./but. 2 tot.mult. 5120 tot.ad. 10240
r
=
z
podem ser calculados como a DFT G(k) do sinal discreto com comprimento N/2
1998 F. J. Restivo
| ~
| ~
+
z
{ | ~
{ | ~ z
| ~ z
{ z z m m m m m
70
podem ser calculados como a DFT H(k) do sinal discreto com comprimento N/2
z
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
3 W8
h(3)
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 log2N andares e de N/2 butterflies por andar, cada uma das quais do tipo
X (p) n
X (p) n+1
X (q) n
-1
r N
X (q) n+1
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.
1998 F. J. Restivo
H(3)
X(7)
+
z
z {
z m m
71
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
f
donde resulta a butterfly raiz 4, decimao no tempo, X(k) = X0(k) + WN X1(k) + WN X2(k) + WN X3(k) X(k+N/4) = X0(k) - jWN X1(k) - WN X2(k) + jWN X3(k) X(k+2N/4) = X0(k) - WN X1(k) + WN X2(k) - WN X3(k) X(k+3N/4) = X0(k) + jWN X1(k) - WN X2(k) - jWN X3(k) que se calcula com 3 multiplicaes e 12 "adies" complexas (com as multiplicaes por j imbudas nas adies).
k 2k 3k k 2k 3k k 2k 3k k 2k 3k
1998 F. J. Restivo
W1 N
W2 N j -1 W3 N
f { z
m m m
-j -1 j -1 -1
-j
72
mult./but. 1 3
ad./but. 2 12
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.
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),
{ h z | h z
| h
+
{ h
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
{ h z
W H (k) 0 W H (k) 1
1998 F. J. Restivo
G(k)
k N -1 3k N -1 j -1
z {
z {
z h h z z m m m m m
73
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
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. raiz 2 raiz 4 raiz dupla 12 2+4 3+3 mult./but. 1 3/1 2/1 ad./but. 2 12/2 6/2 tot.mult. 12 10 9 tot.ad. 24 32 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 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
1998 F. J. Restivo
y l
74
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. raiz 2 raiz 4 raiz dupla 5120 1280 1593+341
(a)
mult./but. 1 3 2/0(a)
ad./but. 2 12 6/2
so DFT de comprimento 2
-1
-1
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
m g m g
[
m
]=
N -1DFT[X I (k) + jX R (k )] = jN 1(
1998 F. J. Restivo
N 1 k =0
X(k )WNnk ) *
=
{
{ z { { { {
75
Este ltimo mtodo particularmente interessante quando a entrada e a sada das partes real e imaginria dos dados e resultados se faz separadamente. Basta utilizar o programa de clculo da DFT com os coeficientes X(k) com as suas partes real e imaginria trocadas, dividir os resultados obtidos por N, e trocar as suas partes real e imaginria.
+
m
+
g
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 complexo, 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 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
+
g
e recuperar X(k) como se se tratasse do ltimo andar do algoritmo C&T que estudamos X(k) = G(k) + WN H(k) X(k+N/2) = G(k) - WN H(k) . O clculo da DFT de dois sinais reais de comprimento N, pelo primeiro mtodo, requere, para alm do clculo de uma DFT de comprimento N, 4N adies e 2N multiplicaes por 1/2. O clculo da DFT de um sinal real de comprimento N, pelo segundo mtodo, requere, para alm do clculo de uma DFT de comprimento N/2, 4xN/2 adies e 2xN/2 multiplicaes por 1/2, e ainda N/2 borboletas.
k k
1998 F. J. Restivo
[
m
m m
{ h h
]=
76
Em ambos os casos, poder-se-ia ainda tirar partido de certas simetrias dos resultados. Comparando, para N=1024, e em termos de operaes reais tot.mult. 1 mt. 2 mt. (5120x4+2x1024)/2=11264 2304x4+2x512+256x4=11264 tot.ad. (10240x2+5120x2+4x1024)/2=17408 4608x2+2304x2+4x256+256x2=15360
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 |W0| maior ou menor que um (pode ser um arco da circunferencia unitria, por exemplo). Substituindo em X (z) = obtem-se X (z k ) =
N 1 n =0 N 1 n =0
x (n )z n x (n)(AW k ) n
2 2 2
x (n )A
n2 W 2
(n k )2 2
k2 W 2
que podemos interpretar como um conjunto de trs operaes sucessivas multiplicao termo a termo de x(n) por A
n n2 W2
1998 F. J. Restivo
77
f (n ) = A
n2 W 2
x (n ) ,
n2 2
k =0
N-1
g(k) =
k =0
e finalmente multiplicao termo a termo do resultado obtido g(k) por figura a seguir, em que h (n ) = W
n2 2
k2 W2
, como se ilustra na
A -n h(n)
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. 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 f(n) 0
aliasing
M-1
N-1 f(n)*h(n)
-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).
1998 F. J. Restivo
78
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
j 2 k N
, k = 0 .. N-1 .
1998 F. J. Restivo
79
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 ) =
N 1 n =0
h (k ) x (n k )
no tm contrapartida no mundo analgico, na medida em que implementam directamente um sistema discreto a partir da sua resposta impulsional h(n), finita. Estes filtros podem ser realizados com fase exactamente linear, correspondente a um atraso fixo da sada relativamente entrada, permitindo que no seu projecto a ateno do projectista se concentre na resposta em amplitude, e, alm disso, so garantidamente estveis quando implementados no recursivamente. Os filtros digitais do tipo FIR so tambm muito usados na realizao de sistemas adaptativos. Os filtros digitais do tipo IIR y( n ) =
N 1 k =1 N 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.
1998 F. J. Restivo
80
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 Simetria + Simetria Tipo I Tipo III Comprimento par Tipo II Tipo IV
6.2.1.1 Tipo I.
Quando a simetria positiva e N mpar, H ( e j ) =
N 1 n =0
h(n )e jn
N 1 2 N 1 1 2 n =0
N 1 )e 2
h (n )(e jn + e j( 1n ) )
H (e com
) = A ()e
A () = h (
N 1 N 1 n )) )+2 h (n ) cos(( 2 2 n =0
N 1 1 2
a (n ) cos(n )e
N 1 2
a(n) = 2h(
isto , a amplitude da resposta em frequncia uma soma de cossenos, com termo contnuo.
h (n)(e jn + e j( 1n) )
1998 F. J. Restivo
81
e ento H (e com
N 1 2 n =0 j
) = A()e
- j
N-1 2
A () = 2
h (n) cos((
N 2
N 1 n )) 2
H (e com
N 1
N N - n) , se 1 n . 2 2
= H(e ) = 0 , pelo que este tipo de filtro FIR no pode ser utilizado como passa alto, por exemplo.
N 1 )=0 , 2
H (e com
) = jB()e
B() = 2
N 1 1 2 n =0
h(n )sen((
N 1 2 n =1
N 1 n )) 2
H (e com
)=
N 1 j( ) 2 2 c(n )sen (n )e
N -1 N -1 - n) , se 1 n . 2 2
82
pelo que este tipo de filtro FIR adequado para a realizao de diferenciadores digitais ou de filtros de Hilbert.
) = jB()e
B() = 2
h(n )sen ((
N 2
N 1 n )) 2
H (e com
N 1
N N - n) , se 1 n . 2 2
= 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, zk1 tambm o . Na realidade, se
N 1 n =0
h (n )z k n = 0
N 1 n =0
ento
h ( N 1 n )z k n = 0
h(n )z k ( N1n ) = 0
1998 F. J. Restivo
83
z N +1
N 1 n =0
h (n )z k n = 0
.
-1
Os zeros de um filtro do tipo FIR com fase linear ocorrem normalmente em grupos de quatro, zk, zk*, zk e zk* , que podem ser de dois ou de um em certos casos particulares.
-1
z*
k
-1
k k
z* 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.
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 w(n) = 0 , ou n > 2 2
isto , tal que h(n) = w(n)hd(n) tem comprimento finito. A resposta em frequncia H(ej) do sistema resultante dada pela convoluo da transformada de Fourier de w(n) com Hd(ej) H(ej) = W(e j)*Hd(e j) .
1998 F. J. Restivo
84
tem o inconveniente de introduzir um grande overshoot nas descontinuidades de Hd(e ), problema geralmente conhecido como fenmeno de Gibbs, usando-se normalmente outras janelas, tais como a janela de Hanning w N (n) = (0.5 + 0.5cos( a janela de Hamming w M (n) = (0.54 + 0.46cos( 2n ))w R (n ) , N -1 2n )) w R (n ) , N -1
as janelas de Kaiser, de Dolph-Chebyshev, de Blackman, etc.. Eventualmente, pode ainda ser necessrio tornar o sistema resultante causal, o que se pode realizar atravs da N 1 introduo de um atraso . 2
e j n =
n =
N 1 2
1 e j N j 2 e 1 e j
N 1
H R (e
N ) 2 )= sen ( ) 2 sen (
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
85
) = W R (e
j( ) j(+ ) 1 N 1 ) + W (e N 1 )) )+ ( WR ( e R 2
Representa-se a seguir a transformada de Fourier da janela de Hamming para N = 21 (neste caso, = 0.54).
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.
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 rectang Hanning Hamming Blackman max lobo lateral -13 dB -31 dB -41 dB -57 dB transio 0.9 2/N 3.1 2/N 3.3 2/N 5.5 2/N max ripple band bloq -21 dB -44 dB -53 dB -74 dB
1998 F. J. Restivo
86
satisfaz a essa amostragem, e pode ser realizada pela associao em srie de um filtro digital do tipo FIR H p (z) = com N zeros em zk = WN , k = 0 .. N-1 , com N filtros digitais do tipo IIR, dispostos em paralelo, H k (z) = H(k ) 1 e
j 2 k z 1 -k
1 z N N
, k = 0 .. N - 1 ,
cada um dos quais com um polo em WN . O filtro digital resultante do tipo FIR, como resultado do cancelamento destes polos pelos zeros do primeiro elemento. O sistema Hp, filtro em pente, caracteriza-se por apresentar N zeros igualmente espaados sobre a circunferncia unitria do plano z. Para N=32, por exemplo, a sua resposta em frequncia
0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 0 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120
-k
/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 (z) + H N k (z) = 1 H k (z) + H N k (z) = H (k )
2 j k e N z 1
+ 1
H (k )
2 j ( N k ) e N z 1
2 k )z 1 N . 2 1 2 1 2 cos( k )z + z N
1998 F. J. Restivo
87
/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 1 r N z N N H(k ) 1 re
j 2 k N z 1
, k = 0,.., N 1 .
2 k )z 1 N H k (z) + H Nk (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 x a ( t ) = sin( 2.50 t ) + 0.5 sin( 2.150t ) . Utilizando um filtro de comprimento 32, com H(k) = 0, excepto H(0) = H(1) = H(2) = H(30) = H(31) = 1, obter-se- o efeito desejado. O sinal de entrada amostrado a 1600 Hz
1998 F. J. Restivo
88
1.5
0.5
0 0 -0.5 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240
-1
-1.5
e os filtros H0, H1+H31 e H2+H30 so implementados respectivamente pelas equaes y 0 (n ) = v(n ) + ry 0 (n 1) y1 (n ) = 2 v(n ) 2r cos( ) v(n 1) + 2r cos( ) y1 (n 1) r 2 y1 (n 2) 16 16
y 2 (n ) = 2 v(n ) 2r cos( ) v(n 1) + 2r cos( ) y 2 (n 1) r 2 y 2 (n 2) 8 8 sendo finalmente y(n) = y0(n) + y1(n) + y2(n). Calculando, com N=32 e r=0.999, obtem-se
1.5
0.5
0 0 -0.5 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240
-1
-1.5
H aqui evidentemente um fenmeno transitrio e verifica-se tambm o efeito do comprimento do filtro na descontinuidade para n=32. Outro problema srio associado a este mtodo consiste em controlar o andamento da funo de transferncia entre os pontos de amostragem. Na prtica, usual, por exemplo no projecto de um filtro passa baixo, no usar apenas amostras nas bandas de passagem e de bloqueio
1998 F. J. Restivo
89
0
mas definir tambm amostras na banda de transio
1 0.5 0 2
de modo a obrigar a funo de transferncia resultante a passar por esses pontos. Os valores destas amostras intermdias normalmente determinado atravs de um critrio de optimizao adequado.
1998 F. J. Restivo
90
H (e j ) =
r = -
Ha (
A
j( + 2r) ) T
Quando a funo de transferncia do filtro analgico apresenta apenas polos simples H s (s) =
N 1 k =0 k s sk
1 e s k z 1 T
k
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 sk + 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
91
e pode facilmente observar-se que ao eixo j do plano s corresponde a circunferncia unitria do plano z
j2arctg (
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
no linear e tem de ser tomada em conta ao projectar-se o filtro analgico de partida. 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 0 2 4 6 8
1998 F. J. Restivo
92
H ( z) =
0.1 1 e 0.1 z 1
O efeito do aliasing visvel, para esta largura de banda. Utilizando o mtodo da transformao bilinear, necessrio em primeiro lugar determinar a frequncia de corte c do filtro analgico a que depois da transformao corresponder a frequncia de corte do filtro digital c = 0.1 , c = 2 c = 6335.4 rads -1 , tg T 2
-1
ligeiramente superior frequncia de corte 2000 rads utilizada anteriormente. Assim, como H a (s) = 6335.4 , s + 6335.4
y(n) = 0.137x(n) + 0.137x(n-1) + 0.727y(n-1) , cuja amplitude da resposta em frequncia se representa graficamente a seguir
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
93
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.
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 c e
j(
2 ) +k 2N 2N
, k = 0 .. 2 N - 1
e retendo as solues situadas no semi-plano esquerdo do plano s (N polos). A funo de transferncia dos filtros de Butterworth do tipo H a (s ) = 1 s s N 1 + a1 + ... + a N ( ) j c j c
1998 F. J. Restivo
94
a2
a3
a4
a5
a6
a7
a8
1 2 3.414 5.236 7.464 10.103 13.138 1 2.613 5.236 9.141 14.606 21.848 1 3.236 7.464 14.606 25.691 1 3.864 10.103 21.848 1 4.494 13.138 1 5.126 1
Os parmetros c e N determinam-se em primeira aproximao pelos dados relativos ao limite superior da banda de passagem e ao limite inferior da banda de rejeio, expressos em termos da frequncia analgica.
1998 F. J. Restivo
95
|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 + 2 TN 2 ( ) c ,
Os filtros de Chebyshev do tipo II apresentam ripple na banda de bloqueio, e tm amplitude da resposta em frequncia | H a ( j) | 2 = 1 TN 2 ( 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 |Ha(j0.3T-1)|2 = 10-4
1998 F. J. Restivo
96
sistema de equaes que se pode escrever (0.1T-1/c)2N = 0.0715 (0.3T-1/c)2N = 9999 donde N = 5.39 c = 0.401T-1 . A ordem mnima do filtro de Butterworth que satisfaz as especificaes N=6, o que permite uma certa margem de manobra relativamente a c, que pode variar entre um valor calculado a partir da primeira das duas equaes anteriores, satisfazendo justa a especificao na banda de passagem, e um valor calculado a partir da segunda dessas equaes, satisfazendo justa a especificao na banda de bloqueio c 0.391T
-1 -1
c 0.437T . Depender agora do mtodo utilizado e do critrio do projectista a fixao de c. Deixamos por aqui este exemplo. Recomenda-se a leitura da referncia [3] para o estudo detalhado de um problema semelhante a este. Note-se que no necessrio conhecer T para projectar completamente o filtro, pois, ao realizar a passagem ao domnio discreto, T intervem novamente, de modo tal que deixa de estar presente no resultado final.
1998 F. J. Restivo
97
| H(e j ) | 2 = | H ( e j ) | 2 = | H ( e j ) | 2 =
(cos a 1 cos ) 2 + (sen a 1sen) 2 (cos a cos ) 2 + (sen asen) 2 1 + a 2 2a 1 cos cos 2a 1sensen 1 + a 2 2a cos cos 2asensen 1 a2 .
Um estudo grfico simples teria permitido chegar mais rapidamente a esta concluso,
e j 1
-1 * || (e j * -1 )
z
pois, como ressalta da figura, | e j |=| | . | e j *1 | . 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 .
j
e j
-1 z
1998 F. J. Restivo
98
arg(H(e j )) = arctg
sen cos 1
arctg
sen cos
[ [
)) =
] ]
cos 1+
tg arg(H (e
)) =
1 )(cos ) + sen 2
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
1998 F. J. Restivo
99
G(Z-1) deve ser uma funo racional de Z-1 (ou de Z), a mudana de varivel deve mapear o interior da circunferncia unitria do plano z no interior da circunferncia unitria do plano Z, |G(Z-1)|=1. Os sistemas discretos do tipo passa-tudo H (z) = z *1 z *1 = z 1 z Z 1 *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.
1998 F. J. Restivo
100
2k 1 k 1 Z + k +1 k +1 = k 1 2 2k 1 Z Z +1 k +1 k +1 Z 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.
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
101
a(n)
a(n)+b(n) b(n)
a(n)
k.a(n)
a(n)
Exemplo Consideremos o sistema discreto recursivo
z-1
a(n-1)
y(n) = x(n) + A1x(n-1) + A2x(n-2) + B1y(n-1) + B2y(n-2) . O grfico a seguir representa de uma maneira intuitiva o seu funcionamento.
y(n)
1998 F. J. Restivo
102
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)
v-se imediatamente que possvel implementar o algoritmo com apenas dois atrasos, em vez dos quatro iniciais.
y(n)
A1
A2
1998 F. J. Restivo
{ z
103
Os filtros do tipo FIR so muito usados na implementao de sistemas de fase linear. Neste caso, h(n) = h(N-1-n), n = 0 .. N-1 e esta simetria pode ser explorada na realizao do filtro, reduzindo a metade o nmero de multiplicaes, quer quando o comprimento N mpar
x(n)
z-1
z-1
z-1
z-1
z-1
z-1
h(0)
h(1)
h(2)
h( N-1) 2
y(n)
x(n)
z-1
z-1
z-1
h(0)
h(1)
h(2)
h( N-1) 2
y(n)
1998 F. J. Restivo
104
pode ser implementado por uma estrutura que a generalizao da do exemplo anterior, e que conhecida por forma directa 2 ou por forma cannica.
=
q
=
q
= +
1998 F. J. Restivo
+
{
{ z p p u u h h
y(n)
105
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
= +
p
= + + +
{ {