Escolar Documentos
Profissional Documentos
Cultura Documentos
ProcessamentoDigitaldeSinais PDF
ProcessamentoDigitaldeSinais PDF
Notas de Aula
TEORIA
(a) x[n] = n , 6 n 6
2
sinal:
stem(-6:6, (-6:6).^2);
1
Processamento Digital de Sinais Aula 1T Professor Marcio Eisencraft fevereiro 2007
A segunda amostra deste sinal x[5] = 25 . Este sinal tem 6 (6) + 1 = 13 amos-
tras.
(b) y[n] = (0,9) n , n N
As amostras deste sinal so { y[ n]] = {1;0,9;0,81;0,729;0,6561;...} . A figura a seguir
mostra as 50 primeiras amostras deste sinal.
Repare que este um sinal com infinitas amostras e, por exemplo, y[0] = 1 .
stem (0:50, (0.9).^(0:50))
Os exemplos acima mostram que um sinal de tempo discreto pode ser uma
seqncia de comprimento finito ou infinito. Alm disso, um sinal de compri-
mento finito definido no intervalo N1 n N 2 tem comprimento ou durao:
N = N 2 N1 + 1 .
Exerccio
1. (CARLSON, 1998; p. 44) Um sinal chamado de simplesmente definido
(simply-defined) se ele representado por uma nica equao e chamado
2
Processamento Digital de Sinais Aula 1T Professor Marcio Eisencraft fevereiro 2007
(n + 1)
(c) x[n] = 2 , n
n 2 1, n 0
(d) x[n] =
n +1 0, n < 0
1 (1 + n ), n 0
(e) x[n] =
1 (1 n ), n < 0
3
Processamento Digital de Sinais Aula 1T Professor Marcio Eisencraft fevereiro 2007
1.1.1. Produto
A operao produto entre duas seqncias x[ n] e y[n] , representada por
w1 [n] = x[n] y[n] , consiste em multiplicar, para cada valor de n as amostras das
seqncias x[ n] e y[n] .
Esquematicamente, esta operao representada pelo smbolo mostrado a se-
guir. Esta operao tambm chamada de modulao na rea de telecomuni-
caes.
1.1.2. Soma
A operao soma entre duas seqncias x[ n] e y[n] , representada por
w2 [n] = x[n] + y[n] , consiste em somar, para cada valor de n as amostras das se-
qncias x[ n] e y[n] .
Esquematicamente, esta operao representada pelo smbolo mostrado a se-
guir que chamado de somador.
4
Processamento Digital de Sinais Aula 1T Professor Marcio Eisencraft fevereiro 2007
Esquematicamente temos:
Exerccio
2. (MITRA, 2001; p. 106) Considere as seguintes seqncias de comprimento 7
definidas para 3 n 3 :
x[n] = {3; 2; 0; 1; 4; 5; 2}
y[n] = {0; 7; 1; 3; 4; 9; 2} .
w[n] = { 5; 4; 3; 6; 5; 0; 1}
5
Processamento Digital de Sinais Aula 1T Professor Marcio Eisencraft fevereiro 2007
A explicao do por que deste smbolo ser dada mais tarde quando estudar-
mos Transformadas z.
Exerccios
3. Um sinal de tempo discreto x[ n] , definido para todo n inteiro dado por
x[n] = 2n + 1 . Ele passado por um atrasador, obtendo-se o sinal w[n] = x[n 1] .
5. (MITRA, 2001; p. 47) Descreva uma formula para o sinal y[n] obtido do fil-
tro mostrado em diagrama de blocos na figura a seguir:
6
Processamento Digital de Sinais Aula 2T Professor Marcio Eisencraft fevereiro 2007
1
Processamento Digital de Sinais Aula 2T Professor Marcio Eisencraft fevereiro 2007
Qualquer sinal x(t ) pode ser decomposto numa soma de dois outros sinais, um
par x p (t ) e outro mpar xi (t ) , ou seja,
x(t ) = x p (t ) + xi (t ) , (1)
com x p ( t ) = x p (t ) e xi ( t ) = xi (t )
Trocando t por t na expresso (1), temos:
x( t ) = x p ( t ) + xi ( t ) = x p (t ) xi (t ) (2)
1
xp ( t ) = ( x( t ) +x( t ) )
2
1
xi ( t ) = ( x( t ) x( t ) )
2
Sinal mpar:
x[ n] = x[n] para todo n .
Demonstra-se tambm, de forma anloga ao que foi feito antes, que qualquer
sinal pode ser decomposto em uma componente par e numa componente m-
par.
x p [n ] = (x[n ] + x[ n ])
1
2
xi [n ] = ( x[n ] x[ n ])
1
2
A figura seguinte mostra exemplos de sinais de tempo discreto par e mpar.
2
Processamento Digital de Sinais Aula 2T Professor Marcio Eisencraft fevereiro 2007
Exerccios
1. (1041) (MITRA, 2001; p.106) Determine a componente par e mpar das se-
qncias a seguir definidas no intervalo 3 n 3 :
(a) x[n] = {3; 2; 0; 1; 4; 5; 2}
(b) y[n] = {0; 7; 1; 3; 4; 9; 2}
(c) w[n] = { 5; 4; 3; 6; 5; 0; 1}
1
f =
T
Tambm definimos a freqncia angular do sinal, medida em radianos por
segundo como:
2
=
T
3
Processamento Digital de Sinais Aula 2T Professor Marcio Eisencraft fevereiro 2007
Exerccio
2. (HAYKIN, 2000; p. 37) A figura a seguir mostra uma onda triangular. Qual
a freqncia fundamental desta onda? Expresse a freqncia fundamental em
unidades de Hz ou rad/s.
2
=
N ,
4
Processamento Digital de Sinais Aula 2T Professor Marcio Eisencraft fevereiro 2007
Exerccio
3. (HAYKIN, 2000; p. 78) Determine se os seguintes sinais so peridicos. Se
forem peridicos, encontre o perodo fundamental.
(a) x[n] = ( 1)n
(b) x[n] descrito na figura a seguir.
v 2 (t )
p(t ) = ou p (t ) = Ri (t )
2
R
Vemos assim que a potncia instantnea p(t ) proporcional amplitude do
sinal elevada ao quadrado. Alm do mais, para R = 1 , vemos que a potncia
p(t ) exatamente igual amplitude ao quadrado do sinal.
5
Processamento Digital de Sinais Aula 2T Professor Marcio Eisencraft fevereiro 2007
p(t ) = x 2 (t )
Lembrando que a energia o produto da potncia pelo tempo, costuma-se de-
finir a energia total do sinal x(t ) como:
x (t )dt = x 2 (t )dt .
T
E = lim 2 2
T T 2
P = lim T x (t )dt .
1 T2 2
T T 2
P = T x (t )dt .
1 T2 2
T 2
A raiz quadrada da potncia mdia P chamada de valor mdio quadrtico
(rms root-mean-square) do sinal x(t ) .
6
Processamento Digital de Sinais Aula 2T Professor Marcio Eisencraft fevereiro 2007
N
x 2 [n] .
1
P = lim
N 2 N + 1
n= N
x [n] .
1
P= 2
N n =0
0 < P < .
Pode-se mostrar que as classificaes de energia e potncia de sinais so mu-
tuamente exclusivas. Em especial, um sinal de energia tem potncia mdia ze-
ro enquanto que um sinal de potncia tem energia infinita.
Exerccios
4. (HAYKIN, 2000; p. 39) Qual a energia total do pulso retangular mostrado na
figura a seguir?
Resposta: A 2T1
7
Processamento Digital de Sinais Aula 2T Professor Marcio Eisencraft fevereiro 2007
Resposta: 1
Resposta: 1/3
7. (HAYKIN, 2000; p. 40) Qual a energia total do sinal de tempo discreto mos-
trado a seguir?
8
Processamento Digital de Sinais - Aula 3T Professor Marcio Eisencraft julho 2006
1
Processamento Digital de Sinais - Aula 3T Professor Marcio Eisencraft julho 2006
Exerccio
1. Esboce os seguintes sinais:
(a) a[n] = 2 [n] (b) b [ n ] = 2 [ n ] + 3 [ n 1 ] + 0, 5 [ n 2 ]
Um sinal de tempo discreto arbitrrio pode ser representado como uma soma
ponderada de impulsos. Por exemplo, o sinal a seguir:
2
Processamento Digital de Sinais - Aula 3T Professor Marcio Eisencraft julho 2006
Exerccio
2. Expresse os seguintes sinais como somas ponderadas de funes impulsivas.
3
Processamento Digital de Sinais - Aula 3T Professor Marcio Eisencraft julho 2006
Exerccios
3. (1022) Esboce o seguinte sinal:
w[n] = u[n] u[n 3]
4
Processamento Digital de Sinais - Aula 3T Professor Marcio Eisencraft julho 2006
Exerccios
5. (1021) Calcule a energia e a potncia do sinal x[n] = (0,8)n u[n] e verifique se
ele um sinal de energia ou de potncia.
5
Processamento Digital de Sinais - Aula 3T Professor Marcio Eisencraft julho 2006
creto descrito na Eq. (1) seja peridico, a freqncia angular deve ser um
mltiplo na forma de razo de 2, como indica a Eq. (3).
A figura a seguir ilustra o sinal senoidal x[n] = cos n . Tente calcular o per-
6
Exerccios
6. (1021) Determine se os seguintes sinais de tempo discreto so peridicos. Se
o forem, determine o seu perodo fundamental:
6
Processamento Digital de Sinais Aula 4T Professor Marcio Eisencraft maro 2007
Classificao
Bibliografia
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pginas 59-70.
LATHI, Bhagwandas Pannalal. Signal processing and linear systems. California: Berkeley, c1998. 734 p.
ISBN 0941413357. Pginas 562-572.
y[n] = H [x[n]]
Em diagrama de blocos:
x[n] y[n]
H
Exerccios
1. (LATHI, 1998; p. 572) Uma mdia mvel usada para detectar a tendncia
de uma varivel que flutua muito rapidamente como as mdias do mercado
de aes. Uma varivel pode flutuar (para cima ou para baixo) diariamente,
mascarando a sua tendncia de longo prazo.
1
Processamento Digital de Sinais Aula 4T Professor Marcio Eisencraft maro 2007
2
Processamento Digital de Sinais Aula 4T Professor Marcio Eisencraft maro 2007
2.1.1 Memria
Diz-se que um sistema possui memria se sua sada depende de valores pas-
sados ou futuros do sinal de entrada. A extenso temporal de valores passados
dos quais a sada depende define quo longe a memria se estende no passado.
y[n] =
1
(x[n] + x[n 1] + x[n 2])
3
tem memria, uma vez que o valor do sinal de sada y[n] no instante n depende
do valor atual e de dois valores passados do sinal de entrada x[n] .
y[n ] = x 2 [n]
sem memria uma vez que o valor do sinal de sada y[n] no tempo n depende
apenas do valor atual do sinal de entrada x[n] .
2.1.2 Causalidade
3
Processamento Digital de Sinais Aula 4T Professor Marcio Eisencraft maro 2007
y[n] =
1
(x[n] + x[n 1] + x[n 2])
3
y[n] =
1
(x[n + 1] + x[n] + x[n 1])
3
no-causal uma vez que o sinal de sada y[n] depende de um valor futuro do
sinal de entrada, a saber, x[n + 1] .
2.1.4 Linearidade
4
Processamento Digital de Sinais Aula 4T Professor Marcio Eisencraft maro 2007
A. Princpio da superposio
Seja um sistema y[n] = H [x[n]] e sejam y1 [n] a resposta entrada x1 [n] e y 2 [n] a
resposta entrada x2 [n]. Um sistema satisfaz o princpio da superposio se,
quando aplicamos a ele a entrada x S [n] = x1 [n] + x 2 [n] sua sada y S = y1 [n] + y 2 [n].
B. Princpio da homogeneidade
Seja um sistema y[n] = H [x[n]] e seja y1 [n] a resposta entrada x1 [n] . Um sistema
satisfaz ao princpio da homogeneidade se quando aplicamos a ele a entrada
x H [n] = ax1 [n] , a R * , sua sada y H [n] = ay1 [n] .
Exerccios
5
Processamento Digital de Sinais Aula 4T Professor Marcio Eisencraft maro 2007
6
Processamento Digital de Sinais Aula 5T Professor Marcio Eisencraft agosto 2007
Exerccio
1. (1021) Um sistema linear e invariante no tempo tem a seguinte resposta en-
trada x[n] = [n] (resposta impulsiva):
(b) x[n] = [n 2]
(c) x[n] = 2 [n] + 0,5 [n 1]
Resumindo, como qualquer sinal x[n] pode ser descrito como uma soma pon-
derada de impulsos, sendo o sistema LIT e conhecendo a resposta a um im-
pulso, poderemos determinar a sada devida a qualquer entrada x[n] .
Se a entrada de um sistema linear for expressa como uma superposio pon-
derada de impulsos deslocados no tempo, a sada ser uma superposio
ponderada da resposta do sistema a cada impulso deslocado no tempo. Se o
sistema for tambm invariante no tempo, a resposta do sistema a um impulso
deslocado no tempo ser uma verso deslocada no tempo da resposta do sis-
tema a um impulso. Por isso, a sada de um sistema LIT dada por uma su-
perposio ponderada de respostas ao impulso deslocadas no tempo.
Essa superposio chamada de soma de convoluo.
Na aula de hoje analisaremos este fato e suas conseqncias em detalhes.
2
Processamento Digital de Sinais Aula 5T Professor Marcio Eisencraft agosto 2007
Exerccios
2. Escreva o sinal x[n] da figura anterior como uma soma ponderada de impul-
sos.
Vamos analisar agora a sada de um sistema LIT a uma entrada x[n] descrita
pela equao (1) acima.
x[n] y[n]
H
y[n] = H [x[n ]]
h[n] = H [ [n]] (2)
Sendo assim, para uma entrada qualquer x[n] podemos escrever usando as
Equaes (1) e (2):
3
Processamento Digital de Sinais Aula 5T Professor Marcio Eisencraft agosto 2007
y[n] = H [x[n]] = H x[k ] [n k ]
k =
Levando-se em conta que o sistema linear, podemos aplicar a superposio
e a homogeneidade para aplicar o operador a cada uma das parcelas da soma-
tria. Obtemos assim:
y[n] = H [x[k ] [n k ]] = x[k ]H [ [n k ]]
k = k =
4
Processamento Digital de Sinais Aula 5T Professor Marcio Eisencraft agosto 2007
5
Processamento Digital de Sinais Aula 5T Professor Marcio Eisencraft agosto 2007
Exerccio
4. (HAYKIN; VEEN, 2001; p. 88) Suponha que um sistema H LIT tenha a
resposta ao impulso:
1, n = 1
h[n] = 2 n=0
0,
caso contrrio
6
Processamento Digital de Sinais Aula 5T Professor Marcio Eisencraft agosto 2007
e imaginarmos que n est fixo. Desta forma, para calcularmos a sada num certo
instante n0 precisaramos calcular:
y[n0 ] = x[k ]h[n 0 k] = x[k ]h[ (k n )]
0 (4)
k = k =
Exerccios
5. Encontre a resposta nos instantes n = 1 e n = 2 para o sistema e para a entrada
do Exerccio 4 usando a abordagem discutida acima.
7. Escreva uma frmula para wn [k ] para o Exerccio anterior e encontre y[n] pa-
ra todo n .
3 k n 3 n +1
RESP:
, 0 k n 41 , n 0
wn [k ] = 4 , y[n] = 4
0
, caso contrrio 0, caso contrrio
Este ltimo exerccio sugere que, em geral, podemos determinar y[n] para to-
do n sem avaliarmos a Eq. (4) para um nmero infinito de deslocamentos
distintos no tempo n . Isto realizado identificando-se os intervalos de n nos
quais wn [k ] tem a mesma forma funcional. Depois, precisamos somente ava-
liar a Eq. (4) usando o wn [k ] associado com cada intervalo. Muitas vezes
7
Processamento Digital de Sinais Aula 5T Professor Marcio Eisencraft agosto 2007
muito til traarmos graficamente tanto x[k ] como h[n k ] quando determi-
namos wn [k ] e identificamos os intervalos apropriados de deslocamento no
tempo. Resumindo:
1. Trace graficamente x[k ] e h[n k ] como uma funo da varivel independente
k . Para determinar h[n k ] , primeiramente reflita h[k ] em torno de k = 0 para
Exerccios
8. (HAYKIN; VEEN, 2001, p. 93) Um sistema LIT tem a resposta ao impulso
dada por:
h[n] = u[n] u[n 10]
Determine a sada deste sistema quando a entrada for o pulso retangular definido
como
x[n] = u[n 2] u[n 7]
8
Processamento Digital de Sinais Aula 5T Professor Marcio Eisencraft agosto 2007
0, n<2
RESP: n 1, 2n6
[ ]
y n = 5, 6 < n 11
16 n, 12 n 16
0, n > 16
9. (HAYKIN; VEEN, 2001, p. 95) Admitamos que a entrada x[n] para um sis-
tema H do tipo LIT seja dada por x[n] = n {u[n] u[n 10]} e que a resposta ao
impulso do sistema seja dada por h[n] = n u[n] em que 0 < < 1 . Encontre a
sada deste sistema.
RESP:
0, n<0
n +1
1 -
y[n] = n , 0n9
1 -
10
1 -
n , n>9
1 -
10. (HAYKIN; VEEN, 2001, p. 96) Admitamos que a entrada de um sistema LIT
com resposta ao impulso h[n] = n {u[n 2] u[n 13]} seja
x[n] = 2{u[n + 2] u[n 12]}. Encontre a sada y[n] .
0, n<0
RESP:
n+2
2 1 - (- n -1
,
) 0 n 10 .
1 - -1
12
2 1 -
y[n] =
( -11
), 11 n 13
1-
-1
(
2 12 1 - n - 24 ) 14 n 23
,
1 - -1
0, n 24
9
Processamento Digital de Sinais Aula 5T Professor Marcio Eisencraft agosto 2007
11. (HAYKIN; VEEN, 2001, p. 97) Suponha que a entrada x[n] e a resposta ao
impulso h[n] de um sistema H do tipo LIT sejam dadas por:
x[n] = u[n] + 2u[n 3] u[n 6]
h[n] = u[n + 1] u[n 10]
12. (HAYKIN; VEEN, 2001, p. 97) Considere um sistema LIT com resposta ao
impulso:
1
, 0n3
h[n] = 4
0, caso contrrio
Encontre uma expresso que relacione diretamente uma entrada arbitrria x[n]
sada deste sistema, y[n] .
1
RESP: y [n ] = ( x [ n ] + x [ n 1 ] + x [ n 2 ] + x [ n 3 ]) .
4
10
Processamento Digital de Sinais Aula 7T Professor Marcio Eisencraft julho 2006
A sada desta conexo de sistemas y[n] a soma das sadas de cada sistema:
1
Processamento Digital de Sinais Aula 7T Professor Marcio Eisencraft julho 2006
y[n] = x[k ]h [n k ] + x[k ]h [n k ]
1 2
k = k =
y[n] = x[k ](h [n k ] + h [n k ]) = x[k ]h[n k ]
1 2
k = k =
sendo h[n] =h1 [n] + h2 [n] . Ou seja, tudo se passa como se a resposta impulsiva do
sistema equivalente ao da Figura 1 fosse o da Figura 2 a seguir:
2
Processamento Digital de Sinais Aula 7T Professor Marcio Eisencraft julho 2006
y[n ] = z[n] h2 [n] = z[k ]h [n k ]
2 (1)
k =
h [m]h [n l m] = h[n l]
m =
1 2 (4)
3
Processamento Digital de Sinais Aula 7T Professor Marcio Eisencraft julho 2006
Exerccio
1. (HAYKIN; VEEN, 2001; p.110) Considere a interconexo de sistemas LIT
descrita na figura a seguir. A resposta de cada sistema dada por
h1 [n] = u[n]
h2 [n] = u[n + 2] u[n]
h3 [n] = [n 2]
h4 [n] = n u[n]
Para que este sistema seja sem memria, y[n] deve depender somente de x[n]
e no de x[n k ] para k 0 . Conseqentemente, um sistema LIT de tempo
4
Processamento Digital de Sinais Aula 7T Professor Marcio Eisencraft julho 2006
discreto sem memria se, e somente se, h[k ] = c [k ] , em que c uma cons-
tante arbitrria.
Assim, a condio de ausncia de memria impe fortes restries na forma
da resposta ao impulso. Todos os sistemas LIT sem memria realizam multi-
plicao escalar com a entrada.
Exerccio
2. (HAYKIN; VEEN, 2001, p. 113) Um sistema de tempo discreto tem a res-
posta ao impulso:
h[n] = a n u[n + 2]
5
Processamento Digital de Sinais Aula 7T Professor Marcio Eisencraft julho 2006
Exerccio
3. (HAYKIN; VEEN, 2001, p. 116) Encontre a resposta ao degrau de um siste-
ma de tempo discreto com resposta ao impulso:
h[n ] = ( a ) u[n ]
n
6
Processamento Digital de Sinais Aula 7T Professor Marcio Eisencraft julho 2006
7
Processamento Digital de Sinais Aula 7T Professor Marcio Eisencraft julho 2006
Exerccio
4. (HAYKIN; VEEN, 2001, p. 114) Considere projetar um sistema de tempo
discreto para eliminar a distoro associada com um eco indesejvel num
problema de transmisso de dados. Suponha que o eco seja representado co-
mo atenuao por uma constante a e um retardo correspondente a uma uni-
dade de tempo na seqncia de entrada. Da, o sinal recebido distorcido, y[n] ,
ser expresso em termos do sinal transmitido x[n] como:
y[n] = x[n] + ax[n 1]
8
Processamento Digital de Sinais Aula 8T Professor Marcio Eisencraft abril 2007
a k +1 y [ n k ] = bk +1 x [ n k ] (1)
k =0 k =0
1
Processamento Digital de Sinais Aula 8T Professor Marcio Eisencraft abril 2007
2
Processamento Digital de Sinais Aula 8T Professor Marcio Eisencraft abril 2007
ou
1 1 1 2
1 + z + z y[n ] = x[n ]
4 16
ou
[ ]
Q z 1 y[n ] = P z 1 x[n ] [ ]
em que Q[z 1 ] e P[z 1 ] so os operadores polinomiais de grau N e M
[ ]
Q z 1 = a1 + a 2 z 1 + a3 z 2 + K + a N +1 z N
P[z ] = b
1
1 + b2 z 1 + b3 z 2 + K + bN +1 z N
Exerccios
1. (LATHI, 1998, p. 611) Resolva iterativamente (apenas os primeiros trs ter-
mos) e escreva as seguintes equaes com a notao operacional:
(a) y[n] 0,5 y[n 1] = 0 , com y[ 1] = 10
(b) y[n] + 2 y[n 1] = x[n] com x[n] = e n u[n] e y[ 1] = 0 .
3
Processamento Digital de Sinais Aula 8T Professor Marcio Eisencraft abril 2007
Assim, temos
[ ]
Q z 1 y0 [n] = 0
ou
(a1 )
+ a 2 z 1 + a 3 z 2 + K + a N +1 z N y 0 [n ] = 0
ou
a1 y 0 [n] + a 2 y 0 [n 1] + K + a N +1 y 0 [n N ] = 0 (2)
nm = m n
Esta equao mostra que uma verso atrasada de n a prpria n multiplicada
por uma constante.
Assim, uma soluo da equao (2) deve ser da forma:
y 0 [n ] = c n (3)
4
Processamento Digital de Sinais Aula 8T Professor Marcio Eisencraft abril 2007
z 1 y 0 [n] = y 0 [n 1] = c n 1
z 2 y 0 [n] = y 0 [n 2] = c n 2
L
z N y 0 [n] = y 0 [n N ] = c n N
Substituindo estes resultados na Equao (2) temos:
a1 y 0 [n] + a 2 y 0 [n 1] + K + a N +1 y 0 [n N ] = 0
a1c n + a 2 c n 1 + K + a N +1c n N = 0
(
c a1 + a 2 1 + K + a N +1 N n = 0 ) (4)
a1 + a2 1 + K + a N +1 N = 0
[ ]
Q 1 = 0 (5)
A soluo proposta c n (Eq. (3)) est correta desde que satisfaa a Equa-
o (5). Para resolv-la, multiplicamos os dois membros por N obtendo:
a1 N + a2 N 1 + K + a N +1 = 0 (6)
que um polinmio de grau N que tem N solues 1 , 2 ,..., N .
c1 1 , c2 2 ,...,
n n
Desta forma a Eq. (2) tambm ter N solues da forma
y0 [n ] = c1 1n + c2 2n + L + c N Nn
em que 1 , 2 ,..., N so as solues da Eq. (5) e c1 , c2 ,..., c N so constantes ar-
bitrrias determinadas a partir de N condies auxiliares, geralmente dadas na
forma de condies iniciais.
O polinmio Q[ 1 ] chamado de polinmio caracterstico do sistema e a
equao Q
1
[ ]
= 0 chamada de equao caracterstica do sistema.
5
Processamento Digital de Sinais Aula 8T Professor Marcio Eisencraft abril 2007
c1 1 ,
n
tes 1 , 2 ,..., N com correspondentes modos caractersticos
c2 2 ,..., cN N .
n n
Se duas ou mais razes coincidirem (razes repetidas), a forma dos modos ca-
ractersticos modificada.
Da mesma forma como em equaes diferenciais, se uma raiz se repete r
vezes (raiz de multiplicidade r ), os modos caractersticos correspondente a
estas razes so n , n n , n 2 n ,..., n r 1 n .
Assim, se um sistema tem razes caractersticas 1 , 2 ,..., N sendo que 1
tem multiplicidade r , sua resposta natural :
y 0 [n ] = c1 1n + c 2 n 1n + c3 n 2 1n + K + c r n r rn + c r +1 rn+1 + c r + 2 rn+ 2 + K + c n nn
Outro problema que no foi abordado o que acontece quando as razes ca-
ractersticas so complexas.
Logicamente, se a equao de diferenas tem coeficientes reais, as razes
complexas s podem aparecer em pares conjugados. As razes complexas
podem ser tratadas exatamente como razes reais, no entanto possvel eli-
minar os nmeros complexos trabalhando com solues reais.
= e j e * = e j
A resposta entrada nula ento dada por
6
Processamento Digital de Sinais Aula 8T Professor Marcio Eisencraft abril 2007
y 0 [n] = c1 n + c 2 * ( ) n
= c1 e jn + c 2 e jn
n n
y 0 [n] =
c
2
n
[e (
j n + )
+ e j ( n + ) ]
= c cos( n + )
n
Exerccio
2. (2022) Encontre a resposta natural para a seguinte equao de diferenas:
y[n + 2] 1,3 y[n + 1] + 0,4 y[n] = x[n] + x[n 1]
7
Processamento Digital de Sinais Aula 8T Professor Marcio Eisencraft abril 2007
y[n] = x[n] h[n] = x[k ]h[n k ]
k =
Exerccio
5. (2022) Dado o sistema:
y[n] 0,9 y[n 1] = x[n] x[n 1]
8
Processamento Digital de Sinais Aula 9T Professor Marcio Eisencraft abril 2007
z n H ( z )z n
em que o fator de amplitude complexa H (z ) ser em geral uma funo da vari-
vel complexa z .
1
Processamento Digital de Sinais Aula 9T Professor Marcio Eisencraft abril 2007
x[n] = z n , (1)
em que z um nmero complexo.
A sada do sistema pode ser determinada atravs da soma de convoluo
y[n ] = h[k ]x[n k ] = h[k ]z nk
=z n
h[k ]z k
(2)
k = k = k =
y[n] = H ( z )z n (3)
em que
H (z ) = h[k ]z k
. (4)
k =
x[n ] = a1 z1n + a 2 z 2n + a 3 z 3n .
2
Processamento Digital de Sinais Aula 9T Professor Marcio Eisencraft abril 2007
3
Processamento Digital de Sinais Aula 9T Professor Marcio Eisencraft abril 2007
Exerccios
1. (OPPENHEIM; WILLSKY; NAWAB, 1997, p.185 modificado) Considere
um sistema LIT cuja sada seja a entrada atrasada de trs amostras, ou seja,
y[n ] = x[n 3] .
Pede-se:
n
3. (MITRA, 2001, p. 277) Mostre que a funo a[n] = z n em que z uma cons-
tante complexa uma autofuno de um sistema LIT de tempo discreto. Seria
v[n] = z n u[n] tambm uma autofuno de um sistema LIT?
4
Processamento Digital de Sinais Aula 11T Professor Marcio Eisencraft abril 2007
1
Processamento Digital de Sinais Aula 11T Professor Marcio Eisencraft abril 2007
e j 30t ,...
po discreto com perodo N 0 pode ser representado por uma srie de Fourier
2
de tempo discreto com freqncia fundamental 0 = e suas harmnicas.
N0
e j ( 2 )n = e jn e j 2n = e jn
A conseqncia deste resultado que a k -sima harmnica idntica har-
mnica k + N 0 .
Para demonstrar isto, seja g k a k -sima harmnica e jk n . Ento 0
g k + N 0 = e j (k + N 0 ) 0 n = e j (k 0 n + 2n ) = e jk 0 n = g k
e
g k = g k + N 0 = g k + 2 N 0 = L = g k + rN 0
2
Processamento Digital de Sinais Aula 11T Professor Marcio Eisencraft abril 2007
em que
N 0 1
1
ak =
N0
x[n]e
n =0
jk 0 n
e 0 =
2
N0
. (3)
3
Processamento Digital de Sinais Aula 11T Professor Marcio Eisencraft abril 2007
a0 , a1e j 0 n , a 2e j 2 0 n , K, a N 0 1e j ( N 0 1) 0 n
A freqncia dessas componentes so zero, 0 , 2 0 ,..., (N 0 1) 0 em que
2
0 = .
N0
ak = ak e jak
O grfico de ak por chamado de espectro de amplitude e o de a k por
chamado de espectro de ngulo (ou fase). Estes dois grficos juntos so
4
Processamento Digital de Sinais Aula 11T Professor Marcio Eisencraft abril 2007
[r ] = [r ]
r =0 r = N0
(4)
Isto ocorre porque o lado direito da Equao (4) a soma de todos os N 0 va-
lores consecutivos de [r ]. Como [r ] peridica, esta soma precisa ser a
mesma independentemente de onde a comeamos.
Por outro lado, e jk n peridica com perodo N 0 por que:
0
ca de perodo N 0 .
1
e ak =
N0
x[n]e
n= N0
jk 0 n
(6)
5
Processamento Digital de Sinais Aula 11T Professor Marcio Eisencraft abril 2007
Mesmo assim, precisamos lembrar que para sintetizar x[n] precisamos adi-
cionar apenas N 0 componentes sucessivas.
2
As componentes espectrais a k esto separadas pela freqncia 0 = e e-
N0
As equaes (7) e (8) mostram que tanto x[n] quanto seu espectro a k so pe-
ridicos e ambos tm exatamente o mesmo nmero de componentes ( N 0 ) em
um perodo. O perodo de x[n] N 0 e o de a k 2 radianos.
ak = a k e ak = a k
sendo assim, ak uma funo par e a k uma funo mpar de k .
Exerccios
1. (3022) Seja o seguinte sinal de tempo discreto peridico:
6
Processamento Digital de Sinais Aula 11T Professor Marcio Eisencraft abril 2007
para 0 k N 0 1 .
7
Processamento Digital de Sinais Aula 12T Professor Marcio Eisencraft julho 2006
x[n] = k
a e jk 0 n
k = N0
em que
x[n]e
1 jk0 n
ak = e 0 =
2
.
N0 n= N0 N0
ak = a k e ak = a k
sendo assim, ak uma funo par e a k uma funo mpar de k .
1
Processamento Digital de Sinais Aula 12T Professor Marcio Eisencraft julho 2006
x[n] =
1
ak
2 2
N n= N k= N
2
Processamento Digital de Sinais Aula 12T Professor Marcio Eisencraft julho 2006
Exerccios
1. (OPPENHEIM; WILLSKY; NAWAB, 1997, p. 216) Considere o sinal:
2 2 4
x[n] = 1 + sin n + 3 cos n + cos n+ .
9 9 9 2
2
Neste caso N 0 = 32 e 0 = = . Desta forma,
32 16
x[n] = a e
jk n
16
k
k = 32
em que
[ ]
1 jk n
ak =
32 n= 32
x n e 16
(*)
3
Processamento Digital de Sinais Aula 12T Professor Marcio Eisencraft julho 2006
1 4 jk 16 n
ak = e
32 n=4
j k
Esta uma progresso geomtrica com razo e 16
. Assim,
k 9
4k j j 416k j
k 5
1 16 1 e
j 16
1 e e 16
ak = e = =
32 j
k
32 j
k
1 e 16 1 e 16
0 , 5k
j j 4,165k j
k 4 , 5
4,5k
e 16
e e 16 sin
1 1 16
= =
32 j 0,165k j 0,165k j
0 , 5k
32 0,5k
e e e 16
sin
16
1 sin (4,5k 0 )
=
32 sin (0,5k 0 )
com 0 = .
16
Este resultado mostrado na figura a seguir. Repare que neste exemplo a k
real o que esperado j que x[n] par (ver tabela da Figura 1).
ak
7
c. ( 1) x[n] = 1
n=2
n
4
Processamento Digital de Sinais Aula 12T Professor Marcio Eisencraft julho 2006
determine os valores de a 0 , a 1 , a 2 e a 3 .
5
Processamento Digital de Sinais Aula 13T Professor Marcio Eisencraft julho 2006
j N2 k jk N2 n
y[n] = ak H e 0 e 0
.
k = N0
Conseqentemente, a filtragem pode ser convenientemente conseguida atra-
vs do uso de sistemas LIT com uma resposta em freqncia conveniente-
mente escolhida e mtodos no domnio da freqncia provem as ferramentas
ideais para estudar esta importante classe de aplicaes.
Nesta aula e na prxima, daremos uma primeira olhada neste assunto atravs
de alguns exemplos.
1
Processamento Digital de Sinais Aula 13T Professor Marcio Eisencraft julho 2006
2
Processamento Digital de Sinais Aula 13T Professor Marcio Eisencraft julho 2006
Figura 1 Magnitudes das respostas em freqncia de circuitos equalizadores para uma srie
particular de alto-falantes, mostrado numa escala de 20 log H que conhecida como escala
decibel (dB). (a) Filtro de baixas-freqncias controlado por uma chave de duas posies; (b)
limites de freqncia superiores e inferiores de um filtro de freqncia continuamente ajust-
vel; (c) resposta em freqncia fixa do estgio de equalizao (OPPENHEIM; WILLSKY;
NAWAB, 1997).
3
Processamento Digital de Sinais Aula 13T Professor Marcio Eisencraft julho 2006
4
Processamento Digital de Sinais Aula 13T Professor Marcio Eisencraft julho 2006
Exerccios
1. Considere o seguinte sistema mdia mvel j analisado em aulas anteriores:
5
Processamento Digital de Sinais Aula 14T Professor Marcio Eisencraft abril 2007
1
Processamento Digital de Sinais Aula 14T Professor Marcio Eisencraft abril 2007
Sistemas com esta forma podem ser usados para cumprir um grande nmero
de objetivos de filtragem, incluindo filtragem seletiva em freqncia.
Um exemplo freqentemente usado deste tipo de filtro o filtro mdia mvel
em que a sada y[n] para qualquer n - por exemplo, n0 - a mdia dos valo-
res de x[n] nas vizinhanas de n0 .
A idia bsica que tomando a mdia dos valores localmente, componentes
de alta freqncia (rpidas) da entrada sero amenizadas e as variaes de al-
ta freqncia permanecero. Assim, este filtro corresponde a uma suavizao
ou filtragem passa-baixas da seqncia original. Um exemplo simples com
dois pontos foi visto na aula passada.
Um exemplo um pouco mais complexo o filtro mdia mvel com trs pon-
tos que tem a seguinte relao entrada-sada:
2
Processamento Digital de Sinais Aula 14T Professor Marcio Eisencraft abril 2007
Mostre que se a entrada x[n] para este sistema tiver perodo N = 3 , a sada y[n]
s tem um coeficiente da srie de Fourier no nulo por perodo.
3
Processamento Digital de Sinais Aula 15T Professor Marcio Eisencraft novembro 2007
O par (1) e (2) pode ser aplicado a seqncias quaisquer, desde que:
h[n] <
n =
O par (1) e (2) conhecido por par DTFT em que (1) a anlise e (2) a sn-
tese.
Exerccios
1. (HAYKIN; VEEN, 2001, p. 191) Encontre a TFTD da seqncia x[n] = n u[n]
com real e sendo < 1 .
1
Processamento Digital de Sinais Aula 15T Professor Marcio Eisencraft novembro 2007
1, W
H (e j ) =
0, W < <
< < .
1, n = 2
Resposta: x[n] = .
0, caso contrrio
2 n , 0n9
6. Encontre a TFTD de x[n] = .
0, caso contrrio
1 210 e j 10
Resposta: X (e j ) = .
1 2e j
Y (e j ) = X (e j ) H (e j ) .
2
Processamento Digital de Sinais Aula 15T Professor Marcio Eisencraft novembro 2007
3
Universidade Presbiteriana Mackenzie
Curso de Engenharia Eletrica
PRATICA
1
Processamento Digital de Sinais Aula 1P Professor Marcio Eisencraft agosto 2007
(f) Nmero de e-mails que chegaram sua caixa de entrada verificada a cada meia hora.
2
Processamento Digital de Sinais Aula 1P Professor Marcio Eisencraft agosto 2007
3
Processamento Digital de Sinais Aula 1P Professor Marcio Eisencraft agosto 2007
Exerccio
1. Classifique todos os sinais mostrados nas figuras anteriores em sinais de tempo discreto
ou tempo contnuo; analgicos ou digitais.
o Sensoriamento remoto;
http://www.ltid.inpe.br
4
Processamento Digital de Sinais Aula 1P Professor Marcio Eisencraft agosto 2007
Exerccios
2. Classifique os seguintes sinais em:
Tempo discreto ou tempo contnuo
Analgico ou digital
5
Processamento Digital de Sinais Aula 2P Professor Marcio Eisencraft agosto 2007
1. Introduo
O Matlab uma ferramenta muito til no estudo de problemas e no desenvolvimento
de projetos em Engenharia sendo utilizado em universidades e empresas ao redor do mundo.
Na rea de Engenharia Eltrica e, mais precisamente, em Processamento de Sinais
vem adquirindo um carter quase fundamental.
O principal motivo deste sucesso a utilizao macia de vetores e matrizes para re-
presentar dados de uma forma simples (Matlab = Matrix Laboratory). Esta forma de repre-
sentao praticamente elimina a necessidade de utilizao de laos FOR ou WHILE simplifi-
cando e acelerando muito os programas. EM OUTRAS PALAVRAS, EM MATLAB, SEM-
PRE QUE POSSVEL (OU SEJA, QUASE SEMPRE!) NO UTILIZE LAOS FOR OU
WHILE!
O objetivo desta aula (re) ver alguns conceitos bsicos de programao em Matlab.
Durante o curso veremos muitos outros detalhes tcnicos.
Lembre-se: sempre que voc ficar na dvida sobre a utilizao de um comando, a fun-
o <help comando> pode lhe ajudar.
2. Gerando vetores
2.1. O operador :
O operador : utilizado para gerar e acessar elementos de um vetor.
Vetor = valor inicial: passo: valor final
Quando o passo unitrio, ele pode ser omitido.
Exemplos de utilizao
A. gerar um vetor x com os nmeros inteiros de zero a cinco
>> x = 0:5
x =
0 1 2 3 4 5
1
Processamento Digital de Sinais Aula 2P Professor Marcio Eisencraft agosto 2007
>> y = 0:0.1:1
y =
0 0.1000 0.2000 0.3000 0.4000 0.5000
0.6000 0.7000 0.8000 0.9000 1.0000
Exerccio
1. Gerar um vetor x de nmeros pares de 0 a 50.
Comandos:
>> x = zeros(1,10)
x =
0 0 0 0 0 0 0 0 0 0
Exerccio
3. Gere uma matriz 2x2 constituda por zeros.
Comandos:
Exerccio
4. Construa um vetor constitudo pelos nmeros pares de 0 a 10 seguido pelos nmeros m-
pares de 0 a 10.
Comandos:
3
Processamento Digital de Sinais Aula 2P Professor Marcio Eisencraft agosto 2007
Exemplos de aplicao
I) x + y [2 2 10]
ii) x y [2 4 4]
iii) x.*y [0 -3 21]
Exerccio
5. Sendo x = [2.1 -2 3] e y = [0 -1 3], escreva o vetor resultante das seguintes
operaes:
i) x+y ii) x-y iii) 3*x iv) x.*y
3. Grficos
Uma outra caracterstica muito interessante do Matlab para um engenheiro a facili-
dade de se construir grficos complicados com ele de uma maneira muito simples. Os dois
comandos mais utilizados so:
4
Processamento Digital de Sinais Aula 2P Professor Marcio Eisencraft agosto 2007
Exemplos de aplicao
a. Faa um grfico da funo y = sin(x) para x [0,4 ]
>> x = linspace(0,4*pi,5000);
>> y = sin(x);
>> plot(x,y)
5
Processamento Digital de Sinais Aula 2P Professor Marcio Eisencraft agosto 2007
Exerccios
( ) ( )
2 2
6. Faa um grfico de y [ n ] = sin n e z [ n ] = cos n para 30 n 30 na
12 12
mesma figura. O grfico de y [ n ] dever ficar em azul e o de z [ n ] em vermelho.
Comandos:
4. Scripts
At este ponto, todas as nossas interaes com o Matlab tm sido atravs da linha de co-
mando. Entramos comandos ou funes na linha de comando e o Matlab interpreta nossa
entrada e toma a ao apropriada. Este o modo de operao preferencial quando nossa
sesso de trabalho curta e no repetitiva.
No entanto, o real poder do Matlab para anlise e projeto de sistemas vm da sua habili-
dade de executar uma longa seqncia de comandos armazenados num arquivo. Estes ar-
quivos so chamados de arquivos-M porque seus nomes tm a forma nomearq.m.
Um script um tipo de arquivo-M. Scripts so arquivos-textos comuns e podem ser cria-
dos usando um editor de texto.
Um script uma seqncia de comandos e funes comuns usados na linha de comando.
Um script invocado na linha de comando digitando-se o nome do arquivo. Scripts po-
dem invocar outros scripts. Quando um script invocado, o Matlab executa os comandos
e funes no arquivo como se eles tivessem sido digitados diretamente na linha de co-
mando.
6
Processamento Digital de Sinais Aula 2P Professor Marcio Eisencraft agosto 2007
7
Processamento Digital de Sinais Aula 2P Professor Marcio Eisencraft agosto 2007
Ao escrever scripts sempre interessante utilizar comentrios, linhas que comeam com
%. Se voc escrever linhas de comentrio antes do comeo das instrues do script Ao
utilizar o comando help nomearq o Matlab apresenta estas linhas na tela. Por exem-
plo,
>> help plotdata
Este e um script para fazer um grafico da funcao y = sin(alfa*t)
O valor de alfa precisa existir no espaco de trabalho antes
de se chamar este script
5. Funes
Assim como os scripts, as funes definidas pelo usurio esto entre os recursos mais im-
portantes e utilizados do Matlab. Uma funo um script que recebe um ou mais parme-
tros do teclado e pode devolver um ou mais parmetros ou executar uma tarefa.
O formato de uma funo no Matlab o seguinte
function [outarg1, outarg2,...] = fname(inarg1, inarg2,...)
% Um comentrio
% Mais um comentrio
....
(cdigo executvel)
....
fname o nome da funo criada e deve ser o nome do arquivo m em que foi gravado o
arquivo. inarg1, inarg2,... so os argumentos de entrada e outarg1, ou-
targ2,... so os argumentos de sada.
A seguir damos um exemplo bastante simples de funo. A funo somateste recebe
dois argumentos a, b e retorna a soma deles.
function res = somateste(a,b);
%Funcao para somar dois numeros a e b
res = a+b;
Uma vez que voc tenha salvado este arquivo como somateste no diretrio corrente,
voc pode us-lo como nos exemplos a seguir:
>> somateste(2, 4)
ans =
6
>> a = 5;
>> b = -3;
>> res = somateste(a,b)
8
Processamento Digital de Sinais Aula 2P Professor Marcio Eisencraft agosto 2007
res =
2
Exerccios
7. (a) Digite o script plotdata da pgina 7 e gere os grficos dos exemplos subseqentes.
(b) Reescreva o script plotdata visto acima de forma que ele seja uma funo que re-
cebe a varivel alfa. Ou seja, escreva uma funo que faa um grfico da funo
y (t ) = sin t no intervalo 0 t 1 e um parmetro escolhido pelo usurio. Por e-
xemplo, o comando:
>> plotdada(50)
deve gerar o grfico
Resposta (listagem):
8. Gere um vetor de 100 valores aleatrios com distribuio uniforme no intervalo [0,1] .
Dica: use a funo rand (no sabe como usar? Para que serve o help?).
Comandos:
9. (1022) Escreva uma seqncia de comandos do Matlab que fornea um vetor contendo
100 valores aleatrios uniformemente distribudos no intervalo -1 a 1 e que faa um grfi-
co deste sinal.
Comandos:
9
Processamento Digital de Sinais Aula 2P Professor Marcio Eisencraft agosto 2007
10. (1031) Escreva uma seqncia de comandos Matlab que gere um grfico do sinal
x[n] = cos n + 0,2r [n] onde r [n ] um vetor de nmeros aleatrios com distribuio
8
uniforme entre -1 e 1. Faa 0 n 99 . (Dica: use o comando rand).
Comandos:
11. (1032) Escreva uma funo Matlab chamada pulso2graf cujas entradas sejam dois
nmeros inteiros a e b com a < b . A funo dever fazer o grfico de um pulso com
amplitude 2 no intervalo a n b . O grfico deve comear em a 2 e terminar em
b+2.
Por exemplo, ao digitarmos:
>> pulso2graf(2,8);
devemos obter a figura
Listagem da funo:
10
Processamento Digital de Sinais Aula 3P Professores Marcio Eisencraft agosto 2007
1. Introduo
Foi visto nas aulas tericas que os objetos sobre os quais trabalhamos na rea de Proces-
samento Digital de Sinais so os sinais de tempo discreto. Estes sinais podem ser vistos
como uma simples seqncia de nmeros.
Na Aula 2P, por outro lado, foi visto que um dos principais recursos do Matlab trabalhar
de forma muito simples e intuitiva com seqncias (ou vetores).
Na aula de hoje, so estudados alguns exemplos de como gerar seqncias (especialmente
as seqncias bsicas vistas na Aula 3T) usando o Matlab. Em outras aulas de prtica ser
explorado o que se pode fazer com essas seqncias no Matlab.
Sinais degrau deslocados no tempo podem ser utilizados para descrever pulsos retangula-
res. Por exemplo, a seguinte seqncia de comandos gera um pulso retangular centralizado
na origem.
>> n = -50:50;
>> u1 = [zeros(1,40) ones(1,61)];
>> u2 = [zeros(1,61) ones(1,40)];
>> pulso = u1-u2;
>> subplot(3,1,1); stem(n,u1);
>> subplot(3,1,2); stem(n,u2);
>> subplot(3,1,3); stem(n,pulso);
2
Processamento Digital de Sinais Aula 3P Professores Marcio Eisencraft agosto 2007
Exerccio
1. Um pulso retangular x[n] definido por
8, 0 n 10
x[n] =
0, caso contrrio
2. (INGLE; PROAKIS, 2000, p.13) (1041) Escreva comandos Matlab para gerar grficos de
cada um dos seguintes sinais nos intervalos indicados:
(a) x[n] = 2 [n + 2] [n 4] , 5 n 5 .
(b) x[n] = n(u[n] u[n 10]) + 10e 0,3(n 10 ) (u[n 10] u[n 20]) , 0 n 20 .
RESOLUO (comandos Matlab utilizados):
3
Processamento Digital de Sinais Aula 3P Professores Marcio Eisencraft agosto 2007
>> n = -20:20;
>> x = (0.85).^n;
>> stem(n,x);
Exerccio
3. Faa uma rotina (arquivo .m) chamado expgraf em Matlab cuja entrada seja um nme-
ro real a. Este programa dever fazer o grfico de x[n] = a n , para 0 n 10 . Por exem-
plo, ao digitarmos:
>> expgraf(0.5);
deveremos obter o grfico
RESOLUO:
4
Processamento Digital de Sinais Aula 3P Professores Marcio Eisencraft agosto 2007
Lembrando do que Foi visto na Aula 3T, um sinal senoidal de tempo discreto
x[n] = A sin(n + ) peridico de perodo fundamental N se existir um N inteiro posi-
2m
tivo tal que = , com m inteiro. Aplicando esta condio ao exemplo anterior, ve-
N
mos que ele peridico de perodo N = 12 o que confirmado pelo grfico acima.
Exerccios
4. Faa em uma mesma figura (use subplot) os grficos dos sinais x[n] = cos(0,75n ) e
y[n] = cos(1,25n ) . Compare os grficos obtidos. O grfico deve conter dois perodos dos
sinais.
RESOLUO (comandos Matlab utilizados e comentrios):
5
Processamento Digital de Sinais Aula 3P Professores Marcio Eisencraft agosto 2007
5. Faa uma rotina (arquivo .m) cosgraf em Matlab cuja entrada seja os nmeros reais A
6
e . Este programa dever fazer o grfico de x[n] = A cos(n ) , para 0 n . Por
exemplo, ao se digitar:
>> cosgraf(1,pi/6);
deve-se obter o grfico
7. Modifique o programa do exerccio anterior para que ele calcule a energia de um sinal
x[n].
RESPOSTAS (Programa e resultados)
6
Processamento Digital de Sinais Aula 4P Professor Marcio Eisencraft - agosto 2007
O objetivo desta aula reforar o contedo visto na Aula 4T, ou seja, sistemas (ou filtros)
de tempo discreto e sua classificao. Alm disso, veremos uma maneira de implementar
estes filtros no Matlab usando o pacote simulink. Em aulas futuras, veremos formas
mais eficientes de implementaes de filtros digitais no Matlab.
Atravs dos exemplos, ilustraremos um conceito muito importante em PDS: filtros FIR
(resposta impulsiva finita) e IIR (resposta impulsiva infinita). Um filtro dito FIR se sua
resposta ao impulso unitrio tem um nmero finito de amostras no nulas. Um filtro dito
IIR se sua resposta ao impulso unitrio possui um nmero infinito de amostras.
Exerccios
1. (Um multiplicador) Dado o filtro a seguir:
(d) Rode o filtro no Matlab usando como entrada um impulso x[n] = [n] . Faa 0 n 50 e
obtenha um grfico de y[n] . Este filtro tem resposta impulsiva finita (FIR) ou infinita (IIR)?
1
Processamento Digital de Sinais Aula 4P Professor Marcio Eisencraft - agosto 2007
(d) Rode o filtro no Matlab usando como entrada um impulso x[n] = [n] . Faa 0 n 50 e
obtenha um grfico de y[n] . Este filtro tem resposta impulsiva finita (FIR) ou infinita (IIR)?
2
Processamento Digital de Sinais Aula 4P Professor Marcio Eisencraft - agosto 2007
(d) Rode o filtro no Matlab usando como entrada um impulso x[n] = [n] . Faa 0 n 50 e
obtenha um grfico de y[n] . Este filtro tem resposta impulsiva finita (FIR) ou infinita (IIR)?
4. Implemente o seguinte diagrama de blocos que utiliza o arquivo voz.wav que est dis-
ponvel na pasta da disciplina. Descreva o resultado da simulao e verifique o que ocorre
ao se alterar os parmetros do diagrama de blocos.
3
Processamento Digital de Sinais Aula 5P Professor Marcio Eisencraft agosto 2007
Aula 5P Amostragem
Senides de tempo discreto
Bibliografia
HAYKIN, Simon; VAN VEEN, Barry. Sinais e sistemas. Porto alegre: Bookman, 2001. 668 p. : il. (algu-
mas ISBN 8573077417). Pginas 283-309.
LATHI, B. P. Signal processing and linear systems. New York: Oxford University Press, c1998. 850 p. :
il. ; 27 cm ISBN 0195219171. Pginas 546-559.
1. Introduo
Uma senide de tempo discreto genrica pode ser expressa como C cos(n + ) , em que
C sua amplitude, sua freqncia (em radianos por amostras) e sua fase (em ra-
dianos). A figura a seguir mostra senide de tempo discreto cos n + .
12 4
cos( n + ) = cos(n )
Assim, tanto cos( n + ) quanto cos(n ) tem a mesma freqncia ( ). Assim, a fre-
qncia de cos(n + ) .
1
Processamento Digital de Sinais Aula 5P Professor Marcio Eisencraft agosto 2007
Exerccio
1. Use o Matlab para fazer a figura anterior. Ou seja, escreva uma seqncia de comandos
que gere o grfico de cos n + .
12 4
RESPOSTA: (Comandos e comentrios)
Exerccio
2. Seja o sinal de tempo contnuo x(t ) = cos t .
6
(a) Qual o perodo deste sinal? Faa um grfico deste sinal para 30 t 30 usando o
Matlab.
2
Processamento Digital de Sinais Aula 5P Professor Marcio Eisencraft agosto 2007
(b) Agora suponha que voc amostre este sinal com um perodo de amostragem T = 1 .
Escreva o sinal de tempo discreto resultante y[n] . Qual o perodo deste sinal? Usando o
Matlab faa um grfico deste sinal sem apagar o anterior (use o comando hold).
RESPOSTA: (Resoluo, comandos e comentrios).
3
Processamento Digital de Sinais Aula 5P Professor Marcio Eisencraft agosto 2007
Exerccio
4. Usando o comando subplot faa os grficos de x1 [n] = cos n + 0,1 ,
8
17
x 2 [n] = cos + 2 n + 0,1 = cos n + 0,1 e
8 8
15
x3 [n] = cos 2 n + 0,1 = cos n + 0,1 . Calcule os perodos dos 3 sinais e
8 8
compare.
RESPOSTA: (Resoluo, comandos e comentrios):
x[n] = x[n + N 0 ]
para algum inteiro positivo N 0 . O menor N 0 que satisfaz esta equao o perodo de x[n] .
A figura a seguir mostra um exemplo de sinal peridico de perodo 6.
cos n = cos((n + N 0 ))
= cos(n + N 0 )
4
Processamento Digital de Sinais Aula 5P Professor Marcio Eisencraft agosto 2007
N 0 = 2m m inteiro
ou
m
=
2 N 0
Como tanto m quanto N 0 so inteiros, a equao acima implica que a senide cos n
peridica apenas se for um nmero racional. Neste caso, o perodo N 0 dado por:
2
2
N 0 = m (1)
2
Para calcular N 0 , precisamos escolher o menor valor de m que far m um intei-
4 2 17
ro. Por exemplo, se = , ento o menor valor de m que far m =m um
17 2
inteiro 2. Assim,
2 17
N0 = m = 2 = 17 .
2
Usando um argumento similar, podemos mostrar que esta discusso tambm se aplica
exponencial de tempo discreto e jn . Assim, a exponencial de tempo discreto e jn pe-
ridica apenas se um nmero racional.
2
Podemos tambm demonstrar este ponto observando que se e jn peridico de perodo N 0 , ento:
e jn = e j (n + N 0 ) = e jn e jN 0 .
5
Processamento Digital de Sinais Aula 5P Professor Marcio Eisencraft agosto 2007
2
xistem amostras (elementos) de cos n em um ciclo desta envoltria. Este nmero
pode ser inteiro ou no.
4
A figura seguinte mostra trs senides cos n , cos n e cos(0,8n ) .
4 17
O primeiro grfico mostra cos n para o qual cabem exatamente 8 amostras em ca-
4
2
da perodo de sua envoltria = 8 . Assim, cos n repete-se a cada ciclo de sua
4
envoltria. Claramente cos n peridica com perodo 8.
4
4
Por outro lado, o segundo grfico, que mostra cos n , tem uma mdia de
17
2
= 8,5 amostras (um nmero no inteiro) em um ciclo de sua envoltria. Portanto, o
segundo ciclo da envoltria no ser idntico ao primeiro ciclo. Mas existem 17 amostras
(um nmero inteiro) em dois ciclos da envoltria. Assim, o padro torna-se repetitivo a
4
cada dois ciclos da envoltria. Portanto, cos n tambm peridico, mas seu perodo
17
17 (dois ciclos de sua envoltria).
6
Processamento Digital de Sinais Aula 5P Professor Marcio Eisencraft agosto 2007
Esta observao indica que um sinal cos n peridico somente se podemos encaixar
um nmero inteiro ( N 0 ) de amostras em m nmero inteiro de ciclos de sua envoltria.
2
Como o perodo da envoltria conclumos que
2
N 0 = m
que exatamente a equao a que tnhamos chegado.
Se irracional, impossvel encaixar um nmero inteiro ( N 0 ) de amostras em um
2
nmero inteiro ( m ) de ciclos da envoltria e o padro nunca se torna repetitivo. Por e-
xemplo, a senide cos(0,8n ) no terceiro grfico da figura acima tem uma mdia de 2,5
amostras (um nmero irracional) por ciclo da envoltria e o padro no pode ser feito re-
petitivo sobre um nmero inteiro ( m ) de ciclos da envoltria; assim cos(0,8n ) no peri-
dico.
Exerccios
7
Processamento Digital de Sinais Aula 6P Professor Marcio Eisencraft setembro 2007
RESOLUO
1
Processamento Digital de Sinais Aula 6P Professor Marcio Eisencraft setembro 2007
Aplicaes
4. Um sistema de mdia mvel um sistema que calcula a mdia dos P ltimos valores da
entrada com o objetivo de suavizar o sinal de sada, ou seja, diminuir suas variaes.
Ele pode ser expresso por:
1
{[p ] = (z[p] + z[p 1] + z[p 2] + + z[p P ])
P +1
(a) Calcule a resposta impulsiva para o sistema mdia mvel com P = 4 , ou seja, para:
1
{[p] = (z[p] + z[p 1] + z[p 2] + z[p 3] + z[p 4])
5
RESOLUO
2
Processamento Digital de Sinais Aula 6P Professor Marcio Eisencraft setembro 2007
(b) Utilizando convoluo, calcule a resposta deste sistema entrada z[p] = w[p] w[p 3] .
RESOLUO
(d) Utilize agora como a entrada uma senide de tempo discreto com perodo P = 15 e
definida de 0 a 100 somada a um rudo branco gaussiano com desvio-padro 0,3 (use o
comando r = 0.3*randn(1,101)). Verifique e interprete a sada utilizando o comando
conv. (Coloque numa mesma figura a entrada e a sada. Use subplot).
COMANDOS UTILIZADOS E INTERPRETAO
3
Processamento Digital de Sinais Aula 6P Professor Marcio Eisencraft setembro 2007
(a) Verifique o comprimento do vetor x1 utilizando o comando whos e faa um grfico deste
sinal.
(b) Obtenha a resposta impulsiva de um filtro mdia mvel do Exerccio 1 para P = 49 .
(c) Utilize o comando conv e a resposta impulsiva da letra (b) para obter uma verso
suavizada do sinal visto na letra (a). Usando subplot, obtenha um grfico do sinal
original e de sua verso suavizada na mesma figura. Comente sobre os resultados obtidos.
COMANDOS UTILIZADOS E RESPOSTAS (USE O VERSO TAMBM).
4
Processamento Digital de Sinais Aula 7P Professor Marcio Eisencraft setembro 2006
1. (HSU, 2004, p. 31) (2,0) Um sinal de tempo discreto x [ n ] mostrado na figura a seguir. Faa
2.5
2
x[n]
1.5
0.5
0
-2 -1 0 1 2 3 4 5 6
n
(c) (0,5) x n =
[ ]
{ [ n 3k ] + [ n k 2 ]}
k =
3. (HSU, 2004, p. 43) Calcule a energia e a potncia dos seguintes sinais e classifique-os em
sinal de energia, sinal de potncia ou nenhum dos dois.
1
Processamento Digital de Sinais Aula 7P Professor Marcio Eisencraft setembro 2006
(b) (1,0) x [ n ] = u [ n ] .
{ } { 1; 2 ; 1; }
H
x 1 [n ] = 1; 2; 1 y 1 [n ] = 0; 1
{ 1; 1 } = { 1; 1; 0 ; }
H
x 2 [n ] = 1 y 2 [n ] 2
{ 0; 1} = { 1; 2 ; 1 }
H
x 3 [n ] = 1; y 3 [n ]
{
5. (INGLE; PROAKIS, 2000, p. 35) Seja x[n] = 1; 2; 4; 6; 5; 8; 10 . Obtenha e
}
faa um grfico das seguintes seqncias no intervalo 10 n 10 .
(a) (1,0) x1 [n] = 3 x[n + 2] + x[n 4] 2 x[n ]
2
Processamento Digital de Sinais Aula 8P Professores Marcio Eisencraft setembro 2007
Primeiramente, vamos considerar que as condies iniciais so nulas. Neste caso, para resol-
v-la no Matlab, usamos o comando:
y = filter(B, A, x);
O vetor B contm os elementos d1 , d2 , dO +1 e o vetor A contm os elementos c1 , c 2 , c O +1 .
O vetor x contm os pontos do sinal de entrada.
Por exemplo, para encontrar os 20 primeiros pontos de {[p] , soluo da equao de diferen-
as {[p ] 0,5 {[p 1] = z[p] para z[p] = w[p] e condies iniciais nulas, usamos a seguinte se-
qncia de comandos:
>> n = 0:19;
>> x = ones(1,20);
>> B = [1];
>> A = [1 -0.5];
>> y = filter(B,A,x);
>> stem(n,y);
No caso de condies iniciais no nulas, usamos o comando filtic para transformar as
condies [ {[ 1], {[ 2], , {[ P ]] nas condies iniciais usadas pelo comando filter.
Seja por exemplo, resolver o mesmo problema proposto anteriormente s que com condio
inicial {[ 1] = 2 . Usamos o seguinte conjunto de instrues:
>> n = 0:19;
>> x = ones(1,20);
>> B = [1];
>> A = [1 -0.5];
>> zi = filtic(B,A,[2]);
>> y = filter(B,A,x, zi);
1
Processamento Digital de Sinais Aula 8P Professores Marcio Eisencraft setembro 2007
>> stem(n,y);
Exerccios
1. Seja a equao de diferenas
{[p ] 0,5 {[p 1] = z[p]
Para 0 p 19
(a) Calcule a resposta impulsiva deste sistema (use iteraes).
RESOLUO:
(e) Calcule a resposta deste sistema para a entrada z[p] = sin p e condies inicias nulas
3
usando o comando conv do Matlab.
COMANDOS E COMENTRIOS:
2
Processamento Digital de Sinais Aula 8P Professores Marcio Eisencraft setembro 2007
2. No p -simo semestre, z[p] estudantes matriculam-se num curso que requer certo livro
texto. A editora vende {[p] cpias novas do livro no semestre p . Em mdia, um quarto
dos estudantes com livros em condies de vendas revende seus livros ao final do semes-
tre e a vida til do livro trs semestres.
(a) Escreva a equao de diferenas relacionando {[p] , os novos livros vendidos pela editora
com z[p] , o nmero de estudantes matriculados no p -simo semestre, assumindo que cada
estudante compra um livro.
(b) Sendo o nmero de alunos num semestre sempre igual a 48 ( z[p] = 48w[p] ) quantos livros
esta editora dever vender por semestre, depois de passado o transitrio?
RESOLUO:
3
Processamento Digital de Sinais Aula 8P Professores Marcio Eisencraft setembro 2007
clf;
N = 40;
B = [2.2403 2.4908 2.2403];
A = [1 -0.4 0.75];
h = impz(B,A,N);
%Faz um grafico da resposta impulsiva
stem(0:N-1,h);
xlabel('indice temporal n'); ylabel('Amplitude');
title('Resposta impulsiva');grid;
3. (MITRA, 1999, p.26) Rode o programa acima e gere a resposta impulsiva para o sistema
de tempo discreto da equao dada acima.
COMANDOS E COMENTRIOS:
4. (MITRA, 1999, p.26) Modifique o programa acima para gerar as primeiras 45 amostras da
resposta impulsiva do seguinte sistema LIT causal:
{[p ] + 0,71 {[p 1] 0,46 {[p 2] 0,62 {[p 3] = 0,9 z[p ] 0,45 z[p 1] + 0,35 z[p 2] + 0,002 z[p 3]
COMANDOS E COMENTRIOS:
.
5. (MITRA, 1999, p.27) Escreva um programa Matlab que gere a resposta impulsiva do sis-
tema LIT do exerccio anterior usando o comando filter; compute e faa um grfico
das primeiras 40 amostras. Compare com o resultado obtido no Exerccio 4.
COMANDOS E COMENTRIOS:
4
Processamento Digital de Sinais Aula 9P Professores Marcio Eisencraft setembro 2007
Vamos ver agora uma possvel aplicao dos conhecimentos que obtivemos at agora num
caso mais prtico. O processamento de sinais de voz.
Para isso, sero disponibilizados para os alunos os arquivos de udio voz.wav e tes-
te.wav.
Comearemos carregando o sinal no Matlab. Estando no diretrio correto, fazemos:
>> [voz, fs, nbits] = wavread('voz.wav');
>> voz = voz';
Com estes comandos, o vetor voz conter as amostras do arquivo voz.wav. A varivel fs
contm a freqncia em que o sinal foi amostrado (Hz ou amostras/s) e a varivel nbits
contm o nmero de bits utilizado para representar cada amostra.
Digitando whos podemos ver que o vetor voz composto por 60000 amostras. Para to-
carmos o sinal no alto-falante do PC usamos o comando sound(<varivel>,
<freqncia de amostragem>). Por exemplo, podemos fazer:
>> sound(voz,fs)
2. Se ele composto por 60000 amostras, qual a durao em segundos deste sinal?
Resposta e comentrios:
3. Utilizando o comando sound tente toc-lo com um valor de fs diferente. O que aconte-
ce? Explique o que voc ouviu.
Resposta e comentrios:
1
Processamento Digital de Sinais Aula 9P Professores Marcio Eisencraft setembro 2007
5. Obtenha um vetor vozmet contendo apenas os 30000 primeiros pontos de voz. Faa um
grfico e toque o sinal vozmet.
Resposta e comentrios:
6. Obtenha um vetor (chame-o, por exemplo, de vozinvert) que contenha as amostras do ve-
tor voz s que de traz pra frente. Toque-o usando sound. Faa um grfico deste sinal.
Resposta e comentrios:
7. Vimos que a potncia de um sinal pode ser obtida fazendo-se uma mdia dos valores da
potncia instantnea r[p] = z 2 [p] . Isto pode ser obtido no Matlab com o comando:
>> p = sum(voz.^2)/length(voz)
Qual a potncia do sinal voz?
Resposta e comentrios:
8. Para gerar um rudo com 60000 pontos e potncia Pruido, pode ser usado o comando:
>> ruido = sqrt(Pruido)*randn(1,60000);
Gere um rudo com potncia Pruido = 1 e oua o resultado. Modifique a potncia do ru-
do e observe o que ocorre.
Resposta e comentrios:
2
Processamento Digital de Sinais Aula 9P Professores Marcio Eisencraft setembro 2007
"
"
10. Um filtro FIR pode ser utilizado para obtermos um efeito de eco acstico. Se o sinal
amostrado a 8kHz, por exemplo, o seguinte filtro gera um eco de 0,5s.
{ [ p ] = z [ p ] + 0, 7 z [ p 4000] .
Este filtro pode ser utilizando o comando filter. Obtenha e oua o resultado da aplicao
deste filtro ao sinal teste.wav. Para l-lo no Matlab, use o comando:
>> [x, fs] = wavread(teste.wav);
Resposta e comentrios:
3
Processamento Digital de Sinais Aula 10P Professor Marcio Eisencraft setembro 2007
Uqpu"pq/xqenkequ: so produzidos usando rudo branco como entrada. Estes sons geralmen-
te so gerados por um fluxo turbulento de ar pela boca, por exemplo, quando se pronuncia
sh.
Assim, o modelo em tempo discreto da produo de voz mostrado na Figura 4.
Um modelo em equaes de diferenas para o trato vocal pode ser desenvolvido como se se-
gue.
Como cada amostra de sinal de voz muito relacionada com as anteriores, o valor da amostra
atual de voz pode ser estimado como uma combinao linear das anteriores.
2
Processamento Digital de Sinais Aula 10P Professor Marcio Eisencraft setembro 2007
Figura 4 Modelo em diagrama de blocos da gerao da fala humana (BURRUS et al., 1998).
r
u[p] = k u[p k ]
(1)
k =1
O sinal u[p] a estimao do sinal de voz u[p] para a p -sima amostra. O erro entre o sinal
original e o estimado :
3
Processamento Digital de Sinais Aula 10P Professor Marcio Eisencraft setembro 2007
4 Modelo de predio
A combinao das duas equaes acima leva a um modelo por equaes de diferenas da pre-
dio do processo de fala:
r
u[p] k u[p k ] = g[p] (3)
k =1
precisa ser transmitido e o sinal de voz pode ser tgeqpuvtwfq no receptor utilizando a equa-
o de diferenas acima.
No transmissor u[p] a entrada do filtro de predio e g[p] a sada. No receptor a situao
a inversa.
A transmisso do sinal de erro resulta em economia substancial da banda de transmisso.
A Figura 5 mostra um exemplo de sinal predito, o erro e a reconstruo para um sinal de voz
u[p] .
1
original
-1
0 1 2 3 4 5 6 7 8
1 x 10
4
Predicao
-1
0 1 2 3 4 5 6 7 8
1 x 10
4
Erro de predicao
-1
0 1 2 3 4 5 6 7 8
1 x 10
4
Reconstruido
-1
0 1 2 3 4 5 6 7 8
4
x 10
5 Modelo de sntese
Pode-se modificar o mesmo modelo bsico de predio de voz para usar em sntese de voz.
u [p] que imita o sinal de voz original, podemos substituir o
Se o objetivo for criar um sinal ~
erro g[p] por um sinal de entrada z[p] multiplicado por um ganho I .
Usando a mesma forma da equao de diferenas do modelo de predio, Eq. (3), resulta o
seguinte modelo de sntese:
r
u [p] k ~
~ u [p k ] = Iz[p] . (4)
k =1
Tipicamente, os coeficientes k mudam a cada 10-20ms conforme o trato vocal muda para
Na sntese aplica-se uma seqncia de excitao conveniente para que naquele intervalo de
tempo seja gerada uma seqncia de sons adequada.
6 Transmisso de voz
Uma linha telefnica normal opera simplesmente amostrando a voz de uma pessoa, digitali-
zando as amostras com 8 bits e transmitindo estes bits para o receptor, onde novamente
convertido em voz.
5
Processamento Digital de Sinais Aula 10P Professor Marcio Eisencraft setembro 2007
7 Atividades
1. Assuma que voc tem um sinal de voz digitalizado com uma amostragem de 8kHz. Se este
sinal for quebrado em segmentos de 20ms, quantas amostras NS existem por bloco?
2. Se 1 segundo deste sinal estiver num vetor Matlab, quantos blocos de 20ms NBLKS podem
ser obtidos?
3. Suponha que se deseje usar como entrada para seu modelo de voz sinttica um trem de impul-
sos unitrios igualmente espaados e que gostaramos que o pitch fosse 200Hz. Se a voz foi
amostrada a 8kHz, quantas amostras devem ser colocadas por perodo, ou seja, quanto vale
P em:
z[p ] = [p kP ] , 0 p < PU .
k =0
6
Processamento Digital de Sinais Aula 10P Professor Marcio Eisencraft setembro 2007
4. Como devem ser definidos os vetores a e b usados como entrada do filter em termos de
k e I para criar equaes de diferenas que realizem as seguintes operaes:
(a) fornecer u[p] como sada quando u[p] a entrada. (predio)
(b) fornecer g[p] como sada quando u[p] a entrada. (erro de predio)
u [p] como sada quando x [ n ] a entrada. (sntese)
(c) fornecer ~
5. A funo sintetizavoz2 gera uma voz sinttica a partir dos coeficientes k e um trem
de impulsos com freqncia fundamental dada por pitch ou um rudo branco gaussiano.
Seu formato :
%[SYNTHimp, SYNTHnoise] = sintetizavoz2(nomarq,NS,pitch, NP);
% Sintetiza voz com sequencia de impulsos e ruido gaussiano
% nomarq - nome do arquivo .wav (entre aspas simples)
% NS - numero de amostras por bloco
% pitch - frequencia fundamental da sequencia de impulsos
% NP - numero de coeficientes utilizados na predicao
% SYNTHimp - voz sintetizada com impulsos
% SYNTHnoise - voz sintetizada com rudo
Teste este programa utilizando o arquivo aula5.wav. Utilize NS=160, NP = 10 e um pitch
de 50Hz. Verifique o que ocorre ao se mudar estes parmetros.
7
Processamento Digital de Sinais Aula 10P Professor Marcio Eisencraft setembro 2007
Em seguida, repita para o arquivo teste.wav. Tente encontrar um valor de pitch mais adequa-
do para este sinal. Repita para os arquivos show.wav e chinelo.wav que possuem muitos
fricativos.
Grave um sinal de voz e tente gerar uma voz sinttica com o pitch mais adequando para a sua
voz.
8
Processamento Digital de Sinais Aula 11P Professor Marcio Eisencraft setembro 2007
1. Introduo
Imagens digitais so formadas por pontos ou rkzgnu (Rkevwtg" gngogpvu). Colocando estes
pontos suficientemente prximos uns dos outros, as imagens so vistas na tela do computador
ou impressas como se fossem contnuas.
Em um computador digital, o brilho e a informao de cor de cada pixel so codificados por
um nmero ou, equivalentemente, um elemento de uma matriz. A localizao de cada ponto
da matriz indexada por dois inteiros, isto , Z (3,4 ) identifica o valor do pixel localizado na
matriz Z na terceira linha e na quarta coluna.
Usualmente os valores nas matrizes so inteiros de 0 a 2 p 1 , em que p o nmero de bits
usado para representar o brilho de cada pixel. Por exemplo, considere uma imagem preta e
branca em que a luminncia, ou brilho, para cada pixel armazenada usando 8 bits. Neste ca-
so, o brilho relativo de cada pixel pode ser representado por um de 256 nveis possveis, cha-
mados de nveis de cinza. Usualmente o preto codificado como 0 e o branco como 255.
A informao de cores para os pixels de uma imagem codificada como inteiros armazena-
dos em matrizes separadas. No Matlab, as imagens so armazenadas como matrizes de intei-
ros e a informao de cor como cada valor de pixel mapeado para certa cor armazena-
da separadamente.
1
Processamento Digital de Sinais Aula 11P Professor Marcio Eisencraft setembro 2007
A equao (1) representa um filtro FIR e pode ser implementado utilizando-se o comando
filter como feito nas aulas anteriores.
A representao de imagens no Matlab e o seu processamento so ilustrados nas atividades
seguintes.
Atividades
A. Trabalhando com uma imagem
Nesta atividade exploraremos como imagens so mostradas e representadas como matrizes no
Matlab. A informao de cores codificada em uma eqnqtocr (tabela de cores a ser usada). Ima-
gens podem ser armazenadas em arquivos imagen_name.mat e carregadas usando o comando
load image_name.
O Matlab tem uma srie de imagens padres disponvel.
1. Digite load clown e verifique as variveis carregadas digitando whos
>> whos
Name Size Bytes Class
X 200x320 512000 double array
caption 2x1 4 char array
map 81x3 1944 double array
Foram criadas trs variveis: caption (guarda as informaes de cabealho da imagem), map
(informao de cores), x (guarda a informaes de intensidade da imagem).
2. Olhe alguns elementos do vetor x (por exemplo, digite x(65:75, 100:110)). Os valores
na matriz devem ser inteiros. Quantos bits esto sendo usados na codificao?
RESPOSTA:
3. Para mostrar a imagem, digite image(X). Voc deve ver o palhao numa janela, apesar de
sua cor parecer no-natural.
2
Processamento Digital de Sinais Aula 11P Professor Marcio Eisencraft setembro 2007
20
40
60
80
100
120
140
160
180
200
50 100 150 200 250 300
4. Para obter as cores corretas, digite colormap(map). Agora o palhao deve aparecer nas
cores corretas.
20
40
60
80
100
120
140
160
180
200
50 100 150 200 250 300
20
40
60
80
100
120
140
160
180
200
50 100 150 200 250 300
3
Processamento Digital de Sinais Aula 11P Professor Marcio Eisencraft setembro 2007
6. Podem-se utilizar operaes matriciais normalmente para trabalhar com imagens. Por exem-
plo, transpor a matriz implica na transposio da imagem. Para colocar a imagem de ponta
cabea, basta inverter a ordem das linhas da matriz.
X1 = X';
X2 = X(end:-1:1,:);
figure(1);
subplot(221); image(X1);
subplot(222); image(X2);
colormap(map);image(X(end:-1:1, :))
colormap(map);
COMANDOS UTILIZADOS:
8. Podemos selecionar um pedao da imagem, pegando algumas linhas e colunas da matriz. Por
exemplo, o olho esquerdo do palhao pode ser obtido usando:
Xolho = X(50:100, 150:250);
image(Xolho);
colormap(map);
4
Processamento Digital de Sinais Aula 11P Professor Marcio Eisencraft setembro 2007
10
15
20
25
30
35
40
45
50
10 20 30 40 50 60 70 80 90 100
5
Processamento Digital de Sinais Aula 11P Professor Marcio Eisencraft setembro 2007
10. A imagem pode ser aproximadamente recuperada utilizando um filtro inverso. Por exemplo,
para desfazer o borro vertical, usamos:
Yvolta = filter(1, ones(1,N)/N, Yvert);
subplot(223);image(Yvolta);colormap(map);
6
Processamento Digital de Sinais Aula 11P Professor Marcio Eisencraft setembro 2007
Xgreen = X(:,:,2);
Xblue = X(:,:,3);
subplot(221);image(X); title('moinho.jpg');
subplot(222);image(Xred); title('Componente red');
subplot(223);image(Xgreen); title('Componente green');
subplot(224);image(Xblue); title('Componente blue');
200 200
400 400
600 600
800 800
1000 1000
1200 1200
200 400 600 800 200 400 600 800
200 200
400 400
600 600
800 800
1000 1000
1200 1200
200 400 600 800 200 400 600 800
Num arquivo jpeg, as cores podem ser trabalhadas separadamente. Por exemplo, os seguintes
comandos aumentam a intensidade do verde da imagem. Tente outras configuraes de cores.
X = imread('moinho.jpg','jpeg');
Xred = X(:,:,1);
Xgreen = X(:,:,2);
Xblue = X(:,:,3);
Xgreennovo = double(Xgreen)*3;
Xrednovo = double(Xred);
Xbluenovo = double(X(:,:,3));
Xnovo(:,:,1) = uint8(Xrednovo);
Xnovo(:,:,2) = uint8(Xgreennovo);
Xnovo(:,:,3) = uint8(Xbluenovo);
subplot(221);image(X); title('moinho.jpg');
subplot(222);image(Xnovo); title('Cores modificadas');
7
Processamento Digital de Sinais Aula 11P Professor Marcio Eisencraft setembro 2007
50
100
150
200
250
300
350
400
450
500
200 400 600 800 1000 1200
Carregue esta imagem e, usando as tcnicas aprendidas, identifique o que est escrito na placa.
RESPOSTA E COMANDOS UTILIZADOS:
8
Processamento Digital de Sinais Aula 12P Professor Marcio Eisencraft outubro 2007
h2 [ n ]
x [n ] + y [n ]
h1 n
[ ] + +
-
h3 [ n ] h4 [ n ]
h5 [ n ]
h1 [ n ] = 4
2()
1 n
{ u [ n ] u [ n 3 ]}
h2 [ n ] = h3 [ n ] = ( n + 1 ) u [ n ]
h4 [ n ] = [ n 1 ]
h5 [ n ] = [ n ] 4 [ n 3 ]
(c) (0,5) Esboce a resposta do sistema da parte (b) se x [ n ] for o sinal mostrado a seguir.
1
Processamento Digital de Sinais Aula 12P Professor Marcio Eisencraft outubro 2007
2.5
1.5
x[n]
0.5
-0.5
-1
-1.5
-6 -4 -2 0 2 4 6 8
n
3. (OPPENHEIM; WILLSKY; YOUNG; 1983, p. 148) (1,5) Considere o sistema LIT inicial-
mente em repouso (condies iniciais nulas) e descrito pela equao de diferenas:
y[n ] + 2 y[n 1] = x[n] + 2 x[n 2] .
Encontre a resposta deste sistema entrada mostrada na figura a seguir resolvendo a equao de
diferenas recursivamente para 2 n 7 .
( )un
n
1
h n =
[ ] [ ]
2
2
Processamento Digital de Sinais Aula 12P Professor Marcio Eisencraft outubro 2007
n
j
quando sua entrada a seqncia exponencial complexa x n = Ae [ ] 2 .
5. Considere um sistema LTI com a resposta impulsiva dada por h1[n] = (0.9) n u[n] .
a) (0,5) Escreva os comandos para fazer um grfico da resposta impulsiva no intervalo
0 n 40
b) (0,5) Escreva os comandos para calcular e fazer um grfico da resposta do sistema para a
entrada degrau unitrio x[n] = u[n] no intervalo 0 n 20
c) (0,5) Escreva os comandos para calcular a resposta do sistema para o pulso retangular
x[n] = u[n] u[n 10] e fazer um grfico no intervalo 0 n 20
d) (0,5) Considerando o sistema anterior em cascata com o sistema 2, descrito por
x [n / 2], se n par
y[n ] = ,
0, se n mpar
conforme figura a seguir, escreva comandos para calcular e fazer grfico da sada global do
sistema para entrada pulso retangular x[n] = u[n] u[n 10] no intervalo 0 n 20 .
x [n ] y [n ]
Sistema 1 Sistema 2
3
Processamento Digital de Sinais Aula 13P Professor Marcio Eisencraft abril 2007
A srie de Fourier de tempo discreto (SFTD) a nica representao de Fourier que tem
valores discretos tanto no tempo como em freqncia e, consequentemente, adequada
para implementao direta no Matlab. Os comandos fft e ifft podem ser usados para
avaliar a SFTD.
Dado um vetor x de comprimento P que representa um perodo de um sinal com perodo
P , z[p] , o comando:
>> a = fft(x)/N
produz um vetor a de tamanho P que contm os coeficientes da SFTD, c m .
Exerccios
1. Considere o seguinte sinal peridico:
1
Processamento Digital de Sinais Aula 13P Professor Marcio Eisencraft abril 2007
(a) Calcule, usando as frmulas vistas em aula, os coeficientes da srie de Fourier deste sinal
c m para 0 m P 0 1 .
RESOLUO:
2
Processamento Digital de Sinais Aula 13P Professor Marcio Eisencraft abril 2007
RESOLUO:
4. (HAYKIN; VEEN, 2000, p.241) Determine os coeficientes da SFTD para o sinal peridi-
co descrito a seguir. Utilize o Matlab para conferir seus resultados.
RESOLUO:
3
Processamento Digital de Sinais Aula 14P Professor Marcio Eisencraft setembro 2007
e a tgurquvc"go"htgspekc"como
( ) = j[m ]g
l l m
J g .
m =
l P2 m lm P2 p
{[p] = cm J g 0 g 0 ,
m = P0
ou seja, os coeficientes da srie de Fourier do sinal de entrada ficam multiplicados pela res-
posta em freqncia do sistema.
O comando freqz do Matlab pode ser utilizado para se obter a resposta em freqncia de
um dado sistema definido pela equao de diferenas:
a 1 y[n] + a 2 y[n - 1] + + a N +1 y[n - N ] = b1 x[n] + b 2 x[n - 1] + ... + b O +1 x[n - M] .
Definindo os vetores B=[b1 b2 ... bM+1] e A=[a1 a2 ... aN+1] da mesma for-
ma como foi feito para o comando filter, o comando
>>[H,W] = freqz(B,A,N);
1
Processamento Digital de Sinais Aula 14P Professor Marcio Eisencraft setembro 2007
Exerccios
1. Considere o seguinte sistema de tempo discreto conhecido como fkhgtgpekcfqt de 1 or-
dem:
1
{[p] = (z[p] z[p 1]) .
2
Para este sistema, pede-se:
(a) a resposta impulsiva j[p] ;
( )
(c) a resposta em freqncia J g l .
( )
(d) faa um grfico do mdulo e da fase de J g l para .
2
Processamento Digital de Sinais Aula 14P Professor Marcio Eisencraft setembro 2007
(e) este filtro passa-altas ou passa-baixas?
(f) utilizando o comando freqz faa um grfico no Matlab do mdulo da resposta em fre-
qncia deste filtro e compare com o resultado do item (a).
(b) Qual a sua freqncia de corte? Ou seja, a partir de qual freqncia a resposta em freqn-
cia deste filtro cai abruptamente?
(c) Digite e execute o seguinte uetkrv. Explique os grficos obtidos e os sons ouvidos.
%Exemplo de Filtro Passa-Baixas Chebyshev
%Coeficientes do filtro
B = [0.0322 0.1608 0.3217 0.3217 0.1608 0.0322];
A = [1.0000 -0.7820 1.2872 -0.7822 0.4297 -0.1234];
3
Processamento Digital de Sinais Aula 14P Professor Marcio Eisencraft setembro 2007
y1 = filter(B,A,x1); %Filtragem
y2 = filter(B,A,x2); %Filtragem
%Graficos
figure(1); title('Senoide de 200Hz)');
subplot(211); plot(0:100,x1(1:101)); ylabel('x_1[n]');%Sinal de entrada
subplot(212); plot(0:100,y1(1:101)); ylabel('y_1[n]');%Sinal de saida
figure(2); title('Senoide de 800Hz)');
subplot(211); plot(0:100,x2(1:101)); ylabel('x_2[n]');%Sinal de entrada
subplot(212); plot(0:100,y2(1:101)); ylabel('y_2[n]');%Sinal de saida