aula pds
DESCRIPTION
PDSTRANSCRIPT
-
Processamento Digital de Sinais
texto de suporte para aulas
Instituto Federal de Educao, Cincia e Tecnologia - SP
Ricardo Pires - rea de Eletrnica
16 de Agosto de 2013
Contedo
1 Introduo 1
2 Sinais de Tempo Discreto 3
2.1 Sequncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Operaes Bsicas sobre Sequncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Sequncias Bsicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.1 Impulso de Tempo Discreto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.2 Degrau Unitrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.3 Sequncia Exponencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.4 Sequncia Senoidal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.5 Sequncia Exponencial Complexa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Amostragem de Sinais de Tempo Contnuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 Sistemas de Tempo Discreto 19
3.1 Sistemas com Memria x Sistemas sem Memria . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2 Sistemas Lineares x Sistemas No Lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3 Sistemas Variantes no Tempo x Sistemas Invariantes no Tempo . . . . . . . . . . . . . . . . . . . 22
3.4 Sistemas Causais x Sistemas No Causais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.5 Estabilidade de Sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.6 Sistemas Lineares e Invariantes no Tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.6.1 Estabilidade de Sistemas LIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.6.2 Causalidade de Sistemas LIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.7 Equaes de Diferenas Lineares a Coecientes Constantes . . . . . . . . . . . . . . . . . . . . . . 29
3.8 Representao no Domnio da Frequncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.9 Representao de Sequncias por Transformada de Fourier . . . . . . . . . . . . . . . . . . . . . . 33
3.10 Transformada de Fourier Discreta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4 Transformada Z 38
4.1 Transformada Z e Equaes de Diferenas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2 Clculo de Resposta em Frequncia Usando a Transformada Z . . . . . . . . . . . . . . . . . . . . 41
1 Introduo
Este um texto de suporte para aulas de Processamento Digital de Sinais. Como tal, ele no dispensa o
estudo em livros especializados, dentre os quais se destaca [1].
Supe-se que, durante as aulas, problemas sero resolvidos com auxlio do software Octave [2].
1
-
Ricardo Pires - Processamento Digital de Sinais 2
Um sinal uma grandeza (por exemplo, tenso eltrica) variando no tempo e que carrega uma informao.
Portanto, a tenso eltrica da tomada no um sinal, enquanto uma onda transmitida por uma emissora de
rdio um sinal. A informao carregada pode ser voz, msica, o resultado de uma medio (de distncia, de
velocidade...), imagem etc.
O processamento de sinais consiste na representao, na transformao e na manipulao dos sinais e da
informao que eles contm. Exemplos: retirada de rudo de som, compactao de som ou de imagem. Uma
classe importante de aplicaes do Processamento Digital de Sinais a da interpretao de sinais, a qual
consiste na extrao de informaes do sinal sendo processado. Exemplos: num sinal de voz, identicao da
pessoa que falou ou do que ela falou. Em sinais de origem geolgica: identicao de minrios presentes no local
de origem dos sinais.
Antes dos anos 1960, o processamento de sinais era feito, quase sempre, em tempo contnuo, por meio de
circuitos eletrnicos analgicos. O avano da tecnologia digital, principalmente no aumento da velocidade dos
circuitos digitais e em sua miniaturizao, fez com que o processamento de sinais tivesse gradualmente suas
implementaes migrando da forma analgica para a digital.
Normalmente, sinais manipulados na forma digital tm origem analgica. O circuito digital que faz esta
manipulao requer uma sequncia de nmeros codicados em binrio obtida a partir do sinal analgico original.
Esta sequncia obtida por amostragem peridica do sinal analgico. O resultado da amostragem uma
sequncia de valores que buscam registrar valores lidos do sinal analgico em determinados instantes, havendo
um certo intervalo entre eles. Neste processo, a princpio, perde-se a informao sobre os valores que estavam
no intervalo entre as amostras colhidas.
Como o processamento digital realizado apenas sobre amostras colhidas em determinados instantes (no
continuamente), diz-se que este processamento de tempo discreto, por oposio ao processamento analgico,
o qual de tempo contnuo. Mas, o processamento em tempo discreto no necessariamente digital. H
processamento em tempo discreto usando-se outras tecnologias, como a de capacitores chaveados.
Dentre as razes para a gradual substituio de implementaes analgicas por implementaes digitais para
o processamento de sinais, esto a maior exibilidade das implementaes digitais e sua maior preciso.
A maior exibilidade da implementao digital reside no fato de que o processamento de um sinal, normal-
mente, consiste na realizao de clculos usando-se os valores que ele sucessivamente assume. Uma implemen-
tao analgica, usando resistores, indutores, capacitores e amplicadores, realiza clculos sobre o sinal na
forma de equaes diferenciais. A forma da equao diferencial implementada depende dos parmetros dos com-
ponentes do circuito (resistncias, indutncias, capacitncias, ganhos), do nmero de componentes de cada tipo
e da forma pela qual eles so interconectados. Assim, s realizvel analogicamente um clculo que possa ser
expresso como uma equao diferencial e para o qual se conhea uma congurao de circuito correspondente.
Por outro lado, a implementao digital consiste na realizao de clculos usando-se, como entrada, a sequncia
de amostras coletadas. Cada amostra est codicada como nmero em binrio. Os clculos possveis, neste
caso, so quaisquer clculos realizveis por unidades aritmticas digitais: adies, subtraes, multiplicaes,
divises, operaes no-lineares e quaisquer combinaes destas, em quaisquer ordens. Equaes diferenciais
tambm podem ser aproximadas numericamente por clculos na forma digital. Desta forma, uma implemen-
tao digital pode substituir uma implementao analgica, desde que a velocidade exigida para os clculos
esteja dentro do limite de funcionamento da tecnologia digital disponvel. Por outro lado, muitas sequncias de
clculos possveis na forma digital no tm equivalentes na forma analgica.
Quanto preciso, uma implementao analgica sofre os efeitos de desvios nos parmetros de seus com-
ponentes (resistncias, capacitncias...) em relao aos valores desejados. Uma implementao digital tem a
preciso de seus clculos dependente, sobretudo, do nmero de bits com que representada cada amostra e cada
resultado intermedirio de clculo. Quanto maior for este nmero de bits, maior a preciso (maior resoluo). E
no h limite terico para este nmero de bits. S h limite de custo da implementao, de seu tamanho fsico
e da energia consumida em seu funcionamento. Portanto, quanto preciso, a implementao digital tambm
vantajosa. Basta que se use um nmero suciente de bits para se representar cada nmero usado nos clculos
com a preciso desejada.
As principais formas de implementao de sistemas de processamento digital de sinais so:
computador de uso genrico; circuito integrado (chip) programvel genrico (microprocessador ou microcontrolador);
-
Ricardo Pires - Processamento Digital de Sinais 3
chip programvel especial para processamento digital de sinais [3]; chip congurvel do tipo FPGA; circuito integrado de aplicao especca.
2 Sinais de Tempo Discreto
Conforme visto na introduo, um sinal uma funo que carrega informao. Na maioria dos casos, uma
grandeza fsica cujo valor funo do tempo. Um sinal de tempo contnuo denido para um intervalo contnuo
de valores de tempo. Usualmente, chamado de sinal analgico. Um sinal de tempo discreto s denido para
determinados instantes, com intervalos entre eles. Assim, eles consistem em sequncias de nmeros.
A mesma idia de continuidade se aplica aos valores assumidos pelo sinal. Um sinal pode assumir valores
contnuos, como ocorre nos sistemas analgicos, ou pode assumir apenas determinados valores, como ocorre
em sistemas digitais. Neste caso, a limitao de valores se deve ao fato de que, representando-se nmeros em
binrio com nmero limitado de bits, somente um nmero nito de valores representvel.
2.1 Sequncias
Sinais de tempo discreto so sequncias de nmeros. Uma certa sequncia x tem, convencionalmente, cadaum de seus valores particulares denotado como x[n], em que o n entre colchetes indica a qual valor particulardentro da sequncia se est fazendo referncia. Por exemplo, x[15] refere-se ao elemento nmero 15 da sequnciax. Como n o nmero de um elemento na sequncia, ou seja, n serve para indicar a posio do elemento emrelao aos demais (se o quinto, o dcimo etc.), n sempre inteiro.
Normalmente, uma sequncia originada da amostragem peridica de um sinal analgico xa(t). Neste caso,
x[n] = xa(nTa) (1)
em que Ta, intervalo entre a coleta de duas amostras seguidas, chamado perodo de amostragem. Seu inverso,fa, a frequncia de amostragem.
Embora x[n] se rera a um elemento particular de uma sequncia, a notao x[n] tambm usada para sereferir sequncia completa, quando no houver ambiguidade.
O grco de uma funo de domnio contnuo y = f(x) deve usar uma linha contnua para expressarvisualmente a dependncia entre x e y, conforme a gura 1.
Por outro lado, o grco de uma funo de domnio discreto y = f [n] deve deixar claro que a funo s denida para certos valores (aqueles que pertencem ao seu domnio) e indenida entre estes valores, conforme
a gura 2.
No software Octave, uma sequncia denida como:
octave > x = [11 22 33 44]
em que, aqui, deniu-se uma sequncia x que possui 4 amostras. Deve-se sempre lembrarque, no Octave, a primeira amostra de uma sequncia est sempre na posio 1. Assim, neste
exemplo, x[1] = 11, x[2] = 22 etc.
2.2 Operaes Bsicas sobre Sequncias
A soma de duas sequncias a[n] e b[n], por denio, gera uma nova sequncia s[n] tal que, para qualquern = i, s[i] = a[i] + b[i]. A tabela 1 d exemplos de valores de uma sequncia a[n], uma sequncia b[n] e acorrespondente sequncia s[n] = a[n] + b[n].
-
Ricardo Pires - Processamento Digital de Sinais 4
Figura 1: Grco de uma funo de domnio contnuo
n a[n] b[n] s[n] = a[n] + b[n]0 2 1 3
1 -1 6 5
2 10 -3 7
3 -3 -9 -12
4 2,5 7 9,5
Tabela 1: Soma de sequncias
De maneira similar, o produto de duas sequncias a[n] e b[n], por denio, gera uma nova sequncia s[n]tal que, para qualquer n = i, s[i] = a[i] b[i]. A tabela 2 d exemplos de valores de uma sequncia a[n], umasequncia b[n] e a correspondente sequncia s[n] = a[n] b[n].
O produto de uma sequncia a[n] por uma constante gera uma sequncia s[n] tal que, para qualquer n = i,s[i] = a[i]. A tabela 3 d exemplos de valores de uma sequncia a[n] e a correspondente sequncia s[n] = a[n],para = 3.
Exerccio 1
Para as sequncias a[n] e b[n] da tabela 1, qual seria a sequncia resultante de y[n] = 2a[n] + 3b[n]?
Uma sequncia y[n] chamada de verso atrasada de uma sequncia x[n] se a relao entre os valores delasfor do tipo y[n] = x[n n0], em que n0 um inteiro, correspondente ao atraso de y[n] em relao a x[n]. Atabela 4 d exemplos de valores de uma sequncia x[n] e a correspondente sequncia y[n] = x[n n0], para
-
Ricardo Pires - Processamento Digital de Sinais 5
Figura 2: Grco de uma funo de domnio discreto
n0 = 1. Nela, o smbolo ? indica que o valor de y[n] naquele instante no pode ser determinado a partir dosdemais valores da tabela.
O interesse nestas operaes bsicas se justica pelo fato de que a maioria dos algoritmos de processamento
digital de sinais consistem na realizao de sequncias destas operaes sobre sequncias de valores de entrada
(medidos ou recebidos).
2.3 Sequncias Bsicas
Na teoria de processamento digital de sinais, so denidas certas sequncias bsicas fundamentais. Elas so:
o impulso de tempo discreto, a sequncia degrau unitrio, a sequncia exponencial e a sequncia senoidal.
2.3.1 Impulso de Tempo Discreto
O impulso de tempo discreto, denotado [n], denido como:
[n] =
{0 para n 6= 01 para n = 0
(2)
e representado na gura 3.
Uma maneira de se ver a funo impulso a de que [...] s resulta 1 quando seu argumento, ou seja, ovalor dado entre colchetes, for 0. Assim, por exemplo, [n 7] s resulta 1 quando n = 7 e [n+2] s resulta 1quando n = 2.
Exerccio 2
Desenhe o grco de [n 10].
-
Ricardo Pires - Processamento Digital de Sinais 6
No Octave, pode-se vericar uma soma de sequncias 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 fracionria de um nmero deve ser digitado
como um ponto, no como vrgula. Deve-se digitar enter ao nal de cada linha. Deve-se
lembrar que, embora o clculo tenha dado o resultado correto (verique no computador), o
software considerou os ndices das sequncias fornecidas comeando em 1.
n a[n] b[n] s[n] = a[n] b[n]0 2 1 2
1 -1 6 -6
2 10 -3 -30
3 -3 -9 27
4 2,5 7 17,5
Tabela 2: Produto de sequncias
Exerccio 3
Desenhe o grco de 7[n 8].
Exerccio 4
Desenhe o grco de 5[n+ 1] 3[n 4].
Exerccio 5
Escreva a sequncia a[n] da tabela 2 como soma de impulsos.
Exerccio 6
Idem para a sequncia b[n] da tabela 2.
Resolvendo-se os exerccios anteriores, v-se que qualquer sequncia pode ser escrita como soma de impul-
sos. Isto til na construo da teoria de Processamento Digital de Sinais. Generalizando-se, portanto, uma
sequncia qualquer x[n] pode ser escrita como:
x[n] =
k=
x[k][n k] (3)
2.3.2 Degrau Unitrio
A sequncia degrau unitrio, denotada u[n], denida como:
-
Ricardo Pires - Processamento Digital de Sinais 7
No Octave, cada sequncia fornecida como nos exemplos anteriores vista pelo software como
uma matriz que possui uma linha e vrias colunas. Se se tentar realizar um produto destas
sequncias usando-se o operador de produto *, o software indicar um erro, porque, para se
realizar um produto de duas matrizes, o nmero de colunas da primeira deve ser igual ao nmero
de linhas da segunda e cada uma de nossas sequncias tem apenas uma linha e vrias colunas.
O produto de sequncias como denido aqui obtido usando-se o operador .* (ponto asterisco).
Como exemplo, o produto das sequncias a e b das tabelas anteriores obtido usando-se a. b.
n a[n] s[n] = 3a[n]0 2 6
1 -1 -3
2 10 30
3 -3 -9
4 2,5 7,5
Tabela 3: Produto de uma sequncia por uma constante (neste caso, 3)
u[n] =
{0 para n < 01 para n 0 (4)
e representada na gura 4.
Exerccio 7
Desenhe o grco de 3u[n].
Exerccio 8
Desenhe o grco de 2u[n 3].
Exerccio 9
Desenhe o grco de 3u[n] 2u[n 3].
Exerccio 10
Desenhe o grco de u[n].
Exerccio 11
Desenhe o grco de 5u[3 n].
-
Ricardo Pires - Processamento Digital de Sinais 8
Pode-se vericar o produto de uma sequncia 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 2
2 10 -1
3 -3 10
4 2,5 -3
Tabela 4: Uma sequncia y[n] atrasada de uma unidade de tempo em relao a uma sequncia x[n].
Exerccio 12
Desenhe o grco de 7u[n+ 2] 5u[3 n].
2.3.3 Sequncia Exponencial
A sequncia exponencial tem a forma:
x[n] = An (5)
em que A e so constantes reais.A gura 5 mostra o grco de uma sequncia exponencial com A = 3, = 0, 7 e n indo de 1 a 10.
Pode-se visualizar o grco da sequncia exponencial da gura 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 sequncia de 1 a 10, a qual serve como a srie de instantes de amostragem
considerados. Os comandos 2 e 3 denem os valores das constantes. O comando 4 calcula os
valores da sequncia exponencial. Nele, o operador . gera uma sequncia elevando o mesmovalor alfa, sucessivamente, s potncias de 1 a 10 contidas em n. O comando 5 gera o grco,no estilo de tempo discreto. O comando 6 dene um ttulo para o grco. Finalmente, o
comando 7 ajusta as escalas dos eixos.
2.3.4 Sequncia Senoidal
A sequncia senoidal tem a forma:
x[n] = A cos(0n+ 0) (6)
-
Ricardo Pires - Processamento Digital de Sinais 9
Figura 3: Grco da funo impulso de tempo discreto
em que A, 0 e 0 so constantes. A a amplitude da senoide, 0 sua frequncia angular, medida em radianos,e 0 sua fase inicial.
A gura 6 mostra o grco de uma sequncia senoidal com A = 10, 0 =pi4 , 0 = 0 e n indo de 1 a 20.
No Octave, a funo cosseno digitada, simplesmente, como cos. A funo seno digitada
como sin. A constante pi digitada como pi. Assim, na gerao do grco senoidal da gura 6,usou-se a sequncia de comandos:
octave > n = [1 : 20]octave > A = 10octave > omega0 = pi/4octave > phi0 = 0octave > x = A cos(omega0 n+ phi0)
alm de comandos de ajuste de escala, de ttulo e do comando stem, como no caso exponencial.
Exerccio 13
Gere e visualize sequncias senoidais com o Octave, variando suas amplitudes, suas frequncias e suas fases
iniciais.
-
Ricardo Pires - Processamento Digital de Sinais 10
Figura 4: Grco da funo degrau unitrio
Exerccio 14
Gere uma senoide com 0 = 0 e uma outra com 0 = 2pi, mantendo os demais parmetros. Compare osresultados. Faa o mesmo com uma senoide com 0 =
pi4 e uma outra com 0 =
9pi4 . Interprete.
Pode-se ver que, em tempo discreto, a frequncia 0 = 0 equivale a 0 = 2pi. O mesmo ocorre com o par0 =
pi2 e 0 =
5pi2 . Em geral, qualquer frequncia angular que esteja fora da faixa 0 < < pi equivale a
uma frequncia que esteja nesta faixa. Isto acontece porque, para n inteiro, cos{(pi + )n} = cos{pin + n}equivale a cos{(pi )n} = cos{pinn}, em que uma frequncia angular, em radianos. Assim, qualquerfrequncia que esteja acima de pi por rad equivale a uma frequncia que esteja abaixo de pi por rad. Omesmo fenmeno ocorre em torno de qualquer frequncia que seja mltipla inteira de pi.
A gura 7 mostra, esquematicamente, as equivalncias de frequncias em tempo discreto. Nela, indicada
uma certa frequncia x, na faixa entre 0 e pi. Uma frequncia equivalente a esta 2pi x, na faixa entre pi e2pi. A prxima equivalente 2pi + x, na faixa entre 2pi e 3pi. A prxima 4pi x, na faixa entre 3pi e 4pi, eassim por diante.
Exerccio 15
Com o auxlio da gura 7 e do Octave, verique as trs prximas equivalncias da frequncia 0 =pi4 . Para isto,
calcule estas frequncias equivalentes e gere valores de amostras de x[n] = cos(n), para n indo de 1 a 12 e assumindo cada uma daquelas frequncias.
O fato de haver esta equivalncia entre frequncias muito importante em processamento digital de sinais.
Ele implica que uma sequncia de amostras colhidas periodicamente de uma senoide de baixa frequncia pode
ser igual a uma sequncia de amostras colhidas de uma senoide de frequncia mais alta. Neste caso, observando-
se as amostras, no seria possvel se descobrir de qual senoide elas teriam sido colhidas. Para se evitar este
-
Ricardo Pires - Processamento Digital de Sinais 11
Figura 5: Grco de sequncia exponencial
problema, deve-se tomar o cuidado de s se amostrarem sinais analgicos cujas frequncias estejam numa faixa
limitada, equivalendo faixa de tempo discreto de 0 a pi. Desta forma, observando-se as amostras de umasenoide, deduz-se qual era a frequncia desta senoide: s pode ser uma frequncia da primeira faixa, j que
no havia senoides de outras faixas no processo. Assim, no h frequncias equivalentes e, portanto, no h
ambiguidade. Para que isto seja possvel, antes da amostragem, o sinal a ser amostrado aplicado a um ltro
analgico passa-baixas, cuja sada s ter frequncias da primeira faixa. Esta sada, ento, pode ser amostrada,
sem que haja ambiguidade na interpretao das amostras. Esta condio para que no haja ambiguidade
na amostragem foi publicada em 1928 pelo engenheiro sueco Harry Theodor Nyqvist (mais conhecido como
Nyquist) e pelo engenheiro estadunidense Claude Elwood Shannon. Ela ser estudada na seo 2.4.
2.3.5 Sequncia Exponencial Complexa
A sequncia exponencial complexa tem a forma:
x[n] = Aej(0n+0) (7)
em que A, constante real, a amplitude da sequncia, j =1, 0 a frequncia angular, em radianos, e 0
a fase inicial, tambm em radianos.
Para se estudar esta sequncia, deve-se lembrar que:
ejx = cosx+ jsenx (8)
A equao 8 chamada frmula de Euler. Foi publicada pelo matemtico suo Leonhard Paul Euler em
1748. Nela, x um nmero real. Como x argumento de funes trigonomtricas, ele pode ser visto comoum ngulo (em radianos). Para cada valor de x, v-se que o membro direito da equao 8 fornece um nmerocomplexo, cuja parte real vale cosx e cuja parte imaginria vale jsenx. Assim, dado um valor de x, ejx podeser representado como um ponto no plano complexo, conforme a gura 8. O ngulo entre o eixo real e a linha
-
Ricardo Pires - Processamento Digital de Sinais 12
Figura 6: Grco de sequncia senoidal
que liga este ponto origem x radianos. O mdulo de ejx sempre 1, independentemente do valor de x(verique). Assim, o mdulo de Aejx A.
Exerccio 16
Represente e+jpi
3no plano complexo, anotando suas coordenadas.
Exerccio 17
Represente ejpi
4no plano complexo, anotando suas coordenadas.
Exerccio 18
Represente e+jpi no plano complexo, anotando suas coordenadas.
Exerccio 19
Represente 5e+jpi
6no plano complexo, anotando suas coordenadas.
-
Ricardo Pires - Processamento Digital de Sinais 13
4pi 3pi
2pi 3pi
2pi pi
0
pi
x
.
.
.
Figura 7: Equivalncias entre frequncias em tempo discreto
O programa a seguir gera um grco contendo duas senoides de frequncias diferentes, mas
equivalentes em tempo discreto para a taxa de amostragem escolhida. V-se que as amostras
coletadas (em vermelho) so iguais nas duas senoides.
octave > close all %Fecha janelas.octave > clear all %Limpa variaveis.octave > t = [0 : 0.01 : 10]; %Serie que simula tempo contnuo.octave > w1 = pi/4; %Uma das frequencias equivalentes.octave > w2 = 7 pi/4; %Frequencia equivalente anterior.octave > xc1 = cos(w1 t); %Primeira senoide.octave > xc2 = cos(w2 t); %Segunda senoide.octave > plot(t, xc1, b); %Gera grafico em azul.octave > hold on %Mantem grafico anterior quando o proximo for gerado.octave > plot(t, xc2, g); %Gera grafico em verde.octave > n = [0 : 10]; %Gera serie de ndices para tempo discreto.octave > x = cos(w1 n); %Senoide de tempo discreto.octave > stem(n, x, r) %Grafico das amostras, em vermelho.
Exerccio 20
Represente 7e+j7pi
6no plano complexo, anotando suas coordenadas.
Exerccio 21
Represente 4e+j 11pi6 no plano complexo, anotando suas coordenadas.
Da frmula 8, obtm-se:
cosx =1
2(e+jx + ejx) (9)
-
Ricardo Pires - Processamento Digital de Sinais 14
n = [1 : numAmostras]octave > nt = n
octave > sinal = cos(pi/8 nt)octave > wavwrite(sinal, som.wav)
A linha nt = n obtm a matriz nt como sendo a transposta da matriz n (o apstrofo ooperador que obtm a transposta). Como n uma matriz linha, nt uma matriz coluna. Aexecuo desta linha necessria, porque o arquivo wave deve conter uma coluna de amostras
por canal de som. Neste exemplo, h apenas um canal, o qual contm o som correspondente
a uma sequncia senoidal de amostras, contidas na matriz coluna chamada sinal. Uma matrizcontendo N colunas conteria, ento, 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 execuo de arquivos de som.
3 Sistemas de Tempo Discreto
Um sistema de tempo discreto obtm uma sequncia de sada y[n] a partir de uma sequncia de entradax[n]. Ele calcula cada amostra de sada a partir de uma ou mais amostras de entrada e, possivelmente, a partirde amostras de sada anteriores.
Diz-se, ento, que a sequncia de sada obtida como uma transformao da sequncia de entrada, usando-se
a notao:
y[n] = T {x[n]} (15)
-
Ricardo Pires - Processamento Digital de Sinais 20
Como um exemplo de sistema, tem-se o sistema atrasador, o qual implementa a equao:
y[n] = x[n n0], < n < + (16)na qual n0 o valor de atraso entre a sequncia de entrada e a de sada. A tabela 4 mostra um exemplode resultado y[n] obtido por um sistema atrasador, com atraso unitrio (n0 = 1), que teria recebido aquelasequncia x[n] sua entrada. Uma implementao fsica deste atrasador, como um sistema digital, dada nagura 13, deve ter um registrador acionado por sinal de relgio (clock). Enquanto uma nova amostra x[n]j estiver na entrada do sistema, a amostra de entrada anterior, x[n 1], ainda estar na sada, por ter sidomemorizada no ciclo de funcionamento anterior. Assim, cada sequncia de entrada aparece na sada, mas com
atraso. A cada pulso de clock, uma nova amostra de entrada lida, substituindo a anteriormente memorizada.
Assim, a sada atualizada. Enquanto isto, uma amostra de entrada ainda mais nova deve chegar entrada,
vinda, possivelmente, de um amostrador. Este processo se repete, a cada pulso de clock. A cada instante, h
uma amostra entrada, ainda no memorizada, e uma amostra mais antiga sada, j memorizada.
registrador
x[n 1]x[n] y[n] = x[n 1]
clock
Figura 13: Implementao digital de um atrasador
Um outro exemplo comum de sistema o de mdia mvel. Ele tem este nome, por apresentar, sada, um
valor correspondente mdia das N amostras de entrada mais recentes, sendo N denido pelo projetista. Estamdia mvel, porque, com o passar do tempo, o grupo de amostras de entrada que se submeter ao clculo
da mdia muda, j que, com o passar do tempo, muda o grupo das amostras mais recentes. Para, por exemplo,
N = 4, a equao implementada por este sistema :
y[n] =1
4{x[n] + x[n 1] + x[n 2] + x[n 3]} (17)
V-se que, para calcular cada amostra de sada, este sistema precisa ter sua disposio as quatro amostras de
entrada mais recentes (a atual e trs anteriores). Por isto, ele precisa de trs registradores: um para memorizar
x[n1], um para x[n2] e um para x[n3]. Estes trs registradores devem ser interligados em srie, formandoum registrador de deslocamento composto por trs registradores com vrios bits cada. (O nmero de bits de
cada registrador pode ser, por exemplo, 16. Isto depende da preciso com que trabalha o sistema.)
Exerccio 33
Desenhe um diagrama de blocos para o sistema de mdia mvel anterior, usando trs registradores, somadores
com dois operandos cada e um multiplicador.
Exerccio 34
Dada a tabela 5, com valores de uma certa sequncia de entrada x[n], calcule a sequncia de sada que seriaproduzida por este sistema de mdia mvel. Verique, com o auxlio do Octave, que este sistema gera uma
sequncia de sada que tem forma semelhante da sequncia de entrada, porm, sem variaes abruptas.
-
Ricardo Pires - Processamento Digital de Sinais 21
n x[n] y[n]
0 8
1 8
2 8
3 20
4 9
5 8
6 9
7 9
8 6
9 9
10 9
11 9
12 10
13 10
14 6
15 10
16 10
17 10
18 17
19 10
20 10
21 9
22 10
23 10
24 11
25 10
Tabela 5: Tabela para o exerccio 34.
Pelo resultado obtido no exerccio 34, percebe-se que uma utilidade do sistema de mdia mvel receber
valores medidos de um processo fsico do qual no se esperam variaes abruptas e diminuir o efeito destas
variaes abruptas, antes de se entregarem estas amostras para um sistema que as analisar. Isto ocorre, por
exemplo, em medio de temperatura em grandes cmaras, onde no se espera que a temperatura possa variar
rapidamente, ou na medio do nvel de combustvel no tanque de um automvel, onde no se esperam variaes
abruptas de nvel. Um transdutor faz a medio continuamente, entregando o resultado a um amostrador
peridico. Este entrega as amostras analgicas medidas a um conversor analgico-digital. Estas amostras
digitalizadas podem estar contaminadas por efeitos indesejveis, como rudo, no caso da cmara, ou balano,
no caso do tanque de combustvel. O rudo ou o balano introduzem, na sequncia de amostras, desvios em
relao aos valores verdadeiros das grandezas que se desejaram medir. A sada do sistema de mdia mvel
procura seguir, preferencialmente, as lentas variaes da grandeza medida em relao s rpidas variaes
causadas pelo rudo ou pelo balano. Se a sequncia medida fosse aplicada diretamente a um mostrador (de
ponteiro ou digital), este oscilaria rapidamente, dicultando sua leitura. A aplicao da sequncia de sada
do sistema de mdia mvel ao mostrador proporciona maior estabilidade do valor apresentado, facilitando sua
leitura, alm de reetir melhor a realidade da grandeza de interesse.
Neste exemplo, o sistema de mdia mvel calculou a mdia das ltimas quatro amostras de entrada. Na
prtica, um tal sistema pode usar dezenas ou centenas das ltimas amostras de entrada no clculo da mdia,
suavizando muito, desta forma, o efeito de variaes abruptas. Mas, o uso de mais amostras de entrada tem,
como efeito indesejado, aumento no hardware necessrio para implementar o sistema (ou maior tempo de clculo
em implementaes em software).
A seguir, so apresentadas denies teis relacionadas a sistemas de tempo discreto.
-
Ricardo Pires - Processamento Digital de Sinais 22
3.1 Sistemas com Memria x Sistemas sem Memria
Um sistema com memria aquele que deve usar algum tipo de elemento de memorizao, como reg-
istradores (no caso de implementao em hardware) ou variveis (no caso de implementao em software), por
precisar de valores de entrada ou de sada anteriores para calcular cada amostra de sada. O sistema atrasador
e o de mdia mvel so deste tipo.
Um sistema sem memria, para calcular a amostra de sada em um certo instante, s usa a amostra de
entrada do mesmo instante. Como ele no precisa de amostras passadas, no precisa de memria. Exemplo:
um sistema que calculasse o negativo de cada amostra que lhe viesse entrada, y[n] = x[n]. (Normalmente,sistemas de processamento digital de sinais lidam com valores negativos usando a representao binria em
complemento de dois.) Uma realizao deste sistema em hardware usaria apenas lgica combinatria, sem
registradores.
3.2 Sistemas Lineares x Sistemas No Lineares
Se um sistema for linear, dada uma constante K e dada uma sequncia x[n],
T {Kx[n]} = KT {x[n]} (18)e, dadas as sequncias x1[n] e x2[n]:
T {x1[n] + x2[n]} = T {x1[n]}+ T {x2[n]} (19)Disto decorre que, dadas constantes K1 e K2,
T {K1x1[n] +K2x2[n]} = K1T {x1[n]}+K2T {x2[n]} (20)Assim, os sistemas lineares seguem o princpio da superposio: para se calcular o efeito, na sada, da
aplicao de uma soma de sequncias entrada, basta que, inicialmente, calculem-se os efeitos de cada entrada
individualmente e que, nalmente, somem-se estes efeitos sada.
Como exemplos de sistemas lineares, tm-se o atrasador e o sistema de mdia mvel.
Qualquer sistema que no respeite a equao 20 no linear.
Exerccio 35
Verique que o sistema que implementa y[n] = {x[n]}2 no linear.
Sempre que possvel, deve-se procurar projetar sistemas lineares, devido maior facilidade de se lidar
matematicamente com eles do que com os no lineares.
3.3 Sistemas Variantes no Tempo x Sistemas Invariantes no Tempo
Um sistema variante no tempo tal que, para ele, existe pelo menos uma sequncia de entrada x1[n] paraa qual ele fornece uma certa y1[n] e que, se, sua entrada, for aplicada uma entrada x2[n] que seja uma versoatrasada de x1[n], x2[n] = x1[nn0], sua sada no ser uma verso atrasada de y1[n], ou seja, y2[n] 6= y1[nn0].
Pode ocorrer de um sistema variante no tempo calcular suas amostras de sada de forma varivel com o
tempo. Por exemplo, se um sistema calcular sua sada usando y[n] = m0x[n]+m1x[n 1], sendo os coecientesm0 e m1 variveis 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 sada variando no tempo. Por
exemplo, ele poderia passar um tempo usando a expresso y[n] = m0x[n]+m1x[n 1] e, depois, poderia passara usar y[n] = m0x[n] +m1x[n 1] +m2x[n 2].
Exerccio 36
Demonstre que o sistema que implementa a equao y[n] = x[2n] variante no tempo.
-
Ricardo Pires - Processamento Digital de Sinais 23
Um sistema invariante no tempo tal que, se for aplicada a ele uma sequncia de entrada x1[n] para aqual ele fornea uma certa y1[n], se, sua entrada, for aplicada uma x2[n] que seja uma verso atrasada dex1[n], x2[n] = x1[nn0], sua sada ser, simplesmente, uma verso atrasada de y1[n], ou seja, y2[n] = y1[nn0],com atraso igual ao de x2[n] em relao a x1[n]. Para que isto ocorra, o sistema dever calcular cada amostrade sada usando sempre a mesma forma de clculo, todo o tempo (mesma equao e mesmos coecientes).
Exerccio 37
Verique que o sistema de mdia mvel invariante no tempo.
Sistemas invariantes no tempo so de tratamento matemtico mais simples do que os variantes no tempo.
3.4 Sistemas Causais x Sistemas No Causais
Um sistema causal aquele que calcula a amostra de sada em cada instante usando apenas valores de
entrada do mesmo instante, de instantes anteriores ou valores de sada anteriores. Exemplo de equao de um
sistema causal: y[n] = 12x[n] 14x[n 2] + 18y[n 1].Um sistema no causal calcula a amostra de sada em um certo instante usando alguma amostra de entrada
ou de sada futura. Exemplo de equao de um sistema no causal: y[n] = 12x[n] 14x[n+ 2] + 18y[n 1]. (Noclculo da sada atual, ele usa uma entrada futura.)
Sistemas no causais no podem funcionar em tempo real, j que, para calcular cada valor de sada, eles
teriam de adivinhar algum valor futuro de entrada ou de sada. Porm, quando se projeta um sistema de
processamento digital de sinais, pode ocorrer de o projetista descobrir que a equao que o sistema deveria
implementar para satisfazer s especicaes do projeto deveria ser do tipo no causal. Neste caso, para se
obter um sistema realizvel, estas especicaes deveriam ser alteradas, substitudas por outras que permitissem
a obteno de um sistema causal que as satiszesse. Isto ocorre, por exemplo, no projeto de um ltro passa-
baixas ideal, tanto em tempo contnuo quanto em tempo discreto. Um tal ltro seria no causal. (Ele ser
estudado adiante.) Assim, no pode ser realizado. Mas, bons ltros, com caractersticas parecidas com a do
ideal, podem ser realizados.
Exerccio 38
O sistema de mdia mvel denido pela equao 17 causal? Por que?
Exerccio 39
Escreva a equao de um sistema de mdia mvel no causal.
3.5 Estabilidade de Sistemas
Um sistema estvel, no sentido entrada limitada, sada limitada, se e somente se, para qualquer
sequncia de entrada com valores limitados recebida, ele produzir uma sequncia de sada com valores limitados.
Assim, se:
|x[n]| Lx
-
Ricardo Pires - Processamento Digital de Sinais 24
com Ly sendo o limite dos valores absolutos da sequncia y[n]. Note que o valor de Lx no precisa ser igual aode Ly.
Exerccio 40
O sistema de mdia mvel denido pela equao 17 estvel? Por que?
Exerccio 41
O sistema denido pela equao y[n] = x[n] + y[n 1] estvel? Por que?
3.6 Sistemas Lineares e Invariantes no Tempo
Devido relativa facilidade de tratamento matemtico que possuem, os sistemas de maior interesse em
processamento digital de sinais so os lineares invariantes no tempo (ou seja, os que so tanto lineares
quanto invariantes no tempo). Sero referenciados, neste texto, como sistemas LIT.
Um sistema LIT pode ter seu comportamento completamente caracterizado pela sua resposta ao impulso,
chamada de resposta impulsiva, simbolizada como h[n].
Exerccio 42
Qual a resposta impulsiva do sistema que implementa a equao y[n] = x[n 2]?
Exerccio 43
Qual a resposta impulsiva do sistema de clculo de mdia mvel, 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 hipottica dada na tabela 6. (Suponha que todos os valores de h[n] em instantes notabelados sejam nulos.) Isto signica que, se, entrada do sistema X , for aplicada uma nica amostra no nulano instante zero, com valor unitrio (ou seja, a entrada o impulso, [n]), o sistema apresentar, sada, asequncia h[n] dada na tabela 6.
n [n] h[n]
-2 0 0
-1 0 0
0 1 3
1 0 5
2 0 2
3 0 1
4 0 0
5 0 0
Tabela 6: Valores no nulos da resposta impulsiva hipottica de um certo sistema X
Suponha, agora, que ao sistema X , seja aplicada a sequncia de entrada dada na tabela 7.
-
Ricardo Pires - Processamento Digital de Sinais 25
n x[n]
-2 0
-1 0
0 4
1 5
2 -2
3 10
4 0
5 0
Tabela 7: Valores no nulos de uma certa sequncia de entrada aplicada ao sistema X
O problema, ento, calcular-se a sequncia de sada, y[n], causada pela aplicao, ao sistema X , dasequncia de entrada x[n] dada na tabela 7.
Para se resolver este problema, explora-se o fato de que o sistema X LIT, usando-se as seguintes etapas:
1. Decompe-se a sequncia de entrada x[n] em vrias sequncias, cada uma contendo somente uma amostrano nula, conforme a tabela 8. Verique que x[n] = x0[n] + x1[n] + x2[n] + x3[n].
2. Calcula-se a resposta do sistema X para cada uma destas sequncias 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 (equao 19), sua resposta a x[n] = x0[n]+x1[n]+x2[n]+x3[n] ser igual soma das respostas individuais, y[n] = y0[n] + y1[n] + y2[n] + y3[n].
n x[n] x0[n] x1[n] x2[n] x3[n]
-2 0 0 0 0 0
-1 0 0 0 0 0
0 4 4 0 0 0
1 5 0 5 0 0
2 -2 0 0 -2 0
3 10 0 0 0 10
4 0 0 0 0 0
5 0 0 0 0 0
Tabela 8: Decomposio de uma sequncia de entrada x[n] em vrias sequncias
Para se calcular cada resposta individual no item 2, explora-se a linearidade e a invarincia no tempo do
sistema.
Iniciando-se pelo clculo de y0[n], como ele a resposta do sistemaX entrada x0[n] = 4[n], por linearidade,y0[n] = 4h[n]. Ou seja, como x0[n] um impulso multiplicado por 4, a sada que x0[n] causa 4 vezes a sadacausada pelo impulso, a qual a resposta impulsiva, h[n]. Este resultado mostrado na tabela 9.
No clculo 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 5
deve ser igual h[n] multiplicada por 5. Mas, como este impulso est com atraso unitrio, deve-se no smultiplicar h[n] por 5, mas, tambm, atras-la em uma unidade em n. Assim, a resposta a x1[n] = 5[n 1]ser y1[n] = 5h[n 1], conforme a tabela 10.
Seguindo-se a mesma lgica, a resposta a x2[n] = 2[n 2] y2[n] = 2h[n 2], conforme a tabela 11.A resposta a x3[n] = 10[n 3] y3[n] = 10h[n 3], conforme a tabela 12.Finalmente, a resposta y[n] entrada x[n] calculada como y[n] = y0[n] + y1[n] + y2[n] + y3[n], conforme a
tabela 13.
-
Ricardo Pires - Processamento Digital de Sinais 26
n xo[n] h[n] y0[n] = 4h[n]
-2 0 0 0
-1 0 0 0
0 4 3 12
1 0 5 20
2 0 2 8
3 0 1 4
4 0 0 0
5 0 0 0
Tabela 9: Resposta y0[n] do sistema X sequncia x0[n]
n x1[n] h[n] y1[n] = 5h[n 1]-2 0 0 0
-1 0 0 0
0 0 3 0
1 5 5 15
2 0 2 25
3 0 1 10
4 0 0 5
5 0 0 0
Tabela 10: Resposta y1[n] do sistema X sequncia x1[n]
Exerccio 44
Seguindo o procedimento anterior, calcule a resposta y[n] fornecida pelo sistema X anterior quando ele recebera entrada x[n] dada na tabela 14.
O procedimento aqui apresentado para o clculo da sequncia de sada 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 operao que calcula y[n] a partir de x[n] e de h[n], dada pela equao 23, chamada de convoluode x[n] com h[n]. Portanto, pode-se dizer que um sistema LIT realiza uma convoluo de sua entrada com suaresposta impulsiva. O smbolo usado para a operao convoluo o asterisco.
A convoluo uma operao comutativa, ou seja,
x[n] h[n] = h[n] x[n] (24)Assim, se, para um sistema LIT, forem trocados, entre si, os papis da entrada e da resposta impulsiva, sua
sequncia de sada no se alterar. Isto pode ser vericado, usando-se a mudana de variveis m = n k naequao 23:
-
Ricardo Pires - Processamento Digital de Sinais 27
n x2[n] h[n] y2[n] = 2h[n 2]-2 0 0 0
-1 0 0 0
0 0 3 0
1 0 5 0
2 -2 2 -6
3 0 1 -10
4 0 0 -4
5 0 0 -2
Tabela 11: Resposta y2[n] do sistema X sequncia x2[n]
n x3[n] h[n] y3[n] = 10h[n 3]-2 0 0 0
-1 0 0 0
0 0 3 0
1 0 5 0
2 0 2 0
3 10 1 30
4 0 0 50
5 0 0 20
6 0 0 10
Tabela 12: Resposta y3[n] do sistema X sequncia x3[n]
y[n] = x[n] h[n]
y[n] =
k=
x[k]h[n k]
y[n] =
m=
x[nm]h[m]
y[n] =
m=
h[m]x[nm]
y[n] = h[n] x[n] (25)
3.6.1 Estabilidade de Sistemas LIT
A estabilidade de sistemas foi denida na seo 3.5. No projeto de um sistema de processamento digital de
sinais, importante que se garanta que o sistema obtido seja estvel, porque um sistema instvel pode ter seus
valores de sada crescendo sem limites, mesmo com os valores da sequncia de entrada mantidos numa faixa
limitada. Como um sistema de processamento digital de sinais representa cada valor manipulado usando um
nmero nito de bits, um sistema instvel, com o tempo, poderia comear a tentar apresentar, sada, valores
que estivessem fora de sua faixa de valores representveis. A partir deste momento, ele passaria a cometer erros,
fornecendo valores errados sada e, possivelmente, usando estes valores errados nos seus prximos clculos (no
caso de ele usar valores de sada anteriores para calcular a sada atual).
Para se encontrar a condio necessria para que um sistema LIT seja estvel, parte-se da equao 25,
aplicando-a ao clculo do mdulo de cada amostra de sada:
|y[n]| =
m=
h[m]x[nm]
m=
|h[m]||x[nm]| (26)
-
Ricardo Pires - Processamento Digital de Sinais 28
n y0[n] y1[n] y2[n] y3[n] y[n]
-1 0 0 0 0 0
0 12 0 0 0 12
1 20 15 0 0 35
2 8 25 -6 0 27
3 4 10 -10 30 34
4 0 5 -4 50 51
5 0 0 -2 20 18
6 0 0 0 10 10
7 0 0 0 0 0
Tabela 13: Resposta y[n] do sistema X composta pelas respostas individuais anteriores
n x[n]
-2 0
-1 0
0 3
1 -1
2 20
3 5
4 3
5 0
Tabela 14: Sequncia de entrada para o exerccio 44
Na equao 26, se a sequncia x[n] tiver valores limitados, cujos mdulos no superarem um certo valor Lx,ter-se-:
|y[n]|
m=
|h[m]||x[nm]|
m=
|h[m]|Lx = Lx
m=
|h[m]| (27)
Assim, para que y[n] tenha valores limitados, deve-se ter:
m=
|h[m]|
-
Ricardo Pires - Processamento Digital de Sinais 29
No Octave, a funo conv calcula a convoluo de duas sequncias. Para que ela seja realizada
sobre as duas sequncias do exemplo mostrado nesta seo, deve-se seguir o procedimento:
octave > h = [3 5 2 1]octave > x = [4 5 2 10]octave > y = conv(h, x)
Aqui, foi dada, pelo usurio, a resposta impulsiva, h[n], e a entrada, x[n]. O Octave, ento,calculou a convoluo daquelas duas sequncias. Deve-se lembrar que os ndices usados pelo
Octave comeam em 1, enquanto que, no exemplo desta seo, comeavam em 0. Porm, a
sequncia de valores da sada ca correta, embora deslocada, no tempo, em relao deste
texto.
Exerccio 47
Qual a resposta impulsiva do sistema dado pela equao y[n] = x[n] + y[n 1]? Ele estvel? Caso positivo,se a sequncia sua entrada tiver valores limitados a 3, qual ser o mdulo do maior valor possvel sua sada?
(Considere que y[n] = 0 para n < 0.)
Exerccio 48
Qual a resposta impulsiva do sistema dado pela equao y[n] = x[n]+ 12y[n 1]? Ele estvel? Caso positivo,se a sequncia sua entrada tiver valores limitados a 3, qual ser o mdulo do maior valor possvel sua sada?
(Considere que y[n] = 0 para n < 0.)
3.6.2 Causalidade de Sistemas LIT
Um sistema LIT causal se sua resposta impulsiva comear no instante zero ou aps o instante zero. Se a
resposta impulsiva comear antes do instante zero, o sistema no causal.
Se, num projeto, for obtido um sistema S1 no causal, se sua resposta impulsiva h1[n] comear num certoinstante ni, com < ni < 0, ser possvel obter-se um novo sistema S2, com comportamento semelhante aode S1, porm causal, fazendo-se com que a resposta impulsiva h2[n] seja uma verso atrasada de h1[n], de talforma que h2[n] comece no instante zero ou depois de zero.
Exerccio 49
Se um sistema tiver em sua resposta impulsiva, como nicas amostras no 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 tcnica consiste em se obter um sistema realizvel em tempo real (causal) a partir de um
sistema no realizvel em tempo real (no causal). O efeito negativo da aplicao desta tcnica o sistema
resultante ter, em seu funcionamento, um atraso em relao ao sistema original.
Esta tcnica s pode ser aplicada se a resposta impulsiva do sistema no causal comear em um ni 6= .Se esta resposta impulsiva comear em , no ser possvel a obteno de um sistema causal semelhanteapenas por atraso da resposta impulsiva.
3.7 Equaes de Diferenas Lineares a Coecientes Constantes
Uma tal equao da forma:
-
Ricardo Pires - Processamento Digital de Sinais 30
Nk=0
aky[n k] =Mk=0
bkx[n k] (29)
com os ak e bk constantes. Assim, uma equao desta forma representa um clculo envolvendo amostras deentrada e de sada de vrios instantes, cada uma delas multiplicada por uma constante.
Um exemplo de equao de diferenas linear a coecientes constantes :
3y[n] + 5y[n 1] = 4x[n] 10x[n 2] + x[n 5] (30)na qual, no membro da esquerda, esto amostras da sada, de dois instantes, cada uma multiplicada por um
coeciente constante e, no membro da direita, esto trs amostras de entrada, de instantes diferentes, cada uma
multiplicada por um coeciente.
A maioria dos sistemas de processamento digital de sinais so projetados para implementar equaes deste
tipo, porque, se y[n] = 0 para todos os instantes anteriores aplicao da primeira amostra x[n] 6= 0, estasequaes correspondem a sistemas lineares e invariantes no tempo, sendo fceis de se tratar matematicamente
e de se realizar em hardware ou em software. Sua realizao em hardware exige apenas elementos de memria
(para guardar amostras passadas de entrada e de sada), multiplicadores e somadores. Em software, basta
que estejam disponveis variveis em nmero suciente para a memorizao das amostras passadas e estejam
disponveis operaes de multiplicao e de adio.
Na prtica, comum que estas equaes sejam escritas isolando-se y[n] no membro da esquerda, para queque explcita a forma de se calcular cada amostra de sada a partir de amostras de sada anteriores e das
amostras de entrada. Assim, a equao 30 ca:
y[n] = 53y[n 1] + 4
3x[n] 10
3x[n 2] + 1
3x[n 5] (31)
Exerccio 50
Se um sistema implementar a equao
y[n] =1
2y[n 1] + x[n] (32)
qual ser sua sequncia de sada, para 0 n 8, se y[n] = 0 para n < 0 e se as nicas amostras no nulas dex[n] forem x[0] = 200 e x[1] = 100?
Um sistema que, para calcular cada amostra de sada, s utilize amostras de entrada (atual e anteriores)
tem resposta impulsiva com durao nita, ou seja, a partir de um certo instante, todas as amostras de h[n]so nulas. Este tipo de sistema chamado sistema FIR, da sigla em ingls para resposta impulsiva com
durao nita, nite impulse response.
Um sistema que tenha resposta impulsiva com durao innita, ou seja, resposta impulsiva que nunca
se estabiliza em zero, chamado sistema IIR, de innite impulse response. Para que um sistema seja IIR, ele
deve calcular cada amostra de sada usando alguma amostra de sada anterior.
3.8 Representao no Domnio da Frequncia
Se um sistema LIT receber, sua entrada, uma sequncia senoidal, ele fornecer, sada, uma sequncia
tambm senoidal, com a mesma frequncia que a da entrada, mas podendo ter outra amplitude e outra fase.
Assim, da entrada para a sada, neste caso, o sistema mantm a forma e a frequncia do sinal.
Para se vericar isto, deve-se lembrar que uma sequncia senoidal, A cos(n), pode ser escrita como A2 (e+jn+
ejn). Ento, para se calcular a sada fornecida pelo sistema LIT quando sua entrada for uma senoide, usando-se a linearidade, podem-se calcular suas sadas para e+jn, para ejn, somarem-se estes resultados e, nalmente,multiplicar-se esta soma por
A2 .
Partindo-se da equao 25 da convoluo e usando-se, como entrada, x[n] = e+jn, tem-se:
-
Ricardo Pires - Processamento Digital de Sinais 31
y[n] =
m=
h[m]x[nm]
y[n] =
m=
h[m]e+j(nm)
y[n] =
m=
h[m]e+jnejm
y[n] = e+jn(
m=
h[m]ejm
)(33)
Assim, v-se que a sada y[n] tem a mesma forma e+jn da entrada, estando esta multiplicada pelo fatorentre parnteses, o qual um nmero complexo. O mdulo deste nmero complexo determina a alterao na
amplitude da senoide da entrada para a sada. O ngulo deste nmero complexo determina a defasagem entre
as senoides de entrada e de sada. Desta forma, o valor entre parnteses a chamada resposta em frequncia
do sistema LIT, simbolizada por H(ej):
H(ej) =
m=
h[m]ejm (34)
Com isto, uma forma de se caracterizar um sistema LIT por meio de sua resposta em frequncia , a qual
especica como o sistema reage a cada possvel senoide aplicada sua entrada, em termos de modicao, da
entrada para a sada, da amplitude e da fase desta senoide.
Nos pargrafos anteriores, j est calculada y[n] para entrada e+jn. Se a entrada for ejn (outra compo-nente do cosseno, A cos(n) = A2 (e
+jn + ejn)), seguindo-se procedimento semelhante ao anterior, obtm-se
y[n] =
m=
h[m]x[nm]
y[n] =
m=
h[m]ej(nm)
y[n] =
m=
h[m]ejne+jm
y[n] = ejn(
m=
h[m]e+jm
)(35)
Assim, por linearidade, para se obter a resposta de um sistema LIT a uma senoide do tipo A cos(n) =A2 (e
+jn + ejn), soma-se sua resposta para e+jn, dada em (33), com sua resposta a ejn, dada em (35) e
multiplica-se, nalmente, esta soma por
A2 . Isto resulta:
y[n] =A
2
{e+jn
(
m=
h[m]ejm
)+ ejn
(
m=
h[m]e+jm
)}(36)
J foi visto que a primeira somatria de (36) , usualmente, escrita como H(ej) (resposta em frequncia).Como H(ej) um nmero complexo, pode ser escrito como:
H(ej) = |H(ej)|H(ej) (37)Para qualquer sequncia h[n] de nmeros reais, a segunda somatria de (36) tem o mesmo mdulo da
primeira somatria, mas tem fase oposta. Assim, a segunda somatria o complexo conjugado da primeira.
-
Ricardo Pires - Processamento Digital de Sinais 32
Ento, indicando-se a fase da primeira somatria como ej, a fase da segunda somatria ser ej. Usando-seestes fatos, a equao 36 pode ser reescrita como:
y[n] =A
2{e+jn|H(ej)|ej + ejn|H(ej)|ej} (38)
Desta equao, pode-se vericar que, realmente, quando a entrada de um sistema LIT for senoidal, sua sada
tambm o ser, com a mesma frequncia, mas podendo ter outra amplitude e outra fase:
y[n] =A
2{e+jn|H(ej)|ej + ejn|H(ej)|ej}
y[n] = |H(ej)|A2{e+jnej + ejnej}
y[n] = |H(ej)|A2{e+j(n+) + ej(n+)}
y[n] = |H(ej)|A cos(n+ ) (39)
Para que faa sentido o uso da informao sobre a resposta em frequncia de um sistema LIT, deve-se ter
informao detalhada sobre como a sequncia de entrada do sistema em termos de frequncias, ou seja, deve-
se supor que a sequncia de entrada seja formada por uma sobreposio de senoides, com vrias frequncias,
amplitudes e fases, mesmo que esta sequncia de entrada no tenha sido formada sicamente desta maneira.
Como exemplo de aplicao, um ltro passa-baixas um sistema que tem uma resposta em frequncia com
atenuao das senoides de frequncias altas em relao s senoides de frequncias baixas. Ele permite que
senoides de baixas frequncias passem de sua entrada para sua sada mais facilmente do que senoides de
frequncias altas.
Exerccio 51
Calcule e interprete a resposta em frequncia de um sistema atrasador que implemente y[n] = x[n 2].
Exerccio 52
Calcule e interprete a resposta em frequncia de um sistema de mdia mvel que implemente
y[n] =1
2(x[n] + x[n 1])
Simule seu funcionamento com o Octave.
Exerccio 53
Calcule e interprete a resposta em frequncia de um sistema de mdia mvel que implemente
y[n] =1
4(x[n] + x[n 1] + x[n 2] + x[n 3])
Simule seu funcionamento com o Octave.
Exerccio 54
Usando a equao 34, verique que a resposta em frequncia peridica em frequncia, com perodo de 2pi.
-
Ricardo Pires - Processamento Digital de Sinais 33
Uma sequncia de comandos que pode ser usada para se ver um grco do mdulo e um grco
da fase de H(ej) do exerccio 52 :
octave1 > h = 1/2 [1 1]octave2 > [H,w] = freqz(h)octave3 > plot(w, abs(H))octave4 > plot(w, angle(H))
O comando 1 dene a resposta impulsiva do sistema. O comando 2 faz com que seja calculada
a resposta em frequncia deste sistema e que seu resultado seja memorizado em dois vetores:
H e w. O vetor w, que tem o papel de , memoriza as frequncias angulares, em radianos,para as quais a resposta em frequncia foi calculada. O vetor H memoriza os valores de H(ej)correspondentes s frequncias de w. O comando 3 faz com que seja apresentado o grco domdulo (abs) de H(ej). Finalmente, o comando 4 faz com que seja apresentado o grco dafase (angle) de H(ej).
Como a resposta em frequncia peridica em frequncia, com perodo de 2pi, basta que ela seja especicadanum intervalo de frequncias com largura de 2pi. A resposta para qualquer frequncia fora deste intervalo igual resposta para alguma frequncia dentro dele. Usualmente, ela especicada para o intervalo 0 < 2pi oupara pi < pi. Como exemplo, a resposta em frequncia de um ltro passa-baixas mostrada na gura 14.
|Hfpb(ej)|
1
c cpi pi
Figura 14: Resposta em frequncia de um ltro passa-baixas
3.9 Representao de Sequncias por Transformada de Fourier
Em tempo contnuo, a decomposio de um sinal em senoides feita usando-se a srie de Fourier ou a
transformada de Fourier, apresentada em livros de Circuitos Eltricos e de Sistemas de Comunicao, tais
como [4]. De forma semelhante, sequncias podem ser representadas por uma transformada de Fourier adaptada
ao tempo discreto.
A transformada de Fourier de tempo discreto denida como:
X(ej) =
n=
x[n]ejn (40)
em que x[n] a sequncia a ser transformada, uma frequncia angular eX(ej) o resultado da transformadapara esta . X(ej) uma funo que informa, para cada , com que intensidade e com que fase uma senoidecom frequncia est presente na sequncia x[n]. X(ej) chamada de espectro de x[n].
Para se entender por que a expresso 40 revela quais frequncias esto presentes numa certa sequncia
x[n], supe-se que uma certa sequncia a ser analisada seja:
x[n] = 3ejpi
2n + 3ej
pi
2n + 5ej
pi
3n + 5ej
pi
3n, 0 n < 12 (41)
-
Ricardo Pires - Processamento Digital de Sinais 34
e que x[n] = 0 fora deste intervalo. Nesta expresso para x[n], podem-se identicar dois cossenos: um com = pi2 e o outro com =
pi3 . (Lembre-se de como o cosseno pode ser escrito como combinao de exponenciais
complexas.)
Supe-se, ento, que algum que no conhea esta expresso para x[n], mas que conhea a sua sequncia devalores numricos (eles podem ter sido medidos) queira descobrir quais so as senoides que formam esta x[n].
Para se descobrir se a x[n] de (41) tem uma componente do tipo ejn com, por exemplo, = pi2 , calcula-sea expresso 40 usando-se aquela x[n] e = pi2 , obtendo-se:
X(ejpi
2 ) =
n= x[n]ej pi
2n
X(ej pi2 ) =11n=0(3ej pi2 n + 3ej pi2 n + 5ej pi3 n + 5ej pi3 n)ej pi2 n X(ej pi2 ) =11n=0(3ej pi2 nej pi2 n + 3ej pi2 nej pi2 n + 5ej pi3 nej pi2 n + 5ej pi3 nej pi2 n) X(ej pi2 ) =11n=0(3ej pi2 nj pi2 n + 3ej pi2 nj pi2 n + 5ej pi3 nj pi2 n + 5ej pi3 nj pi2 n) X(ej pi2 ) =11n=0(3ej0n + 3ejpin + 5ej pi6 n + 5ej 5pi6 n) X(ej pi2 ) =11n=0(3 + 3ejpin + 5ej pi6 n + 5ej 5pi6 n) X(ej pi2 ) =11n=0 3 +11n=0 3ejpin +11n=0 5ej pi6 n +11n=0 5ej 5pi6 n X(ej pi2 ) = 36 + 311n=0 ejpin + 511n=0 ej pi6 n + 511n=0 ej 5pi6 n X(ej pi2 ) = 36 + 0 + 0 + 0 X(ej pi2 ) = 36 (42)
Exerccio 55
Por que, ao nal do clculo feito em (42), as trs ltimas somatrias resultaram 0?
Em (42), viu-se que, quando se procurou em x[n] uma exponencial complexa que tivesse a frequncia = pi2 ,as somatrias relacionadas a componentes de outras frequncias resultaram 0, enquanto a somatria relacionada
prpria componente = pi2 resultou 36. Este valor 36 est relacionado presena de uma componente com = pi2 em x[n]. De fato, a sequncia exponencial com frequncia =
pi2 est presente em x[n] com comprimento
12 (a sequncia s era no nula para 0 n < 12). O resultado 36 veio de uma somatria de 12 valores iguaisa 3. Assim, neste caso, o coeciente 3 da exponencial complexa de frequncia = pi2 revelado como sendo3612 = 3. Portanto, a aplicao da transformada de Fourier x[n] permite que seja revelado o coeciente de e
j pi2n
em x[n].Se ej
pi
2nestivesse presente com maior durao dentro de x[n], o resultado obtido para X(ej
pi
2 ) seria propor-cionalmente maior. Por exemplo, se ej
pi
2nestivesse presente em x[n] com durao de 24 instantes (ao invs de
12), X(ejpi
2 ) resultaria 72 (ao invs de 36). Mas, o coeciente de ejpi
2ncontinuaria sendo revelado como tendo o
valor 3, j que
7224 = 3. Portanto, o resultado da transformada de Fourier para uma dada frequncia depende no
s do coeciente da exponencial complexa correspondente dentro de x[n], mas depende, tambm, da duraodesta exponencial complexa dentro de x[n].
Exerccio 56
Calcule X(ejpi
3 ) para a x[n] dada em (41). Interprete o resultado.
O que faz com que a transformada de Fourier consiga revelar a presena de uma certa exponencial complexa
ejxn dentro de uma sequncia que a multiplicao desta exponencial por ejxn resulta ejxnejxn = 1,como visto em (42). E a somatria destes valores 1 cresce ao longo da durao da sequncia. Por outro lado,
para frequncias diferentes da procurada, o expoente de e no se anula. Neste caso, a somatria de valores destaexponencial complexa ao longo da durao da sequncia oscila, ao invs de crescer continuamente.
-
Ricardo Pires - Processamento Digital de Sinais 35
A sequncia x[n] pode ser recuperada a partir de X(ej) usando-se a transformada inversa de Fourier,denida como:
x[n] =1
2pi
pipi
X(ej)ejn d (43)
A demonstrao de que a equao 43 a transformao inversa da equao 40 apresentada em [1].
Da equao 43, v-se que a resposta impulsiva h[n] de um sistema a transformada inversa de Fourier daresposta em frequncia deste sistema.
A equao 43 permite que se calcule a sequncia de amostras x[n] cuja transformada de Fourier uma certaX(ej) conhecida. Isto usado em processos de compactao de dados. Se uma longa sequncia de amostrasfor formada por umas poucas componentes senoidais, pode ser vantajoso se armazenar em uma memria digital
uma descrio de X(ej), ao invs de se memorizarem os prprios valores lidos das amostras, x[n]. Nestatcnica, ento, primeiro lida e memorizada a longa sequncia de amostras x[n]. Em seguida, calculada atransformada de Fourier de x[n]. Os resultados desta X(ej), ento, so memorizados e as amostras originaisx[n] so descartadas. Se for necessrio recuperar-se x[n], basta que se calcule a transformada inversa de X(ej),usando-se a equao 43.
Uma aplicao popular da transformada de Fourier a codicao de som no formato MP3 [5]. Nesta
tcnica, uma sequncia de amostras de som x[n] a ser compactada subdividida em subsequncias x1[n], x2[n]etc., que duram, cada uma, uma frao de segundo. Cada uma destas subsequncias sofre uma transformada
de Fourier, resultando X1(ej), X2(e
j) etc. O resultado da transformada de Fourier de cada trecho indicao contedo em frequncias deste trecho. So, ento, removidas as componentes com frequncias inaudveis de
cada trecho. E, ainda, em cada trecho, identicada a senoide com maior energia. As senoides que no seriam
audveis no mesmo trecho devido presena simultnea desta senoide muito mais forte tambm so removidas.
Ento, para cada trecho, so memorizadas, no domnio da frequncia, apenas as senoides remanescentes. Nesta
memorizao, ainda usada uma tcnica genrica de compactao de arquivos digitais.
O Teorema da Convoluo se aplica a sequncias e a suas transformadas de Fourier, ou seja, se
x[n]F X(ej)
e
h[n]F H(ej)
(em que a notao
F representa a transformada de Fourier), se uma sequncia y[n] for o resultado da convoluodestas x[n] e h[n], ou seja,
y[n] =
k=
x[k]h[n k] = x[n] y[n]
ento
Y (ej) = X(ej)H(ej)
ou seja, convoluo no domnio do tempo corresponde a multiplicao no domnio de frequncia. Uma demon-
strao deste teorema apresentada em [1].
3.10 Transformada de Fourier Discreta
A transformada de Fourier discreta uma transformada de Fourier calculada apenas para sequncias x[n] dedurao nita. muito comum que se reram a ela pela sua sigla em ingls, DFT. Ela chamada de discreta
porque apresenta o resultado da transformada de Fourier apenas para um nmero nito de frequncias e no
para todos os valores de frequncia, como acontece com a transformada de Fourier contnua. O nmero de
frequncias para as quais a DFT apresenta resultados igual ao nmero de valores de x[n] usados no clculo destatransformada. Por exemplo, se a sequncia x[n] a ser transformada tiver apenas 10 valores, a DFT fornecer uma
-
Ricardo Pires - Processamento Digital de Sinais 36
sequncia contendo, tambm, 10 valores. Estes valores gerados pela DFT so amostras igualmente espaadas
em frequncia do espectro contnuo de x[n].A DFT tem grande utilidade prtica, por ser, em geral, de clculo mais rpido do que um clculo analtico
da transformada de Fourier contnua e, mesmo assim, fornecer amostras exatas do espectro contnuo do sinal
transformado. Quanto menos amostras de uma x[n] forem usadas no clculo da DFT, maior ser a rapidez desteclculo, mas sero obtidas menos amostras do espectro. Inversamente, se muitas amostras de x[n] forem usadasno clculo da DFT, maior ser o trabalho nos clculos, mas se obter uma melhor visualizao do espectro
(mais amostras dele).
A DFT denida como:
X [k] =
N1n=0
x[n]ej2pi
Nkn
(44)
em que x[n] a sequncia de durao nita a ser transformada e X [k] o resultado da transformao. X [k] uma sequncia que contm amostras uniformemente espaadas, em frequncia, do espectro X(ej) de x[n]. Adiferena de frequncia angular entre duas amostras seguidas de X(ej) contidas em X [k] de 2pi
N, em que N
o nmero de amostras da sequncia x[n] usadas no clculo de X [k]. Assim, por exemplo, se N = 10, a diferenade frequncia angular entre amostras de X(ej) contidas em X [k] ser de 2pi10 . Ento, para N = 10, X [0] tem ovalor de X(ej) para = 0 2pi10 = 0 rad. X [1] tem o valor de X(e
j) para = 1 2pi10 =2pi10 rad e assim por diante,
at X [9], que tem o valor de X(ej) para = 9 2pi10 rad. Para k = 10, o valor obtido para X [k], X [10], seria ode X(ej) para = 10 2pi10 = 2pi rad, o qual equivale ao valor obtido para = 0 rad, X [0], j que X(e
j) peridico em frequncia, com perodo de 2pi. Por isto, s so de interesse os valores de X [k] em nmero igualao nmero de amostras de x[n] usadas no clculo. Valores de X [k] fora da faixa de interesse so sempre iguaisa valores de X [k] normalmente calculados.
A gura 15 um grco do mdulo da transformada de Fourier contnua de uma sequncia, apresentado
em linha contnua, sobreposto ao grco do mdulo da DFT da mesma sequncia, apresentado como hastes.
A sequncia utilizada nesta transformao tinha comprimento de oito amostras, tendo as quatro primeiras
amostras o valor 1 e as quatro ltimas o valor 0. (Esta sequncia no mostrada na gura.) Como a sequncia
a ser transformada tinha oito amostras, com a DFT, obtiveram-se oito amostras de seu espectro contnuo. V-se,
na gura 15, que os resultados da DFT coincidem com os do espectro contnuo.
A transformada de Fourier discreta inversa calculada como:
x[n] =1
N
N1k=0
X [k]ej2pi
Nkn
(45)
Aqui, X [k] um espectro discreto conhecido. x[n] a sequncia correspondente a este espectro. N ocomprimento de x[n] e , assim, o nmero de valores no redundantes de X [k].
Atualmente, a DFT calculada, para longas sequncias, em programas de computador e em circuitos inte-
grados, usando-se algoritmos rpidos chamados de FFT (do ingls Fast Fourier Transform ou Transformada
Rpida de Fourier). A FFT usa recurso e se aproveita do fato de que fatores do tipo ej2pi
Nkn
so peridicos
em k e em n, evitando, com isto, que eles sejam recalculados muitas vezes. Resultados parciais de fatoresdeste tipo j calculados so reaproveitados ao mximo. Cita-se o matemtico Gauss como um dos primeiros a
descrever a FFT, em 1805 [1].
A FFT de uma dada sequncia x calculada usando-se o comando t(x). O resultado umasequncia 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
modu
lo d
o es
pect
ro
omega(rad)
Figura 15: Mdulo de uma DFT e de uma transformada de Fourier contnua da mesma sequncia
Exerccio 57
No Octave, gere uma sequncia de instantes, com o comando
octave> n=[0:11]
Em seguida, especique uma frequncia = pi2 , comoctave> omega=pi/2
Ento, gere uma senoide, com (usando x minsculo)octave> x=cos(omega*n)
Calcule e memorize a FFT de x com (usando X maisculo)octave> X=t(x)
Visualize o mdulo desta FFT com
octave> stem(n,abs(X))
Interprete o resultado.
Exerccio 58
No exerccio anterior, o eixo x do grco mostrava os instantes n. Modique a escala do eixo x, para que elapasse a mostrar , com os comandos:octave> eixox=2*pi/12*n
octave> stem(eixox,abs(X))
Verique os valores de em que caram as raias no nulas do espectro.
-
Ricardo Pires - Processamento Digital de Sinais 38
Exerccio 59
Repita o procedimento anterior para: = pi4 , =pi8 e = pi. Interprete os resultados.
Exerccio 60
Repita o procedimento anterior para sequncias mais longas, para mais instantes, usando o programa para o
Octave:
n=[0:99];
omega=input("omega=");
x=cos(omega*n);
X=t(x);
eixox=2*pi/100*n;
stem(eixox,abs(X))
para vrios valores de . Interprete os resultados.
Exerccio 61
Verique o espectro de uma sequncia x que consista numa soma de duas senoides, com diferentes frequnciase diferentes amplitudes.
A FFT inversa de um espectro discreto X calculada usando-se o comando it(X). O resultado uma sequncia temporal com o mesmo comprimento de X , a qual a sequncia de amostrascujo espectro discreto X .
4 Transformada Z
A transformada Z uma generalizao da transformada de Fourier. Uma de suas utilidades ter notao
mais simples do que a transformada de Fourier. Outra utilidade a de facilitar a visualizao de propriedades
de sistemas de tempo discreto.
A transformada de Fourier foi denida na seo 3.9 como:
X(ej) =
n=
x[n]ejn (46)
Na denio da transformada Z, troca-se a expresso ej da transformada de Fourier por uma varivel complexaz, obtendo-se:
X(z) =
n=
x[n]zn (47)
Na denio da transformada Z, z uma varivel complexa que pode assumir qualquer valor. Quanto expresso ej , ela tambm um nmero complexo, mas s pode assumir valores cujo mdulo valha 1. Assim,a transformada de Fourier e a transformada Z s coincidem quando o mdulo da varivel z for restrito a 1.
-
Ricardo Pires - Processamento Digital de Sinais 39
De forma similar usada com a transformada de Fourier, uma notao usada para se indicar um par formado
por uma sequncia e sua transformada Z :
x[n]Z X(z) (48)
Exerccio 62
Qual a transformada Z da sequncia dada na tabela 14?
V-se que a transformada Z de uma sequncia apresenta cada valor desta sequncia multiplicado pela varivel
z elevada ao negativo do instante daquele valor na sequncia.
Exerccio 63
Qual a transformada Z de uma verso atrasada da sequncia do exerccio anterior (considere atraso unitrio)?
V-se que atrasar uma sequncia em uma unidade de tempo corresponde a multiplic-la por z1 no domnioz. Atras-la de k unidades de tempo corresponde a multiplic-la por zk. Adiant-la corresponde a multiplic-lapor z elevada a um expoente positivo, cujo valor o nmero de unidades de tempo de adiantamento.
Exerccio 64
Se a transformada Z de uma sequncia x[n] for chamada de X(z), qual ser a transformada Z da sequncia12x[n 3]?
Exerccio 65
Se a transformada Z de uma sequncia x[n] for chamada de X(z), qual ser a transformada Z da sequnciax[n] 13x[n 1] + 12x[n 3]?
Exerccio 66
Se a transformada Z de uma sequncia x[n] for chamada de X(z) e a transformada Z de uma sequncia y[n] forchamada de Y (z), qual ser a transformada Z da equao y[n] = x[n] 13x[n 1] + 12x[n 3] 110y[n 2]?
4.1 Transformada Z e Equaes de Diferenas
Conforme visto na seo 3.7, muitos sistemas de tempo discreto so projetados para implementar equaes
de diferenas do tipo:
Nk=0
aky[n k] =Mk=0
bkx[n k] (49)
A transformada Z da equao 49 :
-
Ricardo Pires - Processamento Digital de Sinais 40
Nk=0 akz
kY (z) =M
k=0 bkzkX(z)
Y (z)(Nk=0 akzk) = X(z)(Mk=0 bkzk) H(z) = Y (z)
X(z) =M
k=0bkz
k
N
k=0akzk
(50)
em que H(z) a funo de transferncia do sistema, no domnio z.
Exerccio 67
Qual a funo de transferncia no domnio z do sistema que implementa
y[n] = x[n] 13x[n 1] + 1
2x[n 3] 1
10y[n 2] ?
Exerccio 68
Qual a funo de transferncia no domnio z do sistema que implementa
y[n] = x[n] 13x[n 1] + 1
2x[n 3] ?
A H(z) de um sistema que implementa uma equao de diferenas pode ser escrita de forma que seunumerador e seu denominador apaream como produtos de fatores do tipo (z k), com k sendo um nmerocomplexo 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 innito. Assim, um polo um valor de z que faz com que o denominador de H(z) assumavalor zero.
Exerccio 69
Quais so os zeros e os polos da funo de transferncia dada abaixo?
H(z) =(z 0, 5)(z + 0, 5)
z(z 0, 8)Escreva uma equao de diferenas correspondente.
Exerccio 70
Quais so os zeros e os polos da funo de transferncia dada abaixo?
H(z) =1 + 0, 1z1 0, 12z21 0, 6z1 + 0, 25z2
Escreva uma equao de diferenas correspondente.
-
Ricardo Pires - Processamento Digital de Sinais 41
Para se obterem as razes de um polinmio p(x), por exemplo, p(x) = x2 5x + 6, deve-sefornecer este polinmio montando-se um vetor com seus coecientes, usando-se:
octave > p = [1 5 6]e deve-se, em seguida, usar o comando roots :
octave > roots(p)
Exerccio 71
Escreva uma equao de diferenas cuja H(z) tenha um nico zero em 0,8 e tenha dois polos, em 0, 7i.
Exerccio 72
Escreva uma equao de diferenas cuja H(z) tenha zeros em 0, 8 e tenha polos em 0, 5 0, 7i.
Para se obter um polinmio p(x) que possua certas razes, por exemplo, 2 e 3, deve-se 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 sequncia de coecientes de um polinmio que possua as razes fornecidas. No
resultado, o coeciente dado mais esquerda o do termo de maior expoente. Neste exemplo,
o resultado :
1 5 6o que signica que um polinmio cujas razes so 2 e 3
x2 5x+ 6
4.2 Clculo de Resposta em Frequncia Usando a Transformada Z
Sabe-se que a transformada Z, H(z), e a transformada de Fourier, H(ej), coincidem quando |z| = 1, j que|ej | = 1 para qualquer valor de . Para qualquer valor de , ej um nmero complexo com mdulo igual 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.
Exerccio 73
Dada a funo de transferncia:
H(z) =(z 0, 5)(z + 0, 5)
z(z 0, 8)Qual seu mdulo e qual sua fase para = 0? E para = pi2 ? E para = pi?
Pelo que se v no exerccio anterior, para se calcular aquela H(z) em vrias frequncias, calcula-se
H(ej) =(ej 0, 5)(ej + 0, 5)
ej(ej 0, 8)naquelas frequncias.
-
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 diferena entre o valor de z e o valor 0, 5, ou seja, a diferenaentre 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 = pi2 , z = ej
pi
2 = j, (z 0, 5) = j 0, 5. Neste ltimo caso, o mdulo dofator |j 0, 5| =
0, 52 + 12 =
1, 25. Este mdulo igual ao comprimento da linha pontilhada da gura 16,
na qual kz representa o valor do zero deste fator. V-se que o comprimento desta linha igual ao da linhatracejada, a qual liga z = j ao zero de valor 0, 5. Em geral, para uma dada frequncia , o mdulo de um fatordo tipo (z kz), em que kz um zero do sistema, igual distncia entre z = ej e kz. A fase z deste fatortambm est indicada na gura.
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 caracterstica de resposta em frequncia, devem-se
colocar zeros prximos s frequncias para as quais se deseja ganho pequeno e polos prximos s frequncias
para as quais se deseja ganho grande. Escolhidos os zeros e os polos, podem-se construir os polinmios do
numerador e do denominador de H(z). Com a H(z) preparada desta forma, pode-se escrever a equao dediferenas correspondente. E, nalmente, tendo-se a equao de diferenas, pode-se implementar o sistema em
hardware ou em software.
-
Ricardo Pires - Processamento Digital de Sinais 44
Referncias
[1] OPPENHEIM,A.V., SCHAFER,R.W.
Discrete-Time Signal Processing
Prentice-Hall, 1989
[2] http://www.octave.org, acessado em 23/12/2008
[3] http://www.ti.com, acessado em 26/12/2008
[4] CARLSON,A.B.; CRILLY,P.; RUTLEDGE,J.
Communication Systems
McGraw-Hill, 2001
[5] http://www.mp3-converter.com/mp3codec, acessado em 17/05/2009
IntroduoSinais de Tempo DiscretoSequnciasOperaes Bsicas sobre SequnciasSequncias BsicasImpulso de Tempo DiscretoDegrau UnitrioSequncia ExponencialSequncia SenoidalSequncia Exponencial Complexa
Amostragem de Sinais de Tempo Contnuo
Sistemas de Tempo DiscretoSistemas com Memria x Sistemas sem MemriaSistemas Lineares x Sistemas No LinearesSistemas Variantes no Tempo x Sistemas Invariantes no TempoSistemas Causais x Sistemas No CausaisEstabilidade de SistemasSistemas Lineares e Invariantes no TempoEstabilidade de Sistemas LITCausalidade de Sistemas LIT
Equaes de Diferenas Lineares a Coeficientes ConstantesRepresentao no Domnio da FrequnciaRepresentao de Sequncias por Transformada de FourierTransformada de Fourier Discreta
Transformada ZTransformada Z e Equaes de DiferenasClculo de Resposta em Frequncia Usando a Transformada Z