Você está na página 1de 106

Francisco Jos de Oliveira Restivo Professor Associado Departamento de Engenharia Electrotcnica e de Computadores Faculdade de Engenharia da Universidade do Porto

Processamento Digital de Sinal


Tpicos Ano Lectivo 1998/99

Dezembro de 1998

Processamento Digital de Sinal

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 7 7 8 8 9 11 11 11 14 15 15 15 15 16 17 18 19 21 23 23 23 24 26 27 27 30 30

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

1998 F. J. Restivo

Processamento Digital de Sinal

3.2.1 Uma explicao simples 3.3 3.4 3.5 3.6 3.7 3.8 4. Reconstruo de um Sinal Amostrado Amostragem Real Reconstruo Real Interpolao Decimao Converso Fraccionria da Frequncia de Amostragem

30 32 33 34 36 38 39 40 40 41 43 43 43 44 44 44 46 46 46 47 49 52 52 52 53 56 57 60 62 63 63 65 65 66 70 72 73 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 Transformada de Fourier Discreta Inversa

1998 F. J. Restivo

Processamento Digital de Sinal

5.9 5.10 6.

Transformada de Fourier Discreta de Sinais Reais CZT - Chirp Z Transform.

76 77 80 80 80 81 83 84 90 90 92 97 97 99 102 102 103 103 105 105 105 106

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

Processamento Digital de Sinal

1. Processamento Digital de Sinal


1.1 Sinais
Toda a nossa vida se baseia em sinais, que so medidos, processados, analisados, e do origem a decises. O som, a temperatura e a luz so exemplos de sinais que utilizamos no dia a dia. Os ouvidos convertem o som em sinais elctricos, que chegam ao crebro, e este capaz de analisar algumas das suas propriedades, tais como amplitude, frequncia e fase, determinar a direco em que se encontra a fonte de som, e reconhec-lo, como msica, fala, o rudo de um automvel, etc.. Os nervos colocados nas partes expostas da pele sentem a temperatura e enviam para o crebro sinais elctricos, que podem originar decises tais como ligar um aquecedor, abrir uma janela, etc.. Os olhos focam as imagens na retina, que converte essas imagens em sinais elctricos e os envia para o crebro, que, pela anlise da cor, da forma, da intensidade, etc., da luz capaz de reconhecer objectos, medir distncias, detectar o movimento, etc.. Um sistema de controlo baseia-se nestes mesmos princpios: um sinal representativo da grandeza a controlar comparado com uma referncia e o sinal de erro processado pelo controlador para determinar a aco correctiva adequada

Controlador

Sistema

1.2 Sinais Contnuos e Discretos


Nos sistemas contnuos, os sinais de entrada e de sada so sinais contnuos, funes de uma varivel contnua, normalmente o tempo, t. Em certas condies, um sinal contnuo x c (t) pode ser representado univocamente por um sinal em tempo discreto, ou simplesmente, sinal discreto, x(n), uma funo de uma varivel discreta, n. O teorema da amostragem estabelece essas condies para o caso da amostragem peridica x(n) = xc (n T), em que T o perodo de amostragem.

1.3 Sistemas Contnuos e Discretos


Se os sinais contnuos entrada e sada de um sistema contnuo Hc podem ser representados por sinais discretos, ento o funcionamento do sistema contnuo Hc poder tambm ser representado por um conjunto de relaes entre entre esses sinais discretos, ou seja, por um sistema discreto H. Enquanto que a relao entrada/sada de um sistema contnuo (unidimensional) normalmente um equao diferencial, num sistema discreto essa relao normalmente uma equao s diferenas, o que facilita substancialmente o clculo da resposta do sistema a uma dada entrada.

1998 F. J. Restivo

Processamento Digital de Sinal

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 MATLA B, 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

Processamento Digital de Sinal

1.4 Processamento Digital de Sinal


Os fantsticos desenvolvimentos que nos ltimos anos se verificaram na microelectrnica, tornaram possvel pr em prtica esta ideia de uma forma efectiva, e esto na origem do Processamento Digital de Sinal (PDS), disciplina que hoje ocupa um papel preponderante nas telecomunicaes, no controlo, na instrumentao, na engenharia biomdica, etc.. 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.

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).

1.5 Breve Histria do PDS


Os modelos matemticos bsicos dos sinais e sistemas contnuos remontam ao sculo XIX, com as transformadas de Laplace e de Fourier. Jean Baptiste Joseph Fourier nasceu em Auxerre, Frana, em 1768 e morreu em Paris em 1830. Um dos maiores matemticos de todos os tempos, estudou a teoria matemtica da conduo do calor, tendo estabelecido, no monumental tratado Thorie Analytique de la Chaleur, que publicou em 1822, a equao s derivadas parciais que governa o fenmeno e obtido a sua soluo usando o desenvolvimentos em srie das funes trigonomtricas. Os seus trabalhos contribuiram para muitas reas da matemtica, cincia e engenharia. Pierre Simon, Marqus de Laplace, o maior astrnomo terico depois de Newton, nascido vinte anos antes de Fourier, aplicou os seus conhecimentos matemticos ao estudo dos movimentos planetrios, dando origem hoje designada transformada de Laplace, que cedo encontrou aplicao em muitas outras reas cientficas. Tambm De Moivre, que em 1730 introduziu a hoje chamada transformada em z, deve ser creditado como um dos precursores do Processamento Digital de Sinal. No entanto, ao advento dos computadores digitais, verificado nos anos 40, que se deve o nascimento do PDS como disciplina. Nos anos 50, engenheiros e cientistas como Shannon e Bode nos Bell Telephone Laboratories e Linville no MIT foram certamente dos primeiros a equacionar a utilizao de computadores de sinal em processamento de sinal.

1998 F. J. Restivo

Processamento Digital de Sinal

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.

1.6 Vantagens do PDS


Utilizar um conversor AD, um microprocessador, e um conversor DA para a realizao discreta de um sistema equivalente a um filtro passa baixo do tipo RC elementar, no ser, em princpio, vantajoso do ponto de vista econmico, embora se pudesse conceber uma situao em fosse interessante, por exemplo, tirando partido do facto da soluo discreta ser programvel. Esta poderia mesmo no ser possvel, se a frequncia de amostragem requerida excedesse os limites da tecnologia dos conversores AD e DA. Frequncia de amostragem e custo, constituem as duas grandes limitaes utilizao do PDS. As solues discretas tm, no restante, grandes vantagens sobre as solues contnuas, pois so normalmente programveis, so fiveis, repetitivas e resistentes ao envelhecimento, permitem controlar com mais rigor a preciso dos resultados, etc., e so preferidas numa grande gama de aplicaes. Outras vantagens das solues discretas resultam da facilidade em resolver os problemas de instabilidade, de implementao de algoritmos adaptativos, de utilizao de cdigos de deteco e correco de erros, de transmisso e armazenamento e compresso de dados.

1.7 Microprocessadores de Sinal


Todos os grandes fabricantes de microelectrnica oferecem hoje microprocessadores de sinal (e de imagem, que um sinal bidimensional), adaptados aos algoritmos mais utilizados em PDS: convoluo, transformada de Fourier discreta, etc.. Nos primeiros dois anos dos anos 80, surgiram no mercado quatro microprocessadores de sinal, sendo normalmente aceite que o primeiro destes foi o S2811, da American Microsystems Inc.. Quasi ao mesmo tempo, surgiram o Intel 2920, com conversores AD e DA incorporados, e com o qual se podia realizar facilmente um modem, por exemplo, e o NEC PD7720. O ltimo, mas definitivamente mais avanado, foi o TMS32010, da Texas Instruments. Uma caracteristica comum a estes microprocessadores era a adopo da arquitectura de Harvard, com memria de programa e memria de dados distintas, o que permitia o acesso simultneo a uma instruo e a um dado. Actualmente, a Texas Instruments, com a famlia de microprocessadores TMS320Cxx, a Motorola, com os microprocessadores M56000 e M96000, a NEC, com o microprocessador PD77230, a AT&T, com os microprocessadores DSP16 e DSP32, a Oki, a Analog Devices, a Inmos, com os microprocessadores IMS A100, A110 e A121, a Plessey, a Zoran, etc., fornecem dispositivos que permitem realizar aplicaes de PDS altamente sofisticadas. Por outro lado, convm no esquecer o progresso que em paralelo se verificou nos componentes analgicos, e nomeadamente no amplificador operacional, bem como nos componentes que realizam a ligao entre o mundo analgico e o mundo digital, tais como os conversores A/D e D/A e os comparadores. Com o progresso das tecnologias VLSI, comeam tambm a ser vulgares implementaes mistas (analgicas e digitais) directamente no silcio.

1998 F. J. Restivo

Processamento Digital de Sinal

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] 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] [15] [16] 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 P. M. Clarkson, H. Stark, Signal Processing Methods for Audio, Images and Telecommunications, Academic Press, 1995 S. K. Mitra, Digital Signal Processing A Computer-Based Approach , McGraw-Hill, 1998.

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] [18] C. S. Burrus et al., Computer-Based Exercises for Signal Processing Using MatLab, Prentice-Hall (1994) P. Denbigh, System Analysis & Signal Processing , Addison-Wesley, 1998.

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

1998 F. J. Restivo

Processamento Digital de Sinal

10

http://www.fe.up.pt/~fjr/pds.html/ onde se encontram disponveis todas as informaes relevantes para o seu funcionamento.

1998 F. J. Restivo

Processamento Digital de Sinal

11

2. Sinais e Sistemas Discretos


