Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Pr of . M ar cio Eisencr af t
Segundo semest re de 2007
Pr of . M ar cio Eisencr af t
Segundo semest re de 2007
Aula 1T -
Bibliografia
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pginas 40-46.
MITRA, Sanjit K. Digital signal processing: a computer-based approach. 2nd ed. Boston: McGraw-Hill,
c2001. 866 p. : il. ; 24 cm ISBN 0072321059. Pginas 44 49.
1.
em instantes isolados de tempo. Conseqentemente, um sinal de tempo discreto pode ser descrito por uma seqncia de nmeros.
Nesta aula, aprenderemos um pouco mais sobre a representao deste tipo de
n2 ,
Este
sinal
6
constitudo
das
seguintes
amostras
sinal:
stem(-6:6, (-6:6).^2);
Os exemplos acima mostram que um sinal de tempo discreto pode ser uma
seqncia de comprimento finito ou infinito. Alm disso, um sinal de comprimento finito definido no intervalo N1 n N 2 tem comprimento ou durao:
N N 2 N1 1 .
Dentre as seqncias de comprimento infinito, destacamos as seqncias
chamadas causais definidas somente para n 0 e as seqncias anticausais definidas para n 0 . Por exemplo, a seqncia do exemplo anterior causal.
Exerccio
1. (CARLSON, 1998; p. 44) Um sinal chamado de simplesmente definido
(simply-defined) se ele representado por uma nica equao e chamado
2
de definido por partes (piecewise defined) se representado por um conjunto de equaes cada uma vlida num intervalo de tempo diferente. Sendo
assim, esboce os sinais de tempo discreto definidos pelas seguintes equaes.
Indique tambm se eles so definidos por partes.
0, 25 n
(a) x n
(c) x n
n 1
,
n2 1
(e) x n
1 1 n, n
1 1 n, n
1.1.
(b)
xn
(d) x n
n 1, n 3
3, 3 n 6
n
5
, n 6
3
n 2 1, n
0, n
0
0
Sistemas de tempo discreto so entidades que transformam uma ou mais seqncias de entrada em uma ou mais seqncias de sada. A figura a seguir
mostra esquematicamente um sistema de tempo discreto cuja entrada a seqncia x[n ] e a sada a seqncia y[n] .
1.1.1. Produto
A operao produto entre duas seqncias x[n ] e y[n] , representada por
w1 [n]
1.1.2. Soma
A operao soma entre duas seqncias x[n ] e y[n] , representada por
w2 [n]
xn
Exerccio
2. (MITRA, 2001; p. 106) Considere as seguintes seqncias de comprimento 7
definidas para 3 n 3 :
xn
3;
yn
0; 7; 1;
wn
2; 0; 1; 4; 5; 2
3; 4; 9;
5; 4; 3; 6;
2 .
5; 0; 1
xn
(d) r n
4,5 y n .
yn
(b) v n
xn
wn
(c) s n
yn
wn
x[n N ]
A explicao do por que deste smbolo ser dada mais tarde quando estudarmos Transformadas z.
Exerccios
3. Um sinal de tempo discreto x[n] , definido para todo n inteiro dado por
xn
x[n 1] .
Descreva as amostras para 0 n 10 dos sinais x[n] e w[n] e escreva uma frmula fechada para as amostras do sinal w[n] .
x[ n] 0,5 x[ n 1] 0,75 x[ n 2]
5. (MITRA, 2001; p. 47) Descreva uma formula para o sinal y[n] obtido do filtro mostrado em diagrama de blocos na figura a seguir:
Aula 2T -
Classificao de sinais
Bibliografia
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pginas 40-46.
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. ISBN 0138147574. Pginas 1-14
1.2
Classificao de sinais
Nas aulas anteriores, vimos que um sinal, de forma geral uma funo (contnua ou discreta) do tempo. Veremos agora como podemos classificar os sinais segundo alguns critrios como simetria, periodicidade e energia.
Em cada caso, veremos as definies para sinais de tempo contnuo e discreto.
x t para todo t
x t para todo t
t2 e x t
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,
xt
com x p
xp t
xi t , (1)
xp t e
xi
xi t
xp
xi
xi t (2)
xp t
1.2.1.2
x n para todo n .
x n para todo n .
Sinal mpar:
Demonstra-se tambm, de forma anloga ao que foi feito antes, que qualquer
sinal pode ser decomposto em uma componente par e numa componente mpar.
xp n
xi n
1
xn
2
1
xn
2
Exerccios
1. (1041) (MITRA, 2001; p.106) Determine a componente par e mpar das seqncias a seguir definidas no intervalo 3 n 3 :
(a) x n
3;
(b) y n
0; 7; 1;
(c) w n
2; 0; 1; 4; 5; 2
3; 4; 9;
5; 4; 3; 6;
5; 0; 1
x t T para
1
T
2
T
3
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.
1.2.2.2
xn
2
N ,
4
no pode as-
Exerccio
3. (HAYKIN, 2000; p. 78) Determine se os seguintes sinais so peridicos. Se
forem peridicos, encontre o perodo fundamental.
(a) x n
pt
v2 t
pt
R ou
Ri 2 t
x2 t
pt
Lembrando que a energia o produto da potncia pelo tempo, costuma-se definir a energia total do sinal x t como:
T
2
T
2
lim
x 2 t dt
x 2 t dt .
1
P lim
T
T
2
T
2
x 2 t dt .
1
T
2
T
2
x 2 t dt .
1.2.3.2
No caso de um sinal de tempo discreto x n , as integrais anteriores so substitudas pelas somas correspondentes. Dessa forma, a energia total de x n definida por:
x2 n
E
n
N
1
lim
x2 n .
N
2N 1 n N
1
N
N 1
x2 n .
n 0
Pode-se mostrar que as classificaes de energia e potncia de sinais so mutuamente exclusivas. Em especial, um sinal de energia tem potncia mdia zero 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
Resposta: 1
Resposta: 1/3
7. (HAYKIN, 2000; p. 40) Qual a energia total do sinal de tempo discreto mostrado a seguir?
Aula 3T -
Seqncias Tpicas
Bibliografia
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pginas 46-59.
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. ISBN 0138147574. Pginas 14-38.
1.3
Nesta aula sero definidos e estudados alguns sinais bsicos em tempo discreto. Estes sinais sero utilizados durante todo o restante do curso para construir
sinais mais complicados e estudar a resposta de sistemas a eles.
Estudaremos os sinais de tempo discreto impulsivo, degrau, exponencial e
senoidal.
[n ] =
n=0
.
n0
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:
Exerccio
2. Expresse os seguintes sinais como somas ponderadas de funes impulsivas.
1.3.2
Sinal degrau
n0
n<0
Exerccios
3. (1022) Esboce o seguinte sinal:
w[n] = u[n] u[n 3]
0n9
caso contrrio
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.
x[n] = A cos(n + )
(1)
x[n + N ] = A cos(n + N + )
(2)
ou
2m
radianos/amostra
N
m, N inteiros.
(3)
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 per6
Exerccios
6. (1021) Determine se os seguintes sinais de tempo discreto so peridicos. Se
o forem, determine o seu perodo fundamental:
(a) x[n] = 3 cos
13
n + 45 o
20
Aula 4T -
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.
2.
y[n] = H [ x[n]]
Em diagrama de blocos:
x[n]
y[n]
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.
Podemos obter a tendncia de longo prazo suavizando ou tomando a mdia dos N ltimos valores da varivel. Para o mercado de aes, podemos considerar uma mdia mvel de 3 dias y[n] como sendo a mdia dos valores de fechamento do mercado de aes dos ltimos trs dias, x[n] , x[n 1] e x[n 2] .
(a) Escreva a equao de diferenas relacionando y[n] com a entrada x[n] .
(b) Usando elementos de atraso, faa um diagrama de blocos deste filtro de mdia mvel.
2.1
Classificao de sistemas
2.1.1 Memria
Diz-se que um sistema possui memria se sua sada depende de valores passados 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.
Em contrapartida, diz-se que um sistema sem memria se seu sinal de sada
depende somente do valor presente do sinal de entrada.
Por exemplo, o sistema de mdia mvel do Exerccio 1 descrito pela relao
entrada-sada:
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] .
Por outro lado, um sistema descrito pela relao:
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
Diz-se que um sistema causal se o valor atual do sinal de sada depender
somente dos valores presentes e/ou passados do sinal de entrada. Em contrapartida, o sinal de sada de um sistema no-causal depende de valores futuros do
sinal de entrada.
Por exemplo, o sistema de mdia mvel j descrito,
3
y[ n] =
1
(x[n] + x[n 1] + x[n 2])
3
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
Dizemos que um sistema linear quando so vlidos os princpios da superposio e da homogeneidade explicados a seguir. Caso contrrio, o sistema
chamado no-linear.
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] + x2 [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] .
Assim, para verificar se um sistema linear necessrio testar as duas condies acima.
Exerccios
5. (1021) Um sistema linear e invariante no tempo tem a seguinte resposta
entrada x[n] = [n] (resposta impulsiva):
Exerccio
1. (1021) Um sistema linear e invariante no tempo tem a seguinte resposta entrada 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 ponderada de impulsos, sendo o sistema LIT e conhecendo a resposta a um impulso, poderemos determinar a sada devida a qualquer entrada x[n] .
Se a entrada de um sistema linear for expressa como uma superposio ponderada 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 sistema a um impulso. Por isso, a sada de um sistema LIT dada por uma superposio 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.
x[n] [n k ] = x[k ] [n k ]
Ou seja, a multiplicao de um sinal por um impulso deslocado no tempo resulta em um impulso deslocado no tempo com amplitude dada pelo valor no
instante em que o impulso ocorre. Esta propriedade nos permite expressar
x[n] como a seguinte soma de impulsos deslocados no tempo:
x[ n] =
x[k ] [n k ]
(1)
k =
Exerccios
2. Escreva o sinal x[n] da figura anterior como uma soma ponderada de impulsos.
3. Esboce o seguinte sinal s[n] = 5 [n + 2] + 2 [n + 1] + 1,5 [n] + [n 1] .
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
H [ x[k ] [n k ]] =
k =
x[k ]H [ [n k ]]
k =
y[n ] =
x[k ]h[n k ]
(3)
k =
A somatria da Eq. (3) chamada de soma de convoluo e representada pelo smbolo *, ou seja,
x[n] h[n] =
x[k ]h[n k ]
k =
A Figura 1 a seguir do (HAYKIN; VEEN, 2001) ilustra o processo de convoluo. A figura (a) descreve a resposta ao impulso de um sistema LIT arbitrrio. Na figura (b) a entrada representada como uma soma de impulsos ponderados e deslocados no tempo p k [n] = x[k ] [n k ] . A sada do sistema associada a cada pulso p k [n]
y [n ] =
v [n ]
k
k =
Assim, somamos para cada valor de n os valores ao longo do eixo k indicados no lado direito da figura (b).
Exerccio
4. (HAYKIN; VEEN, 2001; p. 88) Suponha que um sistema H LIT tenha a
resposta ao impulso:
1,
h[n] = 2
0,
n = 1
n=0
caso contrrio
x[n] =
2,
0,
n=0
n =1
n=2
caso contrrio
y[n ] =
x[k ]h[n k ]
k =
e imaginarmos que n est fixo. Desta forma, para calcularmos a sada num certo
instante n0 precisaramos calcular:
y [n 0 ] =
x[k ]h[n
k] =
k =
x[k ]h[ (k n )]
0
(4)
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.
3
h[n] = u[n]
4
Determine a sada do sistema nos instantes n = 5 , n = 5 e n = 10 quando a entrada for x[n] = u[n] .
[ ]
7. Escreva uma frmula para wn [k ] para o Exerccio anterior e encontre y[n] para todo n .
RESP:
3 n +1
3 k n
4 1 , n 0
, 0k n
wn [k ] = 4
, y[n] = 4
0
, caso contrrio
caso contrrio
0,
Este ltimo exerccio sugere que, em geral, podemos determinar y[n] para todo 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 avaliar a Eq. (4) usando o wn [k ] associado com cada intervalo. Muitas vezes
7
muito til traarmos graficamente tanto x[k ] como h[n k ] quando determinamos 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]
RESP:
0,
n 1,
y[n] = 5,
16 n,
0,
n<2
2n6
6 < n 11
12 n 16
n > 16
9. (HAYKIN; VEEN, 2001, p. 95) Admitamos que a entrada x[n] para um sistema 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:
n<0
0,
n +1
1-
y[n] = n ,
1 -
10
1 -
n ,
1 -
0n9
n >9
10. (HAYKIN; VEEN, 2001, p. 96) Admitamos que a entrada de um sistema LIT
com
resposta
ao
impulso
,
RESP:
1 - -1
12
-11
2 1 -
y[n ] =
,
-1
1-
12
n - 24
2 1 -
,
1 - -1
n 24
0,
(
(
0 n 10 .
11 n 13
14 n 23
seja
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]
RESP:
n - 4,
y[n] = 0,
n 9
n + 15
0,
n < 1
- 1 n <1
2n<4
4 n <9
9 n 11
12 < n 15
n 15
12. (HAYKIN; VEEN, 2001, p. 97) Considere um sistema LIT com resposta ao
impulso:
1
,
h[n] = 4
0,
0n3
caso contrrio
Encontre uma expresso que relacione diretamente uma entrada arbitrria x[n]
sada deste sistema, y[n] .
RESP:
y [n ] =
1
( x [ n ] + x [ n 1] + x [ n 2 ] + x [ n 3 ] ) .
4
10
2.3
LIT
Vimos nas ltimas aulas que a resposta ao impulso de um sistema LIT o caracteriza completamente. Desta forma, apenas olhando a resposta impulsiva,
deve ser possvel descobrir se um sistema LIT causal ou tem ou no memria e o resultado da interconexo desses sistemas. Esse ser o assunto desta
aula.
y [n ] =
x[k ]h1 [n k ] +
k =
y [n ] =
x[k ]h [n k ]
2
k =
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:
z[k ]h [n k ]
2
(1)
k =
x[l ]h [k l ]
1
(2)
l =
x[l ]h1 [k l ] h2 [n k ]
k = l =
(3)
A somatria interna identificada como a convoluo de h1 [n] com h2 [n] avaliada em n l . Ou seja, se definirmos h[n] = h1 [n] h2 [n] , ento,
h [m]h [n l m] = h[n l ]
1
(4)
m =
y [n ] =
l =
h[k ]x[n k ] .
k =
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
discreto sem memria se, e somente se, h[k ] = c [k ] , em que c uma constante arbitrria.
Assim, a condio de ausncia de memria impe fortes restries na forma
da resposta ao impulso. Todos os sistemas LIT sem memria realizam multiplicao escalar com a entrada.
y [n ] =
h[k ]x[n k ]
k =
Os valores passados e atuais da entrada x[n] , x[n 1] , x[n 2] ,..., so associados com ndices k 0 na soma de convoluo, enquanto que os valores futuros da entrada x[n + 1] , x[n + 2] ,... so associados com ndices k < 0 .
Conseqentemente, para um sistema causal, teremos h[k ] = 0 para k < 0 .
Exerccio
2. (HAYKIN; VEEN, 2001, p. 113) Um sistema de tempo discreto tem a resposta ao impulso:
h[n] = a n u[n + 2]
A resposta ao degrau facilmente expressa em termos da resposta ao impulso usando-se a convoluo, supondo-se que a entrada seja uma funo degrau.
Admitamos que um sistema tenha a resposta ao impulso h[n] e denote a resposta ao degrau como s[n] . Teremos:
h[k ]u[n k ]
k =
s[n ] =
h[k ]
k =
Exerccio
3. (HAYKIN; VEEN, 2001, p. 116) Encontre a resposta ao degrau de um sistema de tempo discreto com resposta ao impulso:
h[n] = ( a ) u[n ]
n
(5)
Em muitas aplicaes de equalizao, um sistema inverso exato pode ser difcil de encontrar ou implementar. A determinao de uma soluo aproximada para a Equao (5) muitas vezes suficiente nesses casos.
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 como atenuao por uma constante a e um retardo correspondente a uma unidade 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]
h 1 [n] = ( a ) u[n]
n
2.4.
Uma outra forma de representar um sistema de tempo discreto linear e invariante no tempo (LIT) atravs de equaes de diferenas.
De uma forma geral, temos:
a1 y[n] + a 2 y[n 1] + L + a N +1 y[n N ] = b1 x[n] + b2 x[n 1] + K + bM +1 x[n M ] ou
N
a
k =0
k +1 y [ n k ] = bk +1 x [ n k ] (1)
k =0
1
y[n 2] = x[n ] + 2 x[n 1]
4
1
y [n 2 ]
4
1
y[2]
4
1
y[1]
4
1
y[2] = x[2] + 2 x[1] y[1] y[0]
4
1
y[3] = x[3] + 2 x[ 2] y[2] y[1]
4
M
y[1] = x[1] + 2 x[0] y[0]
Em cada equao, a sada corrente computada a partir da entrada e dos valores passados da sada. Para comearmos este processo no instante n = 0 ,
devemos conhecer os dois valores passados mais recentes da sada y[ 1] e
y[ 2] . Estes valores so conhecidos como condies iniciais.
(1 az )y[n] = x[n]
1
1
1
y[n 1] + y[n 2] = x[n]
4
16
1 1
1
z y[n] + z 2 y[n ] = x[n ]
4
16
ou
1 1 1 2
1 + z + z y[n] = x[n ]
4
16
(a
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
[ ]
P[ z ] = b
Q z 1 = a1 + a 2 z 1 + a3 z 2 + K + a N +1 z N
1
+ b2 z 1 + b3 z 2 + K + bN +1 z N
Exerccios
1. (LATHI, 1998, p. 611) Resolva iterativamente (apenas os primeiros trs termos) 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 .
[ ]
Q z 1 y0 [n] = 0
ou
(a
+ 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)
J vimos que podemos resolver esta equao de forma recursiva. Porm, olhando atentamente para a equao acima, podemos determinar y0 [n] de uma
maneira mais eficiente.
Esta equao mostra que uma combinao linear de y0 [n] e verses atrasadas
dela resultam zero para todo n . Isto s possvel se y 0 [n] e suas verses atrasadas tiverem a mesma forma.
Uma funo exponencial n tem essa propriedade:
n m = 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)
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
a1 c 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 Equao (5). Para resolv-la, multiplicamos os dois membros por N obtendo:
a1 N + a 2 N 1 + K + a N +1 = 0
(6)
c11 , c2 2 ,...,
y0 [n ] = c11n + c2 2n + L + c N Nn
em que 1 , 2 ,..., N so as solues da Eq. (5) e c1 , c2 ,..., c N so constantes arbitrrias 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
[ ]
1
equao Q = 0 chamada de equao caracterstica do sistema.
c11 ,
c2 2 ,..., cN N .
Se duas ou mais razes coincidirem (razes repetidas), a forma dos modos caractersticos 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 + c 3 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 caractersticas 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 eliminar os nmeros complexos trabalhando com solues reais.
Primeiramente, expressamos as razes complexas
o mdulo de
= e j e * = e j
A resposta entrada nula ento dada por
* na forma polar. Se
( )
y 0 [n] = c1 n + c 2 *
= c1 e jn + c 2 e jn
c j
c
e e c 2 = e j
2
2
Desta forma,
y 0 [n ] =
c n j (n + )
+ e j (n + )
e
2
= c cos(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]
1
2 2
, y 0 [ 2] =
1
4 2
x[k ]h[n k ]
k =
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. ISBN 0138147574. Pginas 182-186.
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pginas 116-120.
Quando estudamos sistemas LIT interessante representar sinais como combinaes lineares de sinais bsicos que possuem as seguintes propriedades:
o O conjunto de sinais bsicos pode ser usado para construir uma
grande e til classe de sinais.
o A resposta de um sistema LIT a cada sinal deve ser simples o suficiente em estrutura para nos permitir uma representao conveniente para a resposta do sistema a qualquer sinal construdo como uma
combinao linear dos sinais bsicos.
Um exemplo de conjunto de sinais bsicos que j usamos { [n k ], k Z }
que leva representao da sada pela soma de convoluo.
Outro conjunto com caractersticas importantes o conjunto {z n } em que z
um nmero complexo.
A importncia das exponenciais complexas no estudo de sistemas LIT vem
do fato de que a resposta de um sistema LIT a uma entrada exponencial complexa a mesma exponencial complexa apenas com uma mudana de amplitude; isto ,
z n H ( z )z n
em que o fator de amplitude complexa H (z ) ser em geral uma funo da varivel complexa z .
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 ] =
k =
n k
=z
k =
h[k ]z
k =
(2)
y[n] = H ( z )z n
(3)
em que
H (z ) =
h[k ]z
k =
(4)
x[n] = a1 z1n + a 2 z 2n + a 3 z 3n .
2
De forma mais geral, a Equao (3) em conjunto com a propriedade da superposio mostra que a representao de sinais como uma combinao linear de exponenciais complexas leva a uma expresso conveniente para a resposta de um sistema LIT.
Especificamente, se a entrada de um sistema LIT for representada por uma
combinao linear de exponenciais complexas, isto , se:
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
1
(a) Determine diretamente a sada do sistema quando a entrada for x[n] = .
2
1
(d) Determine a sada do sistema entrada x[n] = usando o item (c).
2
1
2. Considere um sistema LIT com resposta impulsiva h[n] = u[n ] . Usando as
3
3. (MITRA, 2001, p. 277) Mostre que a funo a[n] = z n em que z uma constante complexa uma autofuno de um sistema LIT de tempo discreto. Seria
v[n] = z n u[n] tambm uma autofuno de um sistema LIT?
Processamento Digital de Sinais Aula 11T Professor Marcio Eisencraft abril 2007
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. ISBN 0138147574. Pginas 211-221.
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pginas 168-178.
2
e todas as suas harmT0
Processamento Digital de Sinais Aula 11T Professor Marcio Eisencraft abril 2007
nicas (senides cujas freqncias so mltiplos inteiros de 0 ). A forma exponencial da srie de Fourier consiste nas exponenciais e j 0 t , e j t , e j 2 t ,
0
e j 30t ,...
2
. Assim, um sinal peridico de temN0
po discreto com perodo N 0 pode ser representado por uma srie de Fourier
de tempo discreto com freqncia fundamental 0 =
2
e suas harmnicas.
N0
Em princpio haveria um nmero infinito de harmnicas, como no caso contnuo. Porm isso no acontece porque as exponenciais de tempo discreto cujas freqncias esto separadas por 2 so idnticas j que
e j ( 2 )n = e jn e j 2n = e jn
A conseqncia deste resultado que a k -sima harmnica idntica harmnica k + N0 .
Para demonstrar isto, seja g k a k -sima harmnica e jk n . Ento
0
g k + N0 = e j (k + N0 ) 0 n = e j (k 0 n + 2n ) = e jk 0 n = g k
e
g k = g k + N0 = g k + 2 N0 = L = g k + rN0
2
Processamento Digital de Sinais Aula 11T Professor Marcio Eisencraft abril 2007
Assim, a primeira harmnica idntica harmnica ( N0 + 1 ), a segunda harmnica idntica harmnica ( N0 + 2 ) e assim por diante.
Em outras palavras, existem apenas N 0 harmnicas independentes e estas ficam sobre um intervalo de 2 (porque as harmnicas esto separadas por
0 =
2
).
N0
escolha conveniente. Qualquer um desses conjuntos ter as mesmas harmnicas apenas em ordem diferente.
Vamos tomar a primeira possibilidade 0 k N 0 1 . Esta escolha corresponde s exponenciais e jk n para k = 0, 1, 2,..., N0 1 . A srie de Fourier para
0
um sinal peridico com perodo N 0 x[n] consiste destas N 0 harmnicas e pode ser expressa como
N0 1
=
0
com
N0
x[n] = a k e jk0n
k =0
(1)
1
ak =
N0
N0 1
x[n]e
jk 0 n
n =0
x[n] = a k e jk0n
(2)
k =0
em que
1
ak =
N0
N0 1
x[n]e
jk 0 n
e 0 =
n =0
2
N0
(3)
Processamento Digital de Sinais Aula 11T Professor Marcio Eisencraft abril 2007
a 0 , a1e j 0 n , a 2e j 2 0 n , K , a N0 1e j ( N0 1) 0 n
A freqncia dessas componentes so zero, 0 , 2 0 ,..., (N 0 1) 0 em que
0 =
2
.
N0
a k = a k e j a k
O grfico de a k por chamado de espectro de amplitude e o de a k por
chamado de espectro de ngulo (ou fase). Estes dois grficos juntos so
Processamento Digital de Sinais Aula 11T Professor Marcio Eisencraft abril 2007
[r ] = [r ]
r =0
(4)
r = N0
ca de perodo N 0 .
Desta forma, segue da Equao (4) que a k tambm peridica de perodo N 0
assim como a k e jk n . Assim, por causa da propriedade (4) podemos reescrever
0
e jk 0n
(5)
k = N0
ak =
1
N0
x[n]e
jk 0 n
(6)
n = N0
nas pelas N 0 exponenciais correspondentes a 0 k N0 1 , mas por quaisquer N 0 exponenciais sucessivas neste espectro, comeando em qualquer valor de k (positivo ou negativo).
Por esta razo, costuma-se representar o espectro a k para todos os valores de
k (e no apenas no intervalo 0 k N0 1 ).
5
Processamento Digital de Sinais Aula 11T Professor Marcio Eisencraft abril 2007
Mesmo assim, precisamos lembrar que para sintetizar x[n] precisamos adicionar apenas N 0 componentes sucessivas.
As componentes espectrais a k esto separadas pela freqncia 0 =
2
e eN0
As equaes (7) e (8) mostram que tanto x[n] quanto seu espectro a k so peridicos 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.
A Equao (8) mostra que a k complexo em geral e a k o conjugado de a k
se x[n] real. Assim,
a k = a k
a k = a k
Exerccios
1. (3022) Seja o seguinte sinal de tempo discreto peridico:
Processamento Digital de Sinais Aula 11T Professor Marcio Eisencraft abril 2007
ak
Processamento Digital de Sinais Aula 12T Professor Marcio Eisencraft julho 2006
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. ISBN 0138147574. . Pginas 221-226.
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pginas 202-240.
3.3.
x[n ] =
a e
jk 0 n
k = N0
em que
ak =
1
N0
x[n]e
jk 0 n
n= N0
e 0 =
2
.
N0
ak = a k
ak = ak
Processamento Digital de Sinais Aula 12T Professor Marcio Eisencraft julho 2006
1
N
x[n]
n= N
2
k
k= N
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+ .
2
9
9
9
Neste caso N 0 = 32 e 0 =
2
= . Desta forma,
32 16
x[n] =
ak e
jk
16
k = 32
em que
jk n
1
16
[
]
ak =
x
n
e
(*)
32 n= 32
jk n
1 15
16
ak =
x
[
n
]
e
32 n=16
Processamento Digital de Sinais Aula 12T Professor Marcio Eisencraft julho 2006
1 4 jk 16 n
ak =
e
32 n=4
Esta uma progresso geomtrica com razo e
16
. Assim,
k 9
k 5
j
j
4k
j 416k
16
1 j 16 1 e
1 e
e 16
ak =
e
=
=
k
k
j
j
32
32
1 e 16
1 e 16
0 ,5k
k 4 ,5
j
j
j 4,165k
4,5k
16
e
e 16
e
sin
1
1
16
=
=
0 , 5k
32 j 0,165k j 0,165k
32 0,5k
j
sin
e
e 16
e
16
1 sin (4,5k 0 )
=
32 sin (0,5k 0 )
com 0 =
16
ak
3. (OPPENHEIM; WILLSKY; NAWAB, 1997, p.225) Suponha que sejam dadas as seguintes informaes sobre a seqncia x[n] :
a. x[n] peridica com perodo N 0 = 6 .
5
b.
x[ n ] = 2 .
n =0
7
c.
( 1) x[n] = 1
n
n =2
Processamento Digital de Sinais Aula 12T Professor Marcio Eisencraft julho 2006
4. (OPPENHEIM; WILLSKY; NAWAB, 1997, p. 250) Um sinal de tempo discreto peridico x[n] assume valores reais e tem perodo fundamental N = 5 .
Os coeficientes no nulos da srie de Fourier de x[n] so
a0 = 1 , a 2 = a 2 = e
, a 4 = a 4 = 2e 3 .
x[n] = A0 + Ak sin ( k n + k ) .
k =1
determine os valores de a 0 , a 1 , a 2 e a 3 .
Processamento Digital de Sinais Aula 13T Professor Marcio Eisencraft julho 2006
3.5.
Em uma variedade de aplicaes, de interesse mudar as amplitudes relativas das componentes em freqncia de um sinal ou talvez eliminar algumas
componentes em freqncia inteiramente, processo conhecido como filtragem.
Sistemas LIT que mudam a forma do espectro so freqentemente chamados
de filtros modeladores em freqncia.
Sistemas que so projetados para passar algumas freqncias essencialmente
no distorcidas e atenuar significativamente ou eliminar outras so conhecidos como filtros seletivos em freqncia.
Como vimos na aula passada, os coeficientes da srie de Fourier da sada de
um sistema LIT so os da entrada multiplicados pela resposta em freqncia
do sistema.
y [n ] =
k = N0
j N2 k jk N2 n
ak H e 0 e 0
.
Conseqentemente, a filtragem pode ser convenientemente conseguida atravs do uso de sistemas LIT com uma resposta em freqncia convenientemente 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.
Processamento Digital de Sinais Aula 13T Professor Marcio Eisencraft julho 2006
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 ajustvel; (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
Figura 2 Filtros seletivos em freqncia de tempo discreto ideais: (a) passabaixas; (b) passa-altas; (c) passa-bandas.
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:
y [n ] =
1
(x[n] + x[n 1]) .
2
h[n] = 1,
0
0n2
2 n 1
caso contrario
[n 4 k ] ,
k =
Processamento Digital de Sinais Aula 14T Professor Marcio Eisencraft abril 2007
3.6.
as
Filtros descritos por equaes de diferenas so muito usados na prtica porque podem ser eficientemente implementados em sistemas digitais de propsito geral ou especfico.
Sistemas LIT de tempo discreto descritos por equaes de diferenas podem
ser recursivos e ter resposta impulsiva infinita (sistemas IIR) ou ser no recursivo e ter resposta impulsiva finita (sistemas FIR).
Estas duas classes tm conjuntos diferentes de vantagens e desvantagens em
termos de facilidade de implementao e em termos de ordem do filtro ou a
complexidade requerida para atingir os objetivos desejados.
Nesta aula nos limitaremos a alguns exemplos simples de filtros recursivos e
no recursivos, deixando a anlise e compreenso mais detalhada destes sistemas para cursos posteriores.
Processamento Digital de Sinais Aula 14T Professor Marcio Eisencraft abril 2007
y [n ] =
b x [n k ] .
k
k = N
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, n 0 - a mdia dos valores 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 alta 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 pontos que tem a seguinte relao entrada-sada:
y [n ] =
1
(x[n 1] + x[n] + x[n + 1]) .
3
Exerccio
2. Para o sistema acima, pede-se:
(a) a resposta impulsiva;
(b) a resposta em freqncia;
(c) Esboce H (e j ) no intervalo 2 2 .
Processamento Digital de Sinais Aula 14T Professor Marcio Eisencraft abril 2007
1,
8
H (e j ) =
0, < <
8
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.
y[ n ]
1
y[n 1] = x[n]
4
Encontre a representao por sries de Fourier da sada y[n] para cada uma das
seguintes entradas:
3
n
4
Processamento Digital de Sinais Aula 15T Professor Marcio Eisencraft novembro 2007
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pginas 188-196.
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. (Prentice-Hall signal processing series) ISBN
0138147574. Pginas 358-367.
3. 7
H (e j )
de um
H (e
)=
h [ n ]e j n
n=
H (e j )
(1)
perodo 2 .
A transformada inversa de Fourier definida por
1
h [n ] =
H ( e j ) e j n d
(2)
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 sntese.
Exerccios
1. (HAYKIN; VEEN, 2001, p. 191) Encontre a TFTD da seqncia x[n] = n u[n]
com real e sendo < 1 .
2. (HAYKIN; VEEN, 2001, p. 194) Encontre a TFTD inversa de:
Processamento Digital de Sinais Aula 15T Professor Marcio Eisencraft novembro 2007
1, W
H ( e j ) =
0 , W < <
X ( e j ) = ( ) ,
< < .
X ( e j ) = 2 cos ( 2 ) .
1, n = 2
x[n] =
.
0, caso contrrio
2n ,
0,
1 210 e j 10
1 2e j
Resposta:
X (e j ) =
3.8
Propriedades da TFTD
0n9
.
caso contrrio
a [ n ] b [ n ] T FTD
A ( e j ) B ( e j )
J vimos que a resposta de um sistema LIT entrada x[n] dada por
y[n ] = x[n ] h[n ] , sendo h[n] a resposta impulsiva deste sistema.
H ( e j ) = T FT D { h [ n ] }
Y ( e j ) = X ( e j ) H ( e j ) .
2
Processamento Digital de Sinais Aula 15T Professor Marcio Eisencraft novembro 2007
Pr of . M ar cio Eisencr af t
Segundo semest re de 2007
Aula 1P -
Apresentao do curso
Exemplos de Aplicao de PDS
Bibliografia
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pginas 21-33.
GIROD, Bernd; RABENSTEIN, Rudolf; STENGER, Alexander. Sinais e sistemas. Porto Alegre: LTC Livros Tcnicos e Cientficos, c2003. 340 p. ISBN 8521613644. Pginas 1-3.
Sinais
Um sinal uma funo, geralmente do tempo, que carrega algum tipo de informao.
Exemplos de sinais:
(a) Sinal triangular
(f) Nmero de e-mails que chegaram sua caixa de entrada verificada a cada meia hora.
1.2.
Classificao de sinais
Como vimos nos exemplos anteriores, os sinais podem assumir as mais diversas for-
Exerccio
1. Classifique todos os sinais mostrados nas figuras anteriores em sinais de tempo discreto
ou tempo contnuo; analgicos ou digitais.
1.3.
Processamento de sinais
J dissemos que um sinal uma funo que carrega algum tipo de informao. Geralmente,
interessante conseguir extrair esta informao do sinal. isto o que nossos ouvidos fazem, por exemplo, ao reconhecer uma msica ou voz ou o que nossos olhos fazem na observao de um quadro.
Esta extrao de informaes chamada de processamento de sinais.
Em nosso curso enfocaremos algumas tcnicas bsicas envolvidas no processamento de
sinais de tempo discreto uma das reas da engenharia que mais tem se desenvolvido nas ltimas dcadas.
Sem essas tcnicas no existiriam muito do que se conhece hoje em reas como:
o
o Sensoriamento remoto;
http://www.ltid.inpe.br
Exerccios
2. Classifique os seguintes sinais em:
Tempo discreto ou tempo contnuo
Analgico ou digital
Aula 2P -
Bibliografia
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pginas 71-76.
MITRA, Sanjit K. Digital signal processing: a computer-based approach. 2nd ed. Boston: McGraw-Hill,
c2001. 866 p. : il. ; 24 cm ISBN 0072321059. Pginas 70-76.
1.
Introduo
O Matlab uma ferramenta muito til no estudo de problemas e no desenvolvimento
2.
Gerando vetores
2.1.
O operador :
>> y = 0:0.1:1
y =
0
0.1000
0.6000 0.7000
0.2000
0.8000
0.3000
0.9000
0.4000
0.5000
1.0000
Exerccio
1. Gerar um vetor x de nmeros pares de 0 a 50.
Comandos:
2.3.
Vetores especiais
Existem vetores pr-definidos pelo Matlab e que so muito teis. Dois deles so o o-
>> x = zeros(1,10)
x =
0
Exerccio
3. Gere uma matriz 2x2 constituda por zeros.
Comandos:
2.4.
Concatenao de vetores
Uma ferramenta muito interessante do Matlab a possibilidade de combinar vetores
B. Gere um vetor contendo os nmeros inteiros entre zero e 10 em ordem crescente seguidos
pelos mesmos em ordem decrescente.
>> x = [0:10 10:-1:0]
x =
0
10
3
7
4
6
5
5
6
4
7
3
8
2
9
1
10
0
Exerccio
4. Construa um vetor constitudo pelos nmeros pares de 0 a 10 seguido pelos nmeros mpares de 0 a 10.
Comandos:
2.5.
operaes so realizadas elemento a elemento e s podem ser aplicadas entre vetores de mesmo comprimento.
Alm disso, quase todas as suas funes (trigonomtricas, exponenciais e outras) podem ser aplicadas a um vetor sendo que elas operam tambm elemento a elemento.
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
v) x./y
iii) 3*x
vi) y.^2
iv) x.*y
vii) x.^y
Respostas:
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
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)
Exerccios
n
12
e z [ n ] = cos
n
12
para 30 n 30 na
4.
Scripts
At este ponto, todas as nossas interaes com o Matlab tm sido atravs da linha de comando. 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 habilidade de executar uma longa seqncia de comandos armazenados num arquivo. Estes arquivos 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 criados 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 podem 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 comando.
6
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 exemplo,
>> 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 importantes e utilizados do Matlab. Uma funo um script que recebe um ou mais parmetros 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, outarg2,... 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
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 recebe 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 exemplo, 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 grfico deste sinal.
Comandos:
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
Aula 3P -
Bibliografia
MITRA, Sanjit K. Digital signal processing: a computer-based approach. 2nd ed. Boston: McGraw-Hill,
c2001. 866 p. : il. ; 24 cm ISBN 0072321059. Pginas 6-11.
INGLE, Vinay K.; PROAKIS, John G. Digital signal processing using Matlab. Pacific Grove; Albany:
Brooks/Cole, c2000. 418 p. ISBN 0534371744. Pginas 7-20.
1.
Introduo
Foi visto nas aulas tericas que os objetos sobre os quais trabalhamos na rea de Processamento 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.
2.
Como j foi visto, o Matlab uma tima ferramenta para representar sinais de tempo contnuo e discreto.
Quando se est interessado em gerar sinais de tempo contnuo, usa-se como abscissa vetores com espaamento entre amostras bem pequeno, simulando um intervalo de tempo contnuo. Por exemplo, t=0:0.001:1.
Quando se est interessado em gerar sinais de tempo discreto, usa-se como abscissa vetores
com espaamento unitrio entre amostras. Por exemplo, n=0:100.
2.1.
Foi visto na Aula 2P que para gerar uma seqncia de M uns no Matlab, usa-se o comando
ones(1,M) e para gerar uma seqncia de M zeros, usamos o comando zeros(1,M).
Podem-se usar esses dois comandos para gerar os sinais impulso e degrau.
Por exemplo, para gerar um sinal degrau estendendo-se de n=-50 a n = 49 usamos a
seqncia de comandos:
>> n = -50:49;
>> u = [zeros(1,50) ones(1,50)];
>> stem(n,u);
1
Sinais degrau deslocados no tempo podem ser utilizados para descrever pulsos retangulares. 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);
Exerccio
1. Um pulso retangular x[n] definido por
0 n 10
caso contrrio
8,
x[n] =
0,
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):
2.2.
Sinais exponenciais
>> 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 nmero real a. Este programa dever fazer o grfico de x[n] = a n , para 0 n 10 . Por exemplo, ao digitarmos:
>> expgraf(0.5);
deveremos obter o grfico
RESOLUO:
2.3.
Sinais senoidais
As funes sin e cos podem ser usadas para criar sinais senoidais de tempo discreto.
Por exemplo, para gerar o sinal x[n ] = 2 cos n , usamos a seqncia de comandos:
6
>> n = -20:20;
>> Omega = pi/6;
>> x = 2*cos(Omega*n);
>> stem(n,x);
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 positivo tal que =
2m
, com m inteiro. Aplicando esta condio ao exemplo anterior, veN
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. 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)
Aula 4P -
Bibliografia
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pginas 61-70.
MATSUMOTO, lia Yathie. Simulink 5. So Paulo: rica, 2003. 204 p.: il. ; 25 cm ISBN 8571949379.
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:
4. Implemente o seguinte diagrama de blocos que utiliza o arquivo voz.wav que est disponvel na pasta da disciplina. Descreva o resultado da simulao e verifique o que ocorre
ao se alterar os parmetros do diagrama de blocos.
Aula 5P
Amostragem
Senides de tempo discreto
Bibliografia
HAYKIN, Simon; VAN VEEN, Barry. Sinais e sistemas. Porto alegre: Bookman, 2001. 668 p. : il. (algumas 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-
cos( n + ) = cos(n )
Assim, tanto cos( n + ) quanto cos(n ) tem a mesma freqncia ( ). Assim, a freqncia de cos(n + ) .
Exerccio
1. Use o Matlab para fazer a figura anterior. Ou seja, escreva uma seqncia de comandos
Uma senide de tempo contnuo cos(t ) amostrada a cada T segundos fornece uma seqncia de tempo discreto cujo n -simo elemento (em t = nT ) cos(nT ) . Assim, o sinal amostrado y[n] dado por:
y[n] = cos(nT )
em que = T .
= cos n
Claramente, uma senide de tempo contnuo cos t amostrada a cada T segundos fornece a senide de tempo discreto cos(n ) em que = T .
Superficialmente, pode parecer que uma senide de tempo discreto uma senide de tempo contnuo apresentada com bolinhas. No entanto, como veremos as propriedades das senides de tempo discreto so muito diferentes das de tempo contnuo.
No caso contnuo, o perodo de uma senide pode assumir qualquer valor; inteiro, fracionrio, ou mesmo irracional. Os sinais de tempo discreto, por outro lado, s so especificados em valores inteiros de n . Assim, o perodo precisa ser um inteiro (em termos de n )
ou um mltiplo inteiro de T (em termos da varivel contnua t ).
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.
(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).
Existem duas propriedades inesperadas das senides de tempo discreto que as distingue de
seus parentes de tempo contnuo.
1. Uma senide de tempo contnuo sempre peridica independentemente de
sua freqncia . Mas uma senide de tempo discreto cos n peridica
apenas se igual a 2 vezes um nmero racional (
um nmero ra2
cional).
2. Uma senide de tempo contnuo cos t tem uma forma de onda nica para
cada valor de . J a senide cos n no tem uma forma de onda nica
para cada valor de . De fato, senides de tempo discreto com freqncias
separadas por mltiplos de 2 so idnticas. Assim, uma senide
Exerccio
4. Usando
comando
subplot
faa
os
grficos
de
17
x 2 [n] = cos
8 + 2 n + 0,1
= cos8 n + 0,1
x1 [n ] = cos n + 0,1,
8
15
x3 [n] = cos
8 2 n + 0,1
= cos 8 n + 0,1. Calcule os perodos dos 3 sinais e
compare.
RESPOSTA: (Resoluo, comandos e comentrios):
4.
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.
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
2
N 0 = m
(1)
4
, ento o menor valor de m que far
17
2
m um intei
17
2
m = m
2
um
inteiro 2. Assim,
N0 = m
2
17
= 2 = 17 .
Usando um argumento similar, podemos mostrar que esta discusso tambm se aplica
5.
um nmero racional.
2
jn
=e
j ( n + N 0 )
=e
jn
jn
e jN 0 .
2
, e
xistem
2
amostras (elementos) de cos n em um ciclo desta envoltria. Este nmero
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 ca4
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).
Esta observao indica que um sinal cos n peridico somente se podemos encaixar
2
conclumos que
2
N 0 = m
que exatamente a equao a que tnhamos chegado.
Se
nmero inteiro ( m ) de ciclos da envoltria e o padro nunca se torna repetitivo. Por exemplo, 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 repetitivo sobre um nmero inteiro ( m ) de ciclos da envoltria; assim cos(0,8n ) no peridico.
Exerccios
5. Reproduza no Matlab a figura da pgina 6.
RESPOSTA: (Resoluo, comandos e comentrios):
(b) f = 700 Hz
(c) f = 1100 Hz
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pginas 85-99.
OPPENHEIM, Alan V.; WILLSKY, Alan S.; NAWAB, S. Hamid. Signals & systems. 2nd. ed. Upper
Saddle River, New Jersey: Prentice-Hall, c1997. 957 p. ISBN 0138147574. Pginas 74-90.
RESOLUO
3
j [p] = w[p]
4
Determine a sada do sistema {[p] quando a entrada for z[p ] = w[p] .
RESOLUO
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:
{[p] =
1
(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:
{[p] =
1
(z[p] + z[p 1] + z[p 2] + z[p 3] + z[p 4])
5
RESOLUO
(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
(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).
Aula 7P -
Questes da prova P1
1. (HSU, 2004, p. 31) (2,0) Um sinal de tempo discreto x [ n] mostrado na figura a seguir. Faa
o grfico de cada um dos seguintes sinais:
(a) x [ n 2] ;
(b) x [ 2n ] ;
(c) x [ n ] ;
(d) x [ n + 2]
2.5
x[n]
1.5
0.5
0
-2
-1
(8 )
(7 )
(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.
n
(b) (1,0) x [ n ] = u [ n ] .
x 1 [n
x 2 [n
x 3 [n
=
=
=
{ 1; 2 ; 1 }
{ 1; 1 1 }
{ 0 ; 1; 1 }
y 1 [n
y 2 [n
y 3 [n
=
=
=
{ 1; 2 ; 1;
{ 1; 1; 0 ;
{ 1; 2 ; 1 }
0;
2
x2 [ n ] = 20,5n x [ n ] + cos ( 0, 1n ) x [ n + 2 ]
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pgina 149.
INGLE, Vinay K.; PROAKIS, John G. Digital signal pr ocessing using Matlab. Pacific Grove; Albany:
Brooks/Cole, c2000. 418 p. ISBN 0534371744. Pginas 29-35.
>> stem(n,y);
Exer ccios
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
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 semestre 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:
O comando Matlab y = impz(B,A,n) pode ser usado para computar as primeiras N amostras da resposta impulsiva do sistema LIT discreto da equao:
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] .
O programa Matlab a seguir computa e faz um grfico da resposta impulsiva descrita pela equao:
{[p] 0,4 {[p 1] + 0,75 {[p 2] = 2,2403 z[p] + 2,4908 z[p 1] + 2,2403 z[p 2] .
%Programa para exerccios seguintes
%Computa a resposta impulsiva h
3
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 sistema 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:
Aula 9P -
Bibliogr afia
INGLE, Vinay K.; PROAKIS, John G. Digital signal processing using matlab. Pacific Grove: Brooks :
Cole Publishing, c2000. 418 p. : il. ; 24 cm ISBN 0534371744. Pginas 7-20.
HANSELMAN, Duane C; LITTLEFIELD, Bruce. MATLAB 6: curso completo. So Paulo: Prentice Hall,
c2003. 676 p. ISBN 8587918567. Pgina 375.
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 teste.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 tocarmos o sinal no alto-falante do PC usamos o comando sound(<varivel>,
<freqncia de amostragem>). Por exemplo, podemos fazer:
>> sound(voz,fs)
Atividades (nos espaos coloque os comandos Matlab utilizados e comentr ios sobr e os
r esultados obtidos)
1. Qual a freqncia de amostragem do sinal de voz voz.wav?
Resposta e comentrios:
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 acontece? Explique o que voc ouviu.
Resposta e comentrios:
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 vetor 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 rudo e observe o que ocorre.
Resposta e comentrios:
"
"
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:
Processamento Digital de Sinais Aula 10P Professor Marcio Eisencraft setembro 2007
STONICK, Virginia L. Labs for signals and systems: using MATLAB. Boston; Albany: PWS, c1996. 143 p.
ISBN 0534938086.. Pginas 57-68.
BURRUS, C. Sidney, Oppenheim, Alan V., Parks, Thomas W., Schafer, Ronald W., Schuessler, Hans W. Computer-based exercises for signal processing using Matlab 5. Upper Saddle River: Prentice-Hall, c1998. 404 p. :
il. ; 28 cm ISBN 0137890095. Pginas 329-350.
Processamento Digital de Sinais Aula 10P Professor Marcio Eisencraft setembro 2007
Uqpu"pq/xqenkequ: so produzidos usando rudo branco como entrada. Estes sons geralmente 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.
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).
u[p] = ku[p k]
k=1
(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 :
(2)
Processamento Digital de Sinais Aula 10P Professor Marcio Eisencraft setembro 2007
Modelo de predio
A combinao das duas equaes acima leva a um modelo por equaes de diferenas da predio do processo de fala:
r
(3)
k=1
original
-1
Predicao
x 10
-1
Erro de predicao
8
4
8
4
x 10
-1
8
4
1
Reconstruido
x 10
-1
8
4
x 10
Processamento Digital de Sinais Aula 10P Professor Marcio Eisencraft setembro 2007
Modelo de sntese
Pode-se modificar o mesmo modelo bsico de predio de voz para usar em sntese de voz.
Se o objetivo for criar um sinal ~
u[p] que imita o sinal de voz original, podemos substituir o
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] = I z[p] .
k=1
(4)
Tipicamente, os coeficientes k mudam a cada 10-20ms conforme o trato vocal muda para
produzir sons diferentes. Veja a Figura 6.
Na sntese aplica-se uma seqncia de excitao conveniente para que naquele intervalo de
tempo seja gerada uma seqncia de sons adequada.
Tr ansmisso de voz
Uma linha telefnica normal opera simplesmente amostrando a voz de uma pessoa, digitalizando as amostras com 8 bits e transmitindo estes bits para o receptor, onde novamente
convertido em voz.
Processamento Digital de Sinais Aula 10P Professor Marcio Eisencraft setembro 2007
Um mtodo alternativo realizar a anlise e predio como resumido anteriormente, digitalizar o sinal de erro e transmitir o sinal de erro digital resultante e coeficientes da predio linear.
Por que fazer isso?
Voz normal necessita de 8 bits x 8 kHz = 64000 bits por segundo para ser transmitido.
Suponha que o sinal de erro possa ser digitalizado com 4 bits ao invs de 8 e que cada coeficiente seja representado com 16 bits.
Ento, para transmitir a mesma quantidade de informao necessrio 4bits x 8kHz + 16 x 10
coeficientes x 100 blocos de dez milisegundos por segundo = 48000 bits por segundo 75%
da taxa anterior.
Se for utilizado apenas 1 bit de quantizao para o sinal de erro, 24000 bits por segundo so
necessrios 37,5% da taxa anterior.
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 impulsos 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 ] ,
k=0
0 p < P U.
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
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);
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 adequado 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.
predivoz(nomarq,NS,NP);
- erro de predicao
predivozquant(nomarq,NS,NP, Nbits);
Processamento Digital de Sinais Aula 11P Professor Marcio Eisencraft setembro 2007
STONICK, Virginia L. Labs for signals and systems: using MATLAB. Boston; Albany: PWS, c1996. 143 p.
ISBN 0534938086. Pginas 69-80.
GONZALEZ, Rafael C.; WOODS, Richard E. Pr ocessamento de imagens digitais. So Paulo: Edgard Blcher,
2000. 509p. : il. ; 24 cm ISBN 8521202644.
1.
Intr oduo
Imagens digitais so formadas por pontos ou r kzgnu (Rkevwt g"gngo gpvu). 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 caso, o brilho relativo de cada pixel pode ser representado por um de 256 nveis possveis, chamados 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 armazenados em matrizes separadas. No Matlab, as imagens so armazenadas como matrizes de inteiros e a informao de cor como cada valor de pixel mapeado para certa cor armazenada separadamente.
{(n, p ) =
1
P
1
z(n, p ) = P (z(n, p ) + z(n, p 1) +
m= p P +1
+ z(n, p P + 1)) .
(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. Tr abalhando com uma imagem
Nesta atividade exploraremos como imagens so mostradas e representadas como matrizes no
Matlab. A informao de cores codificada em uma eqnqt o cr (tabela de cores a ser usada). Imagens 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
X
caption
map
Size
Bytes
200x320
512000
2x1
81x3
1944
Class
double array
char array
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.
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
40
60
80
100
120
140
160
180
200
50
100
150
200
250
300
Processamento Digital de Sinais Aula 11P Professor Marcio Eisencraft setembro 2007
6. Podem-se utilizar operaes matriciais normalmente para trabalhar com imagens. Por exemplo, 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
9. Usando o comando filter e a Equao 1 podemos borrar a imagem na horizontal e na vertical usando os seguintes comandos:
N = 25;
Yvert = filter(ones(1,N)/N,1, X);
subplot(221);image(Yvert);
colormap(map);
Yhori = filter(ones(1,N)/N,1, X');
Yhori = Yhori';
subplot(222);image(Yhori);colormap(map);
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);
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');
moinho.jpg
Componente red
200
200
400
400
600
600
800
800
1000
1000
1200
1200
200
400
600
800
200
Componente green
400
600
800
Componente blue
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:
Processamento Digital de Sinais Aula 12P Professor Marcio Eisencraft outubro 2007
Aula 12P-
Questes da prova P2
x [ n ] = 2, n = 1
h [ n ] = [ n ] [ n 1 ] + [ n 4 ] + [ n 5 ]
h2 [ n ]
x [n ]
h1 [ n ]
h3 [ n ]
h4 [ n ]
h5 [ n ]
(b) (1,0) Determine h [ n ] quando
1 n
{ u [ n ] u [ n 3 ]}
2
h2 [ n ] = h3 [ n ] = ( n + 1 ) u [ n ]
h1 [ n ] = 4
()
h 4 [ 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.
y[n ]
Processamento Digital de Sinais Aula 12P Professor Marcio Eisencraft outubro 2007
2.5
2
1.5
x[n]
1
0.5
0
-0.5
-1
-1.5
-6
-4
-2
3. (OPPENHEIM; WILLSKY; YOUNG; 1983, p. 148) (1,5) Considere o sistema LIT inicialmente 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 .
h [n ] =
1
2
( )un
2
Processamento Digital de Sinais Aula 12P Professor Marcio Eisencraft outubro 2007
n
j
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],
y[n ] =
0,
se
n par
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 ]
Sistema 1
Sistema 2
y [n ]
Processamento Digital de Sinais Aula 13P Professor Marcio Eisencraft abril 2007
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pginas 240-241.
INGLE, Vinay K.; PROAKIS, John G. Digital signal pr ocessing using Matlab. Pacific Grove; Albany:
Brooks/Cole, c2000. 418 p. ISBN 0534371744. Pginas 117-121.
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.
>> a = fft(x)/N
produz um vetor a de tamanho P que contm os coeficientes da SFTD, c m.
>> x = ifft(x)*N
produz um vetor x que representa um perodo para a forma de onda no tempo.
Tanto fft quanto ifft so computadas utilizando-se um algoritmo eficiente numericamente ou t r kf q denominado vt cpuhqt o cf c"t r kf c"f g"Hqwt kgt . O desenvolvimento deste
algoritmo ser estudado em disciplinas posteriores.
Exer ccios
1. Considere o seguinte sinal peridico:
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 mpara 0 m P 0 1 .
RESOLUO:
z[p] = 1 + sin p +
.
8
12
(b) Confirme seu resultado utilizando o Matlab.
RESOLUO:
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 peridico descrito a seguir. Utilize o Matlab para conferir seus resultados.
RESOLUO:
Processamento Digital de Sinais Aula 14P Professor Marcio Eisencraft setembro 2007
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pginas 264-266.
INGLE, Vinay K.; PROAKIS, John G. Digital signal pr ocessing using Matlab. Pacific Grove; Albany:
Brooks/Cole, c2000. 418 p. ISBN 0534371744. Pginas 53-60.
J (| ) =
j [m]|
m=
( ) = j [m]g
J g
l m
m=
z[p] =
2
p
lm
P0
m= P 0
{[p] =
m= P 0
l P2 m lm P2 p
c mJ g 0 g 0 ,
ou seja, os coeficientes da srie de Fourier do sinal de entrada ficam multiplicados pela resposta 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 forma como foi feito para o comando filter, o comando
>>[H,W] = freqz(B,A,N);
Processamento Digital de Sinais Aula 14P Professor Marcio Eisencraft setembro 2007
Exer ccios
1. Considere o seguinte sistema de tempo discreto conhecido como f khgt gpekcf qt de 1 ordem:
{[p] =
1
(z[p] z[p 1]) .
2
Processamento Digital de Sinais Aula 14P Professor Marcio Eisencraft setembro 2007
(f) utilizando o comando freqz faa um grfico no Matlab do mdulo da resposta em freqncia 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 freqncia deste filtro cai abruptamente?
(c) Digite e execute o seguinte uet kr v. Explique os grficos obtidos e os sons ouvidos.
%Exemplo de Filtro Passa-Baixas Chebyshev
fa = 2000;
%frequencia de amostragem
n = 0:3*fa-1;
f1 = 200;
%frequencia do Tom 1
f2 = 800;
%frequencia do Tom 2
%Coeficientes do filtro
B = [0.0322
0.1608
A = [1.0000 -0.7820
0.3217
0.3217
1.2872 -0.7822
0.1608
0.0322];
0.4297 -0.1234];
Processamento Digital de Sinais Aula 14P Professor Marcio Eisencraft setembro 2007
y1 = filter(B,A,x1);
%Filtragem
y2 = filter(B,A,x2);
%Filtragem
% Ouvindo os sinais - O seguinte comando gera nos autofalantes os sinais x1 e x2 seguido de 0.5 segundo de silencio e a seguir o sinal y1 % e
y2 - saidas do filtro
sound([x1 zeros(1,0.5*fa-1) y1 zeros(1,0.5*fa-1)],fa);
sound([x2 zeros(1,0.5*fa-1) y2],fa);
%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