Anda di halaman 1dari 152

Univ er sidade Pr esbit er iana M ack enzie

Cur so de Engenhar ia El et r ica

P r ocessam ent o D igit al de Sinais


Not as de A ul a

Pr of . M ar cio Eisencr af t
Segundo semest re de 2007

Univ er sidade Pr esbit er iana M ack enzie


Cur so de Engenhar ia El et r ica

P r ocessam ent o D igit al de Sinais


T EORI A

Pr of . M ar cio Eisencr af t
Segundo semest re de 2007

Processamento Digital de Sinais Aula 1T Professor Marcio Eisencraft fevereiro 2007

Aula 1T -

Sinais de tempo discreto


Operaes com seqncias

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.

Sinais de tempo discreto

Um sinal de tempo discreto basicamente um sinal que est definido apenas

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

sinal e como realizar operaes com eles.


Os sinais de tempo discreto so representados pela notao x[n] em que n s

est definido para nmeros inteiros. Cada um dos elementos do sinal x


chamado de amostra. Vejamos alguns exemplos:
(a) x[n]

n2 ,

Este

sinal

6
constitudo

das

seguintes

amostras

{x n } {36,25,16,9,4,1,0,1,4,9,16,25,36} . A figura a seguir mostra um grfico deste

sinal:
stem(-6:6, (-6:6).^2);

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 amostras.


(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 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

Processamento Digital de Sinais Aula 1T Professor Marcio Eisencraft fevereiro 2007

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

Operaes com seqncias

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] .

O conceito de sistemas um dos mais importantes no curso de Engenharia


Eltrica e explorado em vrias disciplinas. Aqui, nos preocuparemos principalmente com a parte operacional de sistemas de tempo discreto, ou, em outras
palavras, em como eles operam.

Processamento Digital de Sinais Aula 1T Professor Marcio Eisencraft fevereiro 2007

Quase todo sistema de tempo discreto pode ser decomposto em um conjunto


de operaes bsicas entre seqncias que sero estudadas a seguir.

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 seguir. Esta operao tambm chamada de modulao na rea de telecomunicaes.

1.1.2. Soma
A operao soma entre duas seqncias x[n ] e y[n] , representada por
w2 [n]

xn

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 seguir que chamado de somador.

Processamento Digital de Sinais Aula 1T Professor Marcio Eisencraft fevereiro 2007

1.1.3. Multiplicao por escalar


Nesta operao, um novo sinal gerado multiplicando-se cada amostra da
seqncia x n pelo escalar A : w3 [n] Ax n .
Esquematicamente temos:

Esta operao tambm chamada de ganho.

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

Determine as seguintes seqncias:


(a) u n

xn

(d) r n

4,5 y n .

yn

(b) v n

xn

wn

(c) s n

yn

wn

1.1.4. Deslocamento no tempo


A ltima operao de que trataremos por enquanto o deslocamento no tempo (time-shifting). A relao entre a sada e a entrada nesta operao
w4 n

x[n N ]

em que N um inteiro. Se N 0 esta uma operao de atraso e se N 0 esta


uma operao de avano. O dispositivo que implementa a operao de atraso
de uma amostra chamado de atraso unitrio e seu smbolo mostrado a seguir.

Processamento Digital de Sinais Aula 1T Professor Marcio Eisencraft fevereiro 2007

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

2n 1 . Ele passado por um atrasador, obtendo-se o sinal w n

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] .

4. Desenhe um diagrama de blocos que programe a seguinte operao sobre o


sinal x n :
y[ 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:

Processamento Digital de Sinais Aula 2T Professor Marcio Eisencraft fevereiro 2007

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.

1.2.1 Classificao baseada na simetria


1.2.1.1

Sinais de tempo contnuo

Um sinal de tempo contnuo dito par se ele satisfizer a condio


x

x t para todo t

Um sinal de tempo contnuo dito impar se ele satisfizer a condio


x

x t para todo t

Assim, os sinais pares so simtricos com relao ao eixo vertical ou origem


dos tempos enquanto que os sinais mpares so antisimtricos em relao origem dos tempos.
Os sinais x t

t2 e x t

t 3 so exemplos de sinal par e mpar respectivamen-

te. O grfico destes sinais est mostrado a seguir.

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,

xt
com x p

xp t

xi t , (1)

xp t e

xi

xi t

Trocando t por t na expresso (1), temos:


x

xp

xi

xi t (2)

xp t

Resolvendo o sistema (1)-(2) para x p t e xi t , chega-se a:

1.2.1.2

Sinais de tempo discreto

De forma anloga ao que foi feito em tempo contnuo, definimos sinais de


tempo discreto par e mpar como:
Sinal par:
x

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

A figura seguinte mostra exemplos de sinais de tempo discreto par e mpar.

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 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

1.2.2 Classificao quanto periodicidade


1.2.2.1 Sinais de tempo contnuo
Um sinal x t dito peridico quando satisfizer a condio x t

x t T para

todo t e T uma constante positiva.


O menor valor de T que satisfaz esta condio chamado de perodo fundamental de x t .
O inverso do perodo fundamental a freqncia fundamental, que, quando o
perodo medido em segundos, dada em Hertz (Hz).

1
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

Quando o sinal no apresenta um perodo mnimo T chamado de aperidico.

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

Sinais de tempo discreto

A classificao de sinais em sinais peridicos e aperidicos apresentada at


agora se aplica a sinais de tempo contnuo. Consideraremos a seguir o caso de
sinais de tempo discreto.
Diz-se que um sinal de tempo discreto x n peridico se ele satisfizer a condio

xn

x n N para todos os nmeros inteiros n ,

em que N um nmero inteiro positivo.


O menor valor de N que satisfaz a definio anterior chamado de perodo
fundamental do sinal de tempo discreto x n . A freqncia angular fundamental ou, simplesmente, freqncia fundamental de x n definida por:

2
N ,
4

Processamento Digital de Sinais Aula 2T Professor Marcio Eisencraft fevereiro 2007

a qual medida em radianos.


Lembre-se: O perodo de um sinal de tempo discreto obrigatoriamente um
nmero inteiro. Assim, sua freqncia angular fundamental

no pode as-

sumir qualquer valor.

Exerccio
3. (HAYKIN, 2000; p. 78) Determine se os seguintes sinais so peridicos. Se
forem peridicos, encontre o perodo fundamental.
(a) x n

(b) x n descrito na figura a seguir.

1.2.3 Sinais de energia e potncia


1.2.3.1

Sinais de tempo contnuo

Em sistemas eltricos, um sinal pode representar uma tenso ou uma corrente.


Considere uma tenso v t aplicada a um resistor de resistncia R , produzindo
uma corrente i t . A potncia instantnea dissipada no resistor definida por

pt

v2 t
pt
R ou

Ri 2 t

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

Baseado nisso, em anlise de sinais, costuma-se definir a potncia instantnea


de um sinal x t como:

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 .

Tambm definimos a potncia mdia de um sinal como


T

1
P lim
T
T

2
T
2

x 2 t dt .

Para sinais peridicos, podemos calcular a potncia mdia tomando a mdia


apenas num perodo ao invs de tomar todo o eixo dos tempos. Para um sinal
peridico de perodo fundamental T , temos:

1
T

2
T
2

x 2 t dt .

A raiz quadrada da potncia mdia P chamada de valor mdio quadrtico


(rms root-mean-square) do sinal x t .

1.2.3.2

Sinais de tempo discreto

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

e sua potncia mdia definida por:

Processamento Digital de Sinais Aula 2T Professor Marcio Eisencraft fevereiro 2007

N
1
lim
x2 n .
N
2N 1 n N

Novamente, para um sinal peridico, basta tomarmos a mdia de um perodo


para o clculo da potncia mdia. Assim, para o caso de um sinal x n com perodo fundamental N ,

1
N

N 1

x2 n .
n 0

Um sinal chamado de sinal de energia se e somente se a energia total do


sinal satisfizer a condio

Um sinal chamado de sinal de potncia se e somente se a potncia mdia do


sinal satisfizer a condio

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

5. (HAYKIN, 2000; p. 39) Qual a potncia mdia da onda quadrada mostrada


na figura a seguir?

Processamento Digital de Sinais Aula 2T Professor Marcio Eisencraft fevereiro 2007

Resposta: 1

6. (HAYKIN, 2000; p. 40) Qual a potncia mdia da onda triangular mostrada


a seguir?

Resposta: 1/3

7. (HAYKIN, 2000; p. 40) Qual a energia total do sinal de tempo discreto mostrado a seguir?

8. (HAYKIN, 2000; p. 40) Qual a potncia mdia do sinal peridico de tempo


discreto mostrado na figura a seguir?

Processamento Digital de Sinais - Aula 3T Professor Marcio Eisencraft julho 2006

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

Algumas seqncias bsicas

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.

1.3.1 Sinal impulso


A verso de tempo discreto do impulso, comumente notada por [n] definida por:
1,
0,

[n ] =

n=0
.
n0

A figura a seguir mostra um grfico do sinal [n] .

Processamento Digital de Sinais - Aula 3T Professor Marcio Eisencraft julho 2006

Para representar um impulso no instante n = k , basta escrevermos [n k ] . Por


exemplo, a figura a seguir representa o sinal [n 3] .

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:

pode ser expresso por


x[n] = 0,5 [n + 2] + 1,5 [n 1] [n 2] + [n 4] + 0,75 [n 6] .

Processamento Digital de Sinais - Aula 3T Professor Marcio Eisencraft julho 2006

Exerccio
2. Expresse os seguintes sinais como somas ponderadas de funes impulsivas.

1.3.2

Sinal degrau

A verso em tempo discreto da funo degrau, comumente denotada por u[n]


definida por:
1,
u [n ] =
0,

n0
n<0

A figura a seguir mostra um grfico do sinal u[n] .

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. (HAYKIN; VEEN, 2001; p. 56) Um sinal de tempo discreto x[n] definido


por:
1,
x[n] =
0,

0n9
caso contrrio

Usando u[n] descreva x[n] como a superposio de duas funes degrau.

1.3.3 Sinais exponenciais


Em tempo discreto, um sinal exponencial real dado por:
x[n ] = Br n ,

com B e r constantes reais.


A figura a seguir mostra exemplos de sinais exponenciais de tempo discreto.

Processamento Digital de Sinais - Aula 3T Professor Marcio Eisencraft julho 2006

Se 0 < r < 1 o sinal decrescente. Se r > 1 o sinal crescente. Vemos tambm


que se r < 0 , um sinal exponencial de tempo discreto assume valores (+,-) que
se alternam.

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.

1.3.4 Sinais senoidais


A verso de tempo discreto de um sinal senoidal escrita como

x[n] = A cos(n + )

(1)

O perodo de um sinal de tempo discreto medido em amostras. Desta forma,


para que x[n] seja peridico com um perodo de N amostras, ele deve satisfazer a condio x[n] = x[n + N ] para todo n e para algum N inteiro.
Calculando x[n + N ] , temos

x[n + N ] = A cos(n + N + )

(2)

Assim, a condio para que x[n] = x[n + N ] :


N = 2m radianos

ou

2m
radianos/amostra
N

m, N inteiros.

(3)

Assim, um sinal senoidal de tempo discreto ser peridico se e somente se sua


freqncia angular puder ser escrito na forma da Equao 3, com m, N inteiros.
importante notar que, diferentemente dos sinais senoidais de tempo contnuo, nem todos os sinais senoidais de tempo discreto com valores arbitrrios
de so peridicos. Especificamente, para que o sinal senoidal de tempo dis-

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 per6

odo deste sinal e confira com a figura.

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

(b) x[n ] = cos( 2n )

Processamento Digital de Sinais Aula 4T Professor Marcio Eisencraft maro 2007

Aula 4T -

Sistemas de tempo discreto


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.

2.

Sistemas de tempo discreto no domnio do tempo


Em aulas passadas j foi discutido o conceito de sistema. Foi visto que um
sistema uma interconexo de operaes que transforma um sinal de entrada
em um sinal de sada. Neste curso, abordam-se particularmente os sistemas
em que os sinais so de tempo discreto. Estes sistemas so chamados de sistemas de tempo discreto.

Matematicamente, se expressa um sistema por um operador. Por exemplo,


para dizer que um sinal y[n] a sada de um sistema H cuja entrada x[n] escreve-se:

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.

Processamento Digital de Sinais Aula 4T Professor Marcio Eisencraft maro 2007

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. (LATHI, 1998; p. 611) Resolva a seguinte equao iterativamente (primeiros


trs termos apenas):
y[n] 0,6 y[n 1] 0,16 y[n 2] = 0 com y[ 1] = 25 , y[ 2] = 0 .

3. (LATHI, 1998; p. 611) Resolva a seguinte equao iterativamente (primeiros


trs termos apenas):
y[n + 2] + 3 y[n + 1] + 2 y[n] = x[n + 2] + 3 x[n + 1] + 3 x[n]

com x[n] = 3 n u[n], y[-1] = 3 e y[-2] = 2 .

4. (LATHI, 1998; p. 571) A sada de uma caixa registradora y[n] representa o


preo total de n itens passados pela caixa. A entrada x[n] o preo do n simo item.
(a) Escreva a equao de diferenas relacionando y[n] a x[n] .
(b) Esquematize a realizao deste sistema usando APENAS UM elemento de
atraso.

Processamento Digital de Sinais Aula 4T Professor Marcio Eisencraft maro 2007

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

Processamento Digital de Sinais Aula 4T Professor Marcio Eisencraft maro 2007

y[ n] =

1
(x[n] + x[n 1] + x[n 2])
3

causal. Por outro lado, o sistema de mdia mvel descrito por:


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.3 Invarincia no tempo


Diz-se que um sistema invariante no tempo se um retardo de tempo ou avano de tempo do sinal de entrada levar a um deslocamento idntico no sinal de
sada. Isto implica que um sistema invariante no tempo reage de maneira idntica, no importa quando o sinal de entrada seja aplicado. Dizendo com outras
palavras, as caractersticas de um sistema invariante no tempo no se modificam
com o tempo. Caso contrrio, diz-se que o sistema variante no tempo.
Por exemplo, o sistema y[n] = 2 x[n 1] invariante no tempo. J o sistema
y[n ] = r n x(n ) variante no tempo.

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.

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] + 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):