2.1 Sinais Discretos
Um sinal discreto uma funo da varivel discreta n N. A soma de dois sinais discretos, a multiplicao de um sinal discreto por uma constante e o atraso (ou melhor, deslocamento, ou translaco) de um sinal discreto, so operaes elementares envolvendo sinais discretos que admitimos serem suficientemente bvias. Um sinal discreto importante o impuls o unitrio (n) (n) = 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 ) =

k =

x (k )(n k ) .
1, se n 0 0, se no .

Outro sinal discreto importante o degrau unitrio u(n) u(n) =

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.

2.2 Convoluo Discreta


Se conhecermos a resposta h(n) de um sistema discreto LI entrada (n), podemos determinar a sua resposta y(n) a qualquer entrada x(n). Utilizando a decomposio atrs referida
+

x( n ) =

k =

x(k)(n k ) ,

1998 F. J. Restivo

Processamento Digital de Sinal

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

k =

x(k)h(n k ) .

Esta operao entre os sinais discretos x(n) e h(n) designa-se por convoluo discreta, e goza da propriedade comutativa, entre outras

k =

x(k)h(n k ) =

k =

h(k)x(n k ) .
+ +

Realmente,

k =

x(k)h(n k ) = x(k n)h(n k - n ) = x(k n)h(k ) = x(n k)h( 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

e determinemos a resposta y(n) do sistema. A resposta y(n) dada pela convoluo discreta de x(n) com h(n)
+ +

y( n ) =

k =

x(k)h(n k ) =

k =

h(k)x(n 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

Processamento Digital de Sinal

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

Processamento Digital de Sinal

14

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.

2.3 Sistemas Discretos FIR e IIR


Os sistemas discretos podem ser classificados em tipo FIR - com resposta impulsional finita, tipo IIR - com resposta impulsional infinita, conforme a sua resposta impulsional h(n) tem ou no um nmero finito de elementos no nulos. Os sistemas discretos do tipo FIR gozam da propriedade de poderem ser implementados directamente a partir da sua resposta impulsional, uma vez que a soma

y( n ) =

n =

h(k)x(n k )

tem nesse caso um nmero finito de termos. Exemplo O sistema com resposta impulsional finita h(n) = (3-n)(u(n) - u(n-3))

4 2 0 -1

pode ser implementado pela equao s diferenas y(n) = 3x(n) + 2x(n-1) + x(n-2) .

Os coeficientes da equao s diferenas so os termos da resposta impulsional do sistema.

1998 F. J. Restivo

Processamento Digital de Sinal

15

2.4 Sistemas Discretos Recursivos e No Recursivos


O sistema discreto y(n) = 3x(n) + 2x(n-1) + x(n-2) do tipo no recursivo, uma vez a resposta y(n) do sistema se pode calcular exclusivamente a partir da sua entrada x(n). Um sistema discreto do tipo FIR pode sempre ser implementado no recursivamente, como bvio. O sistema discreto y(n) = x(n) + 0.5y(n-1) do tipo recursivo, uma vez que a sua resposta y(n) depende de respostas anteriores. A resposta impulsional de um sistema do tipo recursivo normalmente de comprimento infinito. Supondo que o sistema anterior se encontra inicialmente relaxado, isto , que y(-1) = 0, obtem-se facilmente y(n) = 0.5nu(n), o que quer dizer que o sistema do tipo IIR. Quando utilizadas para realizar a mesma especificao, as solues no recursivas so normalmente mais complexas do ponto de vista aritmtico, porque no clculo de cada elemento da sua resposta no se utiliza o trabalho j realizado para o clculo de outros elementos dessa resposta. Num sistema do tipo no recursivo, , por outro lado, possvel calcular isoladamente um qualquer termo da sua resposta a uma determinada entrada, o que pode ser vantajoso em determinadas situaes.

2.5 Operao em Tempo Real e Operao em Tempo Diferido


Um sistema opera em tempo real quando recebe os elementos do sinal de entrada medida que vo sendo produzidos e calcula os elementos do sinal de sada a esse ritmo. Na equao s diferenas que rege o funcionamento de um sistema em tempo real no podem figurar nem elementos ainda no recebidos do sinal de entrada nem elementos ainda no calculados do sinal de sada. Em muitas situaes, os sistemas operam em tempo diferido, com sinais de entrada previamente armazenados.

2.6 Sistemas Discretos Causais


Um sistema que opere em tempo real necessariamente causal, uma vez que no de admitir neste caso um comportamento antecipatrio relativamente ao sinal de entrada. De um modo geral, pode dizer-se que um sistema causal se, e s se, para quaisquer duas entradas x1(n) e x2(n) tais que x1(n) = x2(n) , n < n 0 as respectivas respostas y 1(n) e y 2(n) forem tais que y 1(n) = y 2(n) , n < n 0 . Em termos da sua resposta impulsional h(n), pode demonstrar-se que a condio necessria e suficiente de causalidade h(n) = 0 , n < 0 .

2.7 Sistemas Discretos Estveis


Em termo s gerais, num sistema estvel a uma entrada limitada corresponde sempre uma sada limitada. Os efeitos de uma situao de instabilidade num sistema discreto e num sistema contnuo so contudo de natureza diferente.

1998 F. J. Restivo

Processamento Digital de Sinal

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=

k =

h( k) < .

A condio suficiente: na realidade, se esta condio se verificar e se

x( n) < M
ento

y( n) =

k =

h( k ) x( n k) M

k =

h (k ) <

k =

h( k) < .

E a condio necessria: entrada x(n)=

h ( n ) h( n )
0

se h(n) 0 se h(n) = 0

corresponde a sada para n = 0

y(0) =

k =

h( k) x( k) =

k =

h (k )

+ h ( k ) h ( k) = = h( k) k = h( k)

k =

h( k)

=S,

que ilimitada se S = .

2.8 Frequncia de um Sinal Discreto


A importncia do estudo do comportamento dos sistemas LI no domnio das frequncias conhecida. No caso dos sistemas discretos, o conceito de frequncia difere ligeiramente daquele a que estamos mais habituados, pelo que o vamos analisar com algum detalhe. Um sinal contnuo sinusoidal com frequncia f Hz, ou frequncia angular radianos por segundo (reservamos o smbolo para frequncia angular de um sinal discreto), tem a expresso geral xc (t) = sin(2ft+) = sin( t+) , = 2f , em que a fase da sinuside, e corresponde a uma simples translaco. O inverso da frequncia o perodo T = 1/f . Por exemplo, o sinal contnuo sinusoidal com frequncia angular /2 radianos por segundo xc (t) = sin(t/2) , tem um perodo T igual a 4 s e uma representao grfica perfeitamente clara

1998 F. J. Restivo

Processamento Digital de Sinal

17

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

Processamento Digital de Sinal

18

1 0.5 0 -0.5 -1 0 1 0.5 0 -0.5 -1 0 2 4 6 8 10 2 4 6 8 10

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 1 0.5 0 -0.5 -1 0 2 4 6 8 10 2 4 6 8 10

2.8.2 Gamas de frequncias


Uma vez que as funes sinusoidais so peridicas, com perodo 2, sin(n+) = sin(( + 2k)n+) , k inteiro , e haver uma infinidade de sinais discretos sinusoidais, com frequncias diferindo de um mltiplo de 2, que so na realidade o mesmo sinal discreto, como a figura a seguir, em que se representa o sinal discreto sinusoidal x(n) = sin(2.5n) ,

1998 F. J. Restivo

Processamento Digital de Sinal

19

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 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.

2.9 Resposta em Frequncia de um Sistema Discreto


semelhana do que acontece com os sistemas contnuos, a resposta em frequncia de um sistema discreto com resposta impulsional h(n) pode obter-se aplicando sua entrada o sinal discreto exponencial complexo x(n) = ej n , sinal a partir da qual se podem definir todos os sinais discretos sinusoidais com frequncia . Recordam-se aqui algumas relaes importantes

cos(n ) =

e j n + e jn 2

sin(n ) =

e jn e jn 2j

sin(n + ) = sin( ) cos(n ) + cos( ) sin(n ) .


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

y( n ) =
com

k =

h ( k ) e j ( n k ) =

k =

h (k ) e jk e jn = H (e j ) e j n

H ( e j ) =

k =

h ( k ) e j 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

Processamento Digital de Sinal

20

H(e j ) uma funo peridica de , com perodo 2

H ( e j( +2 ) ) =

k =

h ( k ) e j( +2 ) k =

k =

h (k ) e jk e j2k = H (e j ) .

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

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(e j ) = 0.25 + 0.5e -j + 0.25e -2j = (0.5 + 0.5cos())e -j . Na figura a seguir, representa-se H(e j ) 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

1998 F. J. Restivo

Processamento Digital de Sinal

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 ( e j ) =

k =

h (k ) e jk

uma funo peridica de , com perodo 2, ento, H(e j ) pode ser desenvolvida em srie de Fourier, por exemplo na forma

H ( e j ) =

k =

C k e jk

em que os coeficientes Ck so dados por

Ck =

1 2

H ( e j )e jk d ,

e bvio, por comparao das expresses anteriores, que

h (k ) =

1 2

H ( e j )e jk d .

2.10 Transformada de Fourier de um Sinal Discreto


A relao biunvoca entre h(n) e H(e j ) a transformada de Fourier, como seria de esperar. Um sinal discreto x(n) ter transformada de Fourier desde que a soma
+

X ( e j ) =

n =

x( n ) e jn

exista, sendo a transformada de Fourier inversa dada por

x (n ) =
Exemplo

1 2

X( e j )e jn d .

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 , Utilizando a transformada de Fourier inversa, obtem-se
c

h (n ) =

1 2

H ( e j )e j n d =

1 2

jn

d =

sinc( c n ) ,

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

Processamento Digital de Sinal

22

0.3 0.2 0.1 0 -0.1 -20 -15 -10 -5 0 5 10 15 20

0.3 0.2 0.1 0 -0.1 -20 -15 -10 -5 0 5 10 15 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

1.5 1 0.5 0

-3

-2

-1

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

Processamento Digital de Sinal

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.

2.11 Propriedades da Transformada de Fourier


A transformada de Fourier uma transformada linear, tendo as propriedades da decorrentes: a transformada de Fourier da soma de dois sinais discretos a soma das suas transformadas de Fourier, e a transformada de Fourier de um sinal discreto multiplicado por uma constante a sua transformada de Fourier multiplicada por essa constante.

2.11.1 Propriedade da Translaco


Consideremos um sinal discreto x(n) e a sua transformada de Fourier X(e j ). A transformada de Fourier do sinal discreto x(n-k)
+ +

n =

x( n k ) e jn =

n =

x(n ) e j(n +k ) = e jk X( e j ) .

Uma vez que

n =

e jn x(n) e jn = x (n) e j( )n = X(e j( ) ) ,


n =

o sinal discreto cuja transformada de Fourier X(e j( )) ej nx(n).

2.11.2 Propriedade da Convoluo


A expresso da transformada de Fourier inversa

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 ej n. 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 j n, a sua resposta entrada x(n) contm a mesma combinao linear e

1998 F. J. Restivo

Processamento Digital de Sinal

24

y( n ) =

1 2

X(e j )H(e j )e

jn

d ,

cuja transformada de Fourier X(e j )H(e j ). 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

x( n ) =

k =

x (k )(n k )

e a segunda no domnio das frequncias, em que o sinal elementar a sinuside complexa

x (n ) =

1 2

X( e j )e jn d .

A resposta de um sistema discreto LI a um destes sinais elementares, a resposta impulsional h(n) ou a resposta em frequncia H(e j ), caracteriza completamente um sistema H.

(n) H e jn

h(n) H(e j)e j n

A transformada de Fourier estabelece a ligao entre estas duas caracterizaes.

2.11.3 Propriedades de Simetria


Se a transformada de Fourier de um sinal discreto x(n) X(e j ), a transformada de Fourier do sinal discreto conjugado x(n)

n =

x ( n ) e jn =

n =

(x (n ) e jn ) = X(e j ) .

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(e j ) , 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(e j ) , XI(e -j ) = -XI(e j ) . 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(e j ) ,

1998 F. J. Restivo

Processamento Digital de Sinal

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 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(e j ),

x e (n ) = x o(n ) =

x( n ) + x ( n ) , 2 x( n ) x ( n ) , 2 X ( e j ) + X ( e j ) , 2 X ( e j ) X ( e j ) , 2

X e ( e j ) = X o (e j ) =
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

Processamento Digital de Sinal

26

2.12 Equao s Diferenas e Resposta em Frequncia


Um sistema discreto LI rege-se por uma equao s diferenas
N 1 k =0 N 1 k =1

y( n ) =

a kx (n k ) +

bk y( n k ) ,

com os coeficientes b k 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
N 1 k =0

Y( e j ) =

a k e jk X( e j ) +

N-1

k =1

bk e jk Y(e j ) .

pelo que a resposta em frequncia do sistema dada por


N 1

H ( e j ) =

Y( e j ) X ( e j )

k =0 N -1

a k e jk
.
k =1

1-

bk

e j k

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

k =

h ( n ) e jn = 0.3

n =0

0.7

e jn =

0.3 1 0.7e j

e a equao s diferenas respectiva y(n) = 0.3x(n) + 0.7y(n-1) .

1998 F. J. Restivo

Processamento Digital de Sinal

27

3. Amostragem de Sinais Contnuos


3.1 Introduo
Em muitas situaes, os sinais discretos resultam da amostragem de sinais contnuos. No caso da amostragem ser peridica, tem-se x(n) = xc (nT) , em que x(n) o sinal discreto, xc (t) o sinal contnuo, e o perodo de amostragem. A frequncia angular de amostragem a = 2/T. Entre as transformadas de Fourier Xc (j ), do sinal contnuo, e X(e j ), do sinal discreto, existe necessariamente uma relao, que vamos estabelecer. Consideremos, por um lado, a transformada de Fourier inversa do sinal contnuo xc (t)

x c(t) =
donde

1 2

X c( j )e

jt

d ,

1 x( n) = 2

Xc ( j)e

jn T

d ,

e, por outro lado, a transformada de Fourier inversa do sinal discreto x(n)

x (n ) =

1 2

X( e j )e j n d .

Realizando na primeira das duas ltimas expresses a mudana de varivel , obtem-se


x( n) =

1 2T

Xc (

j j n )e d , T

que se pode escrever, subdividindo o domnio de integrao em intervalos de comprimento 2,

x( n) =

1 2T r =

+ ( 2 r +1)

Xc (

( 2 r 1)

j jn )e d , T

e, reduzindo todos os integrais ao mesmo domnio de integrao [-, [,

1998 F. J. Restivo

Processamento Digital de Sinal

28

x( n) =

1 + 2T r =

Xc (

j( + 2r ) j(+ 2 r) n )e d , T

1 x( n) = 2T

r = -

Xc (

j( + 2r ) jn )e d , T

donde, por simples comparao com a segunda daquels expresses,

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,

em que a a frequncia angular de amostragem, ento a parcela de X(e j ) correspondente a r = 0

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

Processamento Digital de Sinal

29

1 j( + 2r ) Xc ( ) , T T
uma translaco de um mltiplo de 2 da parcela correspondente a r = 0

T-1

0
Exemplo O sinal contnuo xc (t) = e-tu(t)

-2

- MT

MT

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

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

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

Processamento Digital de Sinal

30

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(e j ), pois, como x(n) = e-0.05nu(n) ,

X(e j ) =

1 1-e
-0.05 -j

e desenhar o ltimo grfico a partir desta expresso.

3.1 Teorema da Amostragem


A sobreposio das diferentes parcelas de X(e j ) inconveniente do ponto de vista da representao de um sinal contnuo por uma sua amostragem, uma vez que da transformada de Fourier do sinal discreto no possvel recuperar novamente a transformada de Fourier do sinal contnuo. A recuperao apenas ser possvel se as diferentes parcelas de

X(e j ) =

1 + j( + 2r) Xc ( ) T r= - T

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(e j ) no se sobreponham, isto , 2/T > 2 M, 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 2 M, 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(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.

3.2.1 Uma explicao simples


Quando estamos a olhar para as imagens na TV de uma corrida de Frmula 1, por exemplo, apercebemo -nos por vezes que as rodas dos carros parecem ter movimentos estranhos, parecendo mesmo que se imobilizam, ou que giram em sentido contrrio ao esperado. Este fenmeno um efeito tpico do aliasing.

1998 F. J. Restivo

Processamento Digital de Sinal

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
c

1 x( n ) = 2

X( j)e

jt

1 d = 2

j t

d =

sinc( c t ) .

1998 F. J. Restivo

Processamento Digital de Sinal

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

3.3 Reconstruo de um Sinal Amostrado


A reconstruo de um sinal amostrado faz-se calculando Xc (j ) a partir de X(e j ), o que s possv el se no tiver ocorrido aliasing. Esta operao implica por um lado eliminar as bandas de X(e j ) fora do intervalo [-, ] e por outro realizar a mudana de varivel ,

X(e j ) =

n =

x(n )e jn

1998 F. J. Restivo

Processamento Digital de Sinal

33

Xc (j ) =

TX(e j T), se -/T < < /T 0, se no .

Calculando em seguida a transformada de Fourier inversa

xc (t) =

T 2

/ T +

/ T n = -

x(n)e - j Tn e jtd =

n =-

x(n)

T 2

/T

/ T

j( t nT)

xc (t) =

n = -

x(n) 2 j(t nT) [e j (t nT) ] / T = x(n)sinc(


+

/T

n = -

(t - nT) ) . T

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

3.4 Amostragem Real


A amostragem ideal que estudamos x(n) = xc (n ) no realizvel na prtica. Uma amostragem real pode contudo em muitos casos ser expressa em termos de uma amostragem ideal, ficando desse modo completamente caracterizada, para todos os efeitos prticos, e nomeadamente para a sua compensao. Exemplo Um modelo para muitas situaes de amostragem real o do valor mdio

1998 F. J. Restivo

Processamento Digital de Sinal

34

(n+1)T (n-1)T
nT

(n+2)T

nT-

nT

1 x(n) =

nT

xc (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.

1 0.5 0 -0.5 -4/ -2/ 0 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 e feito pode sempre ser compensado noutro ponto da cadeia de processamento, nomeadamente no processador de sinal.

3.5 Reconstruo Real


A reconstruo do sinal contnuo a partir da expresso
+

xc (t) =

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
+

xc (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

Processamento Digital de Sinal

35

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(e j T), se -/T < < /T 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


2 1.5 1 0.5 0 -2
(t) = u(t) - u(t-T) , (j ) = Tsinc(0.5 T)e -0.5j , como se sabe, e na reconstruo de ordem 1 (interpolao linear),

10

10

1.5 1 0.5 0 -0.5 -2 0 2 4 6 8 10

1998 F. J. Restivo

Processamento Digital de Sinal

36

2 1.5 1 0.5 0 -2
(t) =

10

(u(t + 0.5T) - u(t - 0.5T)) (u(t + 0.5T) - u(t - 0.5T)) , T

(j ) = Tsinc2(0.5 T) .

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 . A transformada de Fourier de x0(n) evidentemente X0(e j ) = X(e j M) , isto , a transformada de Fourier X(e j ) como que comprimida no intervalo [-/M, /M] e depois repetida periodicamente com perodo 2/M Se se notar, a partir da expresso
+

X(e j ) =

1 t

r =-

Xc (

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

Processamento Digital de Sinal

37

- M

/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 ) =

n =0

h ( n )x0( n k )

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

Processamento Digital de Sinal

38

1 0.5 0 -0.5 -1 0 2 4 6 8 10

1 0.5 0 -0.5 -1 0 2 4 6 8 10

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( e j )e jn d

x d (n) =

1 2

X( e j )e jMn d

e, realizando a mudana de varivel M ,


M M

1 x d (n) = 2M

X( e j M )e jn d

integral que possvel reduzir ao domnio de integrao [, ]

x d (n) =

1 2M

M 1 r =0

X(e j M + j M )e

2r

jn

donde, por simples comparao,

1998 F. J. Restivo

Processamento Digital de Sinal

39

Xd (e j ) =

1 M

M 1 r =0

X(e j M + j M )

2r

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.

3.8 Converso Fraccionria da Frequncia de Amostragem


A multiplicao da frequncia de amostragem de um sinal contnuo por uma fraco M/N realiza-se encadeando uma interpolao 1:M e uma decimao N:1. As duas filtragens passa-baixo podem evidentemente ser realizadas por um nico filtro digital, cuja frequncia de corte seja o mnimo dos valores /M e /N.

1998 F. J. Restivo

Processamento Digital de Sinal

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(e j ) =

n =

x (n )e j n

existir, sendo a transformada de Fourier inversa dada por

x(n) =

1 2

X( e j )e jn d .

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
+

X(z) =

n =

x( n ) 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) =

n =0

z n

1 1 z 1

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

Processamento Digital de Sinal

41

4.2 Regio de Convergncia


A regio do plano z onde existe a transformada em z de um sinal discreto denomina-se regio de convergncia da transformada em z desse sinal. A indicao da regio de convergncia absolutamente obrigatria na transformada em z. Exemplo A transformada em z de x(n) = anu(n)
+

X(z) =

n =0

a n z n

1 1 az 1

,z > a

e a transformada em z de x(n) = -anu(-n-1)


1

X(z) =

n =

a n z n = a n z n
n =1

a 1z 1 a 1z

, a 1z < 1

X( z ) =

1 1 az 1

,z < a ,

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 < n 1 ou n > n 2 x(n) = 0 , todo o plano z, excepto z = 0 , se n 2 > 0 , uma vez que neste caso

X(z) =

n = n1

x (n )z n

n2

contem parcelas com potncias negativas de z, e / ou |z| = , se n 1 < 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 < n 1 x(n) = 0 , sempre possvel encontrar um valor Rc suficientemente grande que garanta que exista

n = n1

x( n ) R c n ,

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

Processamento Digital de Sinal

42

Rc

Similarmente, se o sinal discreto for de comprimento infinito mas tal que n > n 2 x(n) = 0 , sempre possvel encontrar um valor Rc suficientemente pequeno que garanta que exista

n =

x( n )R c n ,

n2

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 .

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

Processamento Digital de Sinal

43

4.3 Relao com a Transformada de Fourier


Sejam x(n) um sinal discreto e X(z) a sua transformada em z. 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

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.

4.4 Algumas Propriedades da Transformada em z


A transformada em z uma transformada linear, o que quer dizer que a transformada em z da soma de dois sinais discretos a soma das suas transformadas em x, e a transformada em z do produto de um sinal discreto por uma constante o produto da transformada em z desse sinal discreto por essa constante. A transformada em z do sinal discreto x(n), com transformada em z X(z), deslocado de k, x(n-k), x(n-k) z-kX(z) , como se obtem escrevendo
+ +

n =

x( n )z n + k k = z k

n =

x ( n ) z n + k = z k X ( z )

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

4.5 Propriedade da Convoluo


Sejam x(n) e h(n) dois sinais discretos e
+

y(n) =

k =-

x(k)h(n - k )

a sua convoluo discreta. Ento

1998 F. J. Restivo

Processamento Digital de Sinal

44

Y(z) =

n = k =-

x(k)h(n - k )z n x(k)h(n - k )z n +k k
x(k)z -k
+ n =- + +

Y( z ) =

n = k =-

Y(z) =

k =-

h(n - k)z n +k = X(z)H(z) ,

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.

4.6 Funo de Transferncia de um Sistema Discreto


Como resulta da propriedade da convoluo, as transformadas em z, X(z), da entrada x(n), e Y(z), da sada y(n), de um sistema discreto esto relacionadas por Y(z) = H(z)X(z) , em que H(z) a transformada em z da sua resposta impulsional h(n). H(z) a funo de transferncia do sistema discreto, e, como veremos, desempenha um papel fundamental na anlise e na sntese de sistemas discretos.

4.7 Estabilidade e Causalidade


Um sistema discreto estvel se e s se a regio de convergncia da sua funo de transferncia contiver a circunferncia unitria do plano z. Realmente, neste caso h(n) tem transformada de Fourier e satisfaz portanto ao critrio de estabilidade de um sistema discreto. Um sistema discreto causal se e s se a regio de convergncia da sua funo de transferncia fr o exterior de um crculo. Um sistema discreto causal e estvel tem todos os seus polos no interior da circunferncia unitria do plano z. Esta circunferncia desemp enha um papel semelhante ao do eixo j do plano s relativamente transformada de Laplace.

4.8 Avaliao Geomtrica da Transformada de Fourier


Conhecidos os zeros z z e os polos z p da transformada em z, X(z), de um sinal discreto x(n)
i i

X(z) =

(z z z (z z p

i i

) )
,

e se notarmos que ( z z z i ) e ( z z p i ) so "vectores" no plano z, obtemos um mtodo simples de 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(e j ) 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

Processamento Digital de Sinal

45

z 1

| X(e

)| =

e j z z e j z p

arg( X( e j )) = arg( e j z z i ) arg( e j z p i ) .


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

X( z ) =
basta fazer

1 0.5 z 1 + 0.5z 2 1 + z 1 + 0.5z 2 0.1z 3

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 -0.5 0 0.5 1

1998 F. J. Restivo

Processamento Digital de Sinal

46

4.9 Inverso da Transformada em z


Se uma determinada transformada em z, X(z), estiver expressa como um polinmio em z, a sua inverso bvia. Exemplo Se X(z) = 1 - 2z-1 ento x(n) = (n) - 2(n-1).

4.9.1 Mtodo da Diviso


Se X(z) estiver expressa como um quociente de dois polinmios em z, a realizao da respectiva diviso permite obter x(n). Exemplo Se

X(z) =

1 1 az 1

, 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 +...

4.9.2 Mtodo da Decomposio em Fraces Simples


A decomposio de X(z) em fraces simples, no caso em que X(z) uma fraco racional, outro mtodo de realizar a inverso da transformada em z. O objectivo decompor X(z) em parcelas das quais seja conhecida a transformada em z inversa e invocar a linearidade da transformada em z para realizar a inverso. Para aplicar este mtodo, ser til conhecer-se as transformadas

a n u(n)

z 1 = ,z > a z a 1 az 1 z 1 = ,z < a , z a 1 az 1

a n u ( n 1)

1998 F. J. Restivo

Processamento Digital de Sinal

47

e algumas propriedades elementares da transformada em z. Exemplo Seja

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

Decompondo em fraces simples

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

4.9.3 Integral de Linha


Existe uma formula integral para o clculo da transformada em z inversa, a qual se pode derivar das propriedades das funes complexas de varivel complexa. Uma propriedade importante da funo complexa da varivel complexa zn que o integral de linha

dz

calculado ao longo de uma qualquer linha fechada C que envolva a origem do plano z, e percorrida no sentido directo, vale

dz =

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

X(z )z

n -1

dz =.. .+ 0 + 2jx ( n ) + 0+. .. ,

1998 F. J. Restivo

Processamento Digital de Sinal

48

conclui-se imediatamente que

x(n) =

1 X(z)z n -1 dz , 2j
C

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 .

O integral de linha que permite calcular a transformada em z inversa

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

Cp

(p-1 0.25)(p-1 2 )

p-n

(-p -2 )dp =

1 2 j

Cp

-2p-n dp , (p 4)(p 0.5)

1998 F. J. Restivo

Processamento Digital de Sinal

49

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

h(n) = -

-2.0.5 -n 4 = - 0.5 -n , n < 0 . -3.5 7

Escrevendo os dois resultados numa nica expresso,

h(n) = -

4 0.25n u(n) + 2 n u(-n -1) . 7

que equivalente ao resultado que tinhamos obtido anteriormente.

4.10 Propriedade da Convoluo Complexa


A transformada em z do produto de dois sinais discretos x(n) e w(n), com transformadas em z, respectivamente, X(z) e W(z),

n = +

x(n)w (n)z -n x(n)w(n)z -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 =

n =

1 z X(v)W ( ) v-1dv . 2 j v
C

Este integral na realidade uma convoluo! A varivel de integrao v desempenha um papel equivalente ao da varivel k na expresso da convoluo
+

k=-

x(k)h(n 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
C

.
z= e
j

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

Processamento Digital de Sinal

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

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

1 2j

3z 1 1 dv , | z| > <| v| < 3| z| , 1 6 2 C (v )(v 3z) 2

que so 1/2 e 3z. Como apenas o polo 1/2 se encontra no interior do contorno C, o resduo nesse polo,

3z 1 1 = , | z| > , 1 1 1 6 3z 1 z 2 6
a transformada em z procurada.

1998 F. J. Restivo

Processamento Digital de Sinal

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

Processamento Digital de Sinal

52

5. DFT - Transformada de Fourier Discreta


5.1 Introduo
A transformada de Fourier X(e j ) de um sinal discreto x(n) uma funo da varivel contnua , que sabemos ser peridica, com perodo 2. Do ponto de vista do seu processamento, interessa evidentemente conhecer em que condies possvel representar esta transformada de Fourier X(e j ) por uma sua amostragem X(k). Essas condies so, como vamos ver, o sinal x(n) ser de comprimento limitado, N, e a sua transformada de Fourier ser amostrada em pelo menos N pontos num perodo, e so da mesma natureza das condies que estabelecemos quando estudamos a amostragem de sinais contnuos. Nessas condies, um sinal de banda limitada e de durao limitada poder ento ser representado por N amostras, do sinal ou da sua transformada de Fourier!

5.1.1 Amostragem nos Domnios do Tempo e da Frequncia


A transformada de Fourier de um sinal contnuo xc (t) , se existir,

X c (j ) =

x c (t )e

-j t

dt ,

e a sua transformada inversa

x c(t) =

1 2

X c( j )e

jt

d ,

Quando se amostra um sinal contnuo xc (t), x(n) = xc (n t) , n N 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

Processamento Digital de Sinal

53

esta amostragem apenas representar a transformada de Fourier se o sinal contnuo x c (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.

5.1.2 Sinais Peridicos nos Domnios do Tempo e da Frequncia


Um sinal contnuo peridico xp(t) no tm transformada de Fourier, mas, como se sabe, pode ser desenvolvido em srie de Fourier, com coeficientes

1 Ck = T

T 0

x p (t )e
+

-j

2 kt T dt

em que T o perodo do sinal, sendo ento

x p( t ) =

k =

C k e j T kt

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
0

-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

Processamento Digital de Sinal

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

n =

x( n ) e jn

e na transformada de Fourier inversa de um sinal contnuo

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 sinal contnuo

transformada de Fourier peridica

transformada de Fourier de banda limitada

O desenvolvimento em srie de Fourier de um sinal contnuo peridico

1998 F. J. Restivo

Processamento Digital de Sinal

55

xp ( t ) =

k =

Ck e j T kt x( n ) e jn
+

e a transformada de Fourier de um sinal discreto (que tambm uma srie de Fourier!)

X ( e j ) =

n =

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

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

k =

C k e j T kt
2 T )= C k e j N kn N k =

amostrando xp(t) em N pontos igualmente espaados de t=T/N, n t = nT/N, n = 0 .. N-1

x (n ) = x p ( n

Como, por outro lado,

1998 F. J. Restivo

Processamento Digital de Sinal

56

Ck =

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 t T
+ 2

n =

x( n ) e jn t
1
+ 2

Ck =

n =

x( n ) e j N k n = N x(n ) e j N kn
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

0
N 1 k =0

N-1
2

N-1

x (n ) =

C k e j N kn
N 1 n =0

Ck =

1 N

x( n ) e j N kn

5.2 DFS - Srie de Fourier Discreta


Um sinal discreto peridico no tem transformada de Fourier. Na realidade, escrevendo um sinal peridico de perodo N como
+

x p (n) =

r =-

x(n + rN) ,

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)
+ + +

X p (z) =

n =- +

x p (n )z n =
+

n = r =-

x(n + r N )z n + rN r N
+ r =-

X p (z ) =

r =-

z rN x(n + r N )z n + rN = X(z ) z r N
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

Processamento Digital de Sinal

57

x p (n) =
(o factor N Como
j 2 k n

1 N

k =

X p (k ) e

j2kn N

-1

um simples factor de escala).

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

1 x p (n) = N

N 1 k =0

Xp

j2kn (k )e N

e os coeficientes Xp(k) so dados na realidade por


N 1

X p (k) =

n =0

x p (n ) e

-j2kn N

sendo til notar que Xp(k+N) = Xp(k) , isto , que Xp(k) um sinal discreto peridico, com perodo N.

5.3 DFT - Transformada de Fourier Discreta


A transformada de Fourier discreta (DFT) de um sinal discreto x(n) de comprimento N uma amostragem da sua transformada de Fourier X(e ) em N pontos igualmente espaados do intervalo [0, 2[
j

2k , k = 0 .. N -1 , N
N -1

X(e j ) =

n =0
N -1

x(n)e -jn ,
x(n)e
-j2nk N

X(k) =

n =0

, k = 0 .. N - 1 .

A relao inversa

1 x(n) = N

N -1

k =0

X(k)e

j2nk N

, n = 0 .. N -1 .

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 k =0 r = 0 N -1 r =0

-j2rk j2nk x(r)e N e N

, n = 0 .. N -1

N -1 j2(n -r)k x(r) e N k =0

, n = 0 .. N - 1

e notando que o somatrio em k vale

1998 F. J. Restivo

Processamento Digital de Sinal

58

e
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

2 2 WN = e N = cos j sin N N
e escrevendo-as na sua forma mais usual
N -1

X(k) =

n =0

x(n)W N n k , k
N -1

= 0 .. N -1

x(n) =

1 N

k =0

X(k)W N nk , n

= 0 .. N - 1 .

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

r =-

x(n + r N ) ,

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

n =0

W4 n k , k

= 0 .. N - 1

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

Processamento Digital de Sinal

59

4 3 2 1 0 0 1 2 3 4 5 6

Se a transformada de Fourier tivesse sido amostrada em apenas 3 pontos k = obteriamos X(0) = 2 + 2 = 4 X(1) = (1 - 2)e
-j

2k , k = 0 .. 2 3

=1 =1

X(2) = (-1 + 2)e

-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 + W 3 + W 3 2 ) / 3 = (4 - 1/2 - 3/2j - 1/2 +3/2j) / 3 = 1 x(2) = (4 + W 3 2 + W 3 4 ) / 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

recuperado como [2, 1, 1]

x(n) 0 1 2 3 4 5

1998 F. J. Restivo

Processamento Digital de Sinal

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 0 1 2 3 4 5 6

5.4 Propriedades da DFT


As propriedades da DFT reflectem a natureza peridica subjacente a estes sinais x(n) e X(k) de comprimento N. Um sinal discreto tem uma transformada de Fourier peridica; uma transformada de Fourier discreta ter como original um sinal peridico. A DFT goza da propriedade da linearidade. A DFT do sinal discreto deslocado de m, x((n-m)), W Nm kX(k), desde que o deslocamento se entenda como circular ou peridico, como se exemplifica a seguir para N=5 e k = 1, e se simboliza com a notao ((.)),

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

Processamento Digital de Sinal

61

h(n)

x(n) 0 1 2 3 4 5

x(n)*h(n)

0
na convoluo circular, com N=5,

x(n) 0 1 2 3 4 5

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

Processamento Digital de Sinal

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 1 2 3 4 5

par, e o sinal discreto, tambm de comprimento 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).

5.5 Relao com a Transformada em z


A DFT de um sinal discreto com comprimento N tambm uma amostragem da sua transformada em z, X(z), em N pontos igualmente espaados sobre a circunferncia unitria do plano z zk = W N
-k

, k = 0 .. N-1 .

A transformada em z, X(z), pode ser recuperada dessa amostragem, X(k). Escrevendo


N 1 k =0

x(n) =

1 N

X(k)W N

n k

, n = 0 .. N -1

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 k =0

1 W

X( k )
k 1 N

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

Processamento Digital de Sinal

63

H (z ) =

1 N

N 1 k =0

N 1

H (k )

n =0

(e

2 k N z 1 ) n

1 z N N

N 1 k =0

H(k) 1 e
j 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 k

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.

5.6 Convoluo Linear Utilizando a DFT


Os sistemas realizam a convoluo linear, e a DFT a convoluo circular. Cabe aos utilizadores utilizar a DFT em condies tais que as duas operaes coincidam. Se se pretender realizar a convoluo linear de dois sinais dis cretos x(n) e h(n), de comprimentos L e M, respectivamente, o comprimento mnimo da DFT nas condies acima referidas L + M-1. Um caso importante aquele em que L muito grande ou mesmo de valor indefinido (caso do processamento em tempo real), porque nesse caso no possvel realizar uma nica DFT com este comprimento, e necessrio fraccionar x(n).

5.6.1 Mtodo Overlap-Add


Um dos mtodos que se pode utilizar o mtodo overlap-add , em que x(n) dividido em segmentos justapostos de comprimento N-M+1, sendo N o comprimento da DFT utilizada,

1998 F. J. Restivo

Processamento Digital de Sinal

64

x(n)

0 h(n) 0 M-1

N-M+1

2(N-M+1) 3(N-M+1) 4(N-M+1) 5(N-M+1) 6(N-M+1)

e a convoluo calculada segmento a segmento, adicionando-se os resultados.


x(n)

0 h(n) 0 M-1

N-M+1

2(N-M+1) 3(N-M+1) 4(N-M+1) 5(N-M+1) 6(N-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) y(n)
+ + + + +

6N-5M+4

N-M+1

2(N-M+1) 3(N-M+1) 4(N-M+1) 5(N-M+1) 6(N-M+1)

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

Processamento Digital de Sinal

65

5.6.2 Mtodo Overlap-Save


Outro o mtodo overlap-save, em que, atravs da sobreposio dos segmentos de x(n), de comprimento igual ao comprimento da DFT utilizada (repare-se no posicionamento do primeiro segmento, e nos M-1 zeros iniciais) se obtem resultados com aliasing nos primeiros M-1 elementos de cada segmento, mas cujas partes correctas se justapem sem necessidade de qualquer adio suplementar.
x(n)

-M+1 0 h(n) 0 M-1

N-M+1

2(N-M+1) 3(N-M+1) 4(N-M+1) 5(N-M+1) 6(N-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 y(n)

6N-6M+5

N-M+1

2(N-M+1) 3(N-M+1) 4(N-M+1) 5(N-M+1) 6(N-M+1)

A realizao da convoluo linear utilizando a DFT tem interesse porque existem algoritmos extremamente eficientes para o clculo desta transformada.

5.7 FFT - Transformada Rpida de Fourier


A publicao por Cooley & Tukey, em 1965, do primeiro algoritmo para a computao rpida da DFT constitu marco histrico para a evoluo da disciplina de PDS, podendo a importncia dos algoritmos FFT (Fast Fourier Transform) hoje avaliar-se pelo volume de bibliografia que desde ento lhes tem sido dedicada. Curiosamente, ter sido Gauss, o eminente matemtico alemo Carl Friedrich Gauss, em 1805, o primeiro a descobrir um algoritmo similar FFT, nos seus estudos de interpolao das rbitas de corpos celestes, precedendo mesmo a prpria obra de Jean-Baptiste Joseph Fourier Theorie Analytique de la Chaleur, que foi publicada em 1822!

1998 F. J. Restivo

Processamento Digital de Sinal

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.

5.7.1 Decimao no Tempo


O algoritmo de C&T, ou de decimao no tempo, baseia-se no facto de resultar uma substancial reduo no nmero das operaes aritmticas requeridas para calcular uma DFT de comprimento N, par, se este clculo se realizar em duas fases, uma primeira em que so calculadas duas DFT de comprimento N/2 e uma segunda em que estas so combinadas de modo a obter-se o resultado pretendido. Seja x(n) um sinal discreto de comprimento N, par, e sejam g(n) e h(n) dois sinais discretos de comprimento N/2 constitudos pelos elementos de ordem par e de ordem mpar de x(n), respectivamente g(n) = x(2n) h(n) = x(2n+1) , n = 0 .. N/2 - 1. Ento
N 1 2

X( k ) =

n =0

g( n )WN

2nk

N 1 2

n =0

h ( n )WN
k

(2 n + 1 )k

N 1 2

X( k ) =

n =0

g( n ) WN
2

nk

N 1 2 n =0

+ WN

h ( n ) WN
2

nk

X(k) = G(k) + W N 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) - W N 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)

X(k)

H(k) W

n k

X(k+N/2) -1

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.

1998 F. J. Restivo

Processamento Digital de Sinal

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) h(0) H(0)

x(7)

h(3)

H(3)

X(7)

onde necessrio agora "encaixar" duas DFT de comprimento 4

e em cada uma destas duas de comprimento 2 (triviais)

com o resultado final

1998 F. J. Restivo

Processamento Digital de Sinal

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 X(k) = G(k) + W N H(k) X(k+N/2) = G(k) - W N 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 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

Processamento Digital de Sinal

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 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".

1998 F. J. Restivo

Processamento Digital de Sinal

70

1 -512 0

1 -256 0

1 -128 0

1 -64 0

1 -32 0
r

0 +16 1

(1003)

(27)

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

5.7.2 Decimao na Frequncia


Outro algoritmo, proposto por Sande & Tukey, e conhecido por decimao na frequncia, segue nas suas linhas gerais este que acabamos de descrever. Consideremos a DFT de um sinal discreto com comprimento N, par,
N 1

X( k ) =

n =0

x( n )WN
N 1

nk

Os termos de ordem par desta DFT

X(2 k ) =

n =0

x( n )WN

2nk

, k = 0 ..
N 1 2 + n =0

N 1 2

N 1 2

X (2 k ) =

n =0

x( n )WN

2nk

x( n +

N N 2nk )W N , k = 0 .. 1 2 2

N 1 2

X(2 k ) =

n =0

( x( n ) + x( n +

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

Processamento Digital de Sinal

71

e os termos de ordem mpar

X(2 k + 1 ) =

N 1 n =0

x(n )WN

2 nk + n

, k = 0 ..
N 1 2 + n =0

N 1 2

X (2 k + 1 ) =

N 1 2 n =0

x (n )WN

WN

2nk

x( n +

N N N n+ 2nk )W N 2 W N , k = 0 .. 1 2 2

X(2 k + 1 ) =

N 1 2 n =0

( x ( n ) - x( n +

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

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

3 W8

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)

(p) n+1

X (q) n

-1

r W N

(q) n+1

1998 F. J. Restivo

Processamento Digital de Sinal

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 i (n) = x(4n + i), n = 0 .. N / 4 1, i = 0 . . 3


de tal modo que

X( k ) =

N 1 3 4

i = 0 n =0

x i (n )WN ( 4 n + i )k
N 1 4 n =0

X( k ) =

i=0

WN ik x i ( n )WN 4 nk

X( k ) =

WN ik X i (k )
i=0

donde resulta a butterfly raiz 4, decimao no tempo, X(k) = X0 (k) + W N X1 (k) + W N X2 (k) + W N X3 (k) X(k+N/4) = X0 (k) - jW N X1 (k) - W N X2 (k) + jW N X3 (k) X(k+2N/4) = X0 (k) - W N X1 (k) + W N X2 (k) - W N X3 (k) X(k+3N/4) = X0 (k) + jW N X1 (k) - W N X2 (k) - jW N 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

Processamento Digital de Sinal

73

W1 N

-j -1 j -1

W2 N j -1 W3 N
Comparando os dois algoritmos para N = 1024, por exemplo, n.and. raiz 2 raiz 4 10 5 n.but. 512 256 mult./but. 1 3

-1

-j

ad./but. 2 12

tot.mult. 5120 3840

tot.ad. 10240 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.

5.7.4 Raiz Dupla


Algoritmos designados split radix ou raiz dupla, so ainda mais favorveis do ponto de vista do nmero de multiplicaes, e baseiam-se no uso simultneo das raizes 2 e 4. Refere-se mais uma vez apenas o caso da decimao no tempo. Se o sinal discreto x(n) tiver comprimento N mltiplo de 4, possvel escrever
N 1 2 n =0

X( k ) =

x( 2n )WN 2 nk + x(4 n + 1)WN (4 n +1 )k + x( 4 n + 3)WN ( 4 n +3 )k


n =0 n =0

N 1 4

N 1 4

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

Processamento Digital de Sinal

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)

W H (k) 0 W H (k) 1

k N -1 3k N -1 j -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. 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, n-2 duas DFT de comprimento 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

Processamento Digital de Sinal

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 ) = d (n ) =

( 3 n 2) 2 n 1 + ( 1 ) n ,n 4 9 2n ( 1 ) n ,n 3 3 n 2 n 2( 2 n 1 ( 1) n ) ,n 4 , 3 9

donde resulta que o nmero total de multiplicaes complexas a realizar

m ( n ) = 2 b( n ) =

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 mult./but. 1 3 2/0(a) ad./but. 2 12 6/2 tot.mult. 5120 3840 3186 tot.ad. 10240 15360 10240

(a) so DFT de comprimento 2

5.8 Transformada de Fourier Discreta Inversa


As expresses da transformada de Fourier discreta e da transformada de Fourier discreta inversa diferem apenas de um facto N-1 e de um sinal no expoente nk. Um programa para o clculo da DFT pode ser usado com simples adaptaes no clculo da iDFT. Uma possibilidade consiste em notar que 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)])* , -1

como se conclui de

1998 F. J. Restivo

Processamento Digital de Sinal

76

N 1 ( DFT [X * ( k )] )* = N 1 ( N 1 ( DFT [X * ( k )] )* = N 1

N 1 k =0

X * (k )WN n k ) *

N 1 k =0

X( k )WN n k .

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-1DFT [XI (k) + jX R ( k) ] = jN 1(

N 1 k =0

X(k)WN nk) *

N -1D F T[X I (k) + jX R ( k ) ] = jx * ( n ) .


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.

5.9 Transformada de Fourier Discreta de Sinais Reais


A transformada de Fourier discreta de um sinal discreto real tem parte real par e parte imaginria mpar, o que quer dizer que a utilizao directa de um programa para o clculo da DFT neste caso conduz a um duplo clculo dos mesmos valores. Sejam g(n) e h(n) dois sinais discretos reais de comprimento N. Construindo o sinal discreto x(n) = g(n) + jh(n) e calculando a sua DFT X(k) = XR(k) + jXI(k) = G(k) + jH(k) , simples concluir que

G(k) = H(k) =

XR ( k ) + X R (( k )) + j( X I ( k ) X I (( k ))) 2 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

Processamento Digital de Sinal

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) = H(k) =

WR ( k ) + W R (( k )) + j( W I ( k ) WI (( k ))) 2 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 X(k) = G(k) + W N H(k) X(k+N/2) = G(k) - W N 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. 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
k k

5.10 CZT - Chirp Z Transform.


O interesse da DFT, quer no domnio da anlise espectral do sinal quer no clculo da convoluo, advm em grande parte da existncia de algoritmos rpidos para a sua computao. A DFT e os algoritmos FFT clssicos no do resposta contudo a alguns problemas prticos, um dos quais resolvido pela CZT. Na DFT, dois valores consecutivos de X(k) referem-se a frequncias espaadas de a /N, em que a a frequncia angular de amostragem. Se se pretender diminuir este espaamento, ser assim necessrio aumentar proporcionalmente o comprimento N da transformada, normalmente custa da extenso com zeros do sinal x(n), mesmo que se pretenda este aumento de resoluo da transformada apenas numa pequena gama de frequncias (zoom da DFT). Imaginemos que pretendamos calcular o valor de M amostras da transformada em z, X(z), de um sinal discreto x(n) com comprimento N, em M pontos zk = AW
-k

, k = 0,...,M-1 ,

em que A e W so dois complexos A = A 0e


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

Processamento Digital de Sinal

78

Substituindo em

X ( z) =
obtem-se

N1 n =0

x ( n ) z n
N 1 n =0

X (z k ) =

x(n)(AW k ) n
2 2 2

e tendo em conta que 2nk = -(n-k) + n + k ,

X( z k ) =

N 1 n =0

x (n )A

n2

W 2 W

(n k )2 2

k2

W 2 ,

que podemos interpretar como um conjunto de trs operaes sucessivas


n2

multiplicao termo a termo de x(n) por A

W2

f ( n) = A

n2 W 2

x( n) ,
n2

convoluo do resultado obtido f(n) com W 2


N-1

g(n) =

k =0

f(k)W -(n-k)
N-1

ou, trocando os ndices n e k,

g(k) =

k =0

f(n)W -(n-k)

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) g(k) X(z ) k

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.

1998 F. J. Restivo

Processamento Digital de Sinal

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 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). 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

