Você está na página 1de 44

Processamento Digital de Sinais texto de suporte para aulas Instituto Federal de Educao, Cincia e Tecnologia - SP

Ricardo Pires - rea de Eletrnica 9 de Fevereiro de 2011

Contedo
1 Introduo 2 Sinais de Tempo Discreto 2.1 Sequncias . . . . . . . . . . . . . . . . . . . 2.2 Operaes Bsicas sobre Sequncias . . . . 2.3 Sequncias Bsicas . . . . . . . . . . . . . . 2.3.1 Impulso de Tempo Discreto . . . . . 2.3.2 Degrau Unitrio . . . . . . . . . . . 2.3.3 Sequncia Exponencial . . . . . . . . 2.3.4 Sequncia Senoidal . . . . . . . . . . 2.3.5 Sequncia Exponencial Complexa . . 2.4 Amostragem de Sinais de Tempo Contnuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 . 3 . 3 . 5 . 5 . 6 . 8 . 8 . 11 . 16 . . . . . . . . . . . . 18 21 21 22 22 23 23 27 29 29 30 33 35

3 Sistemas de Tempo Discreto 3.1 Sistemas com Memria x Sistemas sem Memria . . . . . . . . 3.2 Sistemas Lineares x Sistemas No Lineares . . . . . . . . . . . 3.3 Sistemas Variantes no Tempo x Sistemas Invariantes no Tempo 3.4 Sistemas Causais x Sistemas No Causais . . . . . . . . . . . . 3.5 Estabilidade de Sistemas . . . . . . . . . . . . . . . . . . . . . . 3.6 Sistemas Lineares e Invariantes no Tempo . . . . . . . . . . . . 3.6.1 Estabilidade de Sistemas LIT . . . . . . . . . . . . . . . 3.6.2 Causalidade de Sistemas LIT . . . . . . . . . . . . . . . 3.7 Equaes de Diferenas Lineares a Coecientes Constantes . . . 3.8 Representao no Domnio da Frequncia . . . . . . . . . . . . 3.9 Representao de Sequncias por Transformada de Fourier . . . 3.10 Transformada de Fourier Discreta . . . . . . . . . . . . . . . . .

4 Transformada Z 38 4.1 Transformada Z e Equaes de Diferenas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.2 Clculo de Resposta em Frequncia Usando a Transformada Z . . . . . . . . . . . . . . . . . . . . 41

Introduo

Este um texto de suporte para aulas de Processamento Digital de Sinais. Como tal, ele no dispensa o estudo em livros especializados, dentre os quais se destaca [1]. Supe-se que, durante as aulas, problemas sero resolvidos com auxlio do software Octave [2].

Ricardo Pires - Processamento Digital de Sinais

Um sinal uma grandeza (por exemplo, tenso eltrica) variando no tempo e que carrega uma informao. Portanto, a tenso eltrica da tomada no um sinal, enquanto uma onda transmitida por uma emissora de rdio um sinal. A informao carregada pode ser voz, msica, o resultado de uma medio (de distncia, de velocidade...), imagem etc. O processamento de sinais consiste na representao, na transformao e na manipulao dos sinais e da informao que eles contm. Exemplos: retirada de rudo de som, compactao de som ou de imagem. Uma classe importante de aplicaes do Processamento Digital de Sinais a da interpretao de sinais, a qual consiste na extrao de informaes do sinal sendo processado. Exemplos: num sinal de voz, identicao da pessoa que falou ou do que ela falou. Em sinais de origem geolgica: identicao de minrios presentes no local de origem dos sinais. Antes dos anos 1960, o processamento de sinais era feito, quase sempre, em tempo contnuo, por meio de circuitos eletrnicos analgicos. O avano da tecnologia digital, principalmente no aumento da velocidade dos circuitos digitais e em sua miniaturizao, fez com que o processamento de sinais tivesse gradualmente suas implementaes migrando da forma analgica para a digital. Normalmente, sinais manipulados na forma digital tm origem analgica. O circuito digital que faz esta manipulao requer uma sequncia de nmeros codicados em binrio obtida a partir do sinal analgico original. Esta sequncia obtida por amostragem peridica do sinal analgico. O resultado da amostragem uma sequncia de valores que buscam registrar valores lidos do sinal analgico em determinados instantes, havendo um certo intervalo entre eles. Neste processo, a princpio, perde-se a informao sobre os valores que estavam no intervalo entre as amostras colhidas. Como o processamento digital realizado apenas sobre amostras colhidas em determinados instantes (no continuamente), diz-se que este processamento de tempo discreto, por oposio ao processamento analgico, o qual de tempo contnuo. Mas, o processamento em tempo discreto no necessariamente digital. H processamento em tempo discreto usando-se outras tecnologias, como a de capacitores chaveados. Dentre as razes para a gradual substituio de implementaes analgicas por implementaes digitais para o processamento de sinais, esto a maior exibilidade das implementaes digitais e sua maior preciso. A maior exibilidade da implementao digital reside no fato de que o processamento de um sinal, normalmente, consiste na realizao de clculos usando-se os valores que ele sucessivamente assume. Uma implementao analgica, usando resistores, indutores, capacitores e amplicadores, realiza clculos sobre o sinal na forma de equaes diferenciais. A forma da equao diferencial implementada depende dos parmetros dos componentes do circuito (resistncias, indutncias, capacitncias, ganhos), do nmero de componentes de cada tipo e da forma pela qual eles so interconectados. Assim, s realizvel analogicamente um clculo que possa ser expresso como uma equao diferencial e para o qual se conhea uma congurao de circuito correspondente. Por outro lado, a implementao digital consiste na realizao de clculos usando-se, como entrada, a sequncia de amostras coletadas. Cada amostra est codicada como nmero em binrio. Os clculos possveis, neste caso, so quaisquer clculos realizveis por unidades aritmticas digitais: adies, subtraes, multiplicaes, divises, operaes no-lineares e quaisquer combinaes destas, em quaisquer ordens. Equaes diferenciais tambm podem ser aproximadas numericamente por clculos na forma digital. Desta forma, uma implementao digital pode substituir uma implementao analgica, desde que a velocidade exigida para os clculos esteja dentro do limite de funcionamento da tecnologia digital disponvel. Por outro lado, muitas sequncias de clculos possveis na forma digital no tm equivalentes na forma analgica. Quanto preciso, uma implementao analgica sofre os efeitos de desvios nos parmetros de seus componentes (resistncias, capacitncias...) em relao aos valores desejados. Uma implementao digital tem a preciso de seus clculos dependente, sobretudo, do nmero de bits com que representada cada amostra e cada resultado intermedirio de clculo. Quanto maior for este nmero de bits, maior a preciso (maior resoluo). E no h limite terico para este nmero de bits. S h limite de custo da implementao, de seu tamanho fsico e da energia consumida em seu funcionamento. Portanto, quanto preciso, a implementao digital tambm vantajosa. Basta que se use um nmero suciente de bits para se representar cada nmero usado nos clculos com a preciso desejada. As principais formas de implementao de sistemas de processamento digital de sinais so: computador de uso genrico; circuito integrado (chip) programvel genrico (microprocessador ou microcontrolador);

Ricardo Pires - Processamento Digital de Sinais

chip programvel especial para processamento digital de sinais [3]; chip congurvel do tipo FPGA; circuito integrado de aplicao especca.

Sinais de Tempo Discreto

Conforme visto na introduo, um sinal uma funo que carrega informao. Na maioria dos casos, uma grandeza fsica cujo valor funo do tempo. Um sinal de tempo contnuo denido para um intervalo contnuo de valores de tempo. Usualmente, chamado de sinal analgico. Um sinal de tempo discreto s denido para determinados instantes, com intervalos entre eles. Assim, eles consistem em sequncias de nmeros. A mesma idia de continuidade se aplica aos valores assumidos pelo sinal. Um sinal pode assumir valores contnuos, como ocorre nos sistemas analgicos, ou pode assumir apenas determinados valores, como ocorre em sistemas digitais. Neste caso, a limitao de valores se deve ao fato de que, representando-se nmeros em binrio com nmero limitado de bits, somente um nmero nito de valores representvel.

2.1

Sequncias

Sinais de tempo discreto so sequncias de nmeros. Uma certa sequncia x tem, convencionalmente, cada um de seus valores particulares denotado como x[n], em que o n entre colchetes indica a qual valor particular dentro da sequncia se est fazendo referncia. Por exemplo, x[15] refere-se ao elemento nmero 15 da sequncia x. Como n o nmero de um elemento na sequncia, ou seja, n serve para indicar a posio do elemento em relao aos demais (se o quinto, o dcimo etc.), n sempre inteiro. Normalmente, uma sequncia originada da amostragem peridica de um sinal analgico xa (t). Neste caso, x[n] = xa (nTa ) (1)

em que Ta , intervalo entre a coleta de duas amostras seguidas, chamado perodo de amostragem. Seu inverso, fa , a frequncia de amostragem. Embora x[n] se rera a um elemento particular de uma sequncia, a notao x[n] tambm usada para se referir sequncia completa, quando no houver ambiguidade. O grco de uma funo de domnio contnuo y = f (x) deve usar uma linha contnua para expressar visualmente a dependncia entre x e y, conforme a gura 1. Por outro lado, o grco de uma funo de domnio discreto y = f [n] deve deixar claro que a funo s denida para certos valores (aqueles que pertencem ao seu domnio) e indenida entre estes valores, conforme a gura 2.

No software Octave, uma sequncia denida como: octave > x = [11 22 33 44] em que, aqui, deniu-se uma sequncia x que possui 4 amostras. Deve-se sempre lembrar que, no Octave, a primeira amostra de uma sequncia est sempre na posio 1. Assim, neste exemplo, x[1] = 11, x[2] = 22 etc.

2.2

Operaes Bsicas sobre Sequncias

A soma de duas sequncias a[n] e b[n], por denio, gera uma nova sequncia s[n] tal que, para qualquer n = i, s[i] = a[i]+b[i]. A tabela 1 d exemplos de valores de uma sequncia a[n], uma sequncia b[n] e a correspondente sequncia s[n] = a[n] + b[n].

Ricardo Pires - Processamento Digital de Sinais

Figura 1: Grco de uma funo de domnio contnuo n 0 1 2 3 4 a[n] 2 -1 10 -3 2,5 b[n] 1 6 -3 -9 7 s[n] = a[n] + b[n] 3 5 7 -12 9,5

Tabela 1: Soma de sequncias

De maneira similar, o produto de duas sequncias a[n] e b[n], por denio, gera uma nova sequncia s[n] tal que, para qualquer n = i, s[i] = a[i] b[i]. A tabela 2 d exemplos de valores de uma sequncia a[n], uma sequncia b[n] e a correspondente sequncia s[n] = a[n] b[n]. O produto de uma sequncia a[n] por uma constante gera uma sequncia s[n] tal que, para qualquer n = i, s[i] = a[i]. A tabela 3 d exemplos de valores de uma sequncia a[n] e a correspondente sequncia s[n] = a[n], para = 3. Exerccio 1 Para as sequncias a[n] e b[n] das tabelas anteriores, qual seria a sequncia resultante de y[n] = 2a[n] + 3b[n]?

Uma sequncia y[n] chamada de verso atrasada de uma sequncia x[n] se a relao entre os valores delas for do tipo y[n] = x[n n0 ], em que n0 um inteiro, correspondente ao atraso de y[n] em relao a x[n]. A tabela 4 d exemplos de valores de uma sequncia x[n] e a correspondente sequncia y[n] = x[n n0 ], para

Ricardo Pires - Processamento Digital de Sinais

Figura 2: Grco de uma funo de domnio discreto

n0 = 1. Nela, o smbolo ? indica que o valor de y[n] naquele instante no pode ser determinado a partir dos demais valores da tabela. O interesse nestas operaes bsicas se justica pelo fato de que a maioria dos algoritmos de processamento digital de sinais consistem na realizao de sequncias destas operaes sobre sequncias de valores de entrada (medidos ou recebidos).

2.3

Sequncias Bsicas

Na teoria de processamento digital de sinais, so denidas certas sequncias bsicas fundamentais. Elas so: o impulso de tempo discreto, a sequncia degrau unitrio, a sequncia exponencial e a sequncia senoidal. 2.3.1 Impulso de Tempo Discreto

O impulso de tempo discreto, denotado [n], denido como: [n] = 0 para n = 0 1 para n = 0 (2)