Faa um esboo da sada y[n] deste sistema quando a entrada :


(a) x[n] = 3[n]
(b) x[n] = [n 2]
(c) x[n] = 2 [n] + 0,5 [n 1]
5

Processamento Digital de Sinais Aula 4T Professor Marcio Eisencraft maro 2007

6. (1031) Um sistema de tempo discreto definido pela seguinte equao de


diferenas:
y[n] = x[n](1 x[n 1])

(a) Este sistema causal? Justifique.


(b) Este sistema tem memria? Justifique.
(c) Este sistema linear? Justifique.
(d) Este sistema invariante no tempo? Justifique.
(e) Determine iterativamente a resposta ao degrau deste sistema ( x[n] = u[n] ) para
0 n 5.

(f) Repita o item (e) para x[n] = u[n 2]. .


(g) Repita o item (e) para x[n] = 3u[n] .
Resp: (f) y[n ] = {0; 0; 1; 0; 0; 0}, 0 n 5 ; (g) y[n] = {3; 6; 6; 6; 6; 6}, 0 n 5

Processamento Digital de Sinais Aula 5T Professor Marcio Eisencraft agosto 2007

Aula 5T Representao de sistemas LIT:


A soma de convoluo
Bibliografia
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.

2.2. Sistemas LIT A soma de convoluo


Os sistemas mais utilizados em quase todas as reas da Engenharia so os
sistemas lineares invariantes no tempo (abreviadamente, LIT ou LTI em ingls).
O principal motivo para esta preferncia que este tipo de sistema fica totalmente caracterizado pela sua resposta impulsiva, ou seja, pela sada do sistema quando colocamos em sua entrada o sinal impulso unitrio [n ] . Em outras palavras, se soubermos a resposta de um sistema LIT a uma entrada impulsiva, saberemos calcular sua resposta para qualquer entrada.
Veja, por exemplo, o exerccio a seguir (Exerccio 6 da aula 4T).

Exerccio
1. (1021) Um sistema linear e invariante no tempo tem a seguinte resposta entrada x[n ] = [n] (resposta impulsiva):

Faa um esboo da sada y[n] deste sistema quando a entrada :


(a) x[n] = 3[n]
1

Processamento Digital de Sinais Aula 5T Professor Marcio Eisencraft agosto 2007

(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.

2.2.1 A soma de convoluo


Considere um sinal qualquer x[n] . Sabemos que

x[n] [n] = x[0] [n]


Ou seja, a multiplicao de um sinal x[n] por um impulso [n] resulta num impulso de intensidade x[0] [n] . A figura seguinte ilustra este produto.

Processamento Digital de Sinais Aula 5T Professor Marcio Eisencraft agosto 2007

Generalizando esta expresso podemos dizer que

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] = K + x[ 2] [n + 2] + x[ 1] [n + 1] + x[0] [n] + x[1] [n 1] + x[2] [n 2] + K

De forma mais concisa, podemos escrever:

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

Vamos chamar de H o operador que representa a operao realizada por este


sistema e de h[n] a resposta deste sistema a um impulso, ou seja,

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 somatria. Obtemos assim:
y[n ] =

H [ x[k ] [n k ]] =

k =

x[k ]H [ [n k ]]

k =

Utilizando agora o fato de que o sistema invariante no tempo, temos que a


resposta a um impulso atrasado de k amostras a sada impulsiva atrasada
de k amostras, ou seja, H [ [n k ]] = h[n k ] . Assim, conclumos que:

y[n ] =

x[k ]h[n k ]

(3)

k =

Desta forma vemos realmente que a resposta de um sistema LIT qualquer


dada por uma soma ponderada da resposta impulsiva deslocada no tempo. Ou
seja, ela totalmente descrita pela entrada e pela resposta impulsiva.

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]

v k [n] = x[k ]h[n k ]

Processamento Digital de Sinais Aula 5T Professor Marcio Eisencraft agosto 2007

Figura 1 A soma de convoluo (HAYKIN; VEEN, 2001).


5

Processamento Digital de Sinais Aula 5T Professor Marcio Eisencraft agosto 2007

Ou seja, v k [n] obtida deslocando-se, no tempo, a resposta impulsiva de k


unidades e multiplicando-se por x[k ] . A sada y[n] em resposta entrada x[n]
obtida somando-se todas as seqncias vk [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

Determine a resposta deste sistema em resposta entrada


2,
3,

x[n] =
2,
0,

n=0
n =1
n=2
caso contrrio

No exerccio acima, encontramos todos os v k [n] e depois somamos para todos


os valores de k para determinarmos y[n] . Esta abordagem muito eficaz
quando a entrada tem curta durao, de forma que somente um pequeno nmero de sinais v k [n] precisa ser determinado. Quando a entrada tem uma durao longa, um nmero muito grande, possivelmente infinito de sinais vk [n]
precisa ser avaliado antes que y[n] possa ser encontrado.
Uma abordagem mais interessante olharmos novamente para a equao

y[n ] =

x[k ]h[n k ]

k =

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 [n 0 ] =

x[k ]h[n

k] =

k =

x[k ]h[ (k n )]
0

(4)

k =

o que consiste em somar todos os elementos do sinal wn [k ] = x[k ]h[ (k n0 )] ou


0

seja, do produto do sinal de entrada pela resposta impulsiva do sistema invertida


no tempo e deslocada de n0 unidades.
Os exerccios seguintes devem ilustrar este enfoque.

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.

6. (HAYKIN; VEEN, 2001, p. 91) Um sistema LIT tem resposta ao impulso:


n

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] .
[ ]

RESP: y[ 5] = 0 , y[5] = 3,288 , y 10 = 3,831

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

Processamento Digital de Sinais Aula 5T Professor Marcio Eisencraft agosto 2007

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

obter h[ k ] e depois desloque h[ k ] de n no tempo.


2. Inicie com o deslocamento de tempo n grande e negativo.
3. Escreva a forma funcional para wn [k ] .
4. Aumente o deslocamento no tempo n at que a forma funcional para wn [k ] se
modifique. O valor de n no qual ocorre a modificao define o fim do intervalo corrente e o incio de um novo intervalo.
5. Admitamos que n esteja no novo intervalo. Repita os passos 3 e 4 at que todos os intervalos de deslocamento no tempo n e as formas funcionais para
wn [k ] sejam identificados. Isto usualmente implica em aumentar n at um

nmero positivo muito grande.


6. Para cada intervalo de deslocamento no tempo n , some todos os valores de
wn [k ] correspondente para obter y[n] neste intervalo.

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]

Processamento Digital de Sinais Aula 5T Professor Marcio Eisencraft agosto 2007

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

h[n] = n {u[n 2] u[n 13]}