, k = 0 .. N-1 .

1998 F. J. Restivo

Processamento Digital de Sinal

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

b k y( n k ) +

N 1 k =0

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.

6.2 Projecto de Filtros Digitais do Tipo FIR.


Uma das grandes vantagens dos filtros digitais do tipo FIR a possibilidade de serem realizados com fase exactamente linear. Pode demonstrar-se que a condio necessria e suficiente para um filtro FIR ser de fase linear h(n) = h(N-1-n) , se 0 n N-1 0 , se no .

1998 F. J. Restivo

Processamento Digital de Sinal

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 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,
N 1 n =0

H (e j ) =

h(n)e jn
N1 2 N 1 1 2 n =0

pode escrever-se, agrupando os termos iguais de h(n),

H ( e j ) = h (
donde, como

N 1 )e 2

h ( n)( e j n + e j( 1n ) )

- j n

+e

- j( N -1- n )

- j N 1 = 2 cos( ( - n)) e 2
N 1 2

N -1 2

H ( e j ) = A ( )e
com

A( ) = h(

N 1 )+ 2 2

N 1 1 2 n =0

h (n) cos((
N1 2

N 1 n )) 2

ou, de uma forma ainda mais compacta,

H ( e j ) =
com

N1 2 n =0

a( n) cos(n) e