e representado na gura 3. Uma maneira de se ver a funo impulso a de que [...] s resulta 1 quando seu argumento, ou seja, o valor dado entre colchetes, for 0. Assim, por exemplo, [n 7] s resulta 1 quando n = 7 e [n + 2] s resulta 1 quando n = 2. Exerccio 2 Desenhe o grco de [n 10].

Ricardo Pires - Processamento Digital de Sinais

No Octave, pode-se vericar uma soma de sequncias como: octave > octave > octave > a = [2 1 10 3 b = [1 6 3 9 s= a + b 2.5] 7]

Note que o separador entre a parte inteira e a parte fracionria de um nmero deve ser digitado como um ponto, no como vrgula. Deve-se digitar enter ao nal de cada linha. Deve-se lembrar que, embora o clculo tenha dado o resultado correto (verique no computador), o software considerou os ndices das sequncias fornecidas comeando em 1. n 0 1 2 3 4 a[n] 2 -1 10 -3 2,5 b[n] 1 6 -3 -9 7 s[n] = a[n] b[n] 2 -6 -30 27 17,5

Tabela 2: Produto de sequncias Exerccio 3 Desenhe o grco de 7[n 8].

Exerccio 4 Desenhe o grco de 5[n + 1] 3[n 4].

Exerccio 5 Escreva a sequncia a[n] da tabela 2 como soma de impulsos.

Exerccio 6 Idem para a sequncia b[n] da tabela 2.

Resolvendo-se os exerccios anteriores, v-se que qualquer sequncia pode ser escrita como soma de impulsos. Isto til na construo da teoria de Processamento Digital de Sinais. Generalizando-se, portanto, uma sequncia qualquer x[n] pode ser escrita como:

x[n] =
k=

x[k][n k]

(3)

2.3.2

Degrau Unitrio

A sequncia degrau unitrio, denotada u[n], denida como:

Ricardo Pires - Processamento Digital de Sinais

No Octave, cada sequncia fornecida como nos exemplos anteriores vista pelo software como uma matriz que possui uma linha e vrias colunas. Se se tentar realizar um produto destas sequncias usando-se o operador de produto *, o software indicar um erro, porque, para se realizar um produto de duas matrizes, o nmero de colunas da primeira deve ser igual ao nmero de linhas da segunda e cada uma de nossas sequncias tem apenas uma linha e vrias colunas. O produto de sequncias como denido aqui obtido usando-se o operador .* (ponto asterisco). Como exemplo, o produto das sequncias a e b das tabelas anteriores obtido usando-se a. b. n 0 1 2 3 4 a[n] 2 -1 10 -3 2,5 s[n] = 3a[n] 6 -3 30 -9 7,5

Tabela 3: Produto de uma sequncia por uma constante (neste caso, 3)

u[n] = e representada na gura 4. Exerccio 7 Desenhe o grco de 3u[n].

0 para n < 0 1 para n 0

(4)

Exerccio 8 Desenhe o grco de 2u[n 3].

Exerccio 9 Desenhe o grco de 3u[n] 2u[n 3].

Exerccio 10 Desenhe o grco de u[n].

Exerccio 11 Desenhe o grco de 5u[3 n].

Ricardo Pires - Processamento Digital de Sinais

Pode-se vericar o produto de uma sequncia por uma constante como: octave > octave > a= s= [2 1 3 10 3 a 2.5]

n 0 1 2 3 4

x[n] 2 -1 10 -3 2,5

y[n] = x[n 1] ? 2 -1 10 -3

Tabela 4: Uma sequncia y[n] atrasada de uma unidade de tempo em relao a uma sequncia x[n]. Exerccio 12 Desenhe o grco de 7u[n + 2] 5u[3 n].

2.3.3

Sequncia Exponencial

A sequncia exponencial tem a forma: x[n] = An em que A e so constantes reais. A gura 5 mostra o grco de uma sequncia exponencial com A = 3, = 0, 7 e n indo de 1 a 10. (5)

Pode-se visualizar o grco da sequncia exponencial da gura 5 usando-se os comandos: octave : 1 > n = [1 : 10] octave : 2 > A = 3 octave : 3 > alf a = 0.7 octave : 4 > seqExpo = A alf a. n octave : 5 > stem(n, seqExpo) octave : 6 > title( exponencial ) octave : 7 > axis([0 11 0 3]) O comando 1 gera uma sequncia de 1 a 10, a qual serve como a srie de instantes de amostragem considerados. Os comandos 2 e 3 denem os valores das constantes. O comando 4 calcula os valores da sequncia exponencial. Nele, o operador . gera uma sequncia elevando o mesmo valor alf a, sucessivamente, s potncias de 1 a 10 contidas em n. O comando 5 gera o grco, no estilo de tempo discreto. O comando 6 dene um ttulo para o grco. Finalmente, o comando 7 ajusta as escalas dos eixos.

2.3.4

Sequncia Senoidal

A sequncia senoidal tem a forma: x[n] = A cos(0 n + 0 ) (6)

Ricardo Pires - Processamento Digital de Sinais

Figura 3: Grco da funo impulso de tempo discreto

em que A, 0 e 0 so constantes. A a amplitude da senoide, 0 sua frequncia angular, medida em radianos, e 0 sua fase inicial. A gura 6 mostra o grco de uma sequncia senoidal com A = 10, 0 = , 0 = 0 e n indo de 1 a 20. 4

No Octave, a funo cosseno digitada, simplesmente, como cos. A funo seno digitada como sin. A constante digitada como pi. Assim, na gerao do grco senoidal da gura 6, usou-se a sequncia de comandos: octave > octave > octave > octave > octave > n = [1 : 20] A = 10 omega0 = pi/4 phi0 = 0 x = A cos(omega0 n + phi0)

alm de comandos de ajuste de escala, de ttulo e do comando stem, como no caso exponencial.

Exerccio 13 Gere e visualize sequncias senoidais com o Octave, variando suas amplitudes, suas frequncias e suas fases iniciais.

Ricardo Pires - Processamento Digital de Sinais

10

Figura 4: Grco da funo degrau unitrio Exerccio 14 Gere uma senoide com 0 = 0 e uma outra com 0 = 2, mantendo os demais parmetros. Compare os resultados. Faa o mesmo com uma senoide com 0 = e uma outra com 0 = 9 . Interprete. 4 4

Pode-se ver que, em tempo discreto, a frequncia 0 = 0 equivale a 0 = 2. O mesmo ocorre com o par 0 = e 0 = 5 . Em geral, qualquer frequncia angular que esteja fora da faixa 0 < < equivale a 2 2 uma frequncia que esteja nesta faixa. Isto acontece porque, para n inteiro, cos{( + )n} = cos{n + n} equivale a cos{( )n} = cos{n n}, em que uma frequncia angular, em radianos. Assim, qualquer frequncia que esteja acima de por rad equivale a uma frequncia que esteja abaixo de por rad. O mesmo fenmeno ocorre em torno de qualquer frequncia que seja mltipla inteira de . A gura 7 mostra, esquematicamente, as equivalncias de frequncias em tempo discreto. Nela, indicada uma certa frequncia x , na faixa entre 0 e . Uma frequncia equivalente a esta 2 x , na faixa entre e 2. A prxima equivalente 2 + x , na faixa entre 2 e 3. A prxima 4 x , na faixa entre 3 e 4, e assim por diante. Exerccio 15 Com o auxlio da gura 7 e do Octave, verique as trs prximas equivalncias da frequncia 0 = . Para isto, 4 calcule estas frequncias equivalentes e gere valores de amostras de x[n] = cos(n), para n indo de 1 a 12 e assumindo cada uma daquelas frequncias.

O fato de haver esta equivalncia entre frequncias muito importante em processamento digital de sinais. Ele implica que uma sequncia de amostras colhidas periodicamente de uma senoide de baixa frequncia pode ser igual a uma sequncia de amostras colhidas de uma senoide de frequncia mais alta. Neste caso, observandose as amostras, no seria possvel se descobrir de qual senoide elas teriam sido colhidas. Para se evitar este

Ricardo Pires - Processamento Digital de Sinais

11

Figura 5: Grco de sequncia exponencial problema, deve-se tomar o cuidado de s se amostrarem sinais analgicos cujas frequncias estejam numa faixa limitada, equivalendo faixa de tempo discreto de 0 a . Desta forma, observando-se as amostras de uma senoide, deduz-se qual era a frequncia desta senoide: s pode ser uma frequncia da primeira faixa, j que no havia senoides de outras faixas no processo. Assim, no h frequncias equivalentes e, portanto, no h ambiguidade. Para que isto seja possvel, antes da amostragem, o sinal a ser amostrado aplicado a um ltro analgico passa-baixas, cuja sada s ter frequncias da primeira faixa. Esta sada, ento, pode ser amostrada, sem que haja ambiguidade na interpretao das amostras. Esta condio para que no haja ambiguidade na amostragem foi publicada em 1928 pelo engenheiro sueco Harry Theodor Nyqvist (mais conhecido como Nyquist) e pelo engenheiro estadunidense Claude Elwood Shannon. Ela ser estudada na seo 2.4. 2.3.5 Sequncia Exponencial Complexa

A sequncia exponencial complexa tem a forma: x[n] = Aej(0 n+0 ) (7) em que A, constante real, a amplitude da sequncia, j = 1, 0 a frequncia angular, em radianos, e 0 a fase inicial, tambm em radianos. Para se estudar esta sequncia, deve-se lembrar que: ejx = cos x + jsen x (8)

A equao 8 chamada frmula de Euler. Foi publicada pelo matemtico suo Leonhard Paul Euler em 1748. Nela, x um nmero real. Como x argumento de funes trigonomtricas, ele pode ser visto como um ngulo (em radianos). Para cada valor de x, v-se que o membro direito da equao 8 fornece um nmero complexo, cuja parte real vale cos x e cuja parte imaginria vale jsen x. Assim, dado um valor de x, ejx pode ser representado como um ponto no plano complexo, conforme a gura 8. O ngulo entre o eixo real e a linha que liga este ponto origem x radianos. O mdulo de ejx sempre 1, independentemente do valor de x (verique). Assim, o mdulo de Aejx A.

Ricardo Pires - Processamento Digital de Sinais

12

Figura 6: Grco de sequncia senoidal Exerccio 16 Represente e+j 3 no plano complexo, anotando suas coordenadas.

Exerccio 17 Represente ej 4 no plano complexo, anotando suas coordenadas.

Exerccio 18 Represente e+j no plano complexo, anotando suas coordenadas.

Exerccio 19 Represente 5e+j 6 no plano complexo, anotando suas coordenadas.

Exerccio 20 7 Represente 7e+j 6 no plano complexo, anotando suas coordenadas.

Ricardo Pires - Processamento Digital de Sinais

13

x 0 2 2 4 . . . 3 3

Figura 7: Equivalncias entre frequncias em tempo discreto ejx

sen x

x cos x

Figura 8: Representao de ejx no plano complexo Exerccio 21 11 Represente 4e+j 6 no plano complexo, anotando suas coordenadas.

Da frmula 8, obtm-se: cos x = Exerccio 22 Prove a validade da equao 9. 1 +jx (e + ejx ) 2 (9)

Da frmula 8, obtm-se, tambm: sen x = 1 +jx (e ejx ) 2j (10)

Exerccio 23 Prove a validade da equao 10.

Ricardo Pires - Processamento Digital de Sinais

14

Como ejx , com um valor xo para x, pode ser representado como um ponto no plano complexo, o valor ejt , com t (tempo) aumentando continuamente, pode ser representado, no plano complexo como um ponto girando sobre uma circunferncia centrada na origem, com raio unitrio (conforme a gura 9), j que, com o aumento de t, o ngulo t aumenta, mas a distncia do ponto ejt origem continua sendo 1. A frequncia de giro deste ponto constante, de ( rad ). Assim, uma grandeza fsica variando de forma senoidal, como, por exemplo, s uma tenso eltrica v(t) = cos(t), poderia ser considerada como a projeo horizontal do ponto giratrio ejt , com o valor desta projeo sendo o valor instantneo desta tenso. Uma tenso senoidal com outra amplitude, v(t) = A cos(t), seria representada como a projeo horizontal do ponto giratrio Aejt , o qual gira sobre uma circunferncia de raio A. Esta projeo horizontal denotada {ejt }. (O operador {} fornece a parte real de seu argumento.) A projeo vertical denotada {ejt }. (O operador {} fornece a parte imaginria de seu argumento.) ejt