x[n] = 2{u[n + 2] u[n 12]} . Encontre a sada y[n] .


n<0
0,
n +2
2 1 - - n -1

,
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

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]

Encontre a sada deste sistema, y[n] .


0,
n - 2,

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

Processamento Digital de Sinais Aula 7T Professor Marcio Eisencraft julho 2006

Aula 7T Propriedades da resposta ao impulso


Bibliografia
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pginas 108-120.
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 103-116.

2.3

Propriedades da representao da resposta ao impulso para sistemas

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.

2.3.1 Conexo paralela de sistemas LIT


Consideremos a seguinte conexo paralela de sistemas LIT em que h1 [n] e
h2 [n] so as respostas impulsivas de cada sistema:

Figura 1 Conexo paralela de sistemas


A sada desta conexo de sistemas y[n] a soma das sadas de cada sistema:

y[n] = y1 [n] + y 2 [n] = x[n ] h1 [n] + x[n ] h2 [n]


Usando a representao da convoluo por somatrias, podemos escrever que

Processamento Digital de Sinais Aula 7T Professor Marcio Eisencraft julho 2006

y [n ] =

x[k ]h1 [n k ] +

k =

y [n ] =

x[k ]h [n k ]
2

k =

x[k ](h [n k ] + h [n k ]) = x[k ]h[n k ]


1

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:

Figura 2 Sistema equivalente ao da Figura 1

A resposta ao impulso de dois sistemas conectados em paralelo a soma das


respostas individuais ao impulso.
Uma outra forma de enxergar esse fato dizer que a convoluo possui a
propriedade distributiva:

x[n] h1 [n] + x[n] h2 [n] = x[n] (h1 [n] + h2 [n])


2.3.2 Conexo em cascata de sistemas
Consideremos agora a conexo em cascata de dois sistemas LIT ilustrada na
Figura 3 a seguir.

Figura 3 Conexo em cascata de sistemas LIT


Chamamos de z[n] a sada do primeiro sistema e a entrada para o segundo
sistema da conexo em cascata. Podemos expressar a sada em termos de z[n]
como

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 =

Porm, z[k ] a sada do primeiro sistema e expressa em termos de x[k ] como:


z [k ] = x[k ] h1 [k ] =

x[l ]h [k l ]
1

(2)

l =

Substituindo (2) em (1), temos:


y [n ] =

x[l ]h1 [k l ] h2 [n k ]

k = l =

Trocando a ordem das somatrias em (3) e fazendo m = k l , temos:

y[n] = x[l ] h1[k l ]h2 [n k ] = x[l ] h1[m]h2 [n l m]


l =
k =
l =
m=

(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 =

Substituindo (4) em (3), obtemos:

y [n ] =

x[l ]h[n l ] = x[n] h[n]

l =

Conseqentemente, a resposta ao impulso de dois sistemas LIT conectados


em cascata a convoluo das respostas impulsivas individuais. A conexo
em cascata equivalente em termos de entrada-sada ao sistema nico representado pela resposta ao impulso h[n] , como mostra a Figura 4.

Figura 4 Sistema equivalente ao da Figura 3

Matematicamente, este resultado significa que a soma de convoluo satisfaz


as propriedades associativa e comutativa:
3

Processamento Digital de Sinais Aula 7T Professor Marcio Eisencraft julho 2006

{ x[n] h1 [n]} h2 [n] = x[n] {h1 [n] h2 [n]}


h1 [n] h2 [n] = h2 [n] h1 [n]
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]

Encontre a resposta ao impulso do sistema global, h[n] .

2.3.3 Sistemas sem memria


J vimos que a sada de um sistema sem memria depende somente da entrada atual. A pergunta que tentaremos responder agora : como identificar um
sistema LIT sem memria apenas olhando sua resposta impulsiva? Ou como
deve ser a resposta impulsiva de um sistema LIT sem memria?
Explorando-se a propriedade comutativa da convoluo, a sada de um sistema LIT pode ser expressa como

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

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

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 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.

2.3.4 Sistemas causais


J vimos que a sada de um sistema causal depende somente dos valores passados ou presentes da entrada. Vamos ver agora como isso se reflete na resposta impulsiva de sistemas LIT.
Escrevemos a soma de convoluo como:

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]

Este um sistema causal? Tem memria?

2.3.5 Resposta ao degrau


A resposta de um sistema LIT a um degrau caracteriza como o sistema responde a mudanas repentinas na entrada.

Processamento Digital de Sinais Aula 7T Professor Marcio Eisencraft julho 2006

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:

s[n ] = h[n] u[n] =

h[k ]u[n k ]

k =

Como u[n k ] = 0 para k > n e u[n k ] = 1 para k n , temos:

s[n ] =

h[k ]

k =

Ou seja, a resposta ao degrau a soma corrente da resposta ao impulso.

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

2.3.6 Sistemas invertveis e desconvoluo


Um sistema invertvel se a entrada do sistema puder ser recuperada a partir
de sua sada.
Isso implica a existncia de um sistema inverso que toma a sada do sistema
original como sua entrada e produz a entrada do sistema original.
A Figura 5 a seguir descreve a cascata de um sistema LIT que tem resposta
ao impulso h[n] com um sistema inverso LIT que tem resposta ao impulso
h 1 [n] .

Figura 5 Cascata de um sistema LIT com seu sistema inverso.

Processamento Digital de Sinais Aula 7T Professor Marcio Eisencraft julho 2006

O processo para recuperar x[n] de h[n] x[n] denominado desconvoluo,


uma vez que ele corresponde a inverter ou desfazer a operao de convoluo.
Um sistema inverso tem sada x[n] em resposta a entrada y[n] = h[n] x[n] e
desta forma resolve o problema da desconvoluo.
A desconvoluo e os sistemas inversos desempenham um papel importante em muitos problemas de processamento de sinais e sistemas.
Um problema comum o de inverter ou equalizar a distoro introduzida
por um sistema no ideal.
Por exemplo, considere o uso de um modem de alta velocidade para comunicar-se por meio de linhas telefnicas. A distoro causada pela rede
telefnica impe graves restries taxa em que as informaes podem
ser transmitidas; desta forma um equalizador incorporado ao modem. O
equalizador inverte a distoro da rede telefnica e permite que taxas de
dados muito mais altas sejam atingidas. Neste caso, o equalizador representa um sistema inverso para a rede telefnica.
A relao entre a resposta ao impulso de um sistema h[n] e o sistema inverso correspondente h 1 [n] pode ser obtida notando-se que

x[n] h[n] h 1 [n] = x[n ]

Isto implica que

h[n] h 1 [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.

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 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]

Encontre um sistema inverso causal que recupere x[n] de y[n] .


RESP:

h 1 [n] = ( a ) u[n]
n

Processamento Digital de Sinais Aula 8T Professor Marcio Eisencraft abril 2007

Aula 8T Representao por equaes de diferenas para sistemas LIT


Bibliografia
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pginas 120-132.
LATHI, Bhagwandas Pannalal. Signal processing and linear systems. California: Berkeley, c1998. 734 p.
ISBN 0941413357. Pginas 573 578.

2.4.

Representao por equaes de diferenas para sistemas LIT

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

O nmero N , correspondente ao nmero mximo de valores da sada que


devem ser guardados para o clculo das futuras sadas do sistema chamado
de ordem da equao de diferenas.
Um exemplo de equao de diferenas de segunda ordem
y[n] + y[n 1] +

1
y[n 2] = x[n ] + 2 x[n 1]
4

Esta equao poderia representar a relao entre os sinais de entrada e sada


de um sistema que processa dados em um computador, por exemplo. Neste
caso a ordem N = 2 porque a equao de diferenas envolve y[n 2] , implicando uma memria mxima na sada do sistema igual a dois.
As equaes de diferenas so facilmente reorganizadas para se obter formulas para computar a sada corrente do sistema a partir do sinal de entrada e
das sadas passadas.
Por exemplo, a equao anterior pode ser reescrita como:
y[n] = x[n] + 2 x[n 1] y[n 1]

1
y [n 2 ]
4

Processamento Digital de Sinais Aula 8T Professor Marcio Eisencraft abril 2007

Iniciando com n = 0 podemos obter a sada avaliando a seqncia das equaes


y[0] = x[0] + 2 x[ 1] y[1]

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.

As condies iniciais renem todas as condies sobre o passado do sistema


que so necessrias para se computar as sadas futuras. Note que, em geral, o
nmero de condies iniciais necessrias para determinar a sada igual
ordem do sistema.

2.4.1. A notao operacional


Em equaes de diferenas comum utilizar-se de uma notao operacional
parecida com a que foi vista em Circuitos Eltricos para equaes diferenciais (Transformada de Laplace).
Utilizaremos o operador z 1 para denotar a operao de atrasar uma seqncia de uma unidade de tempo. Assim
z 1 f [n] f [n 1]
z 2 f [n ] f [n 2 ]
L
z k f [n ] f [n k ]

Assim, uma equao de diferenas da forma:

y[n] ay[n 1] = x[n]


pode ser escrita como
2

Processamento Digital de Sinais Aula 8T Professor Marcio Eisencraft abril 2007

y[n] az 1 y[n] = x[n]


ou

(1 az )y[n] = x[n]
1

A equao de segunda ordem


y[ n] +

1
1
y[n 1] + y[n 2] = x[n]
4
16

pode ser expressa como


y[n ] +

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

Uma equao geral


a1 y[n] + a2 y[n 1] + K a N +1 y[n N ] = b1 x[n] + b2 x[n 1] + K bM +1 x[n M ]

Pode ser expressa como

(a

+ a 2 z 1 + a 3 z 2 + K + a N +1 z N )y[n ] = (b1 + b2 z 1 + b3 z 2 + K + bM +1 z M )x[n ]

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 .

Processamento Digital de Sinais Aula 8T Professor Marcio Eisencraft abril 2007

2.4.2. A resposta entrada zero ou resposta natural


Vamos tentar encontrar uma soluo para a equao de diferenas (1) quando
a entrada x[n] = 0 . Esta conhecida como resposta entrada nula ou resposta natural do sistema e ser representada por y0 [n] .
Assim, temos

[ ]

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)

Para encontrar c e substitumos esta soluo na Equao (2). A Equao


(3) implica

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
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)

Assumindo 0 e c 0 (excluindo as solues triviais), a Eq. (4) satisfeita


quando

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)

que um polinmio de grau N que tem N solues 1 , 2 ,..., N .


Desta forma a Eq. (2) tambm ter N solues da forma

