Você está na página 1de 14

Processamento Digital de Sinais – Aula 05 – Professor Marcio Eisencraft – fevereiro 2012

Aula 05 -

Sistemas de tempo discreto Classificação

Bibliografia OPPENHEIM, A.V.; WILLSKY, A. S. Sinais e Sistemas, 2a edição, Pearson, 2010. ISBN 9788576055044. Páginas 25-36. HAYKIN, S. S.; VAN VEEN, B. Sinais e sistemas, Bookman, 2001. ISBN 8573077417. Páginas 59-70.

2.

Sistemas de tempo discreto no domínio do tempo

2.1

Sistema de tempo discreto

no domínio do tempo 2.1 Sistema de tempo discreto Em aulas passadas já foi discutido o

Em aulas passadas já foi discutido o conceito de sistema. Foi visto que um sistema é uma interconexão de operações que transforma um sinal de entrada em um sinal de saída. Neste curso, abordam-se particularmente os sistemas em que os sinais são de tempo discreto. Estes sistemas são chamados de sis- temas de tempo discreto.

Matematicamente, se expressa um sistema por um operador. Por exemplo, para dizer que um sinal y[n] é a saída de um sistema H cuja entrada é x[n] es-

creve-se:

yn   = Hxn         Em diagrama
yn  
= Hxn    
 
 
Em diagrama de blocos:
x[n]
y[n]
H

Exercícios

1. (LATHI, 2007; p. 295) A média móvel é usada para detectar a tendência de uma variável que flutua muito rapidamente como as médias do mercado de ações. Uma variável pode flutuar (para cima ou para baixo) diariamente, mascarando a sua tendência de longo prazo.

1

Processamento Digital de Sinais – Aula 05 – Professor Marcio Eisencraft – fevereiro 2012

Podemos obter a tendência de longo prazo suavizando ou tomando a mé- dia dos N últimos valores da variável. Para o mercado de ações, podemos con- siderar uma média móvel de 3 dias y[n] como sendo a média dos valores de fe-

chamento do mercado de ações dos últimos três dias, x[n], x[n 1] e x[n 2].

(a)

Escreva a equação de diferenças relacionando y[n] com a entrada x[n].

(b)

Usando elementos de atraso, faça um diagrama de blocos deste filtro de mé-

dia móvel.

2. (LATHI, 2007; p. 297) Resolva a seguinte equação iterativamente (primeiros três termos apenas):

y[n]

0,6 y[n 1]

0,16y[n

2]= 0 com

y[ 1]= 25 ,

y[

2]= 0 .

3. (LATHI, 2007; p. 297) Resolva a seguinte equação iterativamente (primeiros três termos apenas):

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

com x[n] = 3

n

u[n], y[-1] = 3 e

y[-2] = 2

.

4. (LATHI, 2007; p. 295) A saída de uma caixa registradora y[n] representa o

preço total de n itens passados pela caixa. A entrada x[n] é o preço do n -

ésimo item.

(a) Escreva a equação de diferenças relacionando y[n] a x[n].

(b) Esquematize a realização deste sistema usando APENAS UM elemento de atraso.

2

Processamento Digital de Sinais – Aula 05 – Professor Marcio Eisencraft – fevereiro 2012

2.1.1 Classificação de sistemas

2.1.1.1 Memória

Diz-se que um sistema possui memória se sua saída depende de valores pas-

sados ou futuros do sinal de entrada. A extensão temporal de valores passados dos quais a saída depende define quão longe a memória se estende no passado.

Em contrapartida, diz-se que um sistema é sem memória se seu sinal de saída

depende somente do valor presente do sinal de entrada.

Por exemplo, o sistema de média móvel do Exercício 1 descrito pela relação

entrada-saída:

y[n] =

1

3

(

[

x n

]

[

+ x n

1]

[

+ x n

2])

tem memória, uma vez que o valor do sinal de saída 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 relação:

y[n]

=

x [n]

2

é sem memória uma vez que o valor do sinal de saída y[n] no tempo n depende

apenas do valor atual do sinal de entrada x[n].

2.1.1.2 Causalidade

Diz-se que um sistema é causal se o valor atual do sinal de saída depender