sen(t)

t cos(t)

Figura 9: Representao de ejt no plano complexo, com t variando continuamente Da equao 9, pode-se visualizar de outra forma uma grandeza senoidal no plano complexo, conforme a gura 10. Neste caso, o ponto correspondente a cos(t), marcado com um x na gura, dado pela mdia das posies de e+jt e de ejt . (Verique que a equao 9, de fato, contm a mdia daqueles dois pontos sobre a circunferncia.) A mdia das posies dos pontos est sempre sobre o eixo real, j que as projees verticais dos dois pontos se anulam. A soma das partes reais resulta 2 cos(t). Como a mdia, para os dois pontos, consiste na metade desta soma, esta mdia vale cos(t). Assim, a equao 9 nos leva a visualizar uma grandeza do tipo cos(t) como a mdia das posies de dois pontos girando em sentidos contrrios em torno da origem do plano complexo. Deve-se visualizar que, enquanto os dois pontos giram sobre a circunferncia, sua mdia (x) oscila sobre o eixo real, entre as abscissas +1 e -1. Exerccio 24 Interprete geometricamente a equao 10.

Exerccio 25 Represente geometricamente, no plano complexo, a posio de e+j 4 t e a de ej 4 t , para t = 1s, t = 2s e t = 3s. +j t j t Em cada caso, indique a posio do ponto mdio entre e 4 e e 4 .

Ricardo Pires - Processamento Digital de Sinais ejt

15

sen(t)

t cos(t) t

sen(t)

ejt

Figura 10: Representao de cos(t) no plano complexo, com t variando continuamente

Quando o sinal senoidal de tempo discreto, com a forma cos(n), com n inteiro, n crescendo com o tempo, tm-se, como no caso contnuo, aqueles dois pontos girando sobre a circunferncia, com cos(n), novamente, sendo a mdia entre as posies dos dois pontos. Porm, os pontos giratrios, agora, so: e+jn e ejn , com n avanando aos saltos, ao invs de avanar continuamente como ocorria com o t contnuo. Cada salto destes corresponde a uma variao de no ngulo do segmento que liga um ponto giratrio origem do plano. Assim, com o aumento discreto (de um em um) de n, e+jn salta de um ponto a outro sobre a circunferncia de raio unitrio, conforme a gura 11. Na gura, indicada a posio ocupada pelo ponto giratrio quando n = 1 e as prximas posies que sero ocupadas por este ponto, quando n avanar at o valor 5. Com o passar do tempo, o ponto d voltas sobre a circunferncia, mas sempre dando saltos entre as posies sucessivas que ocupa. O ponto ejn tambm anda sobre a circunferncia, aos saltos, mas em sentido contrrio. A posio mdia entre os dois pontos, a qual corresponde a cos(n), faz um movimento de vai e vem sobre o eixo real, tambm aos saltos. A gura 6 um grco que pode ser interpretado como representando as posies sucessivas ocupadas pelo ponto mdio sobre o eixo real. Exerccio 26 Represente, no plano complexo, as sucessivas posies ocupadas pelo ponto 3e+j 4 n , para 0 < n < 8.

Exerccio 27 Represente, no plano complexo, as sucessivas posies ocupadas pelo ponto e+j 3 n , para 0 < n < 12.

Exerccio 28 Represente, no plano complexo, as sucessivas posies ocupadas pelo ponto ej 3 n , para 0 < n < 12.

Ricardo Pires - Processamento Digital de Sinais ejn

16

sen(n)

n cos(n)

Figura 11: Representao de e+jn no plano complexo, com n variando de forma discreta Exerccio 29 Represente, no plano complexo, as sucessivas posies ocupadas pelo ponto mdio de e+j 4 n e de ej 4 n , para 0 < n < 8. Com base neste grco, desenhe o grco de cos( n) n 4

2.4

Amostragem de Sinais de Tempo Contnuo

Normalmente, sinais a serem processados em tempo discreto so originrios da amostragem peridica de sinais de tempo contnuo. possvel a reconstruo exata de um sinal de tempo contnuo a partir de suas amostras, se forem respeitadas certas condies. Como j se disse neste texto, em tempo discreto, h maior exibilidade para o processamento de sinais do que em tempo contnuo. Assim, so comuns tcnicas de processamento de sinais originalmente de tempo contnuo realizadas em tempo discreto, com uma converso nal dos resultados obtidos em tempo discreto de volta ao tempo contnuo. Estas tcnicas usam como uma de suas primeiras etapas a amostragem dos sinais de tempo contnuo envolvidos. A amostragem peridica a tcnica mais usada para se obter uma representao de um sinal de tempo contnuo a ser processado em tempo discreto. Ela consiste em se obterem amostras de um certo sinal xc (t) a intervalos regulares, formando-se a sequncia de amostras x[n] segundo a relao: x[n] = xc (nTa ) (11)

em que n o nmero da amostra, sempre inteiro, podendo assumir valores desde a + e Ta o chamado perodo de amostragem, o qual o intervalo de tempo entre a obteno de duas amostras seguidas de xc (t). 1 O inverso de Ta a chamada frequncia de amostragem, fa = Ta . Esta indica quantas amostras de xc (t) so obtidas por segundo. Na gura 12, v-se um diagrama de blocos de um amostrador, o qual recebe o sinal de tempo contnuo xc (t) e fornece a sequncia de amostras x[n]. As chaves ch1 e ch2 so implementadas como transistores operando como chaves. Quando ch1 se fecha, o valor de tenso correspondente a xc (t) no instante do fechamento registrado como tenso de carga do capacitor C. Em seguida, ch1 aberta, congelando-se a leitura feita por C. ch2 , ento, fechada, fazendo-se com que o conversor analgico-digital leia a amostra de tenso registrada em C e

Ricardo Pires - Processamento Digital de Sinais

17

faa sua converso para digital, gerando uma amostra digitalizada de sada x[n]. Terminada a obteno desta amostra digitalizada, este ciclo se repete. O papel de ch1 o de obter uma amostra instantnea de xc (t) e de coloc-la em C. ch1 aberta em seguida, para que, durante a converso A/D, a tenso em C no varie. As duas chaves nunca cam fechadas simultaneamente, para que todas as converses A/D ocorram com valores xos de tenso entrada do conversor. O ritmo de fechamento e de abertura das chaves a frequncia de amostragem, fa . O conversor A/D deve ser rpido o suciente para fazer uma converso em tempo menor do que o perodo de amostragem Ta . Assim, uma limitao de velocidade de operao de um amostrador corresponde rapidez com que seu conversor A/D consegue operar. Esta pode ser a limitao do sistema completo de processamento digital de sinais, ou seja, o amostrador pode ser o gargalo do sistema.
xc (t) ch1 ch2 conversor A/D x[n]

Figura 12: Diagrama de blocos de um amostrador Na seo 2.3.4, viu-se que, em tempo discreto, senoides cujas frequncias esto fora da faixa de 0 a so sempre equivalentes a senoides cujas frequncias esto dentro desta faixa. Assim, pode acontecer de uma senoide de tempo contnuo com uma frequncia angular de 1 ser amostrada e suas amostras serem interpretadas erroneamente como sendo de uma outra senoide, cuja frequncia 2 , 2 = 1 . Para se evitar esta ambiguidade, antes de se fazer a amostragem, deve-se garantir que xc (t) no contenha frequncias equivalentes entre si. Na prtica, isto consiste em se fazer com que o espectro de xc (t) s possa conter frequncias de 0 at um certo valor limite fmax , o qual corresponde frequncia angular de tempo discreto. Desta forma, qualquer frequncia de tempo contnuo corresponder a uma nica frequncia de tempo discreto e vice-versa. Se esta restrio no fosse respeitada, haveria alguma frequncia de tempo contnuo equivalente a uma frequncia de tempo discreto maior do que , a qual seria equivalente a uma frequncia mais baixa e, assim, haveria ambiguidade de interpretao. xc (t), ento, deve ter espectro limitado a baixas frequncias. Se um sinal de tempo contnuo a ser amostrado no satiszer a esta condio, ele dever, antes da amostragem, sofrer ltragem analgica passa-baixas. O resultado desta ltragem, ento, poder ser entregue ao amostrador. O ltro analgico passa-baixas que desempenha esta funo chamado, usualmente, de ltro anti-aliasing, sendo o termo ingls aliasing traduzido, s vezes, como rebatimento, devido ao fato de que altas frequncias podem ser rebatidas para uma faixa mais baixa do espectro se este cuidado no for tomado. Para se saber qual a maior frequncia permitida no espectro de xc (t) sem que haja ambiguidade de interpretao das amostras (ou seja, sem que haja rebatimento), deve-se lembrar que a maior frequncia no ambgua em tempo discreto max = rad. Uma senoide com esta frequncia tem a forma x[n] = A cos(n). Para n = 0, o ngulo n = 0 = 0. x[0], ento, vale A. Para n = 1, o ngulo n = 1 = . x[1], ento, vale A. Para n = 2, o ngulo n = 2 = 2, que um ngulo equivalente a 0 rad. x[2], ento, vale A. Para n = 3, o ngulo n = 3 equivalente a . x[3], ento, vale A. Assim, conforme n aumenta de 1 em 1, o ngulo se alterna entre 0 e , ciclicamente. Pode-se ver isto como se, ao se girar continuamente no ciclo trigonomtrico, s fossem amostrados os pontos cujos ngulos fossem 0 e . S so amostrados, ento, dois pontos por ciclo. Portanto, partindo-se da frequncia angular zero, a maior frequncia angular de tempo discreto sem ambiguidade, que a frequncia = rad, aquela que corresponde a dois pontos por volta no ciclo trigonomtrico. Sabe-se que, em tempo discreto, qualquer frequncia angular maior do que = rad equivale a alguma frequncia angular menor do que = rad. Assim, a maior frequncia angular no ambgua a partir de = 0 rad aquela para a qual so coletadas duas amostras por volta no ciclo trigonomtrico. Em tempo contnuo, a frequncia que corresponde a esta = rad de tempo discreto aquela para a qual, tambm, so coletadas duas amostras por ciclo, ou seja, duas amostras por perodo. Sendo o perodo de amostragem Ta , duas amostras seguidas so coletadas num tempo igual a 2Ta . Isto corresponde a uma frequncia fmax de tempo contnuo de

Ricardo Pires - Processamento Digital de Sinais

18

fmax =

1 fa = 2Ta 2

(12)

em que fa a frequncia de amostragem. Esta fmax , ento, a mxima frequncia, a partir da frequncia igual a zero, da qual se podem extrair amostras sem ambiguidade de frequncia com perodo de amostragem de Ta . A situao crtica da amostragem, ento, aquela em que se coletam duas amostras por perodo do sinal de tempo contnuo. Se forem coletadas menos do que duas amostras por perodo, haver ambiguidade na interpretao do sinal amostrado. Neste caso, as componentes de frequncias mais altas do sinal sero confundidas com componentes de frequncias mais baixas, na forma dada na gura 7. O critrio de amostragem de Nyquist, ento, estabelece que a mnima frequncia fa a ser usada na amostragem deve ser tal que se coletem, ao menos, duas amostras de cada perodo da componente de maior frequncia do sinal de tempo contnuo a ser amostrado. Isto equivale a se dizer que a fa deve ser de, pelo menos, o dobro da maior frequncia presente no espectro do sinal de tempo contnuo a ser amostrado, ou seja, fa = 2fmax (13)

Sendo respeitado o critrio de amostragem de Nyquist, ento, ca estabelecida uma relao entre valores de frequncia de tempo contnuo e seus valores correspondentes em tempo discreto. A maior frequncia de tempo discreto = rad. A maior frequncia permitida de tempo contnuo, fmax , ento, equivale a = rad. Assim, pode-se montar a regra de trs: f (Hz) fmax (rad)

(14)

Exerccio 30 Se um sistema de processamento digital de sinais trabalhar com amostragem a 10kHz, qual ser a mxima frequncia permitida para o espectro do sinal a ser amostrado? Qual ser a frequncia de tempo contnuo correspondente a = rad de tempo discreto? 4

Exerccio 31 Se um sistema de processamento digital de sinais trabalhar com amostragem a 500kHz, qual ser a mxima frequncia permitida para o espectro do sinal a ser amostrado? Qual ser a frequncia de tempo contnuo correspondente a = rad de tempo discreto? 2