c11 , c2 2 ,...,

cN N . Neste caso, pode-se mostrar que a soluo geral uma combinao


linear das N solues. Assim,

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.

Processamento Digital de Sinais Aula 8T Professor Marcio Eisencraft abril 2007

Alm disso, as razes 1 , 2 ,..., N da equao caracterstica so chamadas de


razes caractersticas ou valores caractersticos (ou autovalores) do sistema.
As exponenciais in ( i = 1,2, K N ), so os modos naturais ou modos caractersticos do sistema.
Na discusso, assumimos que o sistema tem n razes caractersticas diferentes 1 , 2 ,..., N com correspondentes modos caractersticos
n

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 sua fase, ento:

= e j e * = e j
A resposta entrada nula ento dada por

* na forma polar. Se

Processamento Digital de Sinais Aula 8T Professor Marcio Eisencraft abril 2007

( )

y 0 [n] = c1 n + c 2 *

= c1 e jn + c 2 e jn

Para um sistema real, c1 e c2 precisam ser conjugados de forma que y0 [n]

seja uma funo real de n . Assim, seja


c1 =

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 + )

Nesta soluo c e devero ser obtidos das condies iniciais.

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]

Considere como condies iniciais y 0 [0] = 5 e y 0 [1] = 7 .


3. (2021) Calcule a resposta natural y 0 [n] do sistema de tempo discreto representado pela equao de diferenas
y[n] 10 y[n 1] + 25 y[n 2] = 5 x[n 1] , y 0 [ 1] = 3 , y 0 [ 2] = 2 .

4. (2021) Calcule e esboce a resposta natural y0 [n] do sistema de tempo discreto


representado pela equao de diferenas
y[n] + 16 y[n 2] = 5 x[n 1] , y 0 [ 1] =

1
2 2

, y 0 [ 2] =

1
4 2

2.4.3. Resposta forada e resposta total de um sistema LIT


J vimos em aulas anteriores que a resposta de um sistema LIT a uma entrada
x[n] dada por

Processamento Digital de Sinais Aula 8T Professor Marcio Eisencraft abril 2007

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

x[k ]h[n k ]

k =

em que h[n] a resposta impulsiva do sistema.


Esta resposta, obtida quando as condies iniciais do sistema so nulas,
conhecida como resposta forada do sistema entrada x[n] .
No caso geral em que temos condies inicias e uma entrada no nula,
podemos usar sobreposio e escrever:

y[n] = y 0 [n] + x[n] h[n]


Exerccio
5. (2022) Dado o sistema:
y[n] 0,9 y[n 1] = x[n] x[n 1]

com condio inicial y 0 [ 1] = 2 . Pede-se para n 0 ,


(a) Determine iterativamente os cinco primeiros pontos da resposta deste sistema entrada x[n] = 2 n u[n] .
(b) Determine a resposta natural deste sistema.
(c) Determine a resposta impulsiva deste sistema (Dica: lembre-se, para calcular resposta impulsiva, consideramos condies iniciais nulas).
(d) Determine a resposta forada deste sistema para x[n ] = 2 n u[n] . (Dica: lembre-se, para calcular resposta forada, consideramos condies iniciais nulas).
(e) Determine a resposta completa deste sistema para a entrada x[n] = 2 n u[n] e
compare com os pontos obtidos no item (a).

Processamento Digital de Sinais Aula 9T Professor Marcio Eisencraft abril 2007

Aula 9T - Resposta de sistemas LIT a exponenciais complexas


Bibliografia

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.

3. Anlise de Fourier de sinais de tempo discreto


3.1.

Resposta de sistemas LIT discretos a exponenciais complexas

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 .

Processamento Digital de Sinais Aula 9T Professor Marcio Eisencraft abril 2007

Um sinal para o qual a sada de um sistema uma constante (possivelmente


complexa) vezes a entrada chamada de autofuno do sistema e o fator de
amplitude chamado de autovalor do sistema.
Vamos mostrar que as seqncias exponenciais complexas so autofunes
de sistemas LIT de tempo discreto.
Suponha que um sistema LIT com resposta impulsiva h[n] tenha como entrada a seqncia

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

k =

n k

=z

k =

h[k ]z

k =

(2)

Desta expresso, vemos que se a entrada x[n] a exponencial complexa dada


pela Equao (1), ento, assumindo que a somatria no segundo membro de
(2) converge, a sada a mesma exponencial complexa multiplicada por uma
constante que depende do valor de z . Isto ,

y[n] = H ( z )z n

(3)

em que

H (z ) =

h[k ]z

k =

(4)

Consequentemente, as exponenciais complexas so autofunes dos sistemas


LIT de tempo discreto. A constante H (z ) para um valor especfico de z o
autovalor associado autofuno z n .
Para a anlise de sistemas LIT, a utilidade da decomposio de sinais mais
gerais em termos de autofunes pode ser visto atravs de um exemplo.
Seja x[n] uma combinao linear de trs exponenciais complexas, isto :

x[n] = a1 z1n + a 2 z 2n + a 3 z 3n .
2

Processamento Digital de Sinais Aula 9T Professor Marcio Eisencraft abril 2007

Pela propriedade da autofuno, a resposta de cada uma separadamente :


a1 z1n a1 H ( z1 )z1n
a 2 z 2n a 2 H ( z 2 )z 2n ,
a 3 z 3n a 3 H ( z 3 )z 3n
e pela propriedade da superposio, teremos:
y[n ] = a1 H (z1 )z1n + a 2 H ( z 2 )z 2n + a 3 H ( z 3 )z 3n .

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:

x[n ] = a k z kn , ento a sada ser


k

y[n] = ak H (zk )zkn .


k

Em outras palavras, se a entrada de um sistema LIT representada por uma


combinao linear de exponenciais complexas, a sada tambm pode ser representada como uma combinao linear dos mesmos sinais exponenciais
complexos. Cada coeficiente desta representao da sada obtido como o
produto do respectivo coeficiente da entrada a k e o autovalor do sistema
H (z k ) associado autofuno z kn .

Este fato uma forte motivao para estudarmos a representao de um dado


sinal como uma soma de exponenciais complexas. Como obter esta representao? Quais sinais podem ser escritos assim. o que veremos nas prximas
aulas quando estudaremos a representao de sinais de tempo discreto por sries de Fourier.

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

1
(a) Determine diretamente a sada do sistema quando a entrada for x[n] = .
2

(b) Determine a resposta impulsiva do sistema.


(c) Obtenha H (z ) utilizando a definio (4).
n

1
(d) Determine a sada do sistema entrada x[n] = usando o item (c).
2

(e) Determine a sada do sistema entrada x[n] = cos(4n ) + cos(7n ) .

1
2. Considere um sistema LIT com resposta impulsiva h[n] = u[n ] . Usando as
3

propriedades de autofunes determine a sada deste sistema quando a entrada for:


(a) x[n] = (1)n
(b) x[n] = (2)n
(c) x[n] = 1 + (2 )n

(d) x[n] = cos n


4

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

Aula 11T Srie de Fourier de tempo discreto


Bibliografia

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.

3.2. Representao em sries de Fourier para sinais de tempo discreto peridicos


No curso de Anlise de Sinais, estudam-se formas de representar um sinal de
tempo contnuo como uma soma de senides ou exponenciais.
Aqui discutiremos algo similar para sinais de tempo discreto. Nosso enfoque
parecido com o que foi usado para sinais de tempo contnuo.
Primeiro representaremos um sinal x[n] peridico como uma srie de Fourier
formada por uma exponencial (ou senide) de tempo discreto e suas harmnicas. A seguir estenderemos esta representao para um sinal aperidico
x[n] considerando x[n] como o caso limite de um sinal peridico com o per-

odo se aproximando do infinito.


Um sinal peridico com perodo N0 = 6 mostrado na figura seguinte.

Voc j deve saber que um sinal de tempo contnuo peridico de perodo T0


pode ser representado como uma srie trigonomtrica de Fourier consistindo
de uma senide com freqncia fundamental 0 =
1

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 ,...

Vamos tentar fazer um paralelo para sinais de tempo discreto. A freqncia


de uma senide de perodo N 0 0 =

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

Assim como em tempo contnuo, podemos usar uma forma trigonomtrica ou


exponencial para as sries de Fourier. Devido sua compacidade e facilidade
de manipulao matemtica, a forma exponencial prefervel trigonomtrica.
Por esta razo passaremos a forma trigonomtrica e iremos direto para a forma exponencial das sries de Fourier de tempo discreto.
A srie de Fourier exponencial consiste nas exponenciais e j 0 n , e j n ,
0

e j 2 0 n ,..., e jk 0 n ,... e assim por diante.

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

Podemos escolher estas N 0 harmnicas independentes como e jk n com


0

0 k N 0 1 ou sobre 1 k N 0 2 ou sobre 1 k N0 ou qualquer outra

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)

Pode-se mostrar (ver referncias) que os termos a k podem ser calculados


como

1
ak =
N0

N0 1

x[n]e

jk 0 n

n =0

Assim, temos uma representao em sries de Fourier de tempo discreto de um


sinal peridico de perodo N 0 :
N0 1

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 srie de Fourier consiste de N 0 componentes

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 amplitude da k -sima harmnica a k . Podemos fazer um grfico desta


quantidade a k em funo de . Este grfico chamado de espectro de Fourier de x[n] e nos d, de uma s vez, uma figura com as magnitudes das vrias harmnicas de x[n] .
Em geral, os coeficientes de Fourier a k so complexos e podem ser representados na forma polar como:

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

os espectros em freqncia de x[n] .


Conhecendo estes espectros, podemos reconstruir ou sintetizar x[n] de acordo
com a Equao (2). Assim, o espectro de Fourier (ou de freqncia), que
uma forma alternativa de descrever o sinal x[n] em todos os sentidos equivalente (em termos de informao) ao grfico de x[n] em funo de n .
O espectro de Fourier de um sinal constitui a descrio no domnio da freqncia de x[n] em contraste com a descrio no domnio do tempo, em que
x[n] especificado em funo do tempo n .

Estes resultados so muito similares representao de um sinal peridico de


tempo contnuo por uma srie de Fourier exponencial exceto que, em geral, o
espectro de um sinal de tempo contnuo infinito e consiste de um nmero
infinito de componentes exponenciais (harmnicas). O espectro de um sinal

Processamento Digital de Sinais Aula 11T Professor Marcio Eisencraft abril 2007

de peridico de tempo discreto, em contraste tem no mximo N 0 componentes.