a (0) = h(

N 1 ) 2 N -1 N -1 - n) , se 1 n , 2 2

a(n) = 2h(

isto , a amplitude da resposta em frequncia uma soma de cossenos, com termo contnuo.

6.2.1.2 Tipo II.


Quando a simetria positiva e N par
N 1 2 n= 0

H ( e j ) =

h(n)(e jn + e j( 1n ) )

1998 F. J. Restivo

Processamento Digital de Sinal

82

e ento

H( e
com

) = A () e

- j

N -1 2

A( ) = 2

N 1 2 n =0

h(n) cos((
N 2

N 1 n)) 2

ou, de uma forma mais compacta,


j

H( e
com

1 j )= b(n ) cos(( n )) e 2 n =1

N1 2

b(n) = 2h(
Note-se que

N N - n) , se 1 n . 2 2
j

= H(e ) = 0 , pelo que este tipo de filtro FIR no pode ser utilizado como passa alto, por exemplo.

6.2.1.3 Tipo III.


Quando a simetria negativa e N mpar, o que implica que

h(
como

N 1 )=0 , 2

- jn

-e

- j( N -1- n )

- j N 1 = 2 jsen( ( - n))e 2
N -1 2

N-1 2

H ( e j ) = jB()e
com
N1 1 2 n =0

- j

B( ) = 2

h(n)sen((
N1 2

N 1 n )) 2

ou, de uma forma ainda mais compacta,


j

H( e
com

)=

N1 j( ) 2 2 c( n)sen (n) e

n =1

c(n) = 2h(
Note-se que

N -1 N -1 - n) , se 1 n . 2 2

1998 F. J. Restivo

Processamento Digital de Sinal

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.

6.2.1.4 Tipo IV.


Quando a simetria negativa e N par,
N -1 2

H( e
com

) = jB()e

- j

B( ) = 2

N 1 2 n =0

h(n)sen((
N 2

N 1 n)) 2

ou, de uma forma ainda mais compacta,


j

H( e
com

1 j( ) = d (n )sen( (n )) e 2 2 n =1

N1 ) 2

d(n) = 2h(
Como

N N - n) , se 1 n . 2 2
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 n =0

h (n )z k n = 0
N1 n =0

ento

h(N 1 n )z k n = 0

e, pela mudana de varivel n N-1-n ,

N1 n =0

h (n )z k ( N1n) = 0

ou seja, o que demonstra a afirmao,

1998 F. J. Restivo

Processamento Digital de Sinal

84

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
1

e zk *

, que podem ser de dois ou de um em certos casos particulares.

z*
k

-1

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.

6.2.3 Mtodos de Projecto.


Os mtodos bsicos para o projecto de filtros digitais do tipo FIR so - mtodo da janela - mtodo da amostragem da funo de transferncia - projecto ptimo (algoritmo de Remez).

6.2.3.1 Mtodo da Janela.


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

isto , tal que h(n) = w(n)h d(n) tem comprimento finito. A resposta em frequncia H(e j ) do sistema resultante dada pela convoluo da transformada de Fourier de w(n) com Hd(e j ) H(e j ) = W(e j )*Hd(e j ) .

1998 F. J. Restivo

Processamento Digital de Sinal

85

A janela mais bvia, a janela rectangular

w R (n) = u(n +

N -1 N +1 ) u(n ) , 2 2
j

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

w N (n) = (0.5 + 0.5cos(


a janela de Hamming

2n )) w R ( n) , N -1 2 n )) w R (n ) , N -1