Exerccio 32 No projeto de um ltro digital, deseja-se que a f = 60Hz seja correspondente a = rad. Qual dever ser a 2 frequncia de amostragem? Qual dever ser o limite de frequncia do sinal a ser amostrado?

Sistemas de Tempo Discreto

Um sistema de tempo discreto obtm uma sequncia de sada y[n] a partir de uma sequncia de entrada x[n]. Ele calcula cada amostra de sada a partir de uma ou mais amostras de entrada e, possivelmente, a partir de amostras de sada anteriores.

Ricardo Pires - Processamento Digital de Sinais

19

Usando-se o Octave, podem-se gerar arquivos de som no formato wave, por meio do comando wavwrite, o qual assume, se no lhe for especicado, que a taxa de amostragem de 8000 amostras . Eis um exemplo: s octave > f Amostr = 8000 octave > duracaoSegundos = 5 octave > numAmostras = f Amostr duracaoSegundos octave > n = [1 : numAmostras] octave > nt = n octave > sinal = cos(pi/8 nt) octave > wavwrite(sinal, som.wav) A linha nt = n obtm a matriz nt como sendo a transposta da matriz n (o apstrofo o operador que obtm a transposta). Como n uma matriz linha, nt uma matriz coluna. A execuo desta linha necessria, porque o arquivo wave deve conter uma coluna de amostras por canal de som. Neste exemplo, h apenas um canal, o qual contm o som correspondente a uma sequncia senoidal de amostras, contidas na matriz coluna chamada sinal. Uma matriz contendo N colunas conteria, ento, N canais de som. Finalmente, aqui, o comando wavwrite coloca a matriz sinal no arquivo som.wav, o qual pode ser ouvido usando-se algum programa usual para a execuo de arquivos de som.

Diz-se, ento, que a sequncia de sada obtida como uma transformao da sequncia de entrada, usando-se a notao: y[n] = T {x[n]} (15)

Como um exemplo de sistema, tem-se o sistema atrasador, o qual implementa a equao: y[n] = x[n n0 ], < n < + (16)

na qual n0 o valor de atraso entre a sequncia de entrada e a de sada. A tabela 4 mostra um exemplo de resultado y[n] obtido por um sistema atrasador, com atraso unitrio (n0 = 1), que teria recebido aquela sequncia x[n] sua entrada. Uma implementao fsica deste atrasador, como um sistema digital, dada na gura 13, deve ter um registrador acionado por sinal de relgio (clock ). Enquanto uma nova amostra x[n] j estiver na entrada do sistema, a amostra de entrada anterior, x[n 1], ainda estar na sada, por ter sido memorizada no ciclo de funcionamento anterior. Assim, cada sequncia de entrada aparece na sada, mas com atraso. A cada pulso de clock, uma nova amostra de entrada lida, substituindo a anteriormente memorizada. Assim, a sada atualizada. Enquanto isto, uma amostra de entrada ainda mais nova deve chegar entrada, vinda, possivelmente, de um amostrador. Este processo se repete, a cada pulso de clock. A cada instante, h uma amostra entrada, ainda no memorizada, e uma amostra mais antiga sada, j memorizada. Um outro exemplo comum de sistema o de mdia mvel. Ele tem este nome, por apresentar, sada, um valor correspondente mdia das N amostras de entrada mais recentes, sendo N denido pelo projetista. Esta mdia mvel, porque, com o passar do tempo, o grupo de amostras de entrada que se submeter ao clculo da mdia muda, j que, com o passar do tempo, muda o grupo das amostras mais recentes. Para, por exemplo, N = 4, a equao implementada por este sistema : 1 {x[n] + x[n 1] + x[n 2] + x[n 3]} (17) 4 V-se que, para calcular cada amostra de sada, este sistema precisa ter sua disposio as quatro amostras de entrada mais recentes (a atual e trs anteriores). Por isto, ele precisa de trs registradores: um para memorizar x[n 1], um para x[n 2] e um para x[n 3]. Estes trs registradores devem ser interligados em srie, formando um registrador de deslocamento composto por trs registradores com vrios bits cada. (O nmero de bits de cada registrador pode ser, por exemplo, 16. Isto depende da preciso com que trabalha o sistema.) y[n] =

Ricardo Pires - Processamento Digital de Sinais

20

registrador x[n] x[n 1] y[n] = x[n 1]

clock

Figura 13: Implementao digital de um atrasador Exerccio 33 Desenhe um diagrama de blocos para o sistema de mdia mvel anterior, usando trs registradores, somadores com dois operandos cada e um multiplicador.

Exerccio 34 Dada a tabela 5, com valores de uma certa sequncia de entrada x[n], calcule a sequncia de sada que seria produzida por este sistema de mdia mvel. Verique, com o auxlio do Octave, que este sistema gera uma sequncia de sada que tem forma semelhante da sequncia de entrada, porm, sem variaes abruptas.

Pelo resultado obtido no exerccio 34, percebe-se que uma utilidade do sistema de mdia mvel receber valores medidos de um processo fsico do qual no se esperam variaes abruptas e diminuir o efeito destas variaes abruptas, antes de se entregarem estas amostras para um sistema que as analisar. Isto ocorre, por exemplo, em medio de temperatura em grandes cmaras, onde no se espera que a temperatura possa variar rapidamente, ou na medio do nvel de combustvel no tanque de um automvel, onde no se esperam variaes abruptas de nvel. Um transdutor faz a medio continuamente, entregando o resultado a um amostrador peridico. Este entrega as amostras analgicas medidas a um conversor analgico-digital. Estas amostras digitalizadas podem estar contaminadas por efeitos indesejveis, como rudo, no caso da cmara, ou balano, no caso do tanque de combustvel. O rudo ou o balano introduzem, na sequncia de amostras, desvios em relao aos valores verdadeiros das grandezas que se desejaram medir. A sada do sistema de mdia mvel procura seguir, preferencialmente, as lentas variaes da grandeza medida em relao s rpidas variaes causadas pelo rudo ou pelo balano. Se a sequncia medida fosse aplicada diretamente a um mostrador (de ponteiro ou digital), este oscilaria rapidamente, dicultando sua leitura. A aplicao da sequncia de sada do sistema de mdia mvel ao mostrador proporciona maior estabilidade do valor apresentado, facilitando sua leitura, alm de reetir melhor a realidade da grandeza de interesse. Neste exemplo, o sistema de mdia mvel calculou a mdia das ltimas quatro amostras de entrada. Na prtica, um tal sistema pode usar dezenas ou centenas das ltimas amostras de entrada no clculo da mdia, suavizando muito, desta forma, o efeito de variaes abruptas. Mas, o uso de mais amostras de entrada tem, como efeito indesejado, aumento no hardware necessrio para implementar o sistema (ou maior tempo de clculo em implementaes em software). A seguir, so apresentadas denies teis relacionadas a sistemas de tempo discreto.

Ricardo Pires - Processamento Digital de Sinais n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 x[n] 8 8 8 20 9 8 9 9 6 9 9 9 10 10 6 10 10 10 17 10 10 9 10 10 11 10 y[n]

21

Tabela 5: Tabela para o exerccio 34.

3.1

Sistemas com Memria x Sistemas sem Memria

Um sistema com memria aquele que deve usar algum tipo de elemento de memorizao, como registradores (no caso de implementao em hardware) ou variveis (no caso de implementao em software), por precisar de valores de entrada ou de sada anteriores para calcular cada amostra de sada. O sistema atrasador e o de mdia mvel so deste tipo. Um sistema sem memria, para calcular a amostra de sada em um certo instante, s usa a amostra de entrada do mesmo instante. Como ele no precisa de amostras passadas, no precisa de memria. Exemplo: um sistema que calculasse o negativo de cada amostra que lhe viesse entrada, y[n] = x[n]. (Normalmente, sistemas de processamento digital de sinais lidam com valores negativos usando a representao binria em complemento de dois.) Uma realizao deste sistema em hardware usaria apenas lgica combinatria, sem registradores.

3.2

Sistemas Lineares x Sistemas No Lineares

Se um sistema for linear, dada uma constante K e dada uma sequncia x[n], T {Kx[n]} = KT {x[n]} (18)

e, dadas as sequncias x1 [n] e x2 [n]:

Disto decorre que, dadas constantes K1 e K2 ,

T {x1 [n] + x2 [n]} = T {x1 [n]} + T {x2 [n]}

(19)

Ricardo Pires - Processamento Digital de Sinais

22

Assim, os sistemas lineares seguem o princpio da superposio: para se calcular o efeito, na sada, da aplicao de uma soma de sequncias entrada, basta que, inicialmente, calculem-se os efeitos de cada entrada individualmente e que, nalmente, somem-se estes efeitos sada. Como exemplos de sistemas lineares, tm-se o atrasador e o sistema de mdia mvel. Qualquer sistema que no respeite a equao 20 no linear. Exerccio 35 Verique que o sistema que implementa y[n] = {x[n]}2 no linear.

T {K1 x1 [n] + K2 x2 [n]} = K1 T {x1 [n]} + K2 T {x2 [n]}

(20)

Sempre que possvel, deve-se procurar projetar sistemas lineares, devido maior facilidade de se lidar matematicamente com eles do que com os no lineares.

3.3

Sistemas Variantes no Tempo x Sistemas Invariantes no Tempo

Um sistema variante no tempo tal que, para ele, existe pelo menos uma sequncia de entrada x1 [n] para a qual ele fornece uma certa y1 [n] e que, se, sua entrada, for aplicada uma entrada x2 [n] que seja uma verso atrasada de x1 [n], x2 [n] = x1 [nn0 ], sua sada no ser uma verso atrasada de y1 [n], ou seja, y2 [n] = y1 [nn0 ]. Pode ocorrer de um sistema variante no tempo calcular suas amostras de sada de forma varivel com o tempo. Por exemplo, se um sistema calcular sua sada usando y[n] = m0 x[n] + m1 x[n 1], sendo os coecientes m0 e m1 variveis com o tempo, ele ser um sistema variante no tempo. Neste caso, poderia acontecer de, por exemplo, no instante n = 0, m0 = 3 e m1 = 7 e, mais tarde, no instante n = 1, m0 = 13 e m1 = 2. Um sistema variante no tempo pode ter at mesmo a forma de calcular sua sada variando no tempo. Por exemplo, ele poderia passar um tempo usando a expresso y[n] = m0 x[n] + m1 x[n 1] e, depois, poderia passar a usar y[n] = m0 x[n] + m1 x[n 1] + m2 x[n 2]. Exerccio 36 Demonstre que o sistema que implementa a equao y[n] = x[2n] variante no tempo.

Um sistema invariante no tempo tal que, se for aplicada a ele uma sequncia de entrada x1 [n] para a qual ele fornea uma certa y1 [n], se, sua entrada, for aplicada uma x2 [n] que seja uma verso atrasada de x1 [n], x2 [n] = x1 [n n0 ], sua sada ser, simplesmente, uma verso atrasada de y1 [n], ou seja, y2 [n] = y1 [n n0 ], com atraso igual ao de x2 [n] em relao a x1 [n]. Para que isto ocorra, o sistema dever calcular cada amostra de sada usando sempre a mesma forma de clculo, todo o tempo (mesma equao e mesmos coecientes). Exerccio 37 Verique que o sistema de mdia mvel invariante no tempo.

Sistemas invariantes no tempo so de tratamento matemtico mais simples do que os variantes no tempo.

3.4

Sistemas Causais x Sistemas No Causais

Um sistema causal aquele que calcula a amostra de sada em cada instante usando apenas valores de entrada do mesmo instante, de instantes anteriores ou valores de sada anteriores. Exemplo de equao de um sistema 1 1 causal: y[n] = 2 x[n] 4 x[n 2] + 1 y[n 1]. 8

Ricardo Pires - Processamento Digital de Sinais

23