Note que se [r ] uma funo de r peridica de perodo N 0 ento
N0 1

[r ] = [r ]
r =0

(4)

r = N0

em que r = N0 indicam a soma sobre qualquer N 0 valores consecutivos de r .


Isto ocorre porque o lado direito da Equao (4) a soma de todos os N 0 valores 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

e jk0 (n + N0 ) = e jk0n e j 2k = e jk0n


Sendo assim, se x[n] peridica de perodo N 0 , x[n]e jk n tambm peridi0

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

as Equaes (2) e (3) como:


x[n] =

e jk 0n

(5)

k = N0

ak =

1
N0

x[n]e

jk 0 n

(6)

n = N0

Se fizermos um grfico de a k para todos os valores de k (ao invs de apenas


para 0 k N 0 1 ), veremos que o espectro de a k peridico com perodo
N 0 . Alm disso, a Equao (5) mostra que x[n] pode ser sintetizada no ape-

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

xiste um total de N 0 componentes se repetindo periodicamente sobre o eixo


. Assim, na escala da freqncia , a k se repete a cada intervalo de 2.

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

sendo assim, a k uma funo par e a k uma funo mpar de k .

Exerccios
1. (3022) Seja o seguinte sinal de tempo discreto peridico:

(a) Qual o perodo N 0 e a freqncia fundamental deste sinal 0 ?


(b) Calcule os coeficientes da srie de Fourier a k deste sinal para 0 k N 0 1 .
(c) Esboce o espectro de mdulo e de fase para este sinal.

2. (3021) Dado o sinal de tempo discreto peridico a seguir:

Processamento Digital de Sinais Aula 11T Professor Marcio Eisencraft abril 2007

(a) Determine o seu perodo N 0 e sua freqncia fundamental 0 .


(b) Determine os coeficientes da srie de Fourier de tempo discreto (SFTD)
para 0 k N 0 1 .

ak

Processamento Digital de Sinais Aula 12T Professor Marcio Eisencraft julho 2006

Aula 12T Propriedades das sries de Fourier de tempo discreto


Bibliografia

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.

Propriedades das sries de Fourier de tempo discreto

Na aula passada, definimos a srie de Fourier de sinais de tempo discreto e


vimos como obt-la.
Representao em sries de Fourier de tempo discreto de um sinal peridico de
perodo N 0 :

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

Vimos tambm que a k complexo em geral e a k o conjugado de a k se


x[n] real, ou seja, para sinais x[n] vale:

ak = a k

ak = ak

sendo assim, ak uma funo par e a k uma funo mpar de k .


Existem muitas semelhanas entre as propriedades de sries de Fourier de
tempo discreto e contnuo. Alm disso, vrias podem ser inferidas a partir de
propriedades da transformada de Fourier de tempo discreto (a ser estudada
em Anlise de Sinais II). Assim, apresentaremos a seguir as propriedades de
tempo discreto que nos interessam discutindo apenas as mais importantes.
Uma discusso mais detalhadas das propriedades ser feita nos cursos de Anlise de Sinais.

Processamento Digital de Sinais Aula 12T Professor Marcio Eisencraft julho 2006

3.3.1. Relao de Parseval para sinais peridicos de tempo discreto


A relao de Parseval para sinais peridicos de tempo discreto dada por

1
N

x[n]

n= N

2
k

k= N

em que a k so os coeficientes da srie de Fourier de x[n] e N o perodo.


O lado esquerdo da relao de Parseval a potncia mdia em um perodo do
sinal peridico x[n] . Da mesma forma, a k

a potncia mdia na k -sima

harmnica componente de x[n] .


Assim, a relao de Parseval estabelece que a potncia mdia de um sinal peridico igual soma das potncias mdias em todas as suas componentes
harmnicas.

Figura 1 Propriedades das sries de Fourier de tempo discreto (OPPENHEIM;


WILLSKY; NAWAB, 1997).
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+ .
2
9
9
9

Determine as componentes da srie de Fourier deste sinal e esboce seu espectro.

2. (OPPENHEIM; WILLSKY; NAWAB, 1997, p. 218) Considere o seguinte


sinal retangular peridico com perodo N 0 = 32 . Determine as componentes
da srie de Fourier deste sinal e esboce seu espectro.

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

Por facilidade, vamos escolher o intervalo 16 n < 15 para a somatria (*)


apesar de que qualquer outro intervalo de mesmo tamanho (32 pontos) servisse.

jk n
1 15
16
ak =
x
[
n
]
e

32 n=16

Mas x[n] = 1 para 4 n 4 e 0 para os outros valores de n . Portanto,

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

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

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

d. x[n] tem a menor potncia por perodo dentro do conjunto de sinais


que satisfazem as trs condies anteriores.
Determine x[n] .

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 .

Expresse x[n] na forma

x[n] = A0 + Ak sin ( k n + k ) .
k =1

5. (OPPENHEIM; WILLSKY; NAWAB, 1997, p. 252) Seja x[n] um sinal real e

mpar com perodo N = 7 e coeficientes de Fourier a k . Dado que


a15 = j , a16 = 2 j , a17 = 3 j ,

determine os valores de a 0 , a 1 , a 2 e a 3 .

Processamento Digital de Sinais Aula 13T Professor Marcio Eisencraft julho 2006

Aula 13T Filtros de tempo discreto


Bibliografia
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 231-239.
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417.Pginas 260-268.

3.5.

Filtros de tempo discreto

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

3.5.1. Filtros modeladores em freqncia


Uma aplicao em que filtros modeladores de freqncia so freqentemente
encontrados sistemas de udio.
Por exemplo, filtros LIT so tipicamente includos em tais sistemas para
permitir que o ouvinte mude a energia relativa em baixas freqncias (graves) e altas freqncias (agudos).
Estes filtros correspondem a sistemas LIT cujas respostas em freqncia podem ser mudadas manipulando controles de tons.
Tambm em sistemas de udio de alta-fidelidade, um filtro muito conhecido
como equalizador freqentemente includo para pr-amplificar e compensar
as caractersticas de resposta em freqncia dos alto-falantes.
De forma geral, estes estgios de filtragem cascateados so freqentemente
chamados de circuito de equalizao do sistema de udio.
A Figura 1 a seguir mostra os trs estgios de um circuito equalizador para
um conjunto particular de alto-falantes.
Filtros LIT de tempo discreto encontram um grande conjunto de aplicaes.
Muitas destas envolvem o uso de sistemas de tempo discreto, implementados
usando processadores digitais de propsito gerais ou especficos para processar sinais de tempo contnuo, um assunto que ser discutido em disciplinas
futuras.
Alm disso, a anlise de informaes de sries temporais, incluindo dados
demogrficos e seqncias de dados econmicos como mdias de mercado
de aes envolvem o uso de filtros de tempo discreto.
Freqentemente as variaes de longo prazo (que correspondem a freqncias mais baixas) tm um significado diferente das variaes de curto prazo
(que correspondem s altas freqncias) e til estudar estas componentes
separadamente.
Rearranjando os pesos relativos destas componentes tipicamente feito utilizando-se filtros de tempo discreto.

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

3.5.2. Filtros seletivos em freqncia


Filtros seletivos em freqncia uma classe de filtros especificamente projetada para selecionar aproximadamente algumas faixas de freqncias e rejeitar outras.
Por exemplo, se rudo numa gravao de udio est numa faixa de freqncias mais alta do que msica ou voz ele pode ser removido usando filtros seletivos em freqncia.
Uma outra importante aplicao de filtros seletivos em freqncia so os sistemas de comunicaes. Como ser discutido em disciplinas futuras, a base
da modulao em amplitude (AM) a transmisso de informao de muitas
fontes diferentes simultaneamente pondo a informao de cada canal em uma
banda de freqncias diferente e extraindo os canais individuais no receptor
usando filtros seletivos em freqncia.
Filtros seletivos em freqncia para separar os canais individuais e filtros
modeladores em freqncia (como o equalizador da Figura 1) para ajustar a
qualidade do som formam a maior parte de qualquer receptor de rdio ou televiso domstico.
A figura a seguir mostra os tipos de filtros seletivos em freqncia de tempo
discreto.

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

Para este sistema, pede-se:


(a) a resposta impulsiva h[n] ;
(b) a funo de sistema H (z ) ;
(c) a resposta em freqncia H (e j )
(d) faa um grfico do mdulo e da fase de H (e j ) para .
(e) este filtro passa-altas ou passa-baixas?

2. Considere um sistema LIT com resposta impulsiva


1,

h[n] = 1,
0

0n2
2 n 1
caso contrario

Dado que a entrada do sistema


x[ n ] =

[n 4 k ] ,

k =

determine os coeficientes da srie de Fourier da sada y[n] .

Processamento Digital de Sinais Aula 14T Professor Marcio Eisencraft abril 2007

Aula 14T Exemplos de filtros de tempo discreto


Bibliografia
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 244-249.
HAYKIN, Simon S.; VAN VEEN, Barry. Sinais e sistemas. Porto Alegre: Bookman, 2001. 668 p. ISBN
8573077417. Pginas 260-268.

3.6.

Exemplos de filtros de tempo discreto descritos por equaes de diferen-

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.

3.6.1. Filtros de tempo discreto recursivos de primeira ordem


Filtros descritos por:

y[n] ay[n 1] = x[n] .


Exerccio
1. Para o sistema acima, pede-se:
(a) a resposta em freqncia H (e j ) .
(b) a resposta impulsiva;
(c) a resposta ao degrau;
(d) o intervalo de valores para a para o qual o sistema estvel.
1

Processamento Digital de Sinais Aula 14T Professor Marcio Eisencraft abril 2007

(e) Usando o Matlab, esboce o mdulo e a fase da resposta em freqncia para


a = 0,6 e a = 0,6 .

3.6.2. Filtros de tempo discreto recursivos de primeira ordem


A forma geral de uma equao de diferenas no recursiva FIR
M

y [n ] =

b x [n k ] .
k

k = N

Isto , a sada y[n] uma mdia ponderada dos (N + M + 1) valores de x[n] de


x[n N ] at x[n + M ] com os pesos dados pelos coeficientes bk .

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

3. (OPPENHEIM; WILLSKY; NAWAB, p. 261) Considere um sistema LIT de


tempo discreto S cuja resposta em freqncia :

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.

4. (OPPENHEIM; WILLSKY; NAWAB, p. 260) Considere um sistema LIT de


tempo discreto e causal cuja entrada x[n] e a sada y[n] so relacionadas pela
seguinte equao de diferenas:

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