somente dos valores presentes e/ou passados do sinal de entrada. Em contrapar- tida, o sinal de saída de um sistema não causal depende de valores futuros do sinal de entrada.

Por exemplo, o sistema de média móvel já descrito,

3

Processamento Digital de Sinais – Aula 05 – Professor Marcio Eisencraft – fevereiro 2012

y[n] =

1

3

(

[

x n

]

[

+ x n

1]

[

+ x n

2])

é causal. Por outro lado, o sistema de média móvel descrito por:

y[n] =

1

3

(

[

x n +

1]

[

+ x n

]

[

+ x n

1])

é não causal uma vez que o sinal de saída y[n] depende de um valor futuro do

sinal de entrada, a saber, x[n + 1].

2.1.1.3 Invariância no tempo

Diz-se que um sistema é invariante no tempo se um retardo de tempo ou

avanço de tempo do sinal de entrada levar a um deslocamento idêntico no sinal de saída. Isto implica que um sistema invariante no tempo reage de maneira idêntica, não importa quando o sinal de entrada seja aplicado. Dizendo com ou- tras palavras, as características de um sistema invariante no tempo não se modi- ficam com o tempo. Caso contrário, diz-se que o sistema é variante no tempo.

Por exemplo, o sistema

y[n]= 2x[n 1] é invariante no tempo. Já o sistema

y[n]

=

r x(n)

n

é variante no tempo.

2.1.1.4 Linearidade

Dizemos que um sistema é linear quando são válidos os princípios da super-

posição e da homogeneidade explicados a seguir. Caso contrário, o sistema é chamado não linear.

4

Processamento Digital de Sinais – Aula 05 – Professor Marcio Eisencraft – fevereiro 2012

A. Princípio da superposição

a

resposta à entrada x [n] . Um sistema satisfaz o princípio da superposição se,

quando aplicamos a ele a entrada x [n]

Seja um sistema y[n]= H[x[n]] e sejam y [n]

a resposta à entrada x [n]

1

+

x [n]

2

sua saída é y

S

=

y [n]

1

+

e y [n]

2

y [n]

2

.

1

2

=

x [n]

1

S

B. Princípio da homogeneidade

a resposta à entrada x [n] . Um sistema

satisfaz ao princípio da homogeneidade se quando aplicamos a ele a entrada

Seja um sistema y[n]= H[x[n]] e seja y [n]

1

1

x

H

[n]

=

ax [n]

1

,

a

*

R , sua saída é

y

H

[n]

=

ay [n]

1

.

Assim, para verificar se um sistema é linear é necessário testar as duas condi- ções acima.

Exercícios

5. (1021) Um sistema linear e invariante no tempo tem a seguinte resposta à entrada x[n]= [n] (resposta ao impulso):

à entrada x [ n ] = [ n ] (resposta ao impulso): Faça um esboço

Faça um esboço da saída 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 05 – Professor Marcio Eisencraft – fevereiro 2012

6.

(1031) Um sistema de tempo discreto é definido pela seguinte equação de diferenças:

y[n]= x[n](1

x[n 1])

(a)

Este sistema é causal? Justifique.

(b)

Este sistema tem memória? 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

L2 -

Sequências e equações de diferenças

L.2.1 Geração de Sinais Discretos (Sequências de Números) Um sinal discreto é representado matematicamente como sequências de núme- ros. A sequência de números x , no qual o n -ésimo número é denotado por x[n], é

representada por x = {x[n]}.

Segue-se um exemplo de como definir um sinal de tempo discreto usando o Ma- tlab ® . a- Definir as variáveis (como o vetor de índices de tempo {n})

>> nn = 0:30;

% vetor de índice de tempo com 31 pontos %com intervalo inteiro = 1

b-

Definir a função matemática que representa a sequência >> seno = sin(nn/2+1)

c-

Usa-se para apresentar graficamente sinais discretos a função stem >> stem(nn,seno)

6

Processamento Digital de Sinais – Aula 05 – Professor Marcio Eisencraft – fevereiro 2012

L.2.1.1

Sinal impulso

Vejamos agora como representar um impulso de tempo discreto [n] no Ma-

tlab ® . Como se definiu na aula anterior,