w M (n) = (0.54 + 0.46cos(

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

6.2.3.1.1 Janela Rectangular.


A transformada de Fourier da janela rectangular
N 1 j

H R (e ) =

e
n = 2

j n

N 1

1 e jN 1 e j

N 1 2

N ) 2 H R ( e j ) = sen( ) 2 sen(
que se exemplifica a seguir, para N = 21.

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!

6.2.3.1.2 Janela de Hamming generalizada.


A janela de Hanning e a janela de Hamming so casos particulares da janela de Hamming generalizada

1998 F. J. Restivo

Processamento Digital de Sinal

86

2n wH(n) = ( + (1-)cos( ))wR(n) , N 1


cuja transformada de Fourier
2 2

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.

6.2.3.1.3 Janela de Blackman.


A janela de Blackman wB(n) = (0.42 + 0.5cos(

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

6.2.3.2 Mtodo da Amostragem da Funo de Transferncia.


Como sabemos, dada uma amostragem H(k) , k = 0 .. N-1 de uma determinada funo de transferncia, a funo

H (z ) =

1 z N N

N1

k =0 1 W N

H( k)
k 1

1998 F. J. Restivo

Processamento Digital de Sinal

87

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 = W N

1 zN N

-k

, 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 = 0 .. N - 1 ,

cada um dos quais com um polo em W N . 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 )
2 j k e N z 1

+ 1

H ( k)
2 j ( N k ) e N z 1

H k ( z) + H N k ( z) =

2H( k) 2H(k ) cos(

2 1 k )z N . 2 1 2 cos( k) z 1 + z 2 N

A resposta em frequncia da associao em paralelo de H1 e H31 , para N=32, seria

1998 F. J. Restivo

Processamento Digital de Sinal

88

100 80 60 40 20 0 0 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120

/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 zN N H( k) 1 re
j 2 k N z 1

donde resulta

H p ( z) = H k (z ) =

, 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

x a ( t) = sin(2.50 t) + 0. 5 sin(2. 150 t) .


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

Processamento Digital de Sinal

89

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

O filtro pente implementado pela equao

v(n ) =

x( n) r N x( n N) N

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) = 2v( n) 2r cos( ) v( n 1) + 2r cos( ) y1 ( n 1) r 2 y1 ( n 2) 16 16 y 2 ( n) = 2v(n ) 2r cos( ) v( n 1) + 2r cos( ) y 2 (n 1) r 2 y2 (n 2) 8 8


sendo finalmente y(n) = y 0 (n) + y 1 (n) + y 2 (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

Processamento Digital de Sinal

90

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.

6.2.3.3 Projecto Optimo.


Um filtro ptimo ser aquele que explora ao mximo o ripple admitido nas bandas de passagem e de rejeio, com o objectivo de apresentar o comprimento mnimo possvel. Estes filtros so projectados em computador, normalmente atravs de tcnicas iterativas baseadas no algoritmo de Remez. O projectista tem de decidir a priori o tipo de filtro FIR a optimizar.

6.3 Projecto de Filtros Digitais do Tipo IIR.


Os filtros digitais do tipo IIR so normalmente projectados t omando como ponto de partida um filtro analgico, que transformado num filtro digital por um dos seguintes dois mtodos principais - mtodo da invarincia da resposta impulsional - mtodo da transformao bilinear. Tira-se assim partido do conhecimento que actualmente h sobre vrios tipos de filtros analgicos, como os de Butterworth, de Chebyshev e elpticos.

6.3.1 Mtodo da Invarincia da Resposta Impulsional.


No possvel reproduzir completamente num filtro digital um determinado filtro analgico (basta pensar que a resposta em frequncia do filtro digital necessariamente peridica), mas possvel garantir que certas caractersticas so respeitadas na transformao. O mtodo da invarincia da resposta impulsional consiste exactamente em impor que a resposta impulsional do filtro digital uma amostragem da resposta impulsional do filtro analgico h(n) = Tha(nT) , com o factor T a garantir que a amplitude da resposta em frequncia dos dois filtros a mesma, a menos da ocorrncia de aliasing

1998 F. J. Restivo

Processamento Digital de Sinal

91

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

s k s
N 1 k =0

a funo de transferncia do filtro digital

H (z ) = T

1 e s k T 1 z
A
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 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 = ej T , 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

Processamento Digital de Sinal

92

6.3.2 Transformao Bilinear.


A transformao bilinear permite passar directamente da funo de transferncia do filtro analgico para a funo de transferncia do filtro digital, atravs da substituio

2 1 z 1 T 1 + z 1

que define um mapa biunvoco do plano s no plano z. Resolvendo em ordem a z, tem-se

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

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

resultando o filtro digital

1998 F. J. Restivo

Processamento Digital de Sinal

93

H ( z) =

0.1 . 1 1 e 01 z

y(n) = 0.314x(n) + 0.730y(n-1) cuja amplitude resposta em frequncia se representa a seguir 1.5 1 0.5 0 -3.14 -2.36 -1.57 -0.79 0.00 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 ,

0.79

1.57

2.36

3.14

c =

2 c tg = 6335 .4 rads -1 , T 2
-1

ligeiramente superior frequncia de corte 2000 rads Assim, como

utilizada anteriormente.

H a (s) =

6335 .4 , s + 6335 .4

pela transformao bilinear

H( z ) =

0.137 (1 + z 1 ) 1 0.727 z 1

y(n) = 0.137x(n) + 0.137x(n-1) + 0.727y(n-1) , cuja amplitude da resposta em frequncia se representa graficamente a seguir

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

Processamento Digital de Sinal

94

6.3.2.1 Filtros de Butterworth


Os filtros de Butterworth tm resposta em frequncia

| 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

Os polos de um filtro de Butterworth determinam-se resolvendo a equao

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

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

em que os coeficientes a1 .. aN tm os valores dados pela tabela seguinte

1998 F. J. Restivo

Processamento Digital de Sinal

95

a1 B1 B2 B3 B4 B5 B6 B7 B8 1 0.707 2 2.613 3.236 3.864 4.494 5.126

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.

6.3.2.2 Filtros de Chebyshev


Os filtros de Chebyshev caracterizam-se por apresentarem ripple numa das bandas, passagem ou bloqueio, o que conduz em muitos casos, a solues mais econmicas em termos da ordem do filtro. 7. Baseiam-se nos polinmios de Chebyshev, os quais se podem definir recursivamente a partir de TN+1 (x) = 2xT N(x) - TN-1 (x) com T0 (x) = 1 T1 (x) = x, ou ento, de uma forma compacta, como TN(x) = cos(Ncos -1 (x)) , se |x| 1 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 0.00 -2

1.00

2.00

3.00

4.00

Estes polinmios caracterizam-se por TN(1) = 1 TN(-1) = 1

1998 F. J. Restivo

Processamento Digital de Sinal

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

representando-se a seguir os filtros deste tipo com ordem 1 a 6, c = 1 e = 0.5

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

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 ( b ) c 1 + 2 TN 2 ( b )
2

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

Processamento Digital de Sinal

97

|Ha(j0.3T-1 )|2 = 10-4 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 c 0.437T
-1 -1

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.

6.4 Transformaes no Domnio das Frequncias. 6.4.1 Filtros Passa Tudo.


Um filtro digital com amplitude da resposta em frequncia constante para todas as frequncias diz-se um filtro passa tudo, e a sua principal aplicao consiste na modificao da fase de uma resposta em frequncia sem alterao da respectiva amplitude. O seu estudo permite-nos tambm compreender melhor como se pode projectar qualquer filtro digital tomando como ponto de partida um filtro passa baixo, atravs do uso de transformaes no domnio das frequncias. Um sistema discreto com um polo em C e um zero em *1 tem estas caractersticas, isto , se

H ( z) =
ento

z *1 z

| H( e j ) |=
Na realidade,

1 . | |

| H( e j ) |=

| e j a 1 e j | |e
j

ae

, = ae j

1998 F. J. Restivo

Processamento Digital de Sinal

98

| H( e j ) |=

| cos + jsen a 1 cos ja 1sen | | cos + jsen a cos jasen |

| 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 2asen sen 1 a2
.

Um estudo grfico simples teria permitido chegar mais rapidamente a esta concluso,

ej 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

Assim,

1 ) arg(H(e j )) = arg(cos + jsen ) arg(cos + jsen

1998 F. J. Restivo

Processamento Digital de Sinal

99

arg(H (e j )) = arctg

sen 1 cos

arctg

sen cos

e, utilizando a identidade trigonomtrica

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


Graficamente, para = 0.5 ,

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

6.4.2 Transformaes no Domnio das Frequncias.


Uma transformao no domnio das frequncias uma mudana de varivel do tipo

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

Processamento Digital de Sinal

100

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

permitem deduzir mudanas de varivel com as caractersticas anteriores

G( Z 1 ) =

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.

6.4.2.1 Passa Baixo em Passa Baixo.


A mudana de varivel

z 1 =
em que

Z 1 1 Z 1
p p 2 p + p 2

sin sin

e p e p so as frequncias de corte dos filtros original e pretendido, respectivamente.

6.4.2.2 Passa Baixo em Passa Alto.


A mudana de varivel

z 1 =
em que

Z 1 + 1 + Z 1
p + p 2 p p 2

cos cos

1998 F. J. Restivo

Processamento Digital de Sinal

101

e p e p so as frequncias de corte dos filtros original e pretendido, respectivamente.

6.4.2.1 Passa Baixo em Passa Banda.


A mudana de varivel

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.

6.4.2.2 Passa Baixo em Tampo.


A mudana de varivel
1

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

Processamento Digital de Sinal

102

7. Realizao de Sistemas Discretos


7.1 Grficos de Fluncia
Um sistema discreto realiza-se atravs da implementao do seu algoritmo, em hardware ou em software. As operaes envolvidas so basicamente trs, a soma, a multiplicao por uma constante e o atraso. Um modo simples de compreender o funcionamento dos algoritmos consiste na sua traduo em grficos de fluncia.

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) + 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.

x(n) z-1 A1 z-1 A2 -B 2 -B1 z-1 z-1

y(n)

1998 F. J. Restivo

Processamento Digital de Sinal

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

x(n) z-1 -B 1 z-1 -B 2 z-1 A2 z-1 A1

y(n)

v-se imediatamente que possvel implementar o algoritmo com apenas dois atrasos, em vez dos quatro iniciais.

x(n) z-1 -B1 z-1 -B 2


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)

A1

A2

7.2 Formas Directas


As formas directas so aquelas que derivam directamente dos algoritmos que descrevem os filtros digitais.

7.2.1 Filtros FIR


A equao geral de um filtro FIR causal
N 1 k =0

y( n ) =

h ( k ) x( n k ) ,

que implementada directamente pelo grfico de fluncia

1998 F. J. Restivo

Processamento Digital de Sinal

104

x(n) z-1 h(0) h(1) z-1 h(2) z-1 h(N-1) 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-1) z-1 h(N-2) z-1 h(N-3) z-1 h(0) y(n)

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)