(a) x[n] = sin

(b) x[n ] = cos n + 2 cos n


4

Processamento Digital de Sinais Aula 15T Professor Marcio Eisencraft novembro 2007

Aula 15T A Transformada de Fourier de tempo discreto (TFTD)


Propriedades e resposta no domnio da freqncia de sistemas LIT
Bibliografia

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

A Transformada de Fourier de tempo discreto (TFTD)

A transformada de Fourier de tempo discreto (TFTD ou DTFT)

H (e j )

de um

sinal de tempo discreto h[n] definida por

H (e

)=

h [ n ]e j n

n=

Como j vimos na aula passada,

H (e j )

(1)

representa um sinal peridico com

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 < <

3. (HAYKIN ; VEEN, 2001, p. 195) Encontre a TFTD de x[n] = [n] .

4. (HAYKIN; VEEN, 2001, p. 195) Encontre a TFTD inversa de

X ( e j ) = ( ) ,

< < .

5. Encontre a TFTD inversa de


Resposta:

X ( e j ) = 2 cos ( 2 ) .

1, n = 2
x[n] =
.
0, caso contrrio
2n ,

6. Encontre a TFTD de x[n] =

0,

1 210 e j 10
1 2e j

Resposta:

X (e j ) =

3.8

Propriedades da TFTD

0n9
.
caso contrrio

Uma propriedade muito importante da TFTD a que transforma convoluo


no domnio do tempo em multiplicao no domnio da freqncia. Ou seja, se
c[n ] = a[n ] b[n ] , ento C ( e j ) = A ( e j ) B ( e j ) .

Isto pode ser escrito como

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.

J vimos tambm que

H ( e j ) = T FT D { h [ n ] }

a chamada resposta em freqn-

cia do sistema. Desta forma, usando a propriedade vista, pode-se escrever:

Y ( e j ) = X ( e j ) H ( e j ) .
2

Processamento Digital de Sinais Aula 15T Professor Marcio Eisencraft novembro 2007

Este importante resultado resumido na figura a seguir.

Figura 1 A TFTD e os sistemas LIT (NABARRETE).

Univ er sidade Pr esbit er iana M ack enzie


Cur so de Engenhar ia El et r ica

P r ocessam ent o D igit al de Sinais


T I CA
PR A

Pr of . M ar cio Eisencr af t
Segundo semest re de 2007

Processamento Digital de Sinais Aula 1P Professor Marcio Eisencraft agosto 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.

1. Sinais e processamento de sinais


1.1.

Sinais

Um sinal uma funo, geralmente do tempo, que carrega algum tipo de informao.
Exemplos de sinais:
(a) Sinal triangular

(b) Sinal senoidal

(c) Variao da temperatura de uma sala durante um dia

Processamento Digital de Sinais Aula 1P Professor Marcio Eisencraft agosto 2007

(d) Sinal de voz

(e) Cotao do dlar a cada meia hora durante um dia

(f) Nmero de e-mails que chegaram sua caixa de entrada verificada a cada meia hora.

Processamento Digital de Sinais Aula 1P Professor Marcio Eisencraft agosto 2007

(g) Sinal binrio

1.2.

Classificao de sinais
Como vimos nos exemplos anteriores, os sinais podem assumir as mais diversas for-

mas. A seguir, veremos duas formas muito importantes de se classificar sinais.

1.2.1. Sinais de tempo contnuo e de tempo discreto


Sinais de tempo contnuo so sinais que esto definidos em todos os pontos de um intervalo
real. O sinal

representado matematicamente como

s(t ), t R . Exemplos: variao da

temperatura em um dia; sinal de voz.


Sinais de tempo discreto so sinais que esto definidos apenas em instantes isolados de tempo. Geralmente, estes sinais s tm valores definidos para instantes de tempo inteiros. O sinal

representado matematicamente por

x[n], n Z . Exemplos: valor do ndice BOVES-

PA a cada uma hora.


Neste curso nos ocuparemos principalmente dos sinais de tempo discreto.

1.2.2. Sinais analgicos e digitais


Sinais analgicos um sinal chamado de analgico quando pode assumir qualquer valor em
um intervalo. Exemplo: potncia fornecida por uma usina no decorrer de um dia.
Sinais digitais um sinal chamado de digital quando s pode assumir um nmero finito de
valores diferentes. Exemplo: sinal binrio.

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.

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

Multimdia (DVD, CD-ROM, transmisso de udio e vdeo de alta resoluo);

Biomedicina (ultra-sonografia, eletrocardiogramas);


http://www.ecglibrary.com/

o Sensoriamento remoto;
http://www.ltid.inpe.br

Processamento Digital de Sinais Aula 1P Professor Marcio Eisencraft agosto 2007

o Telecomunicaes mveis (CDMA, TDMA);


o Projeto de controle de motores de preciso para indstrias
o Controle de terremotos
http://www.iris.washington.edu

Exerccios
2. Classifique os seguintes sinais em:
Tempo discreto ou tempo contnuo
Analgico ou digital

Processamento Digital de Sinais Aula 2P Professor Marcio Eisencraft agosto 2007

Aula 2P -

Comandos bsicos do Matlab aplicados a PDS

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

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 representar dados de uma forma simples (Matlab = Matrix Laboratory). Esta forma de representao praticamente elimina a necessidade de utilizao de laos FOR ou WHILE simplificando e acelerando muito os programas. EM OUTRAS PALAVRAS, EM MATLAB, SEMPRE 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 funo <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

b. gerar um vetor y indo de 0 a 1 com passo de 0.1.


1

Processamento Digital de Sinais Aula 2P Professor Marcio Eisencraft agosto 2007

>> 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

c. mostrar o segundo elemento do vetor x


>> x(2)
ans =
1

Exerccio
1. Gerar um vetor x de nmeros pares de 0 a 50.
Comandos:

2.2. A funo linspace


A funo linspace uma forma prtica de se gerar vetores quando sabemos quantos pontos ele deve ter.
Vetor = linspace (valor inicial, valor final, no. de pontos)
Exemplos de utilizao
A. Gere um vetor de 1000 pontos com valores entre zero e 1 igualmente espaados.
>> v = linspace(0,1,1000);
b. Repita o exerccio anterior, mas com os valores em ordem decrescente.
>> v = linspace(1,0,1000);
Exerccio
2. Gere um vetor x de 5000 pontos com valores entre 0 e 2*pi.
Comandos:

2.3.

Vetores especiais
Existem vetores pr-definidos pelo Matlab e que so muito teis. Dois deles so o o-

nes(num.linhas, num.colunas) e o zeros(num.linhas, num. Colunas)


que geram, como os nomes dizem, vetores constitudos de uns e de zeros respectivamente.
Exemplos de aplicao
A. Gere um vetor constitudo de 10 zeros.
2

Processamento Digital de Sinais Aula 2P Professor Marcio Eisencraft agosto 2007

>> x = zeros(1,10)
x =
0

b. Gere um vetor constitudo por 5000 uns.


>> y = ones(1,5000);

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

para formar outros (concatenar vetores). Veja os seguintes exemplos.


Exemplos de aplicao:
A. Gere um vetor de cinco zeros seguidos por cinco uns.
>> vector = [zeros(1,5) ones(1,5)]
vector =
0

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:

Processamento Digital de Sinais Aula 2P Professor Marcio Eisencraft agosto 2007

2.5.

Operaes entre vetores


O Matlab permite somar (+), subtrair (-), multiplicar (.*) , dividir (./) vetores. Essas

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

a. Sendo x = [2 3 7] e y = [0 -1 3] escreva a resposta de cada um desses comandos executados no Matlab.

I) x + y [2 2 10]
ii) x y [2 4 4]
iii) x.*y [0 -3 21]

b. Como gerar a partir do vetor x = 0:0.001:1 um vetor com nmeros de 1 a 11?


V = 10*x+1

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

Processamento Digital de Sinais Aula 2P Professor Marcio Eisencraft agosto 2007

plot(vetor.abscissa, vetor.ordenada, modo);


stem(vetor.abscissa, vetor.ordenada);
O comando plot traa um grfico colocando seu primeiro argumento no eixo horizontal e seu segundo argumento no eixo vertical. A string modo indica a forma como o
grfico ser traado. Veja help plot para mais detalhes.
Stem traa um grfico da seqncia em seu segundo argumento como palitos com
crculos no valor dos dados usando seu primeiro argumento como abscissa. Veja os exemplos.

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)

b. Faa um grfico da funo y = x 2 para x Z ,5 x 5 .


>> x = -5:5;
>> y = x.^2;
>> stem(x,y)

Processamento Digital de Sinais Aula 2P Professor Marcio Eisencraft agosto 2007

Alguns comandos interessantes:


I) grid coloca linhas de grade no grfico
ii) title permite acrescentar um ttulo ao grfico
iii) xlabel - permite acrescentar um ttulo no eixo das abscissas
iv) ylabel - permite acrescentar um ttulo no eixo das ordenadas
v) hold on no apaga o grfico atual antes de fazer o seguinte

Exerccios

6. Faa um grfico de y [ n ] = sin

n
12

e z [ n ] = cos

n
12

para 30 n 30 na

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 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

Processamento Digital de Sinais Aula 2P Professor Marcio Eisencraft agosto 2007

O script opera sobre as variveis do espao de trabalho.


Suponha por exemplo que desejemos fazer um grfico da funo y(t ) = sin t em que
uma varivel que queremos variar.
Usando o editor de texto do Matlab (basta ditar edit na linha de comando), podemos
escrever um script chamado plotdata.m como mostrado a seguir.
% 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
t = 0:0.01:1;
y = sin(alfa*t);
plot(t,y);
xlabel ('tempo(s)');
ylabel('y(t) = sin(\alpha t)');
grid on;

importante salvar o scritpt no mesmo diretrio em que se est trabalhando na linha de


comando. Caso contrrio, ao tentar executar o script o Matlab no encontrar o arquivo e
exibir uma mensagem de erro. Este erro muito comum quando estamos comeando a
trabalhar com scripts.
Uma vez digitado e salvo muito fcil utilizar o script. Veja os exemplos a seguir:
>> alfa = 50;
>> plotdata

>> alfa = 10;


>> plotdata

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 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

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 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:

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

Aula 3P -

Gerao de seqncias no Matlab

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.

Gerando sinais no Matlab

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.

Funes degrau e impulso

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

Processamento Digital de Sinais Aula 3P Professores Marcio Eisencraft agosto 2007