[

n

[

n


0

0

=

π

1,

0,

n

=

=

n π


1,

0, n

n

]

=

n

0 ]

e

n

0

n

0

Exemplo 1 A seguinte sequência de comandos gera um impulso [n] para 0 n 30 .

>> clear >> npontos = 31; >> nn = 0:(npontos-1); >> imp = zeros(npontos,1); >> imp(1) = 1; >> stem(nn,imp); >> title('Sinal amostrado') >> xlabel('Amostras no tempo') >> ylabel('Amplitude')

no tempo') >> ylabel('Amplitude') Uma sequência pode ser formada por uma soma de impulsos

Uma sequência pode ser formada por uma soma de impulsos ponderados deslo- cados.

Exemplo 2 Gere o sinal x1[n] definido por x1[n]= 0,9 [n 5], 0

clear

7

n

19 .

Processamento Digital de Sinais – Aula 05 – Professor Marcio Eisencraft – fevereiro 2012

npontos = 20; nn = 0:npontos-1; x1 = zeros(npontos,1); x1(6) = 1*0.9;

stem(nn,x1);

title('Sinal X1 amostrado') xlabel('Amostras no tempo') ylabel('Amplitude') grid

no tempo') ylabel('Amplitude') grid L.2.1.2 O sinal senoidal A função cosseno é geralmente

L.2.1.2 O sinal senoidal

A função cosseno é geralmente descrita por quatro parâmetros: amplitude, fre-

quência, instantes em que se deseja calcular seu valor e fase.

x[n]= A

cos

(

0

n + )

A seguinte função implementa a função x[n]= A

function [x]=calccos(a,w,n,f); % calcula o cosseno dados os parâmetros % amplitude, frequência angular, vetor de intervalos do tempo, e fase x=a*cos(w*n+f);

cos

(

0

n + )

no Matlab ® .

8

Processamento Digital de Sinais – Aula 05 – Professor Marcio Eisencraft – fevereiro 2012

Exemplo 3

A seguir, a função descrita é utilizada para gerar o sinal

0

n

25 .

clear

a

w

fase = 0; nn = 0:25;

x1=calccos(a,w,nn,fase);

stem(nn,x1);

= 1;

= pi/17;

x

[

n

]

=

cos

17

n

para

title('Sinal Co-seno X1 amostrado') xlabel('Amostras no tempo');

ylabel('Amplitude');

grid

no tempo'); ylabel('Amplitude'); grid L.2.1.3 O sinal degrau unitário Viu-se também na aula

L.2.1.3 O sinal degrau unitário Viu-se também na aula passada que o sinal degrau unitário é definido por

[

u n

]

=

1, se

0, se

n

n <

0

0

A seguinte função pode ser usada para gerar sinais degraus function [x,n]=step1(n0,n1,n2);

9

Processamento Digital de Sinais – Aula 05 – Professor Marcio Eisencraft – fevereiro 2012

%

gera degrau quando x[n]=u[n-n0]; n1<=n<=n2

n

= [n1:n2];

x

=[(n-n0)>=0];

Exemplo 4 Como exemplo de sua utilização, a seguinte sequência de comandos gera um sinal rampa x1[n]= nu[n] para 0 n 20 .

clear

n = [0:20]

x1 = n.*(step1(0,0,20))

stem(n,x1);

title('Sinal X1') xlabel('Amostras no tempo') ylabel('Amplitude')

grid

no tempo') ylabel('Amplitude') grid L.2.2 Equações de diferença lineares com coeficientes

L.2.2 Equações de diferença lineares com coeficientes constantes As equações de diferença lineares com coeficientes constantes são de extrema importância para o processamento digital de sinais. Os filtros digitais podem ser e são geralmente descritos por equações de diferen- ça lineares com coeficientes constantes. Os processadores digitais (DSP) possuem instruções para essas equações, para mapeamento delas dentro de um programa.

10

Processamento Digital de Sinais – Aula 05 – Professor Marcio Eisencraft – fevereiro 2012

Uma equação de diferenças genérica pode ser descrita como

N

0

k =

a

k

[

y n

k

]

=

M

=

0

k

b

k

[

x n

k

]

