Processamento Digital de Sinais
texto de suporte para aulas
Instituto Federal de Educação, CiĂȘncia e Tecnologia - SP
Ricardo Pires - ĂĄrea de EletrĂŽnica
9 de Fevereiro de 2011
ConteĂșdo
1 Introdução 1
2 Sinais de Tempo Discreto 3
2.1 SequĂȘncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 OperaçÔes BĂĄsicas sobre SequĂȘncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.3 SequĂȘncias BĂĄsicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.1 Impulso de Tempo Discreto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3.2 Degrau UnitĂĄrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.3.3 SequĂȘncia Exponencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3.4 SequĂȘncia Senoidal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3.5 SequĂȘncia Exponencial Complexa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Amostragem de Sinais de Tempo ContĂnuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 Sistemas de Tempo Discreto 18
3.1 Sistemas com MemĂłria x Sistemas sem MemĂłria . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2 Sistemas Lineares x Sistemas NĂŁo Lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3 Sistemas Variantes no Tempo x Sistemas Invariantes no Tempo . . . . . . . . . . . . . . . . . . . 223.4 Sistemas Causais x Sistemas NĂŁo Causais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.5 Estabilidade de Sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.6 Sistemas Lineares e Invariantes no Tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.6.1 Estabilidade de Sistemas LIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.6.2 Causalidade de Sistemas LIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.7 EquaçÔes de Diferenças Lineares a Coeficientes Constantes . . . . . . . . . . . . . . . . . . . . . . 293.8 Representação no DomĂnio da FrequĂȘncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.9 Representação de SequĂȘncias por Transformada de Fourier . . . . . . . . . . . . . . . . . . . . . . 333.10 Transformada de Fourier Discreta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4 Transformada Z 38
4.1 Transformada Z e EquaçÔes de Diferenças . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.2 CĂĄlculo de Resposta em FrequĂȘncia Usando a Transformada Z . . . . . . . . . . . . . . . . . . . . 41
1 Introdução
Este Ă© um texto de suporte para aulas de Processamento Digital de Sinais. Como tal, ele nĂŁo dispensa o estudoem livros especializados, dentre os quais se destaca [1].
SupĂ”e-se que, durante as aulas, problemas serĂŁo resolvidos com auxĂlio do software Octave [2].
1
Ricardo Pires - Processamento Digital de Sinais 2
Um sinal Ă© uma grandeza (por exemplo, tensĂŁo elĂ©trica) variando no tempo e que carrega uma informação.Portanto, a tensĂŁo elĂ©trica da tomada nĂŁo Ă© um sinal, enquanto uma onda transmitida por uma emissora derĂĄdio Ă© um sinal. A informação carregada pode ser voz, mĂșsica, o resultado de uma medição (de distĂąncia, develocidade...), imagem etc.
O processamento de sinais consiste na representação, na transformação e na manipulação dos sinais e dainformação que eles contĂȘm. Exemplos: retirada de ruĂdo de som, compactação de som ou de imagem. Umaclasse importante de aplicaçÔes do Processamento Digital de Sinais Ă© a da interpretação de sinais, a qualconsiste na extração de informaçÔes do sinal sendo processado. Exemplos: num sinal de voz, identificação dapessoa que falou ou do que ela falou. Em sinais de origem geolĂłgica: identificação de minĂ©rios presentes no localde origem dos sinais.
Antes dos anos 1960, o processamento de sinais era feito, quase sempre, em tempo contĂnuo, por meio decircuitos eletrĂŽnicos analĂłgicos. O avanço da tecnologia digital, principalmente no aumento da velocidade doscircuitos digitais e em sua miniaturização, fez com que o processamento de sinais tivesse gradualmente suasimplementaçÔes migrando da forma analĂłgica para a digital.
Normalmente, sinais manipulados na forma digital tĂȘm origem analĂłgica. O circuito digital que faz estamanipulação requer uma sequĂȘncia de nĂșmeros codificados em binĂĄrio obtida a partir do sinal analĂłgico original.Esta sequĂȘncia Ă© obtida por amostragem periĂłdica do sinal analĂłgico. O resultado da amostragem Ă© umasequĂȘncia de valores que buscam registrar valores lidos do sinal analĂłgico em determinados instantes, havendoum certo intervalo entre eles. Neste processo, a princĂpio, perde-se a informação sobre os valores que estavamno intervalo entre as amostras colhidas.
Como o processamento digital Ă© realizado apenas sobre amostras colhidas em determinados instantes (nĂŁocontinuamente), diz-se que este processamento Ă© de tempo discreto, por oposição ao processamento analĂłgico,o qual Ă© de tempo contĂnuo. Mas, o processamento em tempo discreto nĂŁo Ă© necessariamente digital. HĂĄprocessamento em tempo discreto usando-se outras tecnologias, como a de capacitores chaveados.
Dentre as razÔes para a gradual substituição de implementaçÔes analógicas por implementaçÔes digitais parao processamento de sinais, estão a maior flexibilidade das implementaçÔes digitais e sua maior precisão.
A maior flexibilidade da implementação digital reside no fato de que o processamento de um sinal, normal-mente, consiste na realização de cĂĄlculos usando-se os valores que ele sucessivamente assume. Uma implemen-tação analĂłgica, usando resistores, indutores, capacitores e amplificadores, realiza âcĂĄlculosâ sobre o sinal naforma de equaçÔes diferenciais. A forma da equação diferencial implementada depende dos parĂąmetros dos com-ponentes do circuito (resistĂȘncias, indutĂąncias, capacitĂąncias, ganhos), do nĂșmero de componentes de cada tipoe da forma pela qual eles sĂŁo interconectados. Assim, sĂł Ă© realizĂĄvel analogicamente um cĂĄlculo que possa serexpresso como uma equação diferencial e para o qual se conheça uma configuração de circuito correspondente.Por outro lado, a implementação digital consiste na realização de cĂĄlculos usando-se, como entrada, a sequĂȘnciade amostras coletadas. Cada amostra estĂĄ codificada como nĂșmero em binĂĄrio. Os cĂĄlculos possĂveis, nestecaso, sĂŁo quaisquer cĂĄlculos realizĂĄveis por unidades aritmĂ©ticas digitais: adiçÔes, subtraçÔes, multiplicaçÔes,divisĂ”es, operaçÔes nĂŁo-lineares e quaisquer combinaçÔes destas, em quaisquer ordens. EquaçÔes diferenciaistambĂ©m podem ser aproximadas numericamente por cĂĄlculos na forma digital. Desta forma, uma implemen-tação digital pode substituir uma implementação analĂłgica, desde que a velocidade exigida para os cĂĄlculosesteja dentro do limite de funcionamento da tecnologia digital disponĂvel. Por outro lado, muitas sequĂȘncias decĂĄlculos possĂveis na forma digital nĂŁo tĂȘm equivalentes na forma analĂłgica.
Quanto Ă precisĂŁo, uma implementação analĂłgica sofre os efeitos de desvios nos parĂąmetros de seus com-ponentes (resistĂȘncias, capacitĂąncias...) em relação aos valores desejados. Uma implementação digital tem aprecisĂŁo de seus cĂĄlculos dependente, sobretudo, do nĂșmero de bits com que Ă© representada cada amostra e cadaresultado intermediĂĄrio de cĂĄlculo. Quanto maior for este nĂșmero de bits, maior a precisĂŁo (maior resolução). EnĂŁo hĂĄ limite teĂłrico para este nĂșmero de bits. SĂł hĂĄ limite de custo da implementação, de seu tamanho fĂsicoe da energia consumida em seu funcionamento. Portanto, quanto Ă precisĂŁo, a implementação digital tambĂ©mĂ© vantajosa. Basta que se use um nĂșmero suficiente de bits para se representar cada nĂșmero usado nos cĂĄlculoscom a precisĂŁo desejada.
As principais formas de implementação de sistemas de processamento digital de sinais são:
⹠computador de uso genérico;
⹠circuito integrado (chip) programåvel genérico (microprocessador ou microcontrolador);
Ricardo Pires - Processamento Digital de Sinais 3
âą chip programĂĄvel especial para processamento digital de sinais [3];
âą chip configurĂĄvel do tipo FPGA;
âą circuito integrado de aplicação especĂfica.
2 Sinais de Tempo Discreto
Conforme visto na introdução, um sinal Ă© uma função que carrega informação. Na maioria dos casos, Ă© umagrandeza fĂsica cujo valor Ă© função do tempo. Um sinal de tempo contĂnuo Ă© definido para um intervalo contĂnuode valores de tempo. Usualmente, Ă© chamado de sinal analĂłgico. Um sinal de tempo discreto sĂł Ă© definido paradeterminados instantes, com intervalos entre eles. Assim, eles consistem em sequĂȘncias de nĂșmeros.
A mesma idĂ©ia de continuidade se aplica aos valores assumidos pelo sinal. Um sinal pode assumir valorescontĂnuos, como ocorre nos sistemas analĂłgicos, ou pode assumir apenas determinados valores, como ocorreem sistemas digitais. Neste caso, a limitação de valores se deve ao fato de que, representando-se nĂșmeros embinĂĄrio com nĂșmero limitado de bits, somente um nĂșmero finito de valores Ă© representĂĄvel.
2.1 SequĂȘncias
Sinais de tempo discreto sĂŁo sequĂȘncias de nĂșmeros. Uma certa sequĂȘncia x tem, convencionalmente, cada umde seus valores particulares denotado como x[n], em que o n entre colchetes indica a qual valor particular dentroda sequĂȘncia se estĂĄ fazendo referĂȘncia. Por exemplo, x[15] refere-se ao elemento nĂșmero 15 da sequĂȘncia x.Como n Ă© o nĂșmero de um elemento na sequĂȘncia, ou seja, n serve para indicar a posição do elemento em relaçãoaos demais (se Ă© o quinto, o dĂ©cimo etc.), n Ă© sempre inteiro.
Normalmente, uma sequĂȘncia Ă© originada da amostragem periĂłdica de um sinal analĂłgico xa(t). Neste caso,
x[n] = xa(nTa) (1)
em que Ta, intervalo entre a coleta de duas amostras seguidas, Ă© chamado perĂodo de amostragem. Seu inverso,fa, Ă© a frequĂȘncia de amostragem.
Embora x[n] se refira a um elemento particular de uma sequĂȘncia, a notação x[n] tambĂ©m Ă© usada para sereferir Ă sequĂȘncia completa, quando nĂŁo houver ambiguidade.
O grĂĄfico de uma função de domĂnio contĂnuo y = f(x) deve usar uma linha contĂnua para expressarvisualmente a dependĂȘncia entre x e y, conforme a figura 1.
Por outro lado, o grĂĄfico de uma função de domĂnio discreto y = f [n] deve deixar claro que a função sĂł Ă©definida para certos valores (aqueles que pertencem ao seu domĂnio) e indefinida entre estes valores, conformea figura 2.
No software Octave, uma sequĂȘncia Ă© definida como:
octave > x = [11 22 33 44]
em que, aqui, definiu-se uma sequĂȘncia x que possui 4 amostras. Deve-se sempre lembrarque, no Octave, a primeira amostra de uma sequĂȘncia estĂĄ sempre na posição 1. Assim, nesteexemplo, x[1] = 11, x[2] = 22 etc.
2.2 OperaçÔes BĂĄsicas sobre SequĂȘncias
A soma de duas sequĂȘncias a[n] e b[n], por definição, gera uma nova sequĂȘncia s[n] tal que, para qualquer n = i,s[i] = a[i]+b[i]. A tabela 1 dĂĄ exemplos de valores de uma sequĂȘncia a[n], uma sequĂȘncia b[n] e a correspondentesequĂȘncia s[n] = a[n] + b[n].
Ricardo Pires - Processamento Digital de Sinais 4
Figura 1: GrĂĄfico de uma função de domĂnio contĂnuo
n a[n] b[n] s[n] = a[n] + b[n]0 2 1 31 -1 6 52 10 -3 73 -3 -9 -124 2,5 7 9,5
Tabela 1: Soma de sequĂȘncias
De maneira similar, o produto de duas sequĂȘncias a[n] e b[n], por definição, gera uma nova sequĂȘncia s[n]tal que, para qualquer n = i, s[i] = a[i] · b[i]. A tabela 2 dĂĄ exemplos de valores de uma sequĂȘncia a[n], umasequĂȘncia b[n] e a correspondente sequĂȘncia s[n] = a[n] · b[n].
O produto de uma sequĂȘncia a[n] por uma constante α gera uma sequĂȘncia s[n] tal que, para qualquer n = i,s[i] = αa[i]. A tabela 3 dĂĄ exemplos de valores de uma sequĂȘncia a[n] e a correspondente sequĂȘncia s[n] = αa[n],para α = 3.
ExercĂcio 1Para as sequĂȘncias a[n] e b[n] das tabelas anteriores, qual seria a sequĂȘncia resultante de y[n] = 2a[n] + 3b[n]?
Uma sequĂȘncia y[n] Ă© chamada de versĂŁo atrasada de uma sequĂȘncia x[n] se a relação entre os valores delasfor do tipo y[n] = x[n â n0], em que n0 Ă© um inteiro, correspondente ao atraso de y[n] em relação a x[n]. Atabela 4 dĂĄ exemplos de valores de uma sequĂȘncia x[n] e a correspondente sequĂȘncia y[n] = x[n â n0], para
Ricardo Pires - Processamento Digital de Sinais 5
Figura 2: GrĂĄfico de uma função de domĂnio discreto
n0 = 1. Nela, o sĂmbolo ? indica que o valor de y[n] naquele instante nĂŁo pode ser determinado a partir dosdemais valores da tabela.
O interesse nestas operaçÔes bĂĄsicas se justifica pelo fato de que a maioria dos algoritmos de processamentodigital de sinais consistem na realização de sequĂȘncias destas operaçÔes sobre sequĂȘncias de valores de entrada(medidos ou recebidos).
2.3 SequĂȘncias BĂĄsicas
Na teoria de processamento digital de sinais, sĂŁo definidas certas sequĂȘncias bĂĄsicas fundamentais. Elas sĂŁo: oimpulso de tempo discreto, a sequĂȘncia degrau unitĂĄrio, a sequĂȘncia exponencial e a sequĂȘncia senoidal.
2.3.1 Impulso de Tempo Discreto
O impulso de tempo discreto, denotado ÎŽ[n], Ă© definido como:
ÎŽ[n] =
{
0 para n 6= 01 para n = 0
(2)
e é representado na figura 3.Uma maneira de se ver a função 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 1quando n = â2.
ExercĂcio 2Desenhe o grĂĄfico de ÎŽ[n â 10].
Ricardo Pires - Processamento Digital de Sinais 6
No Octave, pode-se verificar uma soma de sequĂȘncias como:
octave > a = [2 â1 10 â3 2.5]octave > b = [1 6 â3 â9 7]octave > s = a + b
Note que o separador entre a parte inteira e a parte fracionĂĄria de um nĂșmero deve ser digitadocomo um ponto, nĂŁo como vĂrgula. Deve-se digitar enter ao final de cada linha. Deve-selembrar que, embora o cĂĄlculo tenha dado o resultado correto (verifique no computador), osoftware considerou os Ăndices das sequĂȘncias fornecidas começando em 1.
n a[n] b[n] s[n] = a[n] · b[n]0 2 1 21 -1 6 -62 10 -3 -303 -3 -9 274 2,5 7 17,5
Tabela 2: Produto de sequĂȘncias
ExercĂcio 3Desenhe o grĂĄfico de 7ÎŽ[n â 8].
ExercĂcio 4Desenhe o grĂĄfico de 5ÎŽ[n + 1] â 3ÎŽ[n â 4].
ExercĂcio 5Escreva a sequĂȘncia a[n] da tabela 2 como soma de impulsos.
ExercĂcio 6Idem para a sequĂȘncia b[n] da tabela 2.
Resolvendo-se os exercĂcios anteriores, vĂȘ-se que qualquer sequĂȘncia pode ser escrita como soma de impul-sos. Isto Ă© Ăștil na construção da teoria de Processamento Digital de Sinais. Generalizando-se, portanto, umasequĂȘncia qualquer x[n] pode ser escrita como:
x[n] =ââ
k=ââ
x[k]ÎŽ[n â k] (3)
2.3.2 Degrau UnitĂĄrio
A sequĂȘncia degrau unitĂĄrio, denotada u[n], Ă© definida como:
Ricardo Pires - Processamento Digital de Sinais 7
No Octave, cada sequĂȘncia fornecida como nos exemplos anteriores Ă© vista pelo software comouma matriz que possui uma linha e vĂĄrias colunas. Se se tentar realizar um produto destassequĂȘncias usando-se o operador de produto *, o software indicarĂĄ um erro, porque, para serealizar um produto de duas matrizes, o nĂșmero de colunas da primeira deve ser igual ao nĂșmerode linhas da segunda e cada uma de nossas sequĂȘncias tem apenas uma linha e vĂĄrias colunas.O produto de sequĂȘncias como definido aqui Ă© obtido usando-se o operador .* (ponto asterisco).Como exemplo, o produto das sequĂȘncias a e b das tabelas anteriores Ă© obtido usando-se a. â b.
n a[n] s[n] = 3a[n]0 2 61 -1 -32 10 303 -3 -94 2,5 7,5
Tabela 3: Produto de uma sequĂȘncia por uma constante (neste caso, 3)
u[n] =
{
0 para n < 01 para n â„ 0
(4)
e Ă© representada na figura 4.
ExercĂcio 7Desenhe o grĂĄfico de 3u[n].
ExercĂcio 8Desenhe o grĂĄfico de â2u[n â 3].
ExercĂcio 9Desenhe o grĂĄfico de 3u[n] â 2u[n â 3].
ExercĂcio 10Desenhe o grĂĄfico de u[ân].
ExercĂcio 11Desenhe o grĂĄfico de 5u[3 â n].
Ricardo Pires - Processamento Digital de Sinais 8
Pode-se verificar o produto de uma sequĂȘncia por uma constante como:
octave > a = [2 â1 10 â3 2.5]octave > s = 3 â a
n x[n] y[n] = x[n â 1]0 2 ?1 -1 22 10 -13 -3 104 2,5 -3
Tabela 4: Uma sequĂȘncia y[n] atrasada de uma unidade de tempo em relação a uma sequĂȘncia x[n].
ExercĂcio 12Desenhe o grĂĄfico de 7u[n + 2] â 5u[3 â n].
2.3.3 SequĂȘncia Exponencial
A sequĂȘncia exponencial tem a forma:
x[n] = Aαn (5)
em que A e α sĂŁo constantes reais.A figura 5 mostra o grĂĄfico de uma sequĂȘncia exponencial com A = 3, α = 0, 7 e n indo de 1 a 10.
Pode-se visualizar o grĂĄfico da sequĂȘncia exponencial da figura 5 usando-se os comandos:
octave : 1 > n = [1 : 10]octave : 2 > A = 3octave : 3 > alfa = 0.7octave : 4 > seqExpo = A â alfa. ⧠noctave : 5 > stem(n, seqExpo)octave : 6 > title(âČexponencialâČ)octave : 7 > axis([0 11 0 3])
O comando 1 gera uma sequĂȘncia de 1 a 10, a qual serve como a sĂ©rie de instantes de amostragemconsiderados. Os comandos 2 e 3 definem os valores das constantes. O comando 4 calcula osvalores da sequĂȘncia exponencial. Nele, o operador .⧠gera uma sequĂȘncia elevando o mesmovalor alfa, sucessivamente, Ă s potĂȘncias de 1 a 10 contidas em n. O comando 5 gera o grĂĄfico,no estilo de tempo discreto. O comando 6 define um tĂtulo para o grĂĄfico. Finalmente, ocomando 7 ajusta as escalas dos eixos.
2.3.4 SequĂȘncia Senoidal
A sequĂȘncia senoidal tem a forma:
x[n] = A cos(Ï0n + Ï0) (6)
Ricardo Pires - Processamento Digital de Sinais 9
Figura 3: Gråfico da função impulso de tempo discreto
em que A, Ï0 e Ï0 sĂŁo constantes. A Ă© a amplitude da senoide, Ï0 Ă© sua frequĂȘncia angular, medida em radianos,e Ï0 Ă© sua fase inicial.
A figura 6 mostra o grĂĄfico de uma sequĂȘncia senoidal com A = 10, Ï0 = Ï4 , Ï0 = 0 e n indo de 1 a 20.
No Octave, a função cosseno Ă© digitada, simplesmente, como cos. A função seno Ă© digitadacomo sin. A constante Ï Ă© digitada como pi. Assim, na geração do grĂĄfico senoidal da figura 6,usou-se a sequĂȘncia de comandos:
octave > n = [1 : 20]octave > A = 10octave > omega0 = pi/4octave > phi0 = 0octave > x = A â cos(omega0 â n + phi0)
alĂ©m de comandos de ajuste de escala, de tĂtulo e do comando stem, como no caso exponencial.
ExercĂcio 13Gere e visualize sequĂȘncias senoidais com o Octave, variando suas amplitudes, suas frequĂȘncias e suas fasesiniciais.
Ricardo Pires - Processamento Digital de Sinais 10
Figura 4: Gråfico da função degrau unitårio
ExercĂcio 14Gere uma senoide com Ï0 = 0 e uma outra com Ï0 = 2Ï, mantendo os demais parĂąmetros. Compare osresultados. Faça o mesmo com uma senoide com Ï0 = Ï
4 e uma outra com Ï0 = 9Ï4 . Interprete.
Pode-se ver que, em tempo discreto, a frequĂȘncia Ï0 = 0 equivale a Ï0 = 2Ï. O mesmo ocorre com o parÏ0 = Ï
2 e Ï0 = 5Ï2 . Em geral, qualquer frequĂȘncia angular Ï que esteja fora da faixa 0 < Ï < Ï equivale a
uma frequĂȘncia 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 frequĂȘncia angular, em radianos. Assim, qualquerfrequĂȘncia que esteja acima de Ï por â rad equivale a uma frequĂȘncia que esteja abaixo de Ï por â rad. Omesmo fenĂŽmeno ocorre em torno de qualquer frequĂȘncia que seja mĂșltipla inteira de Ï.
A figura 7 mostra, esquematicamente, as equivalĂȘncias de frequĂȘncias em tempo discreto. Nela, Ă© indicadauma certa frequĂȘncia Ïx, na faixa entre 0 e Ï. Uma frequĂȘncia equivalente a esta Ă© 2Ï â Ïx, na faixa entre Ï e2Ï. A prĂłxima equivalente Ă© 2Ï + Ïx, na faixa entre 2Ï e 3Ï. A prĂłxima Ă© 4Ï â Ïx, na faixa entre 3Ï e 4Ï, eassim por diante.
ExercĂcio 15Com o auxĂlio da figura 7 e do Octave, verifique as trĂȘs prĂłximas equivalĂȘncias da frequĂȘncia Ï0 = Ï
4 . Para isto,calcule estas frequĂȘncias equivalentes e gere valores de amostras de x[n] = cos(Ïn), para n indo de 1 a 12 e Ïassumindo cada uma daquelas frequĂȘncias.
O fato de haver esta equivalĂȘncia entre frequĂȘncias Ă© muito importante em processamento digital de sinais.Ele implica que uma sequĂȘncia de amostras colhidas periodicamente de uma senoide de baixa frequĂȘncia podeser igual a uma sequĂȘncia de amostras colhidas de uma senoide de frequĂȘncia mais alta. Neste caso, observando-se as amostras, nĂŁo seria possĂvel se descobrir de qual senoide elas teriam sido colhidas. Para se evitar este
Ricardo Pires - Processamento Digital de Sinais 11
Figura 5: GrĂĄfico de sequĂȘncia exponencial
problema, deve-se tomar o cuidado de sĂł se amostrarem sinais analĂłgicos cujas frequĂȘncias estejam numa faixalimitada, equivalendo Ă faixa de tempo discreto de 0 a Ï. Desta forma, observando-se as amostras de umasenoide, deduz-se qual era a frequĂȘncia desta senoide: sĂł pode ser uma frequĂȘncia da primeira faixa, jĂĄ quenĂŁo havia senoides de outras faixas no processo. Assim, nĂŁo hĂĄ frequĂȘncias equivalentes e, portanto, nĂŁo hĂĄambiguidade. Para que isto seja possĂvel, antes da amostragem, o sinal a ser amostrado Ă© aplicado a um filtroanalĂłgico passa-baixas, cuja saĂda sĂł terĂĄ frequĂȘncias da primeira faixa. Esta saĂda, entĂŁo, pode ser amostrada,sem que haja ambiguidade na interpretação das amostras. Esta condição para que nĂŁo haja ambiguidadena amostragem foi publicada em 1928 pelo engenheiro sueco Harry Theodor Nyqvist (mais conhecido comoNyquist) e pelo engenheiro estadunidense Claude Elwood Shannon. Ela serĂĄ estudada na seção 2.4.
2.3.5 SequĂȘncia Exponencial Complexa
A sequĂȘncia exponencial complexa tem a forma:
x[n] = Aej(Ï0n+Ï0) (7)
em que A, constante real, Ă© a amplitude da sequĂȘncia, j =ââ1, Ï0 Ă© a frequĂȘncia angular, em radianos, e Ï0 Ă©
a fase inicial, tambĂ©m em radianos.Para se estudar esta sequĂȘncia, deve-se lembrar que:
ejx = cos x + jsen x (8)
A equação 8 Ă© chamada fĂłrmula de Euler. Foi publicada pelo matemĂĄtico suĂço Leonhard Paul Euler em1748. Nela, x Ă© um nĂșmero real. Como x Ă© argumento de funçÔes trigonomĂ©tricas, ele pode ser visto comoum Ăąngulo (em radianos). Para cada valor de x, vĂȘ-se que o membro direito da equação 8 fornece um nĂșmerocomplexo, cuja parte real vale cos x e cuja parte imaginĂĄria vale jsen x. Assim, dado um valor de x, ejx podeser representado como um ponto no plano complexo, conforme a figura 8. O Ăąngulo entre o eixo real e a linhaque liga este ponto Ă origem Ă© x radianos. O mĂłdulo de ejx Ă© sempre 1, independentemente do valor de x(verifique). Assim, o mĂłdulo de Aejx Ă© A.
Ricardo Pires - Processamento Digital de Sinais 12
Figura 6: GrĂĄfico de sequĂȘncia senoidal
ExercĂcio 16Represente e+j Ï
3 no plano complexo, anotando suas coordenadas.
ExercĂcio 17Represente eâj Ï
4 no plano complexo, anotando suas coordenadas.
ExercĂcio 18Represente e+jÏ no plano complexo, anotando suas coordenadas.
ExercĂcio 19Represente 5e+j Ï
6 no plano complexo, anotando suas coordenadas.
ExercĂcio 20Represente 7e+j 7Ï
6 no plano complexo, anotando suas coordenadas.
Ricardo Pires - Processamento Digital de Sinais 13
4Ï 3Ï
2Ï 3Ï
2Ï Ï
0 Ï
Ïx
...
Figura 7: EquivalĂȘncias entre frequĂȘncias em tempo discreto
â
â
cos x
sen x
x
ejx
Figura 8: Representação de ejx no plano complexo
ExercĂcio 21Represente â4e+j 11Ï
6 no plano complexo, anotando suas coordenadas.
Da fórmula 8, obtém-se:
cos x =1
2(e+jx + eâjx) (9)
ExercĂcio 22Prove a validade da equação 9.
Da fórmula 8, obtém-se, também:
sen x =1
2j(e+jx â eâjx) (10)
ExercĂcio 23Prove a validade da equação 10.
Ricardo Pires - Processamento Digital de Sinais 14
Como ejx, com um valor fixo para x, pode ser representado como um ponto no plano complexo, o valor ejÏt,com t (tempo) aumentando continuamente, pode ser representado, no plano complexo como um ponto girandosobre uma circunferĂȘncia centrada na origem, com raio unitĂĄrio (conforme a figura 9), jĂĄ que, com o aumentode t, o Ăąngulo Ït aumenta, mas a distĂąncia do ponto ejÏt Ă origem continua sendo 1. A frequĂȘncia de giro desteponto Ă© constante, de Ï ( rad
s). Assim, uma grandeza fĂsica variando de forma senoidal, como, por exemplo,
uma tensĂŁo elĂ©trica v(t) = cos(Ït), poderia ser considerada como a projeção horizontal do ponto giratĂłrio ejÏt,com o valor desta projeção sendo o valor instantĂąneo desta tensĂŁo. Uma tensĂŁo senoidal com outra amplitude,v(t) = A cos(Ït), seria representada como a projeção horizontal do ponto giratĂłrio AejÏt, o qual gira sobre umacircunferĂȘncia de raio A. Esta projeção horizontal Ă© denotada â{ejÏt}. (O operador â{} fornece a parte realde seu argumento.) A projeção vertical Ă© denotada â{ejÏt}. (O operador â{} fornece a parte imaginĂĄria deseu argumento.)
â
â
cos(Ït)
sen(Ït)
Ït
ejÏt
Figura 9: Representação de ejÏt no plano complexo, com t variando continuamente
Da equação 9, pode-se visualizar de outra forma uma grandeza senoidal no plano complexo, conforme afigura 10. Neste caso, o ponto correspondente a cos(Ït), marcado com um x na figura, Ă© dado pela mĂ©dia dasposiçÔes de e+jÏt e de eâjÏt. (Verifique que a equação 9, de fato, contĂ©m a mĂ©dia daqueles dois pontos sobre acircunferĂȘncia.) A mĂ©dia das posiçÔes dos pontos estĂĄ sempre sobre o eixo real, jĂĄ que as projeçÔes verticais dosdois pontos se anulam. A soma das partes reais resulta 2 cos(Ït). Como a mĂ©dia, para os dois pontos, consistena metade desta soma, esta mĂ©dia vale cos(Ït). Assim, a equação 9 nos leva a visualizar uma grandeza do tipocos(Ït) como a mĂ©dia das posiçÔes de dois pontos girando em sentidos contrĂĄrios em torno da origem do planocomplexo. Deve-se visualizar que, enquanto os dois pontos giram sobre a circunferĂȘncia, sua mĂ©dia (x) oscilasobre o eixo real, entre as abscissas +1 e -1.
ExercĂcio 24Interprete geometricamente a equação 10.
ExercĂcio 25Represente geometricamente, no plano complexo, a posição de e+j Ï
4t e a de eâj Ï
4t, para t = 1s, t = 2s e t = 3s.
Em cada caso, indique a posição do ponto mĂ©dio entre e+j Ï
4t e eâj Ï
4t.
Ricardo Pires - Processamento Digital de Sinais 15
â
â
cos(Ït)
sen(Ït)
Ït
ejÏt
âsen(Ït)
âÏt
eâjÏt
Figura 10: Representação 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,tĂȘm-se, como no caso contĂnuo, aqueles dois pontos girando sobre a circunferĂȘncia, com cos(Ïn), novamente,sendo a mĂ©dia entre as posiçÔes dos dois pontos. PorĂ©m, os pontos giratĂłrios, agora, sĂŁo: e+jÏn e eâjÏn, comn avançando âaos saltosâ, ao invĂ©s de avançar continuamente como ocorria com o t contĂnuo. Cada salto destescorresponde a uma variação de Ï no Ăąngulo do segmento que liga um ponto giratĂłrio Ă origem do plano. Assim,com o aumento discreto (de um em um) de n, e+jÏn salta de um ponto a outro sobre a circunferĂȘncia de raiounitĂĄrio, conforme a figura 11. Na figura, Ă© indicada a posição ocupada pelo ponto giratĂłrio quando n = 1 e asprĂłximas posiçÔes que serĂŁo ocupadas por este ponto, quando n avançar atĂ© o valor 5. Com o passar do tempo,o ponto dĂĄ voltas sobre a circunferĂȘncia, mas sempre dando saltos entre as posiçÔes sucessivas que ocupa. Oponto eâjÏn tambĂ©m anda sobre a circunferĂȘncia, aos saltos, mas em sentido contrĂĄrio. A posição mĂ©dia entreos dois pontos, a qual corresponde a cos(Ïn), faz um movimento de vai e vem sobre o eixo real, tambĂ©m aossaltos. A figura 6 Ă© um grĂĄfico que pode ser interpretado como representando as posiçÔes sucessivas ocupadaspelo ponto mĂ©dio sobre o eixo real.
ExercĂcio 26Represente, no plano complexo, as sucessivas posiçÔes ocupadas pelo ponto 3e+j Ï
4n, para 0 < n < 8.
ExercĂcio 27Represente, no plano complexo, as sucessivas posiçÔes ocupadas pelo ponto e+j Ï
3n, para 0 < n < 12.
ExercĂcio 28Represente, no plano complexo, as sucessivas posiçÔes ocupadas pelo ponto eâj Ï
3n, para 0 < n < 12.
Ricardo Pires - Processamento Digital de Sinais 16
â
â
cos(Ïn)
sen(Ïn)
Ïn
ejÏn
b
b
b
b
b
Figura 11: Representação de e+jÏn no plano complexo, com n variando de forma discreta
ExercĂcio 29Represente, no plano complexo, as sucessivas posiçÔes ocupadas pelo ponto mĂ©dio de e+j Ï
4n e de eâj Ï
4n, para
0 < n < 8. Com base neste grĂĄfico, desenhe o grĂĄfico de cos(Ï4 n) Ă n
2.4 Amostragem de Sinais de Tempo ContĂnuo
Normalmente, sinais a serem processados em tempo discreto sĂŁo originĂĄrios da amostragem periĂłdica de sinaisde tempo contĂnuo. Ă possĂvel a reconstrução exata de um sinal de tempo contĂnuo a partir de suas amostras,se forem respeitadas certas condiçÔes.
Como jĂĄ se disse neste texto, em tempo discreto, hĂĄ maior flexibilidade para o processamento de sinaisdo que em tempo contĂnuo. Assim, sĂŁo comuns tĂ©cnicas de processamento de sinais originalmente de tempocontĂnuo realizadas em tempo discreto, com uma conversĂŁo final dos resultados obtidos em tempo discreto devolta ao tempo contĂnuo. Estas tĂ©cnicas usam como uma de suas primeiras etapas a amostragem dos sinais detempo contĂnuo envolvidos.
A amostragem periĂłdica Ă© a tĂ©cnica mais usada para se obter uma representação de um sinal de tempocontĂnuo a ser processado em tempo discreto. Ela consiste em se obterem amostras de um certo sinal xc(t) aintervalos regulares, formando-se a sequĂȘncia de amostras x[n] segundo a relação:
x[n] = xc(nTa) (11)
em que n Ă© o nĂșmero da amostra, sempre inteiro, podendo assumir valores desde ââ a +â e Ta Ă© o chamadoperĂodo de amostragem, o qual Ă© o intervalo de tempo entre a obtenção de duas amostras seguidas de xc(t).O inverso de Ta Ă© a chamada frequĂȘncia de amostragem, fa = 1
Ta
. Esta indica quantas amostras de xc(t)sĂŁo obtidas por segundo.
Na figura 12, vĂȘ-se um diagrama de blocos de um amostrador, o qual recebe o sinal de tempo contĂnuo xc(t) efornece a sequĂȘncia de amostras x[n]. As chaves ch1 e ch2 sĂŁo implementadas como transistores operando comochaves. Quando ch1 se fecha, o valor de tensĂŁo correspondente a xc(t) no instante do fechamento Ă© registradocomo tensĂŁo de carga do capacitor C. Em seguida, ch1 Ă© aberta, congelando-se a leitura feita por C. ch2 Ă©,entĂŁo, fechada, fazendo-se com que o conversor analĂłgico-digital leia a amostra de tensĂŁo registrada em C e
Ricardo Pires - Processamento Digital de Sinais 17
faça sua conversĂŁo para digital, gerando uma amostra digitalizada de saĂda x[n]. Terminada a obtenção destaamostra digitalizada, este ciclo se repete. O papel de ch1 Ă© o de obter uma amostra instantĂąnea de xc(t) e decolocĂĄ-la em C. ch1 Ă© aberta em seguida, para que, durante a conversĂŁo A/D, a tensĂŁo em C nĂŁo varie. As duaschaves nunca ficam fechadas simultaneamente, para que todas as conversĂ”es A/D ocorram com valores fixos detensĂŁo Ă entrada do conversor. O ritmo de fechamento e de abertura das chaves Ă© a frequĂȘncia de amostragem,fa. O conversor A/D deve ser rĂĄpido o suficiente para fazer uma conversĂŁo em tempo menor do que o perĂodode amostragem Ta. Assim, uma limitação de velocidade de operação de um amostrador corresponde Ă rapidezcom que seu conversor A/D consegue operar. Esta pode ser a limitação do sistema completo de processamentodigital de sinais, ou seja, o amostrador pode ser o âgargaloâ do sistema.
xc(t) x[n]ch1 ch2
Cconversor
A/D
Figura 12: Diagrama de blocos de um amostrador
Na seção 2.3.4, viu-se que, em tempo discreto, senoides cujas frequĂȘncias estĂŁo fora da faixa de 0 a ÏsĂŁo sempre equivalentes a senoides cujas frequĂȘncias estĂŁo dentro desta faixa. Assim, pode acontecer de umasenoide de tempo contĂnuo com uma frequĂȘncia angular de Ï1 ser amostrada e suas amostras serem interpretadaserroneamente como sendo de uma outra senoide, cuja frequĂȘncia Ă© Ï2, Ï2 6= Ï1. Para se evitar esta ambiguidade,antes de se fazer a amostragem, deve-se garantir que xc(t) nĂŁo contenha frequĂȘncias equivalentes entre si. NaprĂĄtica, isto consiste em se fazer com que o espectro de xc(t) sĂł possa conter frequĂȘncias de 0 atĂ© um certo valorlimite fmax, o qual corresponde Ă frequĂȘncia angular Ï de tempo discreto. Desta forma, qualquer frequĂȘncia detempo contĂnuo corresponderĂĄ a uma Ășnica frequĂȘncia de tempo discreto e vice-versa. Se esta restrição nĂŁo fosserespeitada, haveria alguma frequĂȘncia de tempo contĂnuo equivalente a uma frequĂȘncia de tempo discreto maiordo que Ï, a qual seria equivalente a uma frequĂȘncia mais baixa e, assim, haveria ambiguidade de interpretação.xc(t), entĂŁo, deve ter espectro limitado a baixas frequĂȘncias. Se um sinal de tempo contĂnuo a ser amostrado nĂŁosatisfizer a esta condição, ele deverĂĄ, antes da amostragem, sofrer filtragem analĂłgica passa-baixas. O resultadodesta filtragem, entĂŁo, poderĂĄ ser entregue ao amostrador. O filtro analĂłgico passa-baixas que desempenhaesta função Ă© chamado, usualmente, de filtro anti-aliasing, sendo o termo inglĂȘs aliasing traduzido, Ă s vezes,como rebatimento, devido ao fato de que altas frequĂȘncias podem ser ârebatidasâ para uma faixa mais baixa doespectro se este cuidado nĂŁo for tomado.
Para se saber qual Ă© a maior frequĂȘncia permitida no espectro de xc(t) sem que haja ambiguidade deinterpretação das amostras (ou seja, sem que haja rebatimento), deve-se lembrar que a maior frequĂȘncia nĂŁoambĂgua em tempo discreto Ă© Ïmax = Ï rad. Uma senoide com esta frequĂȘncia tem a forma x[n] = A cos(Ïn).Para n = 0, o Ăąngulo Ïn = Ï0 = 0. x[0], entĂŁo, vale A. Para n = 1, o Ăąngulo Ïn = Ï1 = Ï. x[1], entĂŁo,vale âA. Para n = 2, o Ăąngulo Ïn = Ï2 = 2Ï, que Ă© um Ăąngulo equivalente a 0 rad. x[2], entĂŁo, vale A.Para n = 3, o Ăąngulo Ïn = 3Ï Ă© equivalente a Ï. x[3], entĂŁo, vale âA. Assim, conforme n aumenta de 1em 1, o Ăąngulo se alterna entre 0 e Ï, ciclicamente. Pode-se ver isto como se, ao se girar continuamente nociclo trigonomĂ©trico, sĂł fossem amostrados os pontos cujos Ăąngulos fossem 0 e Ï. SĂł sĂŁo amostrados, entĂŁo,dois pontos por ciclo. Portanto, partindo-se da frequĂȘncia angular zero, a maior frequĂȘncia angular de tempodiscreto sem ambiguidade, que Ă© a frequĂȘncia Ï = Ï rad, Ă© aquela que corresponde a dois pontos por volta nociclo trigonomĂ©trico. Sabe-se que, em tempo discreto, qualquer frequĂȘncia angular maior do que Ï = Ï radequivale a alguma frequĂȘncia angular menor do que Ï = Ï rad. Assim, a maior frequĂȘncia angular nĂŁo ambĂguaa partir de Ï = 0 rad Ă© aquela para a qual sĂŁo coletadas duas amostras por volta no ciclo trigonomĂ©trico. Emtempo contĂnuo, a frequĂȘncia que corresponde a esta Ï = Ï rad de tempo discreto Ă© aquela para a qual, tambĂ©m,sĂŁo coletadas duas amostras por ciclo, ou seja, duas amostras por perĂodo. Sendo o perĂodo de amostragemTa, duas amostras seguidas sĂŁo coletadas num tempo igual a 2Ta. Isto corresponde a uma frequĂȘncia fmax detempo contĂnuo de
Ricardo Pires - Processamento Digital de Sinais 18
fmax =1
2Ta
=fa
2(12)
em que fa Ă© a frequĂȘncia de amostragem. Esta fmax, entĂŁo, Ă© a mĂĄxima frequĂȘncia, a partir da frequĂȘncia iguala zero, da qual se podem extrair amostras sem ambiguidade de frequĂȘncia com perĂodo de amostragem de Ta. Asituação crĂtica da amostragem, entĂŁo, Ă© aquela em que se coletam duas amostras por perĂodo do sinal de tempocontĂnuo. Se forem coletadas menos do que duas amostras por perĂodo, haverĂĄ ambiguidade na interpretaçãodo sinal amostrado. Neste caso, as componentes de frequĂȘncias mais altas do sinal serĂŁo confundidas comcomponentes de frequĂȘncias mais baixas, na forma dada na figura 7. O critĂ©rio de amostragem de Nyquist,entĂŁo, estabelece que a mĂnima frequĂȘncia fa a ser usada na amostragem deve ser tal que se coletem, ao menos,duas amostras de cada perĂodo da componente de maior frequĂȘncia do sinal de tempo contĂnuo a ser amostrado.Isto equivale a se dizer que a fa deve ser de, pelo menos, o dobro da maior frequĂȘncia presente no espectro dosinal de tempo contĂnuo a ser amostrado, ou seja,
fa = 2fmax (13)
Sendo respeitado o critĂ©rio de amostragem de Nyquist, entĂŁo, fica estabelecida uma relação entre valores defrequĂȘncia de tempo contĂnuo e seus valores correspondentes em tempo discreto. A maior frequĂȘncia de tempodiscreto Ă© Ï = Ï rad. A maior frequĂȘncia permitida de tempo contĂnuo, fmax, entĂŁo, equivale a Ï = Ï rad.Assim, pode-se montar a regra de trĂȘs:
f (Hz) â Ï (rad)
fmax â Ï (14)
ExercĂcio 30Se um sistema de processamento digital de sinais trabalhar com amostragem a 10kHz, qual serĂĄ a mĂĄximafrequĂȘncia permitida para o espectro do sinal a ser amostrado? Qual serĂĄ a frequĂȘncia de tempo contĂnuocorrespondente a Ï = Ï
4 rad de tempo discreto?
ExercĂcio 31Se um sistema de processamento digital de sinais trabalhar com amostragem a 500kHz, qual serĂĄ a mĂĄximafrequĂȘncia permitida para o espectro do sinal a ser amostrado? Qual serĂĄ a frequĂȘncia de tempo contĂnuocorrespondente a Ï = Ï
2 rad de tempo discreto?
ExercĂcio 32No projeto de um filtro digital, deseja-se que a f = 60Hz seja correspondente a Ï = Ï
2 rad. Qual deverĂĄ ser afrequĂȘncia de amostragem? Qual deverĂĄ ser o limite de frequĂȘncia do sinal a ser amostrado?
3 Sistemas de Tempo Discreto
Um sistema de tempo discreto obtĂ©m uma sequĂȘncia de saĂda y[n] a partir de uma sequĂȘncia de entrada x[n].Ele calcula cada amostra de saĂda a partir de uma ou mais amostras de entrada e, possivelmente, a partir deamostras de saĂda anteriores.
Ricardo Pires - Processamento Digital de Sinais 19
Usando-se o Octave, podem-se gerar arquivos de som no formato wave, por meio do co-mando wavwrite, o qual assume, se nĂŁo lhe for especificado, que a taxa de amostragem Ă©de 8000amostras
s. Eis um exemplo:
octave > fAmostr = 8000octave > duracaoSegundos = 5octave > numAmostras = fAmostr â duracaoSegundosoctave > n = [1 : numAmostras]octave > nt = nâČ
octave > sinal = cos(pi/8 â nt)octave > wavwrite(sinal, âsom.wavâ)
A linha nt = nâČ obtĂ©m a matriz nt como sendo a transposta da matriz n (o apĂłstrofo Ă© ooperador que obtĂ©m a transposta). Como n Ă© uma matriz linha, nt Ă© uma matriz coluna. Aexecução desta linha Ă© necessĂĄria, porque o arquivo wave deve conter uma coluna de amostraspor canal de som. Neste exemplo, hĂĄ apenas um canal, o qual contĂ©m o som correspondentea uma sequĂȘncia senoidal de amostras, contidas na matriz coluna chamada sinal. Uma matrizcontendo N colunas conteria, entĂŁo, N canais de som. Finalmente, aqui, o comando wavwritecoloca a matriz sinal no arquivo som.wav, o qual pode ser âouvidoâ usando-se algum programausual para a execução de arquivos de som.
Diz-se, entĂŁo, que a sequĂȘncia de saĂda Ă© obtida como uma transformação da sequĂȘncia de entrada, usando-sea notação:
y[n] = T{x[n]} (15)
Como um exemplo de sistema, tem-se o sistema atrasador, o qual implementa a equação:
y[n] = x[n â n0], ââ < n < +â (16)
na qual n0 Ă© o valor de atraso entre a sequĂȘncia de entrada e a de saĂda. A tabela 4 mostra um exemplode resultado y[n] obtido por um sistema atrasador, com atraso unitĂĄrio (n0 = 1), que teria recebido aquelasequĂȘncia x[n] Ă sua entrada. Uma implementação fĂsica deste atrasador, como um sistema digital, dada nafigura 13, deve ter um registrador acionado por sinal de relĂłgio (clock). Enquanto uma nova amostra x[n]jĂĄ estiver na entrada do sistema, a amostra de entrada anterior, x[n â 1], ainda estarĂĄ na saĂda, por ter sidomemorizada no ciclo de funcionamento anterior. Assim, cada sequĂȘncia de entrada aparece na saĂda, mas comatraso. A cada pulso de clock, uma nova amostra de entrada Ă© lida, substituindo a anteriormente memorizada.Assim, a saĂda Ă© 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 nĂŁo memorizada, e uma amostra mais antiga Ă saĂda, jĂĄ memorizada.
Um outro exemplo comum de sistema Ă© o de mĂ©dia mĂłvel. Ele tem este nome, por apresentar, Ă saĂda, umvalor correspondente Ă mĂ©dia das N amostras de entrada mais recentes, sendo N definido pelo projetista. EstamĂ©dia Ă© mĂłvel, porque, com o passar do tempo, o grupo de amostras de entrada que se submeterĂĄ ao cĂĄlculoda mĂ©dia muda, jĂĄ que, com o passar do tempo, muda o grupo das amostras mais recentes. Para, por exemplo,N = 4, a equação implementada por este sistema Ă©:
y[n] =1
4{x[n] + x[n â 1] + x[n â 2] + x[n â 3]} (17)
VĂȘ-se que, para calcular cada amostra de saĂda, este sistema precisa ter Ă sua disposição as quatro amostras deentrada mais recentes (a atual e trĂȘs anteriores). Por isto, ele precisa de trĂȘs registradores: um para memorizarx[nâ1], um para x[nâ2] e um para x[nâ3]. Estes trĂȘs registradores devem ser interligados em sĂ©rie, formandoum registrador de deslocamento composto por trĂȘs registradores com vĂĄrios bits cada. (O nĂșmero de bits decada registrador pode ser, por exemplo, 16. Isto depende da precisĂŁo com que trabalha o sistema.)
Ricardo Pires - Processamento Digital de Sinais 20
registrador
x[n â 1]
x[n] y[n] = x[n â 1]
clock
Figura 13: Implementação digital de um atrasador
ExercĂcio 33Desenhe um diagrama de blocos para o sistema de mĂ©dia mĂłvel anterior, usando trĂȘs registradores, somadorescom dois operandos cada e um multiplicador.
ExercĂcio 34Dada a tabela 5, com valores de uma certa sequĂȘncia de entrada x[n], calcule a sequĂȘncia de saĂda que seriaproduzida por este sistema de mĂ©dia mĂłvel. Verifique, com o auxĂlio do Octave, que este sistema gera umasequĂȘncia de saĂda que tem forma semelhante Ă da sequĂȘncia de entrada, porĂ©m, sem variaçÔes abruptas.
Pelo resultado obtido no exercĂcio 34, percebe-se que uma utilidade do sistema de mĂ©dia mĂłvel Ă© recebervalores medidos de um processo fĂsico do qual nĂŁo se esperam variaçÔes abruptas e diminuir o efeito destasvariaçÔes abruptas, antes de se entregarem estas amostras para um sistema que as analisarĂĄ. Isto ocorre, porexemplo, em medição de temperatura em grandes cĂąmaras, onde nĂŁo se espera que a temperatura possa variarrapidamente, ou na medição do nĂvel de combustĂvel no tanque de um automĂłvel, onde nĂŁo se esperam variaçÔesabruptas de nĂvel. Um transdutor faz a medição continuamente, entregando o resultado a um amostradorperiĂłdico. Este entrega as amostras analĂłgicas medidas a um conversor analĂłgico-digital. Estas amostrasdigitalizadas podem estar âcontaminadasâ por efeitos indesejĂĄveis, como ruĂdo, no caso da cĂąmara, ou balanço,no caso do tanque de combustĂvel. O ruĂdo ou o balanço introduzem, na sequĂȘncia de amostras, desvios emrelação aos valores verdadeiros das grandezas que se desejaram medir. A saĂda do sistema de mĂ©dia mĂłvelprocura seguir, preferencialmente, as lentas variaçÔes da grandeza medida em relação Ă s rĂĄpidas variaçÔescausadas pelo ruĂdo ou pelo balanço. Se a sequĂȘncia medida fosse aplicada diretamente a um mostrador (deponteiro ou digital), este oscilaria rapidamente, dificultando sua leitura. A aplicação da sequĂȘncia de saĂdado sistema de mĂ©dia mĂłvel ao mostrador proporciona maior estabilidade do valor apresentado, facilitando sualeitura, alĂ©m de refletir melhor a realidade da grandeza de interesse.
Neste exemplo, o sistema de mĂ©dia mĂłvel calculou a mĂ©dia das Ășltimas quatro amostras de entrada. NaprĂĄtica, um tal sistema pode usar dezenas ou centenas das Ășltimas amostras de entrada no cĂĄlculo da mĂ©dia,suavizando muito, desta forma, o efeito de variaçÔes abruptas. Mas, o uso de mais amostras de entrada tem,como efeito indesejado, aumento no hardware necessĂĄrio para implementar o sistema (ou maior tempo de cĂĄlculoem implementaçÔes em software).
A seguir, sĂŁo apresentadas definiçÔes Ășteis relacionadas a sistemas de tempo discreto.
Ricardo Pires - Processamento Digital de Sinais 21
n x[n] y[n]
0 81 82 83 204 95 86 97 98 69 910 911 912 1013 1014 615 1016 1017 1018 1719 1020 1021 922 1023 1024 1125 10
Tabela 5: Tabela para o exercĂcio 34.
3.1 Sistemas com MemĂłria x Sistemas sem MemĂłria
Um sistema com memĂłria Ă© aquele que deve usar algum tipo de elemento de memorização, como registradores(no caso de implementação em hardware) ou variĂĄveis (no caso de implementação em software), por precisarde valores de entrada ou de saĂda anteriores para calcular cada amostra de saĂda. O sistema atrasador e o demĂ©dia mĂłvel sĂŁo deste tipo.
Um sistema sem memĂłria, para calcular a amostra de saĂda em um certo instante, sĂł usa a amostra deentrada do mesmo instante. Como ele nĂŁo precisa de amostras passadas, nĂŁo precisa de memĂłria. 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 representação binĂĄria emcomplemento de dois.) Uma realização deste sistema em hardware usaria apenas lĂłgica combinatĂłria, semregistradores.
3.2 Sistemas Lineares x Sistemas NĂŁo Lineares
Se um sistema for linear, dada uma constante K e dada uma sequĂȘncia x[n],
T{Kx[n]} = KT{x[n]} (18)
e, dadas as sequĂȘncias x1[n] e x2[n]:
T{x1[n] + x2[n]} = T{x1[n]} + T{x2[n]} (19)
Disto decorre que, dadas constantes K1 e K2,
Ricardo Pires - Processamento Digital de Sinais 22
T{K1x1[n] + K2x2[n]} = K1T{x1[n]} + K2T{x2[n]} (20)
Assim, os sistemas lineares seguem o princĂpio da superposição: para se calcular o efeito, na saĂda, daaplicação de uma soma de sequĂȘncias Ă entrada, basta que, inicialmente, calculem-se os efeitos de cada entradaindividualmente e que, finalmente, somem-se estes efeitos Ă saĂda.
Como exemplos de sistemas lineares, tĂȘm-se o atrasador e o sistema de mĂ©dia mĂłvel.Qualquer sistema que nĂŁo respeite a equação 20 Ă© nĂŁo linear.
ExercĂcio 35Verifique que o sistema que implementa y[n] = {x[n]}2 nĂŁo Ă© linear.
Sempre que possĂvel, deve-se procurar projetar sistemas lineares, devido Ă maior facilidade de se lidarmatematicamente com eles do que com os nĂŁo 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 sequĂȘncia de entrada x1[n] para aqual ele fornece uma certa y1[n] e que, se, Ă sua entrada, for aplicada uma entrada x2[n] que seja uma versĂŁoatrasada de x1[n], x2[n] = x1[nân0], sua saĂda nĂŁo serĂĄ uma versĂŁo atrasada de y1[n], ou seja, y2[n] 6= y1[nân0].
Pode ocorrer de um sistema variante no tempo calcular suas amostras de saĂda de forma variĂĄvel com otempo. Por exemplo, se um sistema calcular sua saĂda usando y[n] = m0x[n]+m1x[nâ 1], sendo os coeficientesm0 e m1 variĂĄveis com o tempo, ele serĂĄ um sistema variante no tempo. Neste caso, poderia acontecer de, porexemplo, 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 saĂda variando no tempo. Porexemplo, ele poderia passar um tempo usando a expressĂŁo y[n] = m0x[n]+m1x[nâ 1] e, depois, poderia passara usar y[n] = m0x[n] + m1x[n â 1] + m2x[n â 2].
ExercĂcio 36Demonstre que o sistema que implementa a equação y[n] = x[2n] Ă© variante no tempo.
Um sistema invariante no tempo Ă© tal que, se for aplicada a ele uma sequĂȘncia de entrada x1[n] para aqual ele forneça uma certa y1[n], se, Ă sua entrada, for aplicada uma x2[n] que seja uma versĂŁo atrasada dex1[n], x2[n] = x1[nân0], sua saĂda serĂĄ, simplesmente, uma versĂŁo atrasada de y1[n], ou seja, y2[n] = y1[nân0],com atraso igual ao de x2[n] em relação a x1[n]. Para que isto ocorra, o sistema deverĂĄ calcular cada amostrade saĂda usando sempre a mesma forma de cĂĄlculo, todo o tempo (mesma equação e mesmos coeficientes).
ExercĂcio 37Verifique que o sistema de mĂ©dia mĂłvel Ă© invariante no tempo.
Sistemas invariantes no tempo sĂŁo de tratamento matemĂĄtico mais simples do que os variantes no tempo.
3.4 Sistemas Causais x Sistemas NĂŁo Causais
Um sistema causal Ă© aquele que calcula a amostra de saĂda em cada instante usando apenas valores de entradado mesmo instante, de instantes anteriores ou valores de saĂda anteriores. Exemplo de equação de um sistemacausal: y[n] = 1
2x[n] â 14x[n â 2] + 1
8y[n â 1].
Ricardo Pires - Processamento Digital de Sinais 23
Um sistema nĂŁo causal calcula a amostra de saĂda em um certo instante usando alguma amostra de entradaou de saĂda futura. Exemplo de equação de um sistema nĂŁo causal: y[n] = 1
2x[n] â 14x[n + 2] + 1
8y[n â 1]. (NocĂĄlculo da saĂda atual, ele usa uma entrada futura.)
Sistemas nĂŁo causais nĂŁo podem funcionar em tempo real, jĂĄ que, para calcular cada valor de saĂda, elesteriam de adivinhar algum valor futuro de entrada ou de saĂda. PorĂ©m, quando se projeta um sistema deprocessamento digital de sinais, pode ocorrer de o projetista descobrir que a equação que o sistema deveriaimplementar para satisfazer Ă s especificaçÔes do projeto deveria ser do tipo nĂŁo causal. Neste caso, para seobter um sistema realizĂĄvel, estas especificaçÔes deveriam ser alteradas, substituĂdas por outras que permitissema obtenção de um sistema causal que as satisfizesse. Isto ocorre, por exemplo, no projeto de um filtro passa-baixas ideal, tanto em tempo contĂnuo quanto em tempo discreto. Um tal filtro seria nĂŁo causal. (Ele serĂĄestudado adiante.) Assim, nĂŁo pode ser realizado. Mas, bons filtros, com caracterĂsticas parecidas com a doideal, podem ser realizados.
ExercĂcio 38O sistema de mĂ©dia mĂłvel definido pela equação 17 Ă© causal? Por que?
ExercĂcio 39Escreva a equação de um sistema de mĂ©dia mĂłvel nĂŁo causal.
3.5 Estabilidade de Sistemas
Um sistema Ă© estĂĄvel, no sentido entrada limitada, saĂda limitada, se e somente se, para qualquer sequĂȘnciade entrada com valores limitados recebida, ele produzir uma sequĂȘncia de saĂda com valores limitados. Assim,se:
|x[n]| †Lx < â, ân (21)
com Lx sendo o limite dos valores absolutos da sequĂȘncia x[n], entĂŁo:
|y[n]| †Ly < â, ân (22)
com Ly sendo o limite dos valores absolutos da sequĂȘncia y[n]. Note que o valor de Lx nĂŁo precisa ser igual aode Ly.
ExercĂcio 40O sistema de mĂ©dia mĂłvel definido pela equação 17 Ă© estĂĄvel? Por que?
ExercĂcio 41O sistema definido pela equação y[n] = x[n] + y[n â 1] Ă© estĂĄvel? Por que?
3.6 Sistemas Lineares e Invariantes no Tempo
Devido Ă relativa facilidade de tratamento matemĂĄtico que possuem, os sistemas de maior interesse em proces-samento digital de sinais sĂŁo os lineares invariantes no tempo (ou seja, os que sĂŁo tanto lineares quanto
Ricardo Pires - Processamento Digital de Sinais 24
invariantes no tempo). SerĂŁo 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].
ExercĂcio 42Qual Ă© a resposta impulsiva do sistema que implementa a equação y[n] = x[n â 2]?
ExercĂcio 43
Qual Ă© a resposta impulsiva do sistema de cĂĄlculo de mĂ©dia mĂłvel, que implementa y[n] = 14{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, tenhaa resposta impulsiva hipotĂ©tica dada na tabela 6. (Suponha que todos os valores de h[n] em instantes nĂŁotabelados sejam nulos.) Isto significa que, se, Ă entrada do sistema X, for aplicada uma Ășnica amostra nĂŁo nulano instante zero, com valor unitĂĄrio (ou seja, a entrada Ă© o impulso, ÎŽ[n]), o sistema apresentarĂĄ, Ă saĂda, asequĂȘncia h[n] dada na tabela 6.
n ÎŽ[n] h[n]
-2 0 0-1 0 00 1 31 0 52 0 23 0 14 0 05 0 0
Tabela 6: Valores não nulos da resposta impulsiva hipotética de um certo sistema X
Suponha, agora, que ao sistema X, seja aplicada a sequĂȘncia de entrada dada na tabela 7.
n x[n]
-2 0-1 00 41 52 -23 104 05 0
Tabela 7: Valores nĂŁo nulos de uma certa sequĂȘncia de entrada aplicada ao sistema X
O problema, entĂŁo, Ă© calcular-se a sequĂȘncia de saĂda, y[n], causada pela aplicação, ao sistema X, dasequĂȘncia 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. DecompĂ”e-se a sequĂȘncia de entrada x[n] em vĂĄrias sequĂȘncias, cada uma contendo somente uma amostranĂŁo nula, conforme a tabela 8. Verifique 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 sequĂȘncias simples, de xo[n] a x3[n], sendoaplicadas Ă 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 (equação 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 x[n] x0[n] x1[n] x2[n] x3[n]
-2 0 0 0 0 0-1 0 0 0 0 00 4 4 0 0 01 5 0 5 0 02 -2 0 0 -2 03 10 0 0 0 104 0 0 0 0 05 0 0 0 0 0
Tabela 8: Decomposição de uma sequĂȘncia de entrada x[n] em vĂĄrias sequĂȘncias
Para se calcular cada resposta individual no item 2, explora-se a linearidade e a invariĂąncia no tempo dosistema.
Iniciando-se pelo cĂĄlculo 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 saĂda que x0[n] causa Ă© 4 vezes a saĂdacausada pelo impulso, a qual Ă© a resposta impulsiva, h[n]. Este resultado Ă© mostrado na tabela 9.
n xo[n] h[n] y0[n] = 4h[n]
-2 0 0 0-1 0 0 00 4 3 121 0 5 202 0 2 83 0 1 44 0 0 05 0 0 0
Tabela 9: Resposta y0[n] do sistema X Ă sequĂȘncia x0[n]
No cĂĄlculo de y1[n], que Ă© a resposta a x1[n], deve-se notar que x1[n] = 5ÎŽ[n â 1], ou seja, x1[n] equivalea um impulso atrasado e multiplicado por 5. Pela linearidade, a resposta a este impulso multiplicado por 5deve ser igual Ă h[n] multiplicada por 5. Mas, como este impulso estĂĄ com atraso unitĂĄrio, deve-se nĂŁo sĂłmultiplicar h[n] por 5, mas, tambĂ©m, 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 lĂłgica, 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.
ExercĂcio 44Seguindo o procedimento anterior, calcule a resposta y[n] fornecida pelo sistema X anterior quando ele recebera entrada x[n] dada na tabela 14.
Ricardo Pires - Processamento Digital de Sinais 26
n x1[n] h[n] y1[n] = 5h[n â 1]
-2 0 0 0-1 0 0 00 0 3 01 5 5 152 0 2 253 0 1 104 0 0 55 0 0 0
Tabela 10: Resposta y1[n] do sistema X Ă sequĂȘncia x1[n]
n x2[n] h[n] y2[n] = â2h[n â 2]
-2 0 0 0-1 0 0 00 0 3 01 0 5 02 -2 2 -63 0 1 -104 0 0 -45 0 0 -2
Tabela 11: Resposta y2[n] do sistema X Ă sequĂȘncia x2[n]
O procedimento aqui apresentado para o cĂĄlculo da sequĂȘncia de saĂda de um sistema LIT pode ser gener-alizado 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 operação que calcula y[n] a partir de x[n] e de h[n], dada pela equação 23, é chamada de convolução
de x[n] com h[n]. Portanto, pode-se dizer que um sistema LIT realiza uma convolução de sua entrada com suaresposta impulsiva. O sĂmbolo usado para a operação convolução Ă© o asterisco.
A convolução é uma operação comutativa, ou seja,
x[n] â h[n] = h[n] â x[n] (24)
Assim, se, para um sistema LIT, forem trocados, entre si, os papĂ©is da entrada e da resposta impulsiva, suasequĂȘncia de saĂda nĂŁo se alterarĂĄ. Isto pode ser verificado, usando-se a mudança de variĂĄveis m = n â k naequação 23:
Ricardo Pires - Processamento Digital de Sinais 27
n x3[n] h[n] y3[n] = 10h[n â 3]
-2 0 0 0-1 0 0 00 0 3 01 0 5 02 0 2 03 10 1 304 0 0 505 0 0 206 0 0 10
Tabela 12: Resposta y3[n] do sistema X Ă sequĂȘncia x3[n]
n y0[n] y1[n] y2[n] y3[n] y[n]
-1 0 0 0 0 00 12 0 0 0 121 20 15 0 0 352 8 25 -6 0 273 4 10 -10 30 344 0 5 -4 50 515 0 0 -2 20 186 0 0 0 10 107 0 0 0 0 0
Tabela 13: Resposta y[n] do sistema X composta pelas respostas individuais anteriores
y[n] = x[n] â h[n]
â y[n] =
ââ
k=ââ
x[k]h[n â k]
â y[n] =
ââ
m=ââ
x[n â m]h[m]
â y[n] =
ââ
m=ââ
h[m]x[n â m]
â y[n] = h[n] â x[n] (25)
3.6.1 Estabilidade de Sistemas LIT
A estabilidade de sistemas foi definida na seção 3.5. No projeto de um sistema de processamento digital desinais, Ă© importante que se garanta que o sistema obtido seja estĂĄvel, porque um sistema instĂĄvel pode ter seusvalores de saĂda crescendo sem limites, mesmo com os valores da sequĂȘncia de entrada mantidos numa faixalimitada. Como um sistema de processamento digital de sinais representa cada valor manipulado usando umnĂșmero finito de bits, um sistema instĂĄvel, com o tempo, poderia começar a tentar apresentar, Ă saĂda, valoresque estivessem fora de sua faixa de valores representĂĄveis. A partir deste momento, ele passaria a cometer erros,fornecendo valores errados Ă saĂda e, possivelmente, usando estes valores errados nos seus prĂłximos cĂĄlculos (nocaso de ele usar valores de saĂda anteriores para calcular a saĂda atual).
Para se encontrar a condição necessĂĄria para que um sistema LIT seja estĂĄvel, parte-se da equação 25,aplicando-a ao cĂĄlculo do mĂłdulo de cada amostra de saĂda:
Ricardo Pires - Processamento Digital de Sinais 28
n x[n]
-2 0-1 00 31 -12 203 54 35 0
Tabela 14: SequĂȘncia de entrada para o exercĂcio 44
No Octave, a função conv calcula a convolução de duas sequĂȘncias. Para que ela seja realizadasobre as duas sequĂȘncias do exemplo mostrado nesta seção, deve-se seguir o procedimento:
octave > h = [3 5 2 1]octave > x = [4 5 â 2 10]octave > y = conv(h, x)
Aqui, foi dada, pelo usuĂĄrio, a resposta impulsiva, h[n], e a entrada, x[n]. O Octave, entĂŁo,calculou a convolução daquelas duas sequĂȘncias. Deve-se lembrar que os Ăndices usados peloOctave começam em 1, enquanto que, no exemplo desta seção, começavam em 0. PorĂ©m, asequĂȘncia de valores da saĂda fica correta, embora deslocada, no tempo, em relação Ă destetexto.
|y[n]| =
âŁ
âŁ
âŁ
âŁ
âŁ
ââ
m=ââ
h[m]x[n â m]
âŁ
âŁ
âŁ
âŁ
âŁ
â€ââ
m=ââ
|h[m]||x[n â m]| (26)
Na equação 26, se a sequĂȘncia x[n] tiver valores limitados, cujos mĂłdulos nĂŁo 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)
ExercĂcio 45Usando-se a condição 28, verifique se o sistema que implementa a equação y[n] = x[n â 2] Ă© estĂĄvel.
ExercĂcio 46
Usando-se a condição 28, verifique se o sistema que implementa a equação y[n] = 14{x[n] + x[nâ 1] + x[nâ 2] +
x[n â 3]} Ă© estĂĄvel.
Ricardo Pires - Processamento Digital de Sinais 29
ExercĂcio 47Usando-se a condição 28, verifique se o sistema LIT cuja resposta impulsiva Ă© dada na tabela 6 Ă© estĂĄvel. Casopositivo, se a sequĂȘncia Ă sua entrada tiver valores limitados a 3, qual serĂĄ o mĂłdulo do maior valor possĂvel Ă sua saĂda?
ExercĂcio 48Qual Ă© a resposta impulsiva do sistema dado pela equação y[n] = x[n] + y[nâ 1]? Ele Ă© estĂĄvel? Caso positivo,se a sequĂȘncia Ă sua entrada tiver valores limitados a 3, qual serĂĄ o mĂłdulo do maior valor possĂvel Ă sua saĂda?(Considere que y[n] = 0 para n < 0.)
ExercĂcio 49
Qual Ă© a resposta impulsiva do sistema dado pela equação y[n] = x[n]+ 12y[nâ1]? Ele Ă© estĂĄvel? Caso positivo,
se a sequĂȘncia Ă sua entrada tiver valores limitados a 3, qual serĂĄ o mĂłdulo do maior valor possĂvel Ă sua saĂda?(Considere que y[n] = 0 para n < 0.)
3.6.2 Causalidade de Sistemas LIT
Um sistema LIT é causal se sua resposta impulsiva começar no instante zero ou após o instante zero. Se aresposta impulsiva começar antes do instante zero, o sistema não é causal.
Se, num projeto, for obtido um sistema S1 nĂŁo causal, se sua resposta impulsiva h1[n] começar num certoinstante ni, com ââ < ni < 0, serĂĄ possĂvel obter-se um novo sistema S2, com comportamento semelhante aode S1, porĂ©m causal, fazendo-se com que a resposta impulsiva h2[n] seja uma versĂŁo atrasada de h1[n], de talforma que h2[n] comece no instante zero ou depois de zero.
ExercĂcio 50Se um sistema tiver em sua resposta impulsiva, como Ășnicas amostras nĂŁo nulas, h[â2] = 3, h[0] = 10 eh[1] = â2, como poderia ser a resposta impulsiva de um sistema causal semelhante a ele?
A utilidade desta técnica consiste em se obter um sistema realizåvel em tempo real (causal) a partir de umsistema não realizåvel em tempo real (não causal). O efeito negativo da aplicação desta técnica é o sistemaresultante ter, em seu funcionamento, um atraso em relação ao sistema original.
Esta tĂ©cnica sĂł pode ser aplicada se a resposta impulsiva do sistema nĂŁo causal começar em um ni 6= ââ.Se esta resposta impulsiva começar em ââ, nĂŁo serĂĄ possĂvel a obtenção de um sistema causal semelhanteapenas por atraso da resposta impulsiva.
3.7 EquaçÔes de Diferenças Lineares a Coeficientes Constantes
Uma tal equação é da forma:
Nâ
k=0
aky[n â k] =Mâ
k=0
bkx[n â k] (29)
com os ak e bk constantes. Assim, uma equação desta forma representa um cĂĄlculo envolvendo amostras deentrada e de saĂda de vĂĄrios instantes, cada uma delas multiplicada por uma constante.
Um exemplo de equação de diferenças linear a coeficientes constantes é:
Ricardo Pires - Processamento Digital de Sinais 30
3y[n] + 5y[n â 1] = 4x[n] â 10x[n â 2] + x[n â 5] (30)
na qual, no membro da esquerda, estĂŁo amostras da saĂda, de dois instantes, cada uma multiplicada por umcoeficiente constante e, no membro da direita, estĂŁo trĂȘs amostras de entrada, de instantes diferentes, cada umamultiplicada por um coeficiente.
A maioria dos sistemas de processamento digital de sinais sĂŁo projetados para implementar equaçÔes destetipo, porque, se y[n] = 0 para todos os instantes anteriores Ă aplicação da primeira amostra x[n] 6= 0, estasequaçÔes correspondem a sistemas lineares e invariantes no tempo, sendo fĂĄceis de se tratar matematicamentee de se realizar em hardware ou em software. Sua realização em hardware exige apenas elementos de memĂłria(para guardar amostras passadas de entrada e de saĂda), multiplicadores e somadores. Em software, bastaque estejam disponĂveis variĂĄveis em nĂșmero suficiente para a memorização das amostras passadas e estejamdisponĂveis operaçÔes de multiplicação e de adição.
Na prĂĄtica, Ă© comum que estas equaçÔes sejam escritas isolando-se y[n] no membro da esquerda, para quefique explĂcita a forma de se calcular cada amostra de saĂda a partir de amostras de saĂda anteriores e dasamostras de entrada. Assim, a equação 30 fica:
y[n] = â5
3y[n â 1] +
4
3x[n] â 10
3x[n â 2] +
1
3x[n â 5] (31)
ExercĂcio 51Se um sistema implementar a equação
y[n] =1
2y[n â 1] + x[n] (32)
qual serĂĄ sua sequĂȘncia de saĂda, para 0 †n †8, se y[n] = 0 para n < 0 e se as Ășnicas amostras nĂŁo nulas dex[n] forem x[0] = 200 e x[1] = 100?
Um sistema que, para calcular cada amostra de saĂda, sĂł utilize amostras de entrada (atual e anteriores)tem resposta impulsiva com duração finita, ou seja, a partir de um certo instante, todas as amostras de h[n]sĂŁo nulas. Este tipo de sistema Ă© chamado sistema FIR, da sigla em inglĂȘs para resposta impulsiva com
duração finita, finite impulse response.Um sistema que tenha resposta impulsiva com duração infinita, ou seja, resposta impulsiva que nunca
se estabiliza em zero, Ă© chamado sistema IIR, de infinite impulse response. Para que um sistema seja IIR, eledeve calcular cada amostra de saĂda usando alguma amostra de saĂda anterior.
3.8 Representação no DomĂnio da FrequĂȘncia
Se um sistema LIT receber, Ă sua entrada, uma sequĂȘncia senoidal, ele fornecerĂĄ, Ă saĂda, uma sequĂȘncia tambĂ©msenoidal, com a mesma frequĂȘncia que a da entrada, mas podendo ter outra amplitude e outra fase. Assim, daentrada para a saĂda, neste caso, o sistema mantĂ©m a forma e a frequĂȘncia do sinal.
Para se verificar isto, deve-se lembrar que uma sequĂȘncia senoidal, A cos(Ïn), pode ser escrita como A2 (e+jÏn+
eâjÏn). EntĂŁo, para se calcular a saĂda fornecida pelo sistema LIT quando sua entrada for uma senoide, usando-se a linearidade, podem-se calcular suas saĂdas para e+jÏn, para eâjÏn, somarem-se estes resultados e, finalmente,multiplicar-se esta soma por A
2 .Partindo-se da equação 25 da convolução e usando-se, como entrada, x[n] = e+jÏn, tem-se:
Ricardo Pires - Processamento Digital de Sinais 31
y[n] =ââ
m=ââ
h[m]x[n â m]
â y[n] =
ââ
m=ââ
h[m]e+jÏ(nâm)
â y[n] =
ââ
m=ââ
h[m]e+jÏneâjÏm
â y[n] = e+jÏn
(
ââ
m=ââ
h[m]eâjÏm
)
(33)
Assim, vĂȘ-se que a saĂda y[n] tem a mesma forma e+jÏn da entrada, estando esta multiplicada pelo fatorentre parĂȘnteses, o qual Ă© um nĂșmero complexo. O mĂłdulo deste nĂșmero complexo determina a alteração naamplitude da senoide da entrada para a saĂda. O Ăąngulo deste nĂșmero complexo determina a defasagem entreas senoides de entrada e de saĂda. Desta forma, o valor entre parĂȘnteses Ă© a chamada resposta em frequĂȘncia
do sistema LIT, simbolizada por H(ejÏ):
H(ejÏ) =ââ
m=ââ
h[m]eâjÏm (34)
Com isto, uma forma de se caracterizar um sistema LIT Ă© por meio de sua resposta em frequĂȘncia , a qualespecifica como o sistema reage a cada possĂvel senoide aplicada Ă sua entrada, em termos de modificação, daentrada para a saĂda, da amplitude e da fase desta senoide.
Nos parĂĄgrafos anteriores, jĂĄ estĂĄ calculada y[n] para entrada e+jÏn. Se a entrada for eâjÏn (outra compo-nente do cosseno, A cos(Ïn) = A
2 (e+jÏn + eâjÏn)), seguindo-se procedimento semelhante ao anterior, obtĂ©m-se
y[n] =
ââ
m=ââ
h[m]x[n â m]
â y[n] =
ââ
m=ââ
h[m]eâjÏ(nâm)
â y[n] =ââ
m=ââ
h[m]eâjÏne+jÏm
â y[n] = eâjÏn
(
ââ
m=ââ
h[m]e+jÏm
)
(35)
Assim, por linearidade, para se obter a resposta de um sistema LIT a uma senoide do tipo A cos(Ïn) =A2 (e+jÏn + eâjÏn), soma-se sua resposta para e+jÏn, dada em (33), com sua resposta a eâjÏn, dada em (35) emultiplica-se, finalmente, esta soma por A
2 . Isto resulta:
y[n] =A
2
{
e+jÏn
(
ââ
m=ââ
h[m]eâjÏm
)
+ eâjÏn
(
ââ
m=ââ
h[m]e+jÏm
)}
(36)
JĂĄ foi visto que a primeira somatĂłria de (36) Ă©, usualmente, escrita como H(ejÏ) (resposta em frequĂȘncia).Como H(ejÏ) Ă© um nĂșmero complexo, pode ser escrito como:
H(ejÏ) = |H(ejÏ)|â H(ejÏ) (37)
Para qualquer sequĂȘncia h[n] de nĂșmeros reais, a segunda somatĂłria de (36) tem o mesmo mĂłdulo daprimeira somatĂłria, mas tem fase oposta. Assim, a segunda somatĂłria Ă© o complexo conjugado da primeira.
Ricardo Pires - Processamento Digital de Sinais 32
EntĂŁo, indicando-se a fase da primeira somatĂłria como ejÏ, a fase da segunda somatĂłria serĂĄ eâjÏ. Usando-seestes fatos, a equação 36 pode ser reescrita como:
y[n] =A
2{e+jÏn|H(ejÏ)|ejÏ + eâjÏn|H(ejÏ)|eâjÏ} (38)
Desta equação, pode-se verificar que, realmente, quando a entrada de um sistema LIT for senoidal, sua saĂdatambĂ©m o serĂĄ, com a mesma frequĂȘncia, mas podendo ter outra amplitude e outra fase:
y[n] =A
2{e+jÏn|H(ejÏ)|ejÏ + eâjÏn|H(ejÏ)|eâjÏ}
â y[n] = |H(ejÏ)|A2{e+jÏnejÏ + eâjÏneâjÏ}
â y[n] = |H(ejÏ)|A2{e+j(Ïn+Ï) + eâj(Ïn+Ï)}
â y[n] = |H(ejÏ)|A cos(Ïn + Ï) (39)
Para que faça sentido o uso da informação sobre a resposta em frequĂȘncia de um sistema LIT, deve-se terinformação detalhada sobre como Ă© a sequĂȘncia de entrada do sistema em termos de frequĂȘncias, ou seja, deve-se supor que a sequĂȘncia de entrada seja formada por uma sobreposição de senoides, com vĂĄrias frequĂȘncias,amplitudes e fases, mesmo que esta sequĂȘncia de entrada nĂŁo tenha sido formada fisicamente desta maneira.
Como exemplo de aplicação, um filtro passa-baixas Ă© um sistema que tem uma resposta em frequĂȘncia comatenuação das senoides de frequĂȘncias altas em relação Ă s senoides de frequĂȘncias baixas. Ele permite quesenoides de baixas frequĂȘncias âpassemâ de sua entrada para sua saĂda mais facilmente do que senoides defrequĂȘncias altas.
ExercĂcio 52Calcule e interprete a resposta em frequĂȘncia de um sistema atrasador que implemente y[n] = x[n â 2].
ExercĂcio 53Calcule e interprete a resposta em frequĂȘncia de um sistema de mĂ©dia mĂłvel que implemente
y[n] =1
2(x[n] + x[n â 1])
Simule seu funcionamento com o Octave.
ExercĂcio 54Calcule e interprete a resposta em frequĂȘncia de um sistema de mĂ©dia mĂłvel que implemente
y[n] =1
4(x[n] + x[n â 1] + x[n â 2] + x[n â 3])
Simule seu funcionamento com o Octave.
ExercĂcio 55Usando a equação 34, verifique que a resposta em frequĂȘncia Ă© periĂłdica em frequĂȘncia, com perĂodo de 2Ï.
Ricardo Pires - Processamento Digital de Sinais 33
Uma sequĂȘncia de comandos que pode ser usada para se ver um grĂĄfico do mĂłdulo e um grĂĄficoda fase de H(ejÏ) do exercĂcio 53 Ă©:
octave1 > h = 1/2 â [1 1]octave2 > [H,w] = freqz(h)octave3 > plot(w, abs(H))octave4 > plot(w, angle(H))
O comando 1 define a resposta impulsiva do sistema. O comando 2 faz com que seja calculadaa resposta em frequĂȘncia deste sistema e que seu resultado seja memorizado em dois vetores:H e w. O vetor w, que tem o papel de Ï, memoriza as frequĂȘncias angulares, em radianos,para as quais a resposta em frequĂȘncia foi calculada. O vetor H memoriza os valores de H(ejÏ)correspondentes Ă s frequĂȘncias de w. O comando 3 faz com que seja apresentado o grĂĄfico domĂłdulo (abs) de H(ejÏ). Finalmente, o comando 4 faz com que seja apresentado o grĂĄfico dafase (angle) de H(ejÏ).
Como a resposta em frequĂȘncia Ă© periĂłdica em frequĂȘncia, com perĂodo de 2Ï, basta que ela seja especificadanum intervalo de frequĂȘncias com largura de 2Ï. A resposta para qualquer frequĂȘncia fora deste intervalo Ă© igualĂ resposta para alguma frequĂȘncia dentro dele. Usualmente, ela Ă© especificada para o intervalo 0 â€ Ï < 2Ï oupara âÏ < Ï â€ Ï. Como exemplo, a resposta em frequĂȘncia de um filtro passa-baixas Ă© mostrada na figura 14.
|Hfpb(ejÏ)|
1
âÏc ÏcâÏ Ï
Figura 14: Resposta em frequĂȘncia de um filtro passa-baixas
3.9 Representação de SequĂȘncias por Transformada de Fourier
Em tempo contĂnuo, a decomposição de um sinal em senoides Ă© feita usando-se a sĂ©rie de Fourier ou a transfor-mada de Fourier, apresentada em livros de Circuitos ElĂ©tricos e de Sistemas de Comunicação, tais como [4]. Deforma semelhante, sequĂȘncias podem ser representadas por uma transformada de Fourier adaptada ao tempodiscreto.
A transformada de Fourier de tempo discreto Ă© definida como:
X(ejÏ) =
ââ
n=ââ
x[n]eâjÏn (40)
em que x[n] Ă© a sequĂȘncia a ser transformada, Ï Ă© uma frequĂȘncia angular e X(ejÏ) Ă© o resultado da transformadapara esta Ï. X(ejÏ) Ă© uma função que informa, para cada Ï, com que intensidade e com que fase uma senoidecom frequĂȘncia Ï estĂĄ presente na sequĂȘncia x[n]. X(ejÏ) Ă© chamada de espectro de x[n].
Para se entender por que a expressĂŁo 46 ârevelaâ quais frequĂȘncias estĂŁo presentes numa certa sequĂȘnciax[n], supĂ”e-se que uma certa sequĂȘncia a ser analisada seja:
x[n] = 3ej Ï
2n + 3eâj Ï
2n + 5ej Ï
3n + 5eâj Ï
3n, 0 †n < 12 (41)
Ricardo Pires - Processamento Digital de Sinais 34
e que x[n] = 0 fora deste intervalo. Nesta expressĂŁo para x[n], podem-se identificar dois cossenos: um comÏ = Ï
2 e o outro com Ï = Ï3 . (Lembre-se de como o cosseno pode ser escrito como combinação de exponenciais
complexas.)SupĂ”e-se, entĂŁo, que alguĂ©m que nĂŁo conheça esta expressĂŁo para x[n], mas que conheça a sua sequĂȘncia de
valores numĂ©ricos (eles podem ter sido medidos) queira descobrir quais sĂŁo as senoides que formam esta x[n].Para se descobrir se a x[n] de (41) tem uma componente do tipo ejÏn com, por exemplo, Ï = Ï
2 , calcula-sea expressĂŁo 46 usando-se aquela x[n] e Ï = Ï
2 , obtendo-se:
X(ej Ï
2 ) =â
â
n=ââx[n]eâj Ï
2n
â X(ej Ï
2 ) =â11
n=0(3ej Ï
2n + 3eâj Ï
2n + 5ej Ï
3n + 5eâj Ï
3n)eâj Ï
2n
â X(ej Ï
2 ) =â11
n=0(3ej Ï
2neâj Ï
2n + 3eâj Ï
2neâj Ï
2n + 5ej Ï
3neâj Ï
2n + 5eâj Ï
3neâj Ï
2n)
â X(ej Ï
2 ) =â11
n=0(3ej Ï
2nâj Ï
2n + 3eâj Ï
2nâj Ï
2n + 5ej Ï
3nâj Ï
2n + 5eâj Ï
3nâj Ï
2n)
â X(ej Ï
2 ) =â11
n=0(3ej0n + 3eâjÏn + 5eâj Ï
6n + 5eâj 5Ï
6n)
â X(ej Ï
2 ) =â11
n=0(3 + 3eâjÏn + 5eâj Ï
6n + 5eâj 5Ï
6n)
â X(ej Ï
2 ) =â11
n=0 3 +â11
n=0 3eâjÏn +â11
n=0 5eâj Ï
6n +
â11n=0 5eâj 5Ï
6n
â X(ej Ï
2 ) = 36 + 3â11
n=0 eâjÏn + 5â11
n=0 eâj Ï
6n + 5
â11n=0 eâj 5Ï
6n
â X(ej Ï
2 ) = 36 + 0 + 0 + 0
â X(ej Ï
2 ) = 36 (42)
ExercĂcio 56Por que, ao final do cĂĄlculo feito em (42), as trĂȘs Ășltimas somatĂłrias resultaram 0?
Em (42), viu-se que, quando se procurou em x[n] uma exponencial complexa que tivesse a frequĂȘncia Ï = Ï2 ,
as somatĂłrias relacionadas a componentes de outras frequĂȘncias resultaram 0, enquanto a somatĂłria relacionadaĂ prĂłpria componente Ï = Ï
2 resultou 36. Este valor 36 estĂĄ relacionado Ă presença de uma componente comÏ = Ï
2 em x[n]. De fato, a sequĂȘncia exponencial com frequĂȘncia Ï = Ï2 estĂĄ presente em x[n] com comprimento
12 (a sequĂȘncia sĂł era nĂŁo nula para 0 †n < 12). O resultado 36 veio de uma somatĂłria de 12 valores iguaisa 3. Assim, neste caso, o coeficiente 3 da exponencial complexa de frequĂȘncia Ï = Ï
2 Ă© revelado como sendo3612 = 3. Portanto, a aplicação da transformada de Fourier Ă x[n] permite que seja revelado o coeficiente de ej Ï
2n
em x[n].Se ej Ï
2n estivesse presente com maior duração dentro de x[n], o resultado obtido para X(ej Ï
2 ) seria propor-cionalmente maior. Por exemplo, se ej Ï
2n estivesse presente em x[n] com duração de 24 instantes (ao invés de
12), X(ej Ï
2 ) resultaria 72 (ao invĂ©s de 36). Mas, o coeficiente de ej Ï
2n continuaria sendo revelado como tendo o
valor 3, jĂĄ que 7224 = 3. Portanto, o resultado da transformada de Fourier para uma dada frequĂȘncia depende nĂŁo
só do coeficiente da exponencial complexa correspondente dentro de x[n], mas depende, também, da duraçãodesta exponencial complexa dentro de x[n].
ExercĂcio 57Calcule 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 presença de uma certa exponencial complexaejÏxn dentro de uma sequĂȘncia Ă© que a multiplicação desta exponencial por eâjÏxn resulta ejÏxneâjÏxn = 1,como visto em (42). E a somatĂłria destes valores 1 cresce ao longo da duração da sequĂȘncia. Por outro lado,para frequĂȘncias diferentes da procurada, o expoente de e nĂŁo se anula. Neste caso, a somatĂłria de valores destaexponencial complexa ao longo da duração da sequĂȘncia oscila, ao invĂ©s de crescer continuamente.
Ricardo Pires - Processamento Digital de Sinais 35
A sequĂȘncia x[n] pode ser recuperada a partir de X(ejÏ) usando-se a transformada inversa de Fourier,definida como:
x[n] =1
2Ï
â« Ï
âÏ
X(ejÏ)ejÏn dÏ (43)
A demonstração de que a equação 43 Ă© a transformação inversa da equação 46 Ă© apresentada em [1].Da equação 43, vĂȘ-se que a resposta impulsiva h[n] de um sistema Ă© a transformada inversa de Fourier da
resposta em frequĂȘncia deste sistema.A equação 43 permite que se calcule a sequĂȘncia de amostras x[n] cuja transformada de Fourier Ă© uma certa
X(ejÏ) conhecida. Isto Ă© usado em processos de compactação de dados. Se uma longa sequĂȘncia de amostrasfor formada por umas poucas componentes senoidais, pode ser vantajoso se armazenar em uma memĂłria digitaluma descrição de X(ejÏ), ao invĂ©s de se memorizarem os prĂłprios valores lidos das amostras, x[n]. NestatĂ©cnica, entĂŁo, primeiro Ă© lida e memorizada a longa sequĂȘncia de amostras x[n]. Em seguida, Ă© calculada atransformada de Fourier de x[n]. Os resultados desta X(ejÏ), entĂŁo, sĂŁo memorizados e as amostras originaisx[n] sĂŁo descartadas. Se for necessĂĄrio recuperar-se x[n], basta que se calcule a transformada inversa de X(ejÏ),usando-se a equação 43.
Uma aplicação popular da transformada de Fourier Ă© a codificação de som no formato MP3 [5]. NestatĂ©cnica, uma sequĂȘncia de amostras de som x[n] a ser compactada Ă© subdividida em subsequĂȘncias x1[n], x2[n]etc., que duram, cada uma, uma fração de segundo. Cada uma destas subsequĂȘncias sofre uma transformadade Fourier, resultando X1(e
jÏ), X2(ejÏ) etc. O resultado da transformada de Fourier de cada trecho indica
o conteĂșdo em frequĂȘncias deste trecho. SĂŁo, entĂŁo, removidas as componentes com frequĂȘncias inaudĂveis decada trecho. E, ainda, em cada trecho, Ă© identificada a senoide com maior energia. As senoides que nĂŁo seriamaudĂveis no mesmo trecho devido Ă presença simultĂąnea desta senoide muito mais forte tambĂ©m sĂŁo removidas.EntĂŁo, para cada trecho, sĂŁo memorizadas, no domĂnio da frequĂȘncia, apenas as senoides remanescentes. Nestamemorização, ainda Ă© usada uma tĂ©cnica genĂ©rica de compactação de arquivos digitais.
O Teorema da Convolução se aplica a sequĂȘncias e a suas transformadas de Fourier, ou seja, se
x[n]Fââ X(ejÏ)
e
h[n]Fââ H(ejÏ)
(em que a notaçãoFââ representa a transformada de Fourier), se uma sequĂȘncia y[n] for o resultado da convolução
destas x[n] e h[n], ou seja,
y[n] =
ââ
k=ââ
x[k]h[n â k] = x[n] â y[n]
entĂŁo
Y (ejÏ) = X(ejÏ)H(ejÏ)
ou seja, convolução no domĂnio do tempo corresponde a multiplicação no domĂnio de frequĂȘncia. Uma demon-stração deste teorema Ă© apresentada em [1].
3.10 Transformada de Fourier Discreta
A transformada de Fourier discreta Ă© uma transformada de Fourier calculada apenas para sequĂȘncias x[n] deduração finita. Ă muito comum que se refiram a ela pela sua sigla em inglĂȘs, DFT. Ela Ă© chamada de âdiscretaâporque apresenta o resultado da transformada de Fourier apenas para um nĂșmero finito de frequĂȘncias e nĂŁopara todos os valores de frequĂȘncia, como acontece com a transformada de Fourier contĂnua. O nĂșmero defrequĂȘncias para as quais a DFT apresenta resultados Ă© igual ao nĂșmero de valores de x[n] usados no cĂĄlculo destatransformada. Por exemplo, se a sequĂȘncia x[n] a ser transformada tiver apenas 10 valores, a DFT fornecerĂĄ uma
Ricardo Pires - Processamento Digital de Sinais 36
sequĂȘncia contendo, tambĂ©m, 10 valores. Estes valores gerados pela DFT sĂŁo amostras igualmente espaçadasem frequĂȘncia do espectro contĂnuo de x[n].
A DFT tem grande utilidade prĂĄtica, por ser, em geral, de cĂĄlculo mais rĂĄpido do que um cĂĄlculo analĂticoda transformada de Fourier contĂnua e, mesmo assim, fornecer amostras exatas do espectro contĂnuo do sinaltransformado. Quanto menos amostras de uma x[n] forem usadas no cĂĄlculo da DFT, maior serĂĄ a rapidez destecĂĄlculo, mas serĂŁo obtidas menos amostras do espectro. Inversamente, se muitas amostras de x[n] forem usadasno cĂĄlculo da DFT, maior serĂĄ o trabalho nos cĂĄlculos, mas se obterĂĄ uma melhor visualização do espectro(mais amostras dele).
A DFT Ă© definida como:
X[k] =Nâ1â
n=0
x[n]eâj 2Ï
Nkn (44)
em que x[n] Ă© a sequĂȘncia de duração finita a ser transformada e X[k] Ă© o resultado da transformação. X[k] Ă©uma sequĂȘncia que contĂ©m amostras uniformemente espaçadas, em frequĂȘncia, do espectro X(ejÏ) de x[n]. Adiferença de frequĂȘncia angular entre duas amostras seguidas de X(ejÏ) contidas em X[k] Ă© de 2Ï
N, em que N Ă©
o nĂșmero de amostras da sequĂȘncia x[n] usadas no cĂĄlculo de X[k]. Assim, por exemplo, se N = 10, a diferençade frequĂȘncia angular entre amostras de X(ejÏ) contidas em X[k] serĂĄ de 2Ï
10 . EntĂŁo, para N = 10, X[0] tem ovalor de X(ejÏ) para Ï = 0 2Ï
10 = 0 rad. X[1] tem o valor de X(ejÏ) para Ï = 1 2Ï10 = 2Ï
10 rad e assim por diante,atĂ© X[9], que tem o valor de X(ejÏ) para Ï = 9 2Ï
10 rad. Para k = 10, o valor obtido para X[k], X[10], seria ode X(ejÏ) para Ï = 10 2Ï
10 = 2Ï rad, o qual equivale ao valor obtido para Ï = 0 rad, X[0], jĂĄ que X(ejÏ) Ă©periĂłdico em frequĂȘncia, com perĂodo de 2Ï. Por isto, sĂł sĂŁo de interesse os valores de X[k] em nĂșmero igualao nĂșmero de amostras de x[n] usadas no cĂĄlculo. Valores de X[k] fora da faixa de interesse sĂŁo sempre iguaisa valores de X[k] normalmente calculados.
A figura 15 Ă© um grĂĄfico do mĂłdulo da transformada de Fourier contĂnua de uma sequĂȘncia, apresentadoem linha contĂnua, sobreposto ao grĂĄfico do mĂłdulo da DFT da mesma sequĂȘncia, apresentado como hastes.A sequĂȘncia utilizada nesta transformação tinha comprimento de oito amostras, tendo as quatro primeirasamostras o valor 1 e as quatro Ășltimas o valor 0. (Esta sequĂȘncia nĂŁo Ă© mostrada na figura.) Como a sequĂȘnciaa ser transformada tinha oito amostras, com a DFT, obtiveram-se oito amostras de seu espectro contĂnuo. VĂȘ-se,na figura 15, que os resultados da DFT coincidem com os do espectro contĂnuo.
A transformada de Fourier discreta inversa Ă© calculada como:
x[n] =1
N
Nâ1â
k=0
X[k]ej 2Ï
Nkn (45)
Aqui, X[k] Ă© um espectro discreto conhecido. x[n] Ă© a sequĂȘncia correspondente a este espectro. N Ă© ocomprimento de x[n] e Ă©, assim, o nĂșmero de valores nĂŁo redundantes de X[k].
Atualmente, a DFT Ă© calculada, para longas sequĂȘncias, em programas de computador e em circuitos inte-grados, usando-se algoritmos rĂĄpidos chamados de FFT (do inglĂȘs âFast Fourier Transformâ ou Transformada
RĂĄpida de Fourier). A FFT usa recursĂŁo e se aproveita do fato de que fatores do tipo ej 2Ï
Nkn sĂŁo periĂłdicos
em k e em n, evitando, com isto, que eles sejam recalculados muitas vezes. Resultados parciais de fatoresdeste tipo jĂĄ calculados sĂŁo reaproveitados ao mĂĄximo. Cita-se o matemĂĄtico Gauss como um dos primeiros adescrever a FFT, em 1805 [1].
A FFT de uma dada sequĂȘncia x Ă© calculada usando-se o comando fft(x). O resultado Ă© umasequĂȘncia com o mesmo comprimento de x, contendo amostras do espectro de x.
Ricardo Pires - Processamento Digital de Sinais 37
-1
0
1
2
3
4
5
-1 0 1 2 3 4 5 6 7
mod
ulo
do e
spec
tro
omega(rad)
Figura 15: MĂłdulo de uma DFT e de uma transformada de Fourier contĂnua da mesma sequĂȘncia
ExercĂcio 58No Octave, gere uma sequĂȘncia de instantes, com o comandooctave> n=[0:11]Em seguida, especifique uma frequĂȘncia Ï = Ï
2 , comoctave> omega=pi/2EntĂŁo, gere uma senoide, com (usando x minĂșsculo)octave> x=cos(omega*n)Calcule e memorize a FFT de x com (usando X maiĂșsculo)octave> X=fft(x)Visualize o mĂłdulo desta FFT comoctave> stem(n,abs(X))Interprete o resultado.
ExercĂcio 59No exercĂcio anterior, o eixo x do grĂĄfico mostrava os instantes n. Modifique a escala do eixo x, para que elapasse a mostrar Ï, com os comandos:octave> eixox=2*pi/12*noctave> stem(eixox,abs(X))Verifique os valores de Ï em que ficaram as raias nĂŁo nulas do espectro.
Ricardo Pires - Processamento Digital de Sinais 38
ExercĂcio 60Repita o procedimento anterior para: Ï = Ï
4 , Ï = Ï8 e Ï = Ï. Interprete os resultados.
ExercĂcio 61Repita o procedimento anterior para sequĂȘncias mais longas, para mais instantes, usando o programa para oOctave:
n=[0:99];omega=input("omega=");x=cos(omega*n);X=fft(x);eixox=2*pi/100*n;stem(eixox,abs(X))
para vĂĄrios valores de Ï. Interprete os resultados.
ExercĂcio 62Verifique o espectro de uma sequĂȘncia x que consista numa soma de duas senoides, com diferentes frequĂȘnciase diferentes amplitudes.
A FFT inversa de um espectro discreto X Ă© calculada usando-se o comando ifft(X). O resultadoĂ© uma sequĂȘncia temporal com o mesmo comprimento de X, a qual Ă© a sequĂȘncia de amostrascujo espectro discreto Ă© X.
4 Transformada Z
A transformada Z é uma generalização da transformada de Fourier. Uma de suas utilidades é ter notação maissimples do que a transformada de Fourier. Outra utilidade é a de facilitar a visualização de propriedades desistemas de tempo discreto.
A transformada de Fourier foi definida na seção 3.9 como:
X(ejÏ) =
ââ
n=ââ
x[n]eâjÏn (46)
Na definição da transformada Z, troca-se a expressĂŁo ejÏ da transformada de Fourier por uma variĂĄvel complexaz, obtendo-se:
X(z) =ââ
n=ââ
x[n]zân (47)
Na definição da transformada Z, z Ă© uma variĂĄvel complexa que pode assumir qualquer valor. Quanto Ă expressĂŁo ejÏ, ela tambĂ©m Ă© um nĂșmero complexo, mas sĂł pode assumir valores cujo mĂłdulo valha 1. Assim,a transformada de Fourier e a transformada Z sĂł coincidem quando o mĂłdulo da variĂĄvel z for restrito a 1.
Ricardo Pires - Processamento Digital de Sinais 39
De forma similar Ă usada com a transformada de Fourier, uma notação usada para se indicar um par formadopor uma sequĂȘncia e sua transformada Z Ă©:
x[n]Zââ X(z) (48)
ExercĂcio 63Qual Ă© a transformada Z da sequĂȘncia dada na tabela 14?
VĂȘ-se que a transformada Z de uma sequĂȘncia apresenta cada valor desta sequĂȘncia multiplicado pela variĂĄvelz elevada ao negativo do instante daquele valor na sequĂȘncia.
ExercĂcio 64Qual Ă© a transformada Z de uma versĂŁo atrasada da sequĂȘncia do exercĂcio anterior (considere atraso unitĂĄrio)?
VĂȘ-se que atrasar uma sequĂȘncia em uma unidade de tempo corresponde a multiplicĂĄ-la por zâ1 no domĂnioz. AtrasĂĄ-la de k unidades de tempo corresponde a multiplicĂĄ-la por zâk. AdiantĂĄ-la corresponde a multiplicĂĄ-lapor z elevada a um expoente positivo, cujo valor Ă© o nĂșmero de unidades de tempo de adiantamento.
ExercĂcio 65Se a transformada Z de uma sequĂȘncia x[n] for chamada de X(z), qual serĂĄ a transformada Z da sequĂȘncia12x[n â 3]?
ExercĂcio 66Se a transformada Z de uma sequĂȘncia x[n] for chamada de X(z), qual serĂĄ a transformada Z da sequĂȘnciax[n] â 1
3x[n â 1] + 12x[n â 3]?
ExercĂcio 67Se a transformada Z de uma sequĂȘncia x[n] for chamada de X(z) e a transformada Z de uma sequĂȘncia y[n] forchamada de Y (z), qual serĂĄ a transformada Z da equação y[n] = x[n] â 1
3x[n â 1] + 12x[n â 3] â 1
10y[n â 2]?
4.1 Transformada Z e EquaçÔes de Diferenças
Conforme visto na seção 3.7, muitos sistemas de tempo discreto são projetados para implementar equaçÔes dediferenças do tipo:
Nâ
k=0
aky[n â k] =Mâ
k=0
bkx[n â k] (49)
A transformada Z da equação 49 é:
Ricardo Pires - Processamento Digital de Sinais 40
âN
k=0 akzâkY (z) =âM
k=0 bkzâkX(z)
â Y (z)(âN
k=0 akzâk) = X(z)(âM
k=0 bkzâk)
â H(z) = Y (z)X(z) =
P
M
k=0bkzâk
P
N
k=0akzâk
(50)
em que H(z) Ă© a função de transferĂȘncia do sistema, no domĂnio z.
ExercĂcio 68Qual Ă© a função de transferĂȘncia no domĂnio z do sistema que implementa
y[n] = x[n] â 1
3x[n â 1] +
1
2x[n â 3] â 1
10y[n â 2] ?
ExercĂcio 69Qual Ă© a função de transferĂȘncia no domĂnio z do sistema que implementa
y[n] = x[n] â 1
3x[n â 1] +
1
2x[n â 3] ?
A H(z) de um sistema que implementa uma equação de diferenças pode ser escrita de forma que seunumerador e seu denominador apareçam como produtos de fatores do tipo (z â k), com k sendo um nĂșmerocomplexo 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 queo numerador de H(z) assuma valor zero. Um polo de H(z) Ă© um valor de z que faz com que a H(z) assumavalor tendendo a infinito. Assim, um polo Ă© um valor de z que faz com que o denominador de H(z) assumavalor zero.
ExercĂcio 70Quais sĂŁo os zeros e os polos da função de transferĂȘncia dada abaixo?
H(z) =(z â 0, 5)(z + 0, 5)
z(z â 0, 8)
Escreva uma equação de diferenças correspondente.
ExercĂcio 71Quais sĂŁo os zeros e os polos da função de transferĂȘncia dada abaixo?
H(z) =1 + 0, 1zâ1 â 0, 12zâ2
1 â 0, 6zâ1 + 0, 25zâ2
Escreva uma equação de diferenças correspondente.
Ricardo Pires - Processamento Digital de Sinais 41
Para se obterem as raĂzes de um polinĂŽmio p(x), por exemplo, p(x) = x2 â 5x + 6, deve-sefornecer este polinĂŽmio montando-se um vetor com seus coeficientes, usando-se:octave > p = [1 â 5 6]e deve-se, em seguida, usar o comando roots:octave > roots(p)
ExercĂcio 72Escreva uma equação de diferenças cuja H(z) tenha um Ășnico zero em 0,8 e tenha dois polos, em ±0, 7i.
ExercĂcio 73Escreva uma equação de diferenças cuja H(z) tenha zeros em ±0, 8 e tenha polos em 0, 5 ± 0, 7i.
Para se obter um polinĂŽmio p(x) que possua certas raĂzes, por exemplo, 2 e 3, deve-se montarcom 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 sequĂȘncia de coeficientes de um polinĂŽmio que possua as raĂzes fornecidas. Noresultado, o coeficiente dado mais Ă esquerda Ă© o do termo de maior expoente. Neste exemplo,o resultado Ă©:1 â 5 6o que significa que um polinĂŽmio cujas raĂzes sĂŁo 2 e 3 Ă©x2 â 5x + 6
4.2 CĂĄlculo de Resposta em FrequĂȘncia 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 nĂșmero complexo com mĂłdulo igual a1 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.
ExercĂcio 74Dada a função de transferĂȘncia:
H(z) =(z â 0, 5)(z + 0, 5)
z(z â 0, 8)
Qual Ă© seu mĂłdulo e qual Ă© sua fase para Ï = 0? E para Ï = Ï2 ? E para Ï = Ï?
Pelo que se vĂȘ no exercĂcio anterior, para se calcular aquela H(z) em vĂĄrias frequĂȘncias, calcula-se
H(ejÏ) =(ejÏ â 0, 5)(ejÏ + 0, 5)
ejÏ(ejÏ â 0, 8)
naquelas frequĂȘncias.
Ricardo Pires - Processamento Digital de Sinais 42
Esta H(z) tem dois fatores correspondentes a seus zeros e dois fatores correspondentes a seus polos. Umdos fatores correspondentes a um zero Ă© (z â 0, 5). Ele corresponde a um zero em +0, 5. Para um dado valorde z, o valor deste fator, obviamente, Ă© a diferença entre o valor de z e o valor 0, 5, ou seja, Ă© a diferençaentre 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 Ï = Ï
2 , z = ej Ï
2 = j, (z â 0, 5) = j â 0, 5. Neste Ășltimo caso, o mĂłdulo do
fator Ă© |j â 0, 5| =â
0, 52 + 12 =â
1, 25. Este mĂłdulo Ă© igual ao comprimento da linha pontilhada da figura 16,na qual kz representa o valor do zero deste fator. VĂȘ-se que o comprimento desta linha Ă© igual ao da linhatracejada, a qual liga z = j ao zero de valor 0, 5. Em geral, para uma dada frequĂȘncia Ï, o mĂłdulo de um fatordo tipo (z â kz), em que kz Ă© um zero do sistema, Ă© igual Ă distĂąncia entre z = ejÏ e kz. A fase Ξz deste fatortambĂ©m estĂĄ indicada na figura.
â
âplano complexo
kz
Ï = Ï2 (z = j)j â kz
ΞzΞz
|j â kz|
raio unitĂĄrio
Figura 16: Visualização do efeito de um zero kz em H(z), para Ï = Ï2
ExercĂcio 75Usando a representação de um zero do sistema no plano complexo, calcule, usando desenhos, o mĂłdulo e a fasedo fator (z â 0, 5) para Ï = 0, Ï = Ï
2 e Ï = Ï.
ExercĂcio 76Usando a representação de um zero do sistema no plano complexo, calcule, usando desenhos, o mĂłdulo e a fasedo fator (z + 0, 5) para Ï = 0, Ï = Ï
2 e Ï = Ï.
VĂȘ-se que, quanto maior for a distĂąncia do ponto ejÏ a um zero do sistema, maior serĂĄ a contribuição destezero para o ganho. Assim, no projeto de um sistema, devem-se colocar zeros prĂłximos Ă circunferĂȘncia unitĂĄria
Ricardo Pires - Processamento Digital de Sinais 43
(ou sobre ela) nas frequĂȘncias para as quais se desejar baixo valor de ganho e vice-versa.O efeito de um polo sobre o mĂłdulo 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 prĂłximo a umpolo, o ganho correspondente serĂĄ grande e vice-versa. TambĂ©m por estar no denominador, o polo nĂŁo deverĂĄestar sobre a circunferĂȘncia unitĂĄria, pois isto levaria a uma divisĂŁo por zero no cĂĄlculo do ganho (o ganhotenderia a infinito).
O Ăąngulo correspondente a um polo, obtido na forma da figura 16, contribuirĂĄ para H(z) com o oposto deseu sinal, jĂĄ que ele Ă© um Ăąngulo que estĂĄ no denominador de um nĂșmero complexo.
ExercĂcio 77Usando a representação de um polo do sistema no plano complexo, calcule, usando desenhos, o mĂłdulo e a fasedo fator 1
(z+0,8) para Ï = 0, Ï = Ï2 e Ï = Ï.
ExercĂcio 78Usando a representação de um polo do sistema no plano complexo, calcule, usando desenhos, o mĂłdulo e a fasedo fator 1
zpara Ï = 0, Ï = Ï
2 e Ï = Ï.
ExercĂcio 79Um certo sistema tem, como zeros, z1 = 1, z2 = 0, 8j e z3 = â0, 8j. Seus polos sĂŁo: p1 = â0, 2, p2 = â0, 2+0, 3je p2 = â0, 2 â 0, 3j. Esboce seu diagrama de zeros e polos no plano complexo. Esboce o grĂĄfico do mĂłdulo deseu ganho em frequĂȘncia. Este sistema tem caracterĂstica passa-baixas? Passa-altas?
A seguinte sequĂȘncia de comandos permite a visualização do mĂłdulo do ganho do sistema doexercĂcio 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] = freqz(numerador, denominador);octave > plot(w, abs(H))
Assim, para se obter um sistema com uma determinada caracterĂstica de resposta em frequĂȘncia, devem-secolocar zeros prĂłximos Ă s frequĂȘncias para as quais se deseja ganho pequeno e polos prĂłximos Ă s frequĂȘnciaspara as quais se deseja ganho grande. Escolhidos os zeros e os polos, podem-se construir os polinĂŽmios donumerador e do denominador de H(z). Com a H(z) preparada desta forma, pode-se escrever a equação dediferenças correspondente. E, finalmente, tendo-se a equação de diferenças, pode-se implementar o sistema emhardware ou em software.
Ricardo Pires - Processamento Digital de Sinais 44
ReferĂȘncias
[1] OPPENHEIM,A.V., SCHAFER,R.W.Discrete-Time Signal ProcessingPrentice-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 SystemsMcGraw-Hill, 2001
[5] http://www.mp3-converter.com/mp3codec, acessado em 17/05/2009
Recommended