Para gerar um impulso de tempo discreto de amplitude unitria utiliza-se:


>> delta = [zeros(1,50) 1 zeros(1,49)];
>> stem(n,delta);

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);

Processamento Digital de Sinais Aula 3P Professores Marcio Eisencraft agosto 2007

Voc entendeu o que o comando subplot faz? Se no, use o help.

Exerccio
1. Um pulso retangular x[n] definido por
0 n 10
caso contrrio

8,
x[n] =
0,

Faa um grfico deste pulso no Matlab no intervalo 20 n 20 .


RESOLUO (comandos Matlab utilizados):

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):

Processamento Digital de Sinais Aula 3P Professores Marcio Eisencraft agosto 2007

2.2.

Sinais exponenciais

Vejamos alguns exemplos de gerao de sinais exponenciais usando o Matlab.


Para fazer um grfico do sinal x[n ] = (0,85) basta executarmos os seguintes comandos:
n

>> n = -20:20;
>> x = (0.85).^n;
>> stem(n,x);

Repare na segunda linha a utilizao do .^ j que n trata-se de um vetor.

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:

Processamento Digital de Sinais Aula 3P Professores Marcio Eisencraft agosto 2007

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):

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

RESOLUO (comandos Matlab utilizados e comentrios):

6. A funo a seguir calcula a soma das amostras de um sinal x[n].


%Programa para calcular a soma das amostras de um sinal
function s = soma(x),
s = sum(x);
Implemente este programa no Matlab e teste-o para os seguintes sinais:
(a) x = ones(1,30);
(b) x = 2*ones(1,30);
RESPOSTAS:

7. Modifique o programa do exerccio anterior para que ele calcule a energia de um sinal
x[n].
RESPOSTAS (Programa e resultados)

Processamento Digital de Sinais Aula 4P Professor Marcio Eisencraft - agosto 2007

Aula 4P -

Exemplos de sistemas no Matlab

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:

y[n] = 4 x[n] , pede-se:


(a) Calcule as 5 primeiras amostras para n 0 da resposta impulsiva deste filtro, ou seja, para
x[n ] = [n ] .

(b) Desenhe um diagrama de blocos que represente este filtro;

(c) implemente este filtro como um diagrama de blocos no simulink;


(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)?

Processamento Digital de Sinais Aula 4P Professor Marcio Eisencraft - agosto 2007

2. (Um filtro FIR) Dado o filtro a seguir:

y[n] = x[n] 0,5x[n 1] + 0,7 x[n 2]


(a) Calcule as 5 primeiras amostras para n 0 da resposta impulsiva deste sinal, ou seja, para
x[n] = [n ] .

(b) Desenhe um diagrama de blocos que represente este filtro;

(c) implemente este filtro como um diagrama de blocos no simulink;


(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)?

3. (Um filtro IIR) Dado o filtro a seguir:

y[n] = 0,5 y[n 1] + 0,4 x[n]


com condio inicial y[ 1] = 0 .
(a) Calcule as 5 primeiras amostras para n 0 da resposta impulsiva deste sinal, ou seja, para
x[n] = [n] .

(b) Desenhe um diagrama de blocos que represente este filtro;


2

Processamento Digital de Sinais Aula 4P Professor Marcio Eisencraft - agosto 2007

(c) implemente este filtro como um diagrama de blocos no simulink;


(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 disponvel na pasta da disciplina. Descreva o resultado da simulao e verifique o que ocorre
ao se alterar os parmetros do diagrama de blocos.

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. (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-

dianos). A figura a seguir mostra senide de tempo discreto cos n + .


4
12

Uma observao bsica. Como cos( x ) = cos( x ) ,

cos( n + ) = cos(n )
Assim, tanto cos( n + ) quanto cos(n ) tem a mesma freqncia ( ). Assim, a freqncia de cos(n + ) .

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 + .


4
12
RESPOSTA: (Comandos e comentrios)

2. Senides de tempo contnuo amostradas resultam em senides de tempo discreto

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.

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. Seja o sinal de tempo contnuo x(t ) = cos(t ) .


(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 para 30 n 30 sem apagar o anterior (use o comando hold).
RESPOSTA: (Resoluo, comandos e comentrios):

3. Algumas peculiaridades das senides de tempo discreto

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

Processamento Digital de Sinais Aula 5P Professor Marcio Eisencraft agosto 2007

cos n = cos( + 2 )n = cos( + 4 )n = K . Agora vamos examinar cada


uma destas peculiaridades.

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.

Nem todas as senides de tempo discreto so peridicas

Um sinal de tempo discreto x[n] dito peridico de perodo N 0 se


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.

Se um sinal cos n peridico de perodo N 0 , ento:


cos n = cos((n + N 0 ))
= cos(n + N 0 )

Processamento Digital de Sinais Aula 5P Professor Marcio Eisencraft agosto 2007

Este resultado possvel somente se N 0 um mltiplo inteiro de 2 , isto :

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)

Para calcular N 0 , precisamos escolher o menor valor de m que far

ro. Por exemplo, se =

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

exponencial de tempo discreto e jn . Assim, a exponencial de tempo discreto e jn peridica apenas se

5.

um nmero racional.
2

Explicao fsica para a relao de periodicidade


Qualitativamente, este resultado pode ser explicado lembrando que a senide de tempo
discreto cos n pode ser obtida por amostragem de uma senide de tempo contnuo
cos t com intervalo de amostragem T = 1 . Isto , cos t amostrada em t = 0, 1, 2, 3,....

Isto significa que cos t a envoltria de cos n . Como o perodo de cos t

Podemos tambm demonstrar este ponto observando que se e

jn

=e

j ( n + N 0 )

=e

jn

jn

peridico de perodo N 0 , ento:

e jN 0 .

Este resultado s possvel se N 0 = 2m ( m inteiro) Esta equao leva Equao (1).

2
, e

Processamento Digital de Sinais Aula 5P Professor Marcio Eisencraft agosto 2007

xistem

2
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 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).

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.


Como o perodo da envoltria

2
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 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):

6. Os fonoaudilogos usam um equipamento chamado audimetro para testar a audio de


deficientes auditivos. Basicamente, este aparelho reproduz um tom dado pela senide
sin (2f ) para f entre 100Hz e 3000Hz.
Escreva um programa (seqncia de comandos) Matlab que produza um tom na freqncia f que dure 5s:
(a) f = 500 Hz

(b) f = 700 Hz

(c) f = 1100 Hz

RESPOSTA: (Comandos e comentrios)

(d) f = 1300 Hz.

Processamento Digital de Sinais Aula 6P Professor Marcio Eisencraft setembro 2007

Aula 6P Aplicaes da soma de convoluo


Bibliogr afia

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.

Exer ccios sobr e soma de convoluo


1. Um sistema LIT tem a resposta ao impulso dada por
j [p] = w[p] w[p 10]
Determine a sada deste sistema quando a entrada for o pulso retangular definido como
z[p] = w[p 2] w[p 7]

RESOLUO

2. Obtenha novamente o resultado do Exerccio 1 utilizando o comando conv do Matlab.


COMANDOS UTILIZADOS:

Processamento Digital de Sinais Aula 6P Professor Marcio Eisencraft setembro 2007

3. Um sistema LIT tem resposta ao impulso


p

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

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

(c) Agora repita o item (b) utilizando o comando conv.


COMANDOS UTILIZADOS:

(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

(e) Como voc poderia melhorar a filtragem do item (d)?


RESPOSTA

5. O arquivo eletro1.m contm amostras obtidas de um eletrocardiograma no site


physionet.org. Estes pontos podem ser carregados para uma varivel x1 no Matlab
estando no diretrio correto e usando o comando:
>> x1 = load(eletro1.m);
Pede-se:

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).

Processamento Digital de Sinais Aula 7P Professor Marcio Eisencraft setembro 2006

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

2. (HAYKIN; VEEN, 2001, p. 81) Determine se os seguintes sinais so peridicos. Se o forem,


encontre o perodo fundamental:

(8 )

(a) (0,5) x [ n ] = cos 15 n

(7 )

(b) (0,5) x [ n ] = cos 15 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.
n

(a) (1,0) x [ n ] = ( 0,5 ) u [ n ]


1

Processamento Digital de Sinais Aula 7P Professor Marcio Eisencraft setembro 2006

(b) (1,0) x [ n ] = u [ n ] .

4. (PROAKIS; MANOLAKIS, 1996, p. 137) Os seguintes pares entrada-sada foram observados


durante a operao de um sistema linear:

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

(a) (1,0) Determine a resposta impulsiva do sistema.


(b) (0,5) O que se pode afirmar sobre a invarincia no tempo deste sistema? JUSTIFIQUE.

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 ]
(b) (1,0)

x2 [ n ] = 20,5n x [ n ] + cos ( 0, 1n ) x [ n + 2 ]

Processamento Digital de Sinais Aula 8P Professores Marcio Eisencraft setembro 2007

Aula 8P - Simulando equaes de diferenas no Matlab

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.

O Matlab permite a resoluo de equaes de diferenas com a utilizao dos comandos