em que N é a ordem do sistema. Utiliza-se a função filter do Matlab ® para se obter a resposta de um sistema quando aplicada uma excitação. Por exemplo, para a equação:

y[n]+ 0,9y[n 2]= 0,3x[n]+ 0,6x[n 1]+ 0,3x[n 2]

em que x[n] é o sinal de entrada e y[n] é o sinal de saída,

pb=[0.3 0.6 0.3]; %coeficientes (b) pa=[1 0 0.9]; %coeficientes (a) y=filter(pb,pa,x); %Y = resposta do sistema quando aplicado uma excitação X

Exemplo 5 O seguinte programa calcula y[n] para a equação de diferenças

y[n]+ 0,9y[n 2]= 0,3x[n]+ 0,6x[n 1]+ 0,3x[n 2]

quando x[n]= [n] e 0

clf reset

n=0:128;

comprimento=max(size(n)); pb=[0.3 0.6 0.3]; pa=[1 0 0.9]; x = zeros(comprimento,1); x(1) = 1; y=filter(pb,pa,x);

n

128.

stem(n(1:100),y(1:100));

title('Resultado') xlabel('Indice (n)') grid;

11

Processamento Digital de Sinais – Aula 05 – Professor Marcio Eisencraft – fevereiro 2012

Aula 05 – Professor Marcio Eisencraft – fevereiro 2012 L.2.3 Estabilidade de um sistema descrito por

L.2.3 Estabilidade de um sistema descrito por equações de diferença linea- res com coeficientes constantes Para verificar a estabilidade de um sistema descrito por equações de diferenças lineares, aplica-se um impulso x[n]= [n] como entrada e verifica-se se sua saída

y[n]= h[n] obedece:

n

=

0

[

h n

]

finito

Utiliza-se aqui a função sum(abs(h)) do Matlab ® para verificar a somatória da equação acima.

Exemplo 6 Verificar a estabilidade do sistema descrito pela equação de diferenças

y[n]+ 0,9 y[n 2]= 0,3x[n]+ 0,6x[n 1]+ 0,3x[n 2]

clf reset

n=0:128;

npontos=max(size(n)); pb=[0.3 0.6 0.3]; pa=[1 0 0.9]; x = zeros(npontos,1); x(1) = 1; y=filter(pb,pa,x); sum(abs(y))

12

Processamento Digital de Sinais – Aula 05 – Professor Marcio Eisencraft – fevereiro 2012

Rode a sequência de comandos acima, use comprimentos diferentes para n e verifique se o sistema é estável ou não.

Exercícios

1. Gere e faça o gráfico de cada uma das seguintes sequências sobre seus res-

pectivos intervalos.

(a)

COMANDOS:

x[n]= 2 [n

(b)

COMANDOS:

[

x n

]

=

{ [

n u n

]

2]

[

u n

[n

10

4],

]}

+

10

5

e

0,3

[

n

n

10

]

5

{ [

u n

10]

[

u n

20]} ,

0

n

20

2. Obtenha as respostas dos seguintes sistemas quando excitados com impulso unitário e degrau unitário. Verifique também se o sistema e estável.

(a) y[n]= 2 y[n 2]+ x[n],

20

n

120

COMANDOS E RESPOSTA:

(b) y[n]= y[n 1]

y[n 10]+ x[n],

0

n

200

COMANDOS E RESPOSTA:

3. (INGLE; PROAKIS, 2007, p. 39) Um diferenciador digital “simples” é dado por:

y[n]= x[n]

x[n 1]

13

Processamento Digital de Sinais – Aula 05 – Professor Marcio Eisencraft – fevereiro 2012

que computa a diferença de primeira ordem para trás da sequência de entrada. Escreva comandos Matlab ® que programem este diferenciador para as seguintes sequências de entrada e faça gráficos dos resultados. Entregue os comandos e gráficos obtidos.

(a)

(b)

x[n]= 5[u[n] u[n 20]]: um pulso retangular

x[n]= n(u[n] u[n 10])+ (20 n)[u(n 10) u(n 20)]: um pulso triangular

(c)

[

x n

]

=

sin

n

25

(

[

u n

]

[

u n

100])

: um pulso senoidal

14