quer quando N par

x(n)

z-1

z-1

z-1

z-1 z-1 z-1 z-1

h(0)

h(1)

h(2)

h( N-1 ) 2

y(n)

1998 F. J. Restivo

Processamento Digital de Sinal

105

7.2.2 Filtros IIR


O algoritmo correspondente a um filtro digital do tipo IIR,
N 1 k =0 N 1 k =1

y( n ) =

a k x( n k ) +

bk y( n k )

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) z-1 -b1 z-1 -b 2

y(n)

z-1 -b N-1 a N-1

7.3 Realizaes Srie e Paralelo


As propriedades da linearidade e da convoluo da transformada em z mostram que soma de funes de transferncia corresponde a associao em paralelo e ao seu produto a associao em srie. A realizao de um sistema complexo atravs da associao em paralelo ou em srie de sistemas mais simples muitas vezes conveniente, quer por razes de modularidade quer por razes associadas diminuio dos erros causados pela quantificao dos coeficientes do sistema. Uma regra elementar para a definio desses sistemas mais simples consiste em conservar no mesmo sistema pares de zeros ou de polos complexos conjugados, para assegurar que os respectivos coeficientes sejam nmeros reais.

7.3.1 Filtros FIR


Nos filtros do tipo FIR recorre-se normalmente sua realizao pela associao em srie de sistemas de primeira, segunda ou quarta ordem, correspondendo os primeiros implementao de um zero em z=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/ *

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

Processamento Digital de Sinal

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.

7.3.2 Filtros IIR


Nos sistemas do tipo IIR, recorre-se normalmente sua realizao pela associao em srie ou em paralelo de sistemas de primeira ou segunda ordem, correspondendo os primeiros implementao de um polo real e os de segunda ordem implementao de um par de polos reais ou complexos conjugados.

1998 F. J. Restivo

Você também pode gostar