filter e filtic.
Seja a 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] .
Primeiramente, vamos considerar que as condies iniciais so nulas. Neste caso, para resolv-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 c 1 , 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 diferenas {[p] 0,5 {[p 1] = z[p] para z[p] = w[p] e condies iniciais nulas, usamos a seguinte seqncia 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);

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:

(b) Calcule a resposta impulsiva usando o comando filter do Matlab.


COMANDOS E COMENTRIOS:

(c) Calcule a resposta ao degrau deste sistema usando convoluo.


RESOLUO:

(d) Calcule a resposta ao degrau deste sistema usando filter.


COMANDOS E COMENTRIOS:


(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

(f) Repita o item (e) usando filter.


COMANDOS E COMENTRIOS:

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

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 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:

Processamento Digital de Sinais Aula 9P Professores Marcio Eisencraft setembro 2007

Aula 9P -

Exemplos simples de processamento de voz

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:

Processamento Digital de Sinais Aula 9P Professores Marcio Eisencraft setembro 2007

4. Obtenha um grfico do vetor voz.


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:

9. Um dos conceitos mais utlizados em processamento digital de sinais e telecomunicaes


o de relao sinal-rudo (SNR = signal to noise ratio) que a razo entre a potncia do sinal e a potncia do rudo num certo sinal. Por exemplo, se quisermos gerar um som que
tenha SNR = 5, podemos usar o seguinte script:
2

Processamento Digital de Sinais Aula 9P Professores Marcio Eisencraft setembro 2007

% SCRIPT noise.m gera um sinal de voz somado a ruido com


% SNR fixa
[voz,fs,nbits] = wavread('voz.wav');
voz = voz';
SNR = 5;
Psinal = sum(voz.^2)/length(voz);
Pruido = Psinal/SNR;
ruido = sqrt(Pruido)*randn(1,60000);
vozr = voz+ruido;
sound(vozr,fs)
Modifique o script acima para gerar sons com SNR igual a 100, 50, 20, 10, 2, 1, 0,1 e 0. Descubra at que nvel de SNR a mensagem ainda inteligvel.
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:

11. Escreva uma funo que tenha como formato


function [y] = eco(x,fs,N,alfa)
que recebe um sinal guardado na varivel x e implementa e toca o sinal com eco
{ [ p ] = z [ p ] + cz [ p P ] .
Teste seu programa para o arquivo teste.wav do exerccio anterior.
Resposta e comentrios:
3

Processamento Digital de Sinais Aula 10P Professor Marcio Eisencraft setembro 2007

Aula 10P Modelagem, predio e sntese de voz


Bibliografia

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.

1. Fundamentos de sinais de voz


Fisicamente, a voz produzida quando o ar dos pulmes excita o sistema de trato vocal mostrado na Figura 1.
O trato vocal se comporta como uma cavidade ressonante de forma que o sinal que emana
pela boca uma soma ponderada de verses atrasadas do sinal vocal original mais as excitaes. O modelo em tubos do trato vocal mostrado nas Figuras 2 e 3.
Os diferentes tipos de sons da voz podem ser divididos de forma simplificada em dois grupos:
os sons voclicos e os sons fricativos ou no-voclicos.
Uqpu"xqenkequ: so produzidos usando uma seqncia de impulsos como entrada; o perodo
fundamental desta seqncia determina a tonalidade (pitch). Por exemplo, vogais so sons
voclicos; quando se diz a, pode-se sentir a vibrao das cordas vocais.

Figur a 1 Detalhes do trato vocal. (SENDA, 2005).


1

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.

Modelagem de voz em tempo discreto


Um modelo em equaes de diferenas para o trato vocal pode ser desenvolvido como se segue.
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.

Figura 2 Modelo do trato vocal. (SENDA, 2005).

Processamento Digital de Sinais Aula 10P Professor Marcio Eisencraft setembro 2007

Figura 3 Modelo em tubos do trato vocal. (BURRUS et al., 1998).

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 :

g[p] = u[p] u[p]


3

(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

u[p] ku[p k] = g[p]

(3)

k=1

Este modelo de predio usado em telecomunicaes para aumentar o nmero de sinais de


voz que podem ser transmitidos por um canal.
Se os coeficientes k so conhecidos pelo transmissor e pelo receptor, ento apenas o erro
precisa ser transmitido e o sinal de voz pode ser t geqpuvt wf q no receptor utilizando a equao 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] .

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

Figura 5 Exemplo de predio e reconstruo de um sinal de voz.


4

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.

Figura 6 Segmentao do sinal de voz (STONICK; BRADLEY, 1996).

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

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.

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.

6. O programa predivoz fornece tem a seguinte estrutura:


% [X2,E, RECON] =

predivoz(nomarq,NS,NP);

% nomarq - nome do arquivo .wav (entre aspas simples)


% NS - numero de amostras por bloco
% NP - numero de coeficientes utilizados na predicao
% X2 - sinal obtido com a predicao
% E

- erro de predicao

% RECON - Sinal reconstruido no receptor


Teste o programa para o sinal aula5.wav usando blocos com NS=160, NP = 10. Explique
os resultados obtidos e verifique o que ocorre ao se modificar estes parmetros.

7. O programa predivozquant simula a quantizao do sinal de erro que enviado ao receptor.


% [RECON] =

predivozquant(nomarq,NS,NP, Nbits);

% nomarq - nome do arquivo .wav (entre aspas simples)


% NS - numero de amostras por bloco
% NP - numero de coeficientes utilizados na predicao
% Nbits - numero de bits utilizados na quantizacao do erro
% RECON - Sinal reconstruido no receptor
Utilizando novamente o arquivo aula5.wav e as mesmas configuraes da Atividade 7, verifique qual a menor quantidade de bits que devem ser utilizados na quantizao do erro de predio
de forma que o sinal possa ser recuperado de forma integral no receptor. Calcule, neste caso, a
taxa necessria de transmisso.

Processamento Digital de Sinais Aula 11P Professor Marcio Eisencraft setembro 2007

Aula 11P Exemplos de processamento de imagem


Bibliogr afia

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.

Bor r ando e dando nitidez a uma imagem


O borro em ima imagem causada pelo movimento pode ser representado por um sistema
linear. O movimento faz com que cada pixel em uma imagem contenha informao dos P
"pixels" anteriores na mesma linha. Um modelo simples de borro horizontal :

{(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

5. Para aumentar o brilho da imagem, pode-se utilizar o comando brighten(beta) sendo


beta um nmero entre -1 e 1. Nmeros maiores que zero resultam numa imagem mais brilhante e menores do que zero numa imagem mais escura. Por exemplo,
>> brighten(.7)
20

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);

7. Gere a imagem a seguir:

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

Obtenha uma ampliao do nariz do palhao.


COMANDOS UTILIZADOS:

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);

Desfaa o efeito na imagem Yhori.


COMANDOS UTILIZADOS:

B. Imagem no fomato jpeg


O formato jpeg um dos mais utilizados para codificao de imagens. O comando [X] = imread(FILENAME,jpeg) pode ser utilizado para importar uma imagem neste formato
para o Matlab. gerado um vetor X tridimensional com os componentes RGB da imagem. A
matriz X(:,:,1) contm a informao do vermelho (red), a matriz X(:,:,2) a informao do verde e a matriz X(:,:,3) a informao do azul (blue).
O comando IMWRITE(A,FILENAME,jpeg) grava a matriz A no arquivo FILENAME.jpg .
Muitos outros formatos so possveis. Leia o help dos comandos acima para mais informaes.
A seguinte seqncia de comandos l a figura moinho.jpg e mostra suas componentes:
X = imread('moinho.jpg','jpeg');
Xred = X(:,:,1);
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');
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

C. O que est escr ito?


A seguinte foto foi tirada de uma placa com o carro em movimento. Ela esta armazenada no arquivo testeplacaverm.mat

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

1. (PROAKIS; MANOLAKIS, 1996, p. 139) (2,0) Calcule a convoluo y [ n ] = x [ n ] h [ n ]


do seguinte par de sinais:
1, n = 2, 0, 1

x [ n ] = 2, n = 1

0, caso cont rrio

h [ n ] = [ n ] [ n 1 ] + [ n 4 ] + [ n 5 ]

2. (OPPENHEIM; WILLSKY; YOUNG; 1983, p. 129)


(a) (0,5) Considere a interconexo de sistemas LIT mostrada na figura a seguir. Expresse a resposta impulsiva global h [ n ] em termos de h1 [ n ] , h2 [ n ] , h3 [ n ] , h4 [ n ] e h5 [ n ] .

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 .

4. (PROAKIS; MANOLAKIS, 1996, p. 307) (1,5) Determine a seqncia de sada do sistema


com resposta impulsiva

h [n ] =

1
2

( )un
2

Processamento Digital de Sinais Aula 12P Professor Marcio Eisencraft outubro 2007

quando sua entrada a seqncia exponencial complexa x [ n ] = Ae

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

Aula 13P Sries de Fourier de tempo discreto usando o Matlab


Bibliografia

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.

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.

O Matlab supe que os somatrios nas equaes que definem a SFTD vo de 0 a P 1 ,


de forma que os primeiros elementos de x e a correspondem a z[0] e c 0 , respectivamente, enquanto os ltimos elementos correspondem a z[ P 1] e c P 1 .

Similarmente, dados os coeficientes da SFTD num vetor a, o comando:

>> 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:

(b) Use o Matlab para confirmar os resultados do item (a).


Comandos e comentrios:

2. (a) Calcule os coeficientes da srie de Fourier do sinal


3

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

3. (OPPENHEIM; WILLSKY; NAWAB, 1997, p. 218) Considere o seguinte sinal retangular


peridico com perodo P 0 = 32 . Use o Matlab para determinar as componentes da srie
de Fourier deste sinal e esboce seu espectro.

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

Aula 14P Resposta em freqncia de filtros digitais


Bibliografia

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.

Veremos nesta aula exemplos de clculos de resposta em freqncia usando o Matlab.


Lembrando as aulas tericas, definimos a hwpq"f g"ukuvgo c<

J (| ) =

j [m]|

m=

e a t gur quvc"go "ht gs pekc"como

( ) = j [m]g

J g

l m

m=

Vimos tambm que para uma entrada

z[p] =

2
p
lm

P0

m= P 0

a resposta de um sistema LIT dada por:

{[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

retorna N pontos da resposta em freqncia do filtro no intervalo [0, ] .


Para obtermos um grfico do mdulo desta resposta, por exemplo, podemos fazer:
>> plot(W,abs(H));
comum utilizar-se
>> plot(W/pi,abs(H));
para que o grfico fique mais fcil de ser lido (normalizado com relao a ).

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

Para este sistema, pede-se:


(a) a resposta impulsiva j [p] ;

(b) a funo de sistema J ( | ) .

(c) a resposta em freqncia J (g l ) .

(d) faa um grfico do mdulo e da fase de J (g l ) para .

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 freqncia deste filtro e compare com o resultado do item (a).

2. A seguinte equao de diferenas representa um filtro IIR passa-baixas do tipo chamado


Filtro de Chebyshev:
{[p ] 0,7820 {[p 1] + 1,2872 {[p 2] 0,7822 {[p 3] + 0,4297 {[p 4] 0,1234 {[p 5] = 0,032 z[p] +
+ 0,1608 z[p 1] + 0,3217 z[p 2] + 0,3217 z[p 3] + 0,1683z[p 4] + 0,03217 z[p 5]
Para este filtro pede-se:
(a) Obtenha no Matlab o mdulo da resposta em freqncia J (g l ) deste filtro.

(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;

%numero de pontos = senoides vao tocar por 3 segundos

f1 = 200;

%frequencia do Tom 1

f2 = 800;

%frequencia do Tom 2

x1 = sin(2*pi*f1*n/fa); % Amostragem - x1[n] = sin(0.2*pi*n);


x2 = sin(2*pi*f2*n/fa); % Amostragem - x2[n] = sin(0.8*pi*n);

%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