Um sistema no causal calcula a amostra de sada em um certo instante usando alguma amostra de entrada 1 ou de sada futura. Exemplo de equao de um sistema no causal: y[n] = 1 x[n] 4 x[n + 2] + 1 y[n 1]. (No 2 8 clculo da sada atual, ele usa uma entrada futura.) Sistemas no causais no podem funcionar em tempo real, j que, para calcular cada valor de sada, eles teriam de adivinhar algum valor futuro de entrada ou de sada. Porm, quando se projeta um sistema de processamento digital de sinais, pode ocorrer de o projetista descobrir que a equao que o sistema deveria implementar para satisfazer s especicaes do projeto deveria ser do tipo no causal. Neste caso, para se obter um sistema realizvel, estas especicaes deveriam ser alteradas, substitudas por outras que permitissem a obteno de um sistema causal que as satiszesse. Isto ocorre, por exemplo, no projeto de um ltro passabaixas ideal, tanto em tempo contnuo quanto em tempo discreto. Um tal ltro seria no causal. (Ele ser estudado adiante.) Assim, no pode ser realizado. Mas, bons ltros, com caractersticas parecidas com a do ideal, podem ser realizados. Exerccio 38 O sistema de mdia mvel denido pela equao 17 causal? Por que?

Exerccio 39 Escreva a equao de um sistema de mdia mvel no causal.

3.5

Estabilidade de Sistemas

Um sistema estvel, no sentido entrada limitada, sada limitada, se e somente se, para qualquer sequncia de entrada com valores limitados recebida, ele produzir uma sequncia de sada com valores limitados. Assim, se: |x[n]| Lx < , |y[n]| Ly < , n (21)

com Lx sendo o limite dos valores absolutos da sequncia x[n], ento: n (22)

com Ly sendo o limite dos valores absolutos da sequncia y[n]. Note que o valor de Lx no precisa ser igual ao de Ly . Exerccio 40 O sistema de mdia mvel denido pela equao 17 estvel? Por que?

Exerccio 41 O sistema denido pela equao y[n] = x[n] + y[n 1] estvel? Por que?

3.6

Sistemas Lineares e Invariantes no Tempo

Devido relativa facilidade de tratamento matemtico que possuem, os sistemas de maior interesse em processamento digital de sinais so os lineares invariantes no tempo (ou seja, os que so tanto lineares quanto

Ricardo Pires - Processamento Digital de Sinais

24

invariantes no tempo). Sero referenciados, neste texto, como sistemas LIT. Um sistema LIT pode ter seu comportamento completamente caracterizado pela sua resposta ao impulso, chamada de resposta impulsiva, simbolizada como h[n]. Exerccio 42 Qual a resposta impulsiva do sistema que implementa a equao y[n] = x[n 2]?

Exerccio 43 1 Qual a resposta impulsiva do sistema de clculo de mdia mvel, que implementa y[n] = 4 {x[n] + x[n 1] + x[n 2] + x[n 3]}?

Para se compreender este fato, suponha que um certo sistema LIT, chamado aqui de sistema X, tenha a resposta impulsiva hipottica dada na tabela 6. (Suponha que todos os valores de h[n] em instantes no tabelados sejam nulos.) Isto signica que, se, entrada do sistema X, for aplicada uma nica amostra no nula no instante zero, com valor unitrio (ou seja, a entrada o impulso, [n]), o sistema apresentar, sada, a sequncia h[n] dada na tabela 6. n -2 -1 0 1 2 3 4 5 [n] 0 0 1 0 0 0 0 0 h[n] 0 0 3 5 2 1 0 0

Tabela 6: Valores no nulos da resposta impulsiva hipottica de um certo sistema X Suponha, agora, que ao sistema X, seja aplicada a sequncia de entrada dada na tabela 7. n -2 -1 0 1 2 3 4 5 x[n] 0 0 4 5 -2 10 0 0

Tabela 7: Valores no nulos de uma certa sequncia de entrada aplicada ao sistema X O problema, ento, calcular-se a sequncia de sada, y[n], causada pela aplicao, ao sistema X, da sequncia de entrada x[n] dada na tabela 7. Para se resolver este problema, explora-se o fato de que o sistema X LIT, usando-se as seguintes etapas: 1. Decompe-se a sequncia de entrada x[n] em vrias sequncias, cada uma contendo somente uma amostra no nula, conforme a tabela 8. Verique que x[n] = x0 [n] + x1 [n] + x2 [n] + x3 [n].

Ricardo Pires - Processamento Digital de Sinais

25

2. Calcula-se a resposta do sistema X para cada uma destas sequncias simples, de xo [n] a x3 [n], sendo aplicadas sua entrada. A resposta do sistema a x0 [n] ser chamada y0 [n], a resposta a x1 [n] ser y1 [n] etc. 3. Devido linearidade do sistema (equao 19), sua resposta a x[n] = x0 [n] + x1 [n] + x2 [n] + x3 [n] ser igual soma das respostas individuais, y[n] = y0 [n] + y1 [n] + y2 [n] + y3 [n]. n -2 -1 0 1 2 3 4 5 x[n] 0 0 4 5 -2 10 0 0 x0 [n] 0 0 4 0 0 0 0 0 x1 [n] 0 0 0 5 0 0 0 0 x2 [n] 0 0 0 0 -2 0 0 0 x3 [n] 0 0 0 0 0 10 0 0

Tabela 8: Decomposio de uma sequncia de entrada x[n] em vrias sequncias Para se calcular cada resposta individual no item 2, explora-se a linearidade e a invarincia no tempo do sistema. Iniciando-se pelo clculo de y0 [n], como ele a resposta do sistema X entrada x0 [n] = 4[n], por linearidade, y0 [n] = 4h[n]. Ou seja, como x0 [n] um impulso multiplicado por 4, a sada que x0 [n] causa 4 vezes a sada causada pelo impulso, a qual a resposta impulsiva, h[n]. Este resultado mostrado na tabela 9. n -2 -1 0 1 2 3 4 5 xo [n] 0 0 4 0 0 0 0 0 h[n] 0 0 3 5 2 1 0 0 y0 [n] = 4h[n] 0 0 12 20 8 4 0 0

Tabela 9: Resposta y0 [n] do sistema X sequncia x0 [n] No clculo de y1 [n], que a resposta a x1 [n], deve-se notar que x1 [n] = 5[n 1], ou seja, x1 [n] equivale a um impulso atrasado e multiplicado por 5. Pela linearidade, a resposta a este impulso multiplicado por 5 deve ser igual h[n] multiplicada por 5. Mas, como este impulso est com atraso unitrio, deve-se no s multiplicar h[n] por 5, mas, tambm, atras-la em uma unidade em n. Assim, a resposta a x1 [n] = 5[n 1] ser y1 [n] = 5h[n 1], conforme a tabela 10. Seguindo-se a mesma lgica, a resposta a x2 [n] = 2[n 2] y2 [n] = 2h[n 2], conforme a tabela 11. A resposta a x3 [n] = 10[n 3] y3 [n] = 10h[n 3], conforme a tabela 12. Finalmente, a resposta y[n] entrada x[n] calculada como y[n] = y0 [n] + y1 [n] + y2 [n] + y3 [n], conforme a tabela 13. Exerccio 44 Seguindo o procedimento anterior, calcule a resposta y[n] fornecida pelo sistema X anterior quando ele receber a entrada x[n] dada na tabela 14.

Ricardo Pires - Processamento Digital de Sinais n -2 -1 0 1 2 3 4 5 x1 [n] 0 0 0 5 0 0 0 0 h[n] 0 0 3 5 2 1 0 0 y1 [n] = 5h[n 1] 0 0 0 15 25 10 5 0

26

Tabela 10: Resposta y1 [n] do sistema X sequncia x1 [n] n -2 -1 0 1 2 3 4 5 x2 [n] 0 0 0 0 -2 0 0 0 h[n] 0 0 3 5 2 1 0 0 y2 [n] = 2h[n 2] 0 0 0 0 -6 -10 -4 -2

Tabela 11: Resposta y2 [n] do sistema X sequncia x2 [n] O procedimento aqui apresentado para o clculo da sequncia de sada de um sistema LIT pode ser generalizado como: y[n] = . . . + x[0]h[n] + x[1]h[n 1] + x[2]h[n 2] + x[3]h[n 3] + . . .

y[n] =
k=

x[k]h[n k]

(23)

y[n] = x[n] h[n]

A operao que calcula y[n] a partir de x[n] e de h[n], dada pela equao 23, chamada de convoluo de x[n] com h[n]. Portanto, pode-se dizer que um sistema LIT realiza uma convoluo de sua entrada com sua resposta impulsiva. O smbolo usado para a operao convoluo o asterisco. A convoluo uma operao comutativa, ou seja, x[n] h[n] = h[n] x[n] (24)

Assim, se, para um sistema LIT, forem trocados, entre si, os papis da entrada e da resposta impulsiva, sua sequncia de sada no se alterar. Isto pode ser vericado, usando-se a mudana de variveis m = n k na equao 23:

Ricardo Pires - Processamento Digital de Sinais n -2 -1 0 1 2 3 4 5 6 x3 [n] 0 0 0 0 0 10 0 0 0 h[n] 0 0 3 5 2 1 0 0 0 y3 [n] = 10h[n 3] 0 0 0 0 0 30 50 20 10

27

Tabela 12: Resposta y3 [n] do sistema X sequncia x3 [n] n -1 0 1 2 3 4 5 6 7 y0 [n] 0 12 20 8 4 0 0 0 0 y1 [n] 0 0 15 25 10 5 0 0 0 y2 [n] 0 0 0 -6 -10 -4 -2 0 0 y3 [n] 0 0 0 0 30 50 20 10 0 y[n] 0 12 35 27 34 51 18 10 0

Tabela 13: Resposta y[n] do sistema X composta pelas respostas individuais anteriores

y[n] = x[n] h[n]

3.6.1 Estabilidade de Sistemas LIT

y[n] =
k=

x[k]h[n k] x[n m]h[m] h[m]x[n m] (25)

y[n] =
m=

y[n] =
m=

y[n] = h[n] x[n]

A estabilidade de sistemas foi denida na seo 3.5. No projeto de um sistema de processamento digital de sinais, importante que se garanta que o sistema obtido seja estvel, porque um sistema instvel pode ter seus valores de sada crescendo sem limites, mesmo com os valores da sequncia de entrada mantidos numa faixa limitada. Como um sistema de processamento digital de sinais representa cada valor manipulado usando um nmero nito de bits, um sistema instvel, com o tempo, poderia comear a tentar apresentar, sada, valores que estivessem fora de sua faixa de valores representveis. A partir deste momento, ele passaria a cometer erros, fornecendo valores errados sada e, possivelmente, usando estes valores errados nos seus prximos clculos (no caso de ele usar valores de sada anteriores para calcular a sada atual). Para se encontrar a condio necessria para que um sistema LIT seja estvel, parte-se da equao 25, aplicando-a ao clculo do mdulo de cada amostra de sada:

Ricardo Pires - Processamento Digital de Sinais n -2 -1 0 1 2 3 4 5 x[n] 0 0 3 -1 20 5 3 0

28

Tabela 14: Sequncia de entrada para o exerccio 44 No Octave, a funo conv calcula a convoluo de duas sequncias. Para que ela seja realizada sobre as duas sequncias do exemplo mostrado nesta seo, deve-se seguir o procedimento: octave > octave > octave > h = [3 5 2 1] x = [4 5 2 10] y = conv(h, x)

Aqui, foi dada, pelo usurio, a resposta impulsiva, h[n], e a entrada, x[n]. O Octave, ento, calculou a convoluo daquelas duas sequncias. Deve-se lembrar que os ndices usados pelo Octave comeam em 1, enquanto que, no exemplo desta seo, comeavam em 0. Porm, a sequncia de valores da sada ca correta, embora deslocada, no tempo, em relao deste texto.

|y[n]| =

m=

h[m]x[n m]

m=

|h[m]||x[n m]|

(26)

Na equao 26, se a sequncia x[n] tiver valores limitados, cujos mdulos no superarem um certo valor Lx , ter-se-:

|y[n]|

m=

|h[m]||x[n m]|

m=

|h[m]|Lx = Lx

m=

|h[m]|

(27)

Assim, para que y[n] tenha valores limitados, deve-se ter:

m=

|h[m]| <

(28)

Exerccio 45 Usando-se a condio 28, verique se o sistema que implementa a equao y[n] = x[n 2] estvel.

Exerccio 46 Usando-se a condio 28, verique se o sistema que implementa a equao y[n] = 1 {x[n] + x[n 1] + x[n 2] + 4 x[n 3]} estvel.

Ricardo Pires - Processamento Digital de Sinais

29

Exerccio 47 Usando-se a condio 28, verique se o sistema LIT cuja resposta impulsiva dada na tabela 6 estvel. Caso positivo, se a sequncia sua entrada tiver valores limitados a 3, qual ser o mdulo do maior valor possvel sua sada?

Exerccio 48 Qual a resposta impulsiva do sistema dado pela equao y[n] = x[n] + y[n 1]? Ele estvel? Caso positivo, se a sequncia sua entrada tiver valores limitados a 3, qual ser o mdulo do maior valor possvel sua sada? (Considere que y[n] = 0 para n < 0.)

Exerccio 49 1 Qual a resposta impulsiva do sistema dado pela equao y[n] = x[n] + 2 y[n 1]? Ele estvel? Caso positivo, se a sequncia sua entrada tiver valores limitados a 3, qual ser o mdulo do maior valor possvel sua sada? (Considere que y[n] = 0 para n < 0.)

3.6.2

Causalidade de Sistemas LIT

Um sistema LIT causal se sua resposta impulsiva comear no instante zero ou aps o instante zero. Se a resposta impulsiva comear antes do instante zero, o sistema no causal. Se, num projeto, for obtido um sistema S1 no causal, se sua resposta impulsiva h1 [n] comear num certo instante ni , com < ni < 0, ser possvel obter-se um novo sistema S2 , com comportamento semelhante ao de S1 , porm causal, fazendo-se com que a resposta impulsiva h2 [n] seja uma verso atrasada de h1 [n], de tal forma que h2 [n] comece no instante zero ou depois de zero. Exerccio 50 Se um sistema tiver em sua resposta impulsiva, como nicas amostras no nulas, h[2] = 3, h[0] = 10 e h[1] = 2, como poderia ser a resposta impulsiva de um sistema causal semelhante a ele?

A utilidade desta tcnica consiste em se obter um sistema realizvel em tempo real (causal) a partir de um sistema no realizvel em tempo real (no causal). O efeito negativo da aplicao desta tcnica o sistema resultante ter, em seu funcionamento, um atraso em relao ao sistema original. Esta tcnica s pode ser aplicada se a resposta impulsiva do sistema no causal comear em um ni = . Se esta resposta impulsiva comear em , no ser possvel a obteno de um sistema causal semelhante apenas por atraso da resposta impulsiva.

3.7

Equaes de Diferenas Lineares a Coecientes Constantes


N M

Uma tal equao da forma: ak y[n k] = bk x[n k] (29)

k=0

k=0

com os ak e bk constantes. Assim, uma equao desta forma representa um clculo envolvendo amostras de entrada e de sada de vrios instantes, cada uma delas multiplicada por uma constante. Um exemplo de equao de diferenas linear a coecientes constantes :

Ricardo Pires - Processamento Digital de Sinais

30

na qual, no membro da esquerda, esto amostras da sada, de dois instantes, cada uma multiplicada por um coeciente constante e, no membro da direita, esto trs amostras de entrada, de instantes diferentes, cada uma multiplicada por um coeciente. A maioria dos sistemas de processamento digital de sinais so projetados para implementar equaes deste tipo, porque, se y[n] = 0 para todos os instantes anteriores aplicao da primeira amostra x[n] = 0, estas equaes correspondem a sistemas lineares e invariantes no tempo, sendo fceis de se tratar matematicamente e de se realizar em hardware ou em software. Sua realizao em hardware exige apenas elementos de memria (para guardar amostras passadas de entrada e de sada), multiplicadores e somadores. Em software, basta que estejam disponveis variveis em nmero suciente para a memorizao das amostras passadas e estejam disponveis operaes de multiplicao e de adio. Na prtica, comum que estas equaes sejam escritas isolando-se y[n] no membro da esquerda, para que que explcita a forma de se calcular cada amostra de sada a partir de amostras de sada anteriores e das amostras de entrada. Assim, a equao 30 ca: 4 10 1 5 y[n] = y[n 1] + x[n] x[n 2] + x[n 5] 3 3 3 3 Exerccio 51 Se um sistema implementar a equao (31)

3y[n] + 5y[n 1] = 4x[n] 10x[n 2] + x[n 5]

(30)

1 y[n 1] + x[n] (32) 2 qual ser sua sequncia de sada, para 0 n 8, se y[n] = 0 para n < 0 e se as nicas amostras no nulas de x[n] forem x[0] = 200 e x[1] = 100? y[n] =

Um sistema que, para calcular cada amostra de sada, s utilize amostras de entrada (atual e anteriores) tem resposta impulsiva com durao nita, ou seja, a partir de um certo instante, todas as amostras de h[n] so nulas. Este tipo de sistema chamado sistema FIR, da sigla em ingls para resposta impulsiva com durao nita, nite impulse response. Um sistema que tenha resposta impulsiva com durao innita, ou seja, resposta impulsiva que nunca se estabiliza em zero, chamado sistema IIR, de innite impulse response. Para que um sistema seja IIR, ele deve calcular cada amostra de sada usando alguma amostra de sada anterior.

3.8

Representao no Domnio da Frequncia

Se um sistema LIT receber, sua entrada, uma sequncia senoidal, ele fornecer, sada, uma sequncia tambm senoidal, com a mesma frequncia que a da entrada, mas podendo ter outra amplitude e outra fase. Assim, da entrada para a sada, neste caso, o sistema mantm a forma e a frequncia do sinal. Para se vericar isto, deve-se lembrar que uma sequncia senoidal, A cos(n), pode ser escrita como A (e+jn + 2 jn e ). Ento, para se calcular a sada fornecida pelo sistema LIT quando sua entrada for uma senoide, usandose a linearidade, podem-se calcular suas sadas para e+jn , para ejn , somarem-se estes resultados e, nalmente, multiplicar-se esta soma por A . 2 Partindo-se da equao 25 da convoluo e usando-se, como entrada, x[n] = e+jn , tem-se:

Ricardo Pires - Processamento Digital de Sinais

31

y[n] =
m=

h[m]x[n m] h[m]e+j(nm)

y[n] =
m=

y[n] =
m=

h[m]e+jn ejm

y[n] = e+jn
m=

h[m]ejm

(33)

Assim, v-se que a sada y[n] tem a mesma forma e+jn da entrada, estando esta multiplicada pelo fator entre parnteses, o qual um nmero complexo. O mdulo deste nmero complexo determina a alterao na amplitude da senoide da entrada para a sada. O ngulo deste nmero complexo determina a defasagem entre as senoides de entrada e de sada. Desta forma, o valor entre parnteses a chamada resposta em frequncia do sistema LIT, simbolizada por H(ej ):

H(ej ) =
m=

h[m]ejm

(34)

Com isto, uma forma de se caracterizar um sistema LIT por meio de sua resposta em frequncia , a qual especica como o sistema reage a cada possvel senoide aplicada sua entrada, em termos de modicao, da entrada para a sada, da amplitude e da fase desta senoide. Nos pargrafos anteriores, j est calculada y[n] para entrada e+jn . Se a entrada for ejn (outra componente do cosseno, A cos(n) = A (e+jn + ejn )), seguindo-se procedimento semelhante ao anterior, obtm-se 2

y[n] =
m=

h[m]x[n m] h[m]ej(nm)

y[n] =
m=

y[n] =
m=

h[m]ejn e+jm

y[n] = ejn
m=

h[m]e+jm

(35)

Assim, por linearidade, para se obter a resposta de um sistema LIT a uma senoide do tipo A cos(n) = + ejn ), soma-se sua resposta para e+jn , dada em (33), com sua resposta a ejn , dada em (35) e multiplica-se, nalmente, esta soma por A . Isto resulta: 2
A +jn 2 (e

y[n] =

A 2

e+jn
m=

h[m]ejm

+ ejn
m=

h[m]e+jm

(36)

J foi visto que a primeira somatria de (36) , usualmente, escrita como H(ej ) (resposta em frequncia). Como H(ej ) um nmero complexo, pode ser escrito como: H(ej ) = |H(ej )|H(ej ) (37)

Para qualquer sequncia h[n] de nmeros reais, a segunda somatria de (36) tem o mesmo mdulo da primeira somatria, mas tem fase oposta. Assim, a segunda somatria o complexo conjugado da primeira.

Ricardo Pires - Processamento Digital de Sinais

32

Ento, indicando-se a fase da primeira somatria como ej , a fase da segunda somatria ser ej . Usando-se estes fatos, a equao 36 pode ser reescrita como: A +jn {e |H(ej )|ej + ejn |H(ej )|ej } (38) 2 Desta equao, pode-se vericar que, realmente, quando a entrada de um sistema LIT for senoidal, sua sada tambm o ser, com a mesma frequncia, mas podendo ter outra amplitude e outra fase: y[n] = A +jn {e |H(ej )|ej + ejn |H(ej )|ej } 2 A y[n] = |H(ej )| {e+jn ej + ejn ej } 2 j A y[n] = |H(e )| {e+j(n+) + ej(n+) } 2 y[n] = |H(ej )|A cos(n + ) y[n] =

(39)

Para que faa sentido o uso da informao sobre a resposta em frequncia de um sistema LIT, deve-se ter informao detalhada sobre como a sequncia de entrada do sistema em termos de frequncias, ou seja, devese supor que a sequncia de entrada seja formada por uma sobreposio de senoides, com vrias frequncias, amplitudes e fases, mesmo que esta sequncia de entrada no tenha sido formada sicamente desta maneira. Como exemplo de aplicao, um ltro passa-baixas um sistema que tem uma resposta em frequncia com atenuao das senoides de frequncias altas em relao s senoides de frequncias baixas. Ele permite que senoides de baixas frequncias passem de sua entrada para sua sada mais facilmente do que senoides de frequncias altas. Exerccio 52 Calcule e interprete a resposta em frequncia de um sistema atrasador que implemente y[n] = x[n 2].

Exerccio 53 Calcule e interprete a resposta em frequncia de um sistema de mdia mvel que implemente y[n] = Simule seu funcionamento com o Octave. 1 (x[n] + x[n 1]) 2

Exerccio 54 Calcule e interprete a resposta em frequncia de um sistema de mdia mvel que implemente y[n] = 1 (x[n] + x[n 1] + x[n 2] + x[n 3]) 4

Simule seu funcionamento com o Octave.

Exerccio 55 Usando a equao 34, verique que a resposta em frequncia peridica em frequncia, com perodo de 2.

Ricardo Pires - Processamento Digital de Sinais

33

Uma sequncia de comandos que pode ser usada para se ver um grco do mdulo e um grco da fase de H(ej ) do exerccio 53 : octave1 > h = 1/2 [1 1] octave2 > [H, w] = f reqz(h) octave3 > plot(w, abs(H)) octave4 > plot(w, angle(H)) O comando 1 dene a resposta impulsiva do sistema. O comando 2 faz com que seja calculada a resposta em frequncia deste sistema e que seu resultado seja memorizado em dois vetores: H e w. O vetor w, que tem o papel de , memoriza as frequncias angulares, em radianos, para as quais a resposta em frequncia foi calculada. O vetor H memoriza os valores de H(ej ) correspondentes s frequncias de w. O comando 3 faz com que seja apresentado o grco do mdulo (abs) de H(ej ). Finalmente, o comando 4 faz com que seja apresentado o grco da fase (angle) de H(ej ).

Como a resposta em frequncia peridica em frequncia, com perodo de 2, basta que ela seja especicada num intervalo de frequncias com largura de 2. A resposta para qualquer frequncia fora deste intervalo igual resposta para alguma frequncia dentro dele. Usualmente, ela especicada para o intervalo 0 < 2 ou para < . Como exemplo, a resposta em frequncia de um ltro passa-baixas mostrada na gura 14.
|Hf pb (ej )| 1

Figura 14: Resposta em frequncia de um ltro passa-baixas

3.9

Representao de Sequncias por Transformada de Fourier

Em tempo contnuo, a decomposio de um sinal em senoides feita usando-se a srie de Fourier ou a transformada de Fourier, apresentada em livros de Circuitos Eltricos e de Sistemas de Comunicao, tais como [4]. De forma semelhante, sequncias podem ser representadas por uma transformada de Fourier adaptada ao tempo discreto. A transformada de Fourier de tempo discreto denida como:

X(ej ) =
n=

x[n]ejn

(40)

em que x[n] a sequncia a ser transformada, uma frequncia angular e X(ej ) o resultado da transformada para esta . X(ej ) uma funo que informa, para cada , com que intensidade e com que fase uma senoide com frequncia est presente na sequncia x[n]. X(ej ) chamada de espectro de x[n]. Para se entender por que a expresso 46 revela quais frequncias esto presentes numa certa sequncia x[n], supe-se que uma certa sequncia a ser analisada seja: x[n] = 3ej 2 n + 3ej 2 n + 5ej 3 n + 5ej 3 n ,

0 n < 12

(41)

Ricardo Pires - Processamento Digital de Sinais

34

e que x[n] = 0 fora deste intervalo. Nesta expresso para x[n], podem-se identicar dois cossenos: um com = e o outro com = . (Lembre-se de como o cosseno pode ser escrito como combinao de exponenciais 2 3 complexas.) Supe-se, ento, que algum que no conhea esta expresso para x[n], mas que conhea a sua sequncia de valores numricos (eles podem ter sido medidos) queira descobrir quais so as senoides que formam esta x[n]. Para se descobrir se a x[n] de (41) tem uma componente do tipo ejn com, por exemplo, = , calcula-se 2 a expresso 46 usando-se aquela x[n] e = , obtendo-se: 2 X(ej 2 ) = X(ej 2 ) = X(ej 2 ) =

n=

x[n]ej 2 n

11 e + 3ej 2 n ej 2 n + 5ej 3 n ej 2 n + 5ej 3 n ej 2 n ) n=0 (3e 11 X(ej 2 ) = n=0 (3ej 2 nj 2 n + 3ej 2 nj 2 n + 5ej 3 nj 2 n + 5ej 3 nj 2 n ) 5 11 X(ej 2 ) = n=0 (3ej0n + 3ejn + 5ej 6 n + 5ej 6 n ) 5 11 X(ej 2 ) = n=0 (3 + 3ejn + 5ej 6 n + 5ej 6 n ) 5 11 11 11 11 X(ej 2 ) = n=0 3 + n=0 3ejn + n=0 5ej 6 n + n=0 5ej 6 n 5 11 11 11 X(ej 2 ) = 36 + 3 n=0 ejn + 5 n=0 ej 6 n + 5 n=0 ej 6 n j 2

11 jn 2 n=0 (3e j n j n 2 2

+ 3ej 2 n + 5ej 3 n + 5ej 3 n )ej 2 n

X(e

) = 36 + 0 + 0 + 0 X(ej 2 ) = 36

(42)

Exerccio 56 Por que, ao nal do clculo feito em (42), as trs ltimas somatrias resultaram 0?

Em (42), viu-se que, quando se procurou em x[n] uma exponencial complexa que tivesse a frequncia = , 2 as somatrias relacionadas a componentes de outras frequncias resultaram 0, enquanto a somatria relacionada prpria componente = resultou 36. Este valor 36 est relacionado presena de uma componente com 2 = em x[n]. De fato, a sequncia exponencial com frequncia = est presente em x[n] com comprimento 2 2 12 (a sequncia s era no nula para 0 n < 12). O resultado 36 veio de uma somatria de 12 valores iguais a 3. Assim, neste caso, o coeciente 3 da exponencial complexa de frequncia = revelado como sendo 2 36 jn 2 12 = 3. Portanto, a aplicao da transformada de Fourier x[n] permite que seja revelado o coeciente de e em x[n]. Se ej 2 n estivesse presente com maior durao dentro de x[n], o resultado obtido para X(ej 2 ) seria proporjn cionalmente maior. Por exemplo, se e 2 estivesse presente em x[n] com durao de 24 instantes (ao invs de 12), X(ej 2 ) resultaria 72 (ao invs de 36). Mas, o coeciente de ej 2 n continuaria sendo revelado como tendo o 72 valor 3, j que 24 = 3. Portanto, o resultado da transformada de Fourier para uma dada frequncia depende no s do coeciente da exponencial complexa correspondente dentro de x[n], mas depende, tambm, da durao desta exponencial complexa dentro de x[n]. Exerccio 57 Calcule X(ej 3 ) para a x[n] dada em (41). Interprete o resultado.

O que faz com que a transformada de Fourier consiga revelar a presena de uma certa exponencial complexa ejx n dentro de uma sequncia que a multiplicao desta exponencial por ejx n resulta ejx n ejx n = 1, como visto em (42). E a somatria destes valores 1 cresce ao longo da durao da sequncia. Por outro lado, para frequncias diferentes da procurada, o expoente de e no se anula. Neste caso, a somatria de valores desta exponencial complexa ao longo da durao da sequncia oscila, ao invs de crescer continuamente.

Ricardo Pires - Processamento Digital de Sinais

35

A sequncia x[n] pode ser recuperada a partir de X(ej ) usando-se a transformada inversa de Fourier, denida como: x[n] = 1 2

X(ej )ejn d

(43)

A demonstrao de que a equao 43 a transformao inversa da equao 46 apresentada em [1]. Da equao 43, v-se que a resposta impulsiva h[n] de um sistema a transformada inversa de Fourier da resposta em frequncia deste sistema. A equao 43 permite que se calcule a sequncia de amostras x[n] cuja transformada de Fourier uma certa X(ej ) conhecida. Isto usado em processos de compactao de dados. Se uma longa sequncia de amostras for formada por umas poucas componentes senoidais, pode ser vantajoso se armazenar em uma memria digital uma descrio de X(ej ), ao invs de se memorizarem os prprios valores lidos das amostras, x[n]. Nesta tcnica, ento, primeiro lida e memorizada a longa sequncia de amostras x[n]. Em seguida, calculada a transformada de Fourier de x[n]. Os resultados desta X(ej ), ento, so memorizados e as amostras originais x[n] so descartadas. Se for necessrio recuperar-se x[n], basta que se calcule a transformada inversa de X(ej ), usando-se a equao 43. Uma aplicao popular da transformada de Fourier a codicao de som no formato MP3 [5]. Nesta tcnica, uma sequncia de amostras de som x[n] a ser compactada subdividida em subsequncias x1 [n], x2 [n] etc., que duram, cada uma, uma frao de segundo. Cada uma destas subsequncias sofre uma transformada de Fourier, resultando X1 (ej ), X2 (ej ) etc. O resultado da transformada de Fourier de cada trecho indica o contedo em frequncias deste trecho. So, ento, removidas as componentes com frequncias inaudveis de cada trecho. E, ainda, em cada trecho, identicada a senoide com maior energia. As senoides que no seriam audveis no mesmo trecho devido presena simultnea desta senoide muito mais forte tambm so removidas. Ento, para cada trecho, so memorizadas, no domnio da frequncia, apenas as senoides remanescentes. Nesta memorizao, ainda usada uma tcnica genrica de compactao de arquivos digitais. O Teorema da Convoluo se aplica a sequncias e a suas transformadas de Fourier, ou seja, se F x[n] X(ej ) F h[n] H(ej ) F (em que a notao representa a transformada de Fourier), se uma sequncia y[n] for o resultado da convoluo destas x[n] e h[n], ou seja,

y[n] =
k=

x[k]h[n k] = x[n] y[n]

ento Y (ej ) = X(ej )H(ej ) ou seja, convoluo no domnio do tempo corresponde a multiplicao no domnio de frequncia. Uma demonstrao deste teorema apresentada em [1].

3.10

Transformada de Fourier Discreta

A transformada de Fourier discreta uma transformada de Fourier calculada apenas para sequncias x[n] de durao nita. muito comum que se reram a ela pela sua sigla em ingls, DFT. Ela chamada de discreta porque apresenta o resultado da transformada de Fourier apenas para um nmero nito de frequncias e no para todos os valores de frequncia, como acontece com a transformada de Fourier contnua. O nmero de frequncias para as quais a DFT apresenta resultados igual ao nmero de valores de x[n] usados no clculo desta transformada. Por exemplo, se a sequncia x[n] a ser transformada tiver apenas 10 valores, a DFT fornecer uma

Ricardo Pires - Processamento Digital de Sinais

36

sequncia contendo, tambm, 10 valores. Estes valores gerados pela DFT so amostras igualmente espaadas em frequncia do espectro contnuo de x[n]. A DFT tem grande utilidade prtica, por ser, em geral, de clculo mais rpido do que um clculo analtico da transformada de Fourier contnua e, mesmo assim, fornecer amostras exatas do espectro contnuo do sinal transformado. Quanto menos amostras de uma x[n] forem usadas no clculo da DFT, maior ser a rapidez deste clculo, mas sero obtidas menos amostras do espectro. Inversamente, se muitas amostras de x[n] forem usadas no clculo da DFT, maior ser o trabalho nos clculos, mas se obter uma melhor visualizao do espectro (mais amostras dele). A DFT denida como:
N 1

X[k] =
n=0

x[n]ej N kn

(44)

em que x[n] a sequncia de durao nita a ser transformada e X[k] o resultado da transformao. X[k] uma sequncia que contm amostras uniformemente espaadas, em frequncia, do espectro X(ej ) de x[n]. A diferena de frequncia angular entre duas amostras seguidas de X(ej ) contidas em X[k] de 2 , em que N N o nmero de amostras da sequncia x[n] usadas no clculo de X[k]. Assim, por exemplo, se N = 10, a diferena de frequncia angular entre amostras de X(ej ) contidas em X[k] ser de 2 . Ento, para N = 10, X[0] tem o 10 valor de X(ej ) para = 0 2 = 0 rad. X[1] tem o valor de X(ej ) para = 1 2 = 2 rad e assim por diante, 10 10 10 at X[9], que tem o valor de X(ej ) para = 9 2 rad. Para k = 10, o valor obtido para X[k], X[10], seria o 10 de X(ej ) para = 10 2 = 2 rad, o qual equivale ao valor obtido para = 0 rad, X[0], j que X(ej ) 10 peridico em frequncia, com perodo de 2. Por isto, s so de interesse os valores de X[k] em nmero igual ao nmero de amostras de x[n] usadas no clculo. Valores de X[k] fora da faixa de interesse so sempre iguais a valores de X[k] normalmente calculados. A gura 15 um grco do mdulo da transformada de Fourier contnua de uma sequncia, apresentado em linha contnua, sobreposto ao grco do mdulo da DFT da mesma sequncia, apresentado como hastes. A sequncia utilizada nesta transformao tinha comprimento de oito amostras, tendo as quatro primeiras amostras o valor 1 e as quatro ltimas o valor 0. (Esta sequncia no mostrada na gura.) Como a sequncia a ser transformada tinha oito amostras, com a DFT, obtiveram-se oito amostras de seu espectro contnuo. V-se, na gura 15, que os resultados da DFT coincidem com os do espectro contnuo. A transformada de Fourier discreta inversa calculada como: x[n] = 1 N
N 1

X[k]ej N kn
k=0

(45)

Aqui, X[k] um espectro discreto conhecido. x[n] a sequncia correspondente a este espectro. N o comprimento de x[n] e , assim, o nmero de valores no redundantes de X[k]. Atualmente, a DFT calculada, para longas sequncias, em programas de computador e em circuitos integrados, usando-se algoritmos rpidos chamados de FFT (do ingls Fast Fourier Transform ou Transformada 2 Rpida de Fourier). A FFT usa recurso e se aproveita do fato de que fatores do tipo ej N kn so peridicos em k e em n, evitando, com isto, que eles sejam recalculados muitas vezes. Resultados parciais de fatores deste tipo j calculados so reaproveitados ao mximo. Cita-se o matemtico Gauss como um dos primeiros a descrever a FFT, em 1805 [1].

A FFT de uma dada sequncia x calculada usando-se o comando t(x). O resultado uma sequncia com o mesmo comprimento de x, contendo amostras do espectro de x.

Ricardo Pires - Processamento Digital de Sinais

37

3
modulo do espectro

-1 -1 0 1 2 3
omega(rad)

Figura 15: Mdulo de uma DFT e de uma transformada de Fourier contnua da mesma sequncia Exerccio 58 No Octave, gere uma sequncia de instantes, com o comando octave> n=[0:11] Em seguida, especique uma frequncia = , com 2 octave> omega=pi/2 Ento, gere uma senoide, com (usando x minsculo) octave> x=cos(omega*n) Calcule e memorize a FFT de x com (usando X maisculo) octave> X=t(x) Visualize o mdulo desta FFT com octave> stem(n,abs(X)) Interprete o resultado.

Exerccio 59 No exerccio anterior, o eixo x do grco mostrava os instantes n. Modique a escala do eixo x, para que ela passe a mostrar , com os comandos: octave> eixox=2*pi/12*n octave> stem(eixox,abs(X)) Verique os valores de em que caram as raias no nulas do espectro.

Ricardo Pires - Processamento Digital de Sinais Exerccio 60 Repita o procedimento anterior para: =

38

4,

e = . Interprete os resultados.

Exerccio 61 Repita o procedimento anterior para sequncias mais longas, para mais instantes, usando o programa para o Octave: n=[0:99]; omega=input("omega="); x=cos(omega*n); X=t(x); eixox=2*pi/100*n; stem(eixox,abs(X)) para vrios valores de . Interprete os resultados.

Exerccio 62 Verique o espectro de uma sequncia x que consista numa soma de duas senoides, com diferentes frequncias e diferentes amplitudes.

A FFT inversa de um espectro discreto X calculada usando-se o comando it(X). O resultado uma sequncia temporal com o mesmo comprimento de X, a qual a sequncia de amostras cujo espectro discreto X.

Transformada Z

A transformada Z uma generalizao da transformada de Fourier. Uma de suas utilidades ter notao mais simples do que a transformada de Fourier. Outra utilidade a de facilitar a visualizao de propriedades de sistemas de tempo discreto. A transformada de Fourier foi denida na seo 3.9 como:

X(ej ) =
n=

x[n]ejn

(46)

Na denio da transformada Z, troca-se a expresso ej da transformada de Fourier por uma varivel complexa z, obtendo-se:

X(z) =
n=

x[n]z n

(47)

Na denio da transformada Z, z uma varivel complexa que pode assumir qualquer valor. Quanto expresso ej , ela tambm um nmero complexo, mas s pode assumir valores cujo mdulo valha 1. Assim, a transformada de Fourier e a transformada Z s coincidem quando o mdulo da varivel z for restrito a 1.

Ricardo Pires - Processamento Digital de Sinais

39

De forma similar usada com a transformada de Fourier, uma notao usada para se indicar um par formado por uma sequncia e sua transformada Z : Z x[n] X(z) Exerccio 63 Qual a transformada Z da sequncia dada na tabela 14? (48)

V-se que a transformada Z de uma sequncia apresenta cada valor desta sequncia multiplicado pela varivel z elevada ao negativo do instante daquele valor na sequncia. Exerccio 64 Qual a transformada Z de uma verso atrasada da sequncia do exerccio anterior (considere atraso unitrio)?

V-se que atrasar uma sequncia em uma unidade de tempo corresponde a multiplic-la por z 1 no domnio z. Atras-la de k unidades de tempo corresponde a multiplic-la por z k . Adiant-la corresponde a multiplic-la por z elevada a um expoente positivo, cujo valor o nmero de unidades de tempo de adiantamento. Exerccio 65 Se a transformada Z de uma sequncia x[n] for chamada de X(z), qual ser a transformada Z da sequncia 1 2 x[n 3]?

Exerccio 66 Se a transformada Z de uma sequncia x[n] for chamada de X(z), qual ser a transformada Z da sequncia 1 x[n] 3 x[n 1] + 1 x[n 3]? 2

Exerccio 67 Se a transformada Z de uma sequncia x[n] for chamada de X(z) e a transformada Z de uma sequncia y[n] for 1 chamada de Y (z), qual ser a transformada Z da equao y[n] = x[n] 1 x[n 1] + 1 x[n 3] 10 y[n 2]? 3 2

4.1

Transformada Z e Equaes de Diferenas

Conforme visto na seo 3.7, muitos sistemas de tempo discreto so projetados para implementar equaes de diferenas do tipo:
N M

k=0

ak y[n k] =

k=0

bk x[n k]

(49)

A transformada Z da equao 49 :

Ricardo Pires - Processamento Digital de Sinais

40

N k=0

Y (z)(

M k X(z) k=0 bk z N M k ) = X(z)( k=0 bk z k ) k=0 ak z PM k Y (z) k=0 b z H(z) = X(z) = PN ak zk k k=0

ak z k Y (z) =

(50)

em que H(z) a funo de transferncia do sistema, no domnio z. Exerccio 68 Qual a funo de transferncia no domnio z do sistema que implementa 1 1 1 y[n] = x[n] x[n 1] + x[n 3] y[n 2] ? 3 2 10

Exerccio 69 Qual a funo de transferncia no domnio z do sistema que implementa 1 1 y[n] = x[n] x[n 1] + x[n 3] ? 3 2

A H(z) de um sistema que implementa uma equao de diferenas pode ser escrita de forma que seu numerador e seu denominador apaream como produtos de fatores do tipo (z k), com k sendo um nmero complexo constante. Escrita desta forma, a H(z) revela diretamente seus zeros e seus polos. Um zero de H(z) um valor de z que faz com que a H(z) assuma valor zero. Assim, um zero um valor de z que faz com que o numerador de H(z) assuma valor zero. Um polo de H(z) um valor de z que faz com que a H(z) assuma valor tendendo a innito. Assim, um polo um valor de z que faz com que o denominador de H(z) assuma valor zero. Exerccio 70 Quais so os zeros e os polos da funo de transferncia dada abaixo? H(z) = (z 0, 5)(z + 0, 5) z(z 0, 8)

Escreva uma equao de diferenas correspondente.

Exerccio 71 Quais so os zeros e os polos da funo de transferncia dada abaixo? H(z) = 1 + 0, 1z 1 0, 12z 2 1 0, 6z 1 + 0, 25z 2

Escreva uma equao de diferenas correspondente.

Ricardo Pires - Processamento Digital de Sinais

41

Para se obterem as razes de um polinmio p(x), por exemplo, p(x) = x2 5x + 6, deve-se fornecer este polinmio montando-se um vetor com seus coecientes, usando-se: octave > p = [1 5 6] e deve-se, em seguida, usar o comando roots: octave > roots(p)

Exerccio 72 Escreva uma equao de diferenas cuja H(z) tenha um nico zero em 0,8 e tenha dois polos, em 0, 7i.

Exerccio 73 Escreva uma equao de diferenas cuja H(z) tenha zeros em 0, 8 e tenha polos em 0, 5 0, 7i.

Para se obter um polinmio p(x) que possua certas razes, por exemplo, 2 e 3, deve-se montar com elas um vetor, usando-se: octave > raizes = [2 3] e deve-se, em seguida, usar o comando poly: octave > poly(raizes) O resultado ser a sequncia de coecientes de um polinmio que possua as razes fornecidas. No resultado, o coeciente dado mais esquerda o do termo de maior expoente. Neste exemplo, o resultado : 1 5 6 o que signica que um polinmio cujas razes so 2 e 3 x2 5x + 6

4.2

Clculo de Resposta em Frequncia Usando a Transformada Z

Sabe-se que a transformada Z, H(z), e a transformada de Fourier, H(ej ), coincidem quando |z| = 1, j que |ej | = 1 para qualquer valor de . Para qualquer valor de , ej um nmero complexo com mdulo igual a 1 e com ngulo igual a . Assim, para se avaliar H(ej ) para algum valor de , pode-se calcular ej para este , fazer-se z igual a este valor de ej e avaliar-se H(z) para este valor de z. Exerccio 74 Dada a funo de transferncia: H(z) = (z 0, 5)(z + 0, 5) z(z 0, 8)
2?

Qual seu mdulo e qual sua fase para = 0? E para =

E para = ?

Pelo que se v no exerccio anterior, para se calcular aquela H(z) em vrias frequncias, calcula-se H(ej ) = naquelas frequncias. (ej 0, 5)(ej + 0, 5) ej (ej 0, 8)

Ricardo Pires - Processamento Digital de Sinais

42

Esta H(z) tem dois fatores correspondentes a seus zeros e dois fatores correspondentes a seus polos. Um dos fatores correspondentes a um zero (z 0, 5). Ele corresponde a um zero em +0, 5. Para um dado valor de z, o valor deste fator, obviamente, a diferena entre o valor de z e o valor 0, 5, ou seja, a diferena entre o valor de z e o zero do fator. Por exemplo, para = 0, z = ej0 = 1, este termo assumir o valor (z 0, 5) = 1 0, 5 = 0, 5. E, para = , z = ej 2 = j, (z 0, 5) = j 0, 5. Neste ltimo caso, o mdulo do 2 fator |j 0, 5| = 0, 52 + 12 = 1, 25. Este mdulo igual ao comprimento da linha pontilhada da gura 16, na qual kz representa o valor do zero deste fator. V-se que o comprimento desta linha igual ao da linha tracejada, a qual liga z = j ao zero de valor 0, 5. Em geral, para uma dada frequncia , o mdulo de um fator do tipo (z kz ), em que kz um zero do sistema, igual distncia entre z = ej e kz . A fase z deste fator tambm est indicada na gura. j kz =
2

plano complexo (z = j)

|j kz | z z

kz

raio unitrio

Figura 16: Visualizao do efeito de um zero kz em H(z), para =

Exerccio 75 Usando a representao de um zero do sistema no plano complexo, calcule, usando desenhos, o mdulo e a fase do fator (z 0, 5) para = 0, = e = . 2

Exerccio 76 Usando a representao de um zero do sistema no plano complexo, calcule, usando desenhos, o mdulo e a fase do fator (z + 0, 5) para = 0, = e = . 2

V-se que, quanto maior for a distncia do ponto ej a um zero do sistema, maior ser a contribuio deste zero para o ganho. Assim, no projeto de um sistema, devem-se colocar zeros prximos circunferncia unitria

Ricardo Pires - Processamento Digital de Sinais

43

(ou sobre ela) nas frequncias para as quais se desejar baixo valor de ganho e vice-versa. O efeito de um polo sobre o mdulo e a fase de H(z) pode ser visualizado de maneira semelhante do efeito de um zero. Mas, como o fator de um polo est no denominador de H(z), quando ej estiver prximo a um polo, o ganho correspondente ser grande e vice-versa. Tambm por estar no denominador, o polo no dever estar sobre a circunferncia unitria, pois isto levaria a uma diviso por zero no clculo do ganho (o ganho tenderia a innito). O ngulo correspondente a um polo, obtido na forma da gura 16, contribuir para H(z) com o oposto de seu sinal, j que ele um ngulo que est no denominador de um nmero complexo. Exerccio 77 Usando a representao de um polo do sistema no plano complexo, calcule, usando desenhos, o mdulo e a fase 1 do fator (z+0,8) para = 0, = e = . 2

Exerccio 78 Usando a representao de um polo do sistema no plano complexo, calcule, usando desenhos, o mdulo e a fase 1 do fator z para = 0, = e = . 2

Exerccio 79 Um certo sistema tem, como zeros, z1 = 1, z2 = 0, 8j e z3 = 0, 8j. Seus polos so: p1 = 0, 2, p2 = 0, 2+0, 3j e p2 = 0, 2 0, 3j. Esboce seu diagrama de zeros e polos no plano complexo. Esboce o grco do mdulo de seu ganho em frequncia. Este sistema tem caracterstica passa-baixas? Passa-altas?

A seguinte sequncia de comandos permite a visualizao do mdulo do ganho do sistema do exerccio 79. octave > z1 = 1; octave > z2 = 0.8j; octave > z3 = 0.8j; octave > p1 = 0.2; octave > p2 = 0.2 + 0.3j; octave > p3 = 0.2 0.3j; octave > zrs = [z1 z2 z3]; octave > pls = [p1 p2 p3]; octave > numerador = poly(zrs); octave > denominador = poly(pls); octave > [H, w] = f reqz(numerador, denominador); octave > plot(w, abs(H))

Assim, para se obter um sistema com uma determinada caracterstica de resposta em frequncia, devem-se colocar zeros prximos s frequncias para as quais se deseja ganho pequeno e polos prximos s frequncias para as quais se deseja ganho grande. Escolhidos os zeros e os polos, podem-se construir os polinmios do numerador e do denominador de H(z). Com a H(z) preparada desta forma, pode-se escrever a equao de diferenas correspondente. E, nalmente, tendo-se a equao de diferenas, pode-se implementar o sistema em hardware ou em software.

Ricardo Pires - Processamento Digital de Sinais

44

Referncias
[1] OPPENHEIM,A.V., SCHAFER,R.W. Discrete-Time Signal Processing Prentice-Hall, 1989 [2] http://www.octave.org, acessado em 23/12/2008 [3] http://www.ti.com, acessado em 26/12/2008 [4] CARLSON,A.B.; CRILLY,P.; RUTLEDGE,J. Communication Systems McGraw-Hill, 2001 [5] http://www.mp3-converter.com/mp3codec, acessado em 17/05/2009

Você também pode gostar