• Nenhum resultado encontrado

Processamento Digital de Sinal. Aulas Práticas

N/A
N/A
Protected

Academic year: 2021

Share "Processamento Digital de Sinal. Aulas Práticas"

Copied!
45
0
0

Texto

(1)

Departamento de Engenharia Electrotécnica e de Computadores Faculdade de Engenharia da Universidade do Porto

Processamento Digital de Sinal

Aulas Práticas

Ano Lectivo 2004/05

(2)

Este conjunto de problemas foi utilizado nas aulas práticas da disciplina de Processamento Digital de Sinal da FEUP ao longo dos últimos anos.

Em cada ano, foram acrescentados novos problemas, de acordo com a evolução do programa da disciplina, e mantidos a maioria dos anteriores, para facilitar aos alunos o estudo.

Estão assinalados com um * os problemas resolvidos na turma prática de um dos autores no ano lectivo de 2004/05.

(3)

Aula nº 1

* Problema 1

Considere o sistema discreto

4 ) 2 n ( x ) 1 n ( x 2 ) n ( x ) n ( y = + − + − .

a. Determine a sua resposta impulsional h(n). b. Determine a sua resposta em frequência H(ejω).

c. Determine a sua resposta y(n) à entrada x(n) = [0.5, 1, 1, 0.5]. d. Determine a sua resposta y(n) à entrada ).

3 1 n 2 cos( ) n ( x = π + Solução: a. h(n) = [0.25, 0.5, 0.25] b. H(ejω) = + ωe−jω 2 cos 1 c. y(n) = [0.5, 1, 1, 0.5] * [0.25, 0.5, 0.25]=[0.125, 0.5, 0.875, 0.875, 0.5, 0.125] d. j2 e j2 2 1 ) e ( H π − π = ) 3 1 ) 1 n ( 2 cos( 2 1 ) 2 3 1 n 2 cos( 2 1 ) n ( y = π + −π = π − + * Problema 2

A resposta impulsional de um sistema discreto H é

u(n) 2

h(n) = -n .

Determine e represente graficamente a sua resposta y(n) à entrada

) 10 u(n) - u( x(n) = . Solução:

= − +∞ −∞ = ≥ − ≤ ≤ − − = = − = min(n,9) 0 k k n k 0 k n 9 k 0 ) k n ( 2 2 2 ) k n ( h ) k ( x ) n ( y y(n)= 0, n < 0 2-2-n, 0 ≤ n ≤ 9 (2-2-10)2-(n-10), n > 9 Um programa Matlab muito simples

n=[0:20]; h=2.^(-n);

x=[ones(1,10) zeros(1,11)]; y=conv(h,x);

subplot(2,1,1); stem(n,y(1:21))

(4)

0 2 4 6 8 10 12 14 16 18 20 0 0.5 1 1.5 2 Problema 3

Determine a resposta impulsional do sistema discreto y(n) = 0.3x(n) + 0.7y(n-1) .

Solução:

h(n) = 0.3.0.7nu(n) .

Problema 4

Considere os seguintes sistemas discretos

a. y(n) = 0.1x(n) + 0.1x(n-1)+0.1x(n-2)+…+0.1x(n-9) b. y(n)=0.1x(n)-0.1x(n-10)+y(n-1).

Detemine a sua resposta impulsional e classifique-os quanto à recursividade e ao comprimento da resposta impulsional.

Solução:

Ambos os sistemas têm a resposta impulsional (porquê?) h(n) = 0.1[u(n)-u(n-10)].

Assim, são ambos do tipo FIR, sendo o primeiro um sistema não recursivo e o segundo um sistema recursivo.

* Problema 5

Uma escola ensina um único curso com a duração de um ano.

Sejam x(n) o número de alunos admitidos no ano n e y(n) o número de alunos que frequenta o ano n, e suponha que todos os anos 20% dos alunos reprovam e que um aluno prescreve ao fim de três inscrições. a. Escreva a equação às diferenças que regula este sistema discreto.

b. Determine e interprete a sua resposta impulsional h(n). Solução:

a. Frequentam o ano n os alunos admitidos, mais 20% dos alunos que frequentaram o ano anterior, menos os admitidos há três anos e que reprovaram três vezes

y(n) = x(n) + 0.2y(n-1) – 0.23x(n-3)

ou então os admitidos no ano n mais 20% dos admitidos no ano n-1 mais 20% de 20% dos admitidos no ano n-2

y(n) = x(n) + 0.2x(n-1) + 0.04x(n-2). b. A resposta impulsional deste sistema é

h(n) = [1 0.2 0.04].

Se num determinado ano entrarem os primeiros 1000 alunos, e não entrarem mais nos anos seguintes (a entrada é um impulso), frequentarão a escola nesse ano, 1000 alunos, no ano seguinte, 200, no

(5)

Problema 6 (O&S, 2.3)

Classifique os sistemas seguintes no que respeita à estabilidade, causalidade, linearidade e invariância à translacção:

a. y(n) = g(n)x(n) , em que g(n) é conhecido

b.

= = n n k 0 ) k ( x ) n ( y c.

+ − = = 0 0 n n n n k ) k ( x ) n ( y d. y(n) = x(n – n0) e. y(n)=ex(n) f. y(n) = ax(n) + b g. y(n) = x(-n) h. y(n) = x(n) + 3u(n+1) Solução:

Estabilidade Causalidade Linearidade Invariância à translacção

a. sim, se |g(n)| for limitado sim sim não

b. não não sim não

c. sim não sim sim

d. sim não sim sim

e. sim sim não sim

f. sim, se a e b finitos sim não não

g. sim não sim não

h. sim sim não não

Problema 7 (O&S, 2.11)

Determine a resposta ao degrau unitário do sistema com resposta impulsional

1 a 0 , u(-n) a h(n)= -n < < . Solução:

−∞ = − ≥ − ≤ − +∞ −∞ = = = − = min(n,0) k k 0 k n 0 k k k a a ) k n ( x ) k ( h ) n ( y y(n)= ,n 0 a 1 a n ≤ − − 0 n , a 1 1 > −

(6)

Aula nº 2

* Problema 1

a. Determine a resposta impulsional h(n) e a resposta em frequencia H(ejω) de um filtro de média de comprimento 5 5 ) 4 n ( x ) 3 n ( x ) 2 n ( x ) 1 n ( x ) n ( x ) n ( y = + − + − + − + −

b. Escreva um programa em Matlab que represente graficamente o módulo e a fase de H(ejω). Solução: a. h(n) = [0.2, 0.2, 0.2, 0.2, 0.2] ω − ω − ω − ω − ω − ω − ω − ω − ω π ωπ ω = ω ω = − − = + + + + = 2j 2j j j 5 j 4 j 3 j 2 j j e 2 senc 2 5 senc e 2 sen 5 2 5 sen e 1 e 1 5 1 5 e e e e 1 ) e ( H ,

ou, de outro modo,

ω − ω − ω − ω − ω − ω = + + + + = + ω + ω 2j j 4 j 3 j 2 j j e 5 ) 2 cos( 2 ) cos( 2 1 5 e e e e 1 ) e ( H b. w=0:2*pi/256:2*pi-2*pi/256; H=(sinc(5*w/(2*pi))./sinc(w/(2*pi))).*exp(-2*j.*w); subplot(2,1,1); plot(w,abs(H)); axis([0 2*pi 0 1]); subplot(2,1,2); plot(w,angle(H)); axis([0 2*pi -pi pi]);

0 1 2 3 4 5 6 0 0.2 0.4 0.6 0.8 1 0 1 2 3 4 5 6 -2 0 2 * Problema 2

Determine e represente graficamente a resposta impulsional h(n) de um filtro passa baixo ideal com frequencia superior de corte ω = 0.5 rad .

Solução:

− − ω π π = π = − π = ω π = 5 . 0 5 . 0 n 5 . 0 j n 5 . 0 j n j 0.5n senc 5 . 0 n j 2 ) n 5 . 0 ( jsen 2 ) e e ( jn 1 2 1 d e 2 1 ) n ( h em que

(7)

x ) x ( sen ) x ( senc π π = -20 -15 -10 -5 0 5 10 15 20 -0.05 0 0.05 0.1 0.15 0.2 Problema 3

a. Se a transformada de Fourier de h(n) for H(ejω), qual é a transformada de Fourier de (-1)nh(n)? b. Determine a resposta impulsional h(n) de um filtro passa alto ideal com frequência inferior de corte

0.75π rad. Solução: a. ( 1) h(n)e e h(n)e h(n)e j( )n H(ej( )) n n j n n j n j n n ωπ ω−π +∞ −∞ = ω − +∞ −∞ = π ω − +∞ −∞ = = = = −

há uma translacção de π rad b. três possibilidades: i) a partir da definição

π π π π − π π π ω = − π = − π = ω π = 25 . 1 75 . 0 n n j n 25 . 0 j n 25 . 0 j n 75 . 0 j n 25 . 1 j n j 4 n senc 4 ) 1 ( e ) e e ( jn 1 2 1 ) e e ( jn 1 2 1 d e 2 1 ) n ( h

ii) verificando que o filtro pedido se obtem por uma translacção de π da resposta em frequência de um filtro passa baixo ideal com frequência superior de corte 0.25π rad, e utilizando o resultado da alínea anterior, obtem-se directamente

4 n senc 4 ) 1 ( ) n ( h n − =

iii) ou ainda notando que o filtro pedido se obtem subtraindo do filtro ‘identidade’ um filtro passa baixo ideal com frequência superior de corte 0.75π rad

4 n 3 senc 4 3 ) n ( ) n ( h =δ − .

Podemos verificar facilmente que se trata da mesma solução. No grafico a seguir representam-se as funções 4 t senc e 4 t 3 senc 4 3

− cuja amostragem em t=n, a menos do factor (−1)n na primeira e da parcela δ(n) na segunda, coincide

-10 -8 -6 -4 -2 0 2 4 6 8 10

-1 -0.5 0 0.5

(8)

clf

n=-10:10; t=-10:0.1:10;

h1=((-1).^n).*sinc(n/4)/4; ha1=sinc(t/4)/4; subplot(2,1,1); stem(n,h1);

hold on; subplot(2,1,1); plot(t,ha1); grid on

h2=-3*sinc(3*n/4)/4 + [zeros(1,10) ones(1,1) zeros(1,10)]; ha2=-3*sinc(3*t/4)/4;

subplot(2,1,1); stem(n,h2);

hold on; subplot(2,1,1); plot(t,ha2); grid on

* Problema 4

a. Determine a resposta impulsional do filtro passa banda ideal com banda de passagem     π π 2 , 4 rad. b. Usando Matlab, e considerando apenas os 128 termos mais significativos de h(n), represente

graficamente a magnitude da resposta em frequência do filtro. Solução:

a. Usando o resultado do problema 2., e atendendo a que o filtro pedido se pode obter subtraindo a um filtro passa baixo com frequência superior de corte π/2 um filtro passa baixo com frequência superior de corte π/4 4 n senc 4 1 2 n senc 2 1 ) n ( h = − .

b. A representação grafica poder-se-ia fazer do seguinte modo

n=-64:1:63;

h=0.5*sinc(n/2)-0.25*sinc(n/4); [H,F]=freqz(h,[1],256);

subplot(2,1,1); plot(F/pi,abs(H)); % frequencia normalizada

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.5 1 1.5 Problema 5

A parte real da transformada de Fourier de um sinal discreto x(n) real e causal é XR(e

) = 1 + cos(ω) . Determine a sua parte imaginária. Solução: 1 + cos(ω) = 2 e e 1 j jω+ −ω + ⇔ [0.5, 1, 0.5] parte par de x(n)

x(n) = [1, 1] ⇒ [-0.5, 0, 0.5] parte ímpar de x(n) ⇒ XI(ejω) = -jsen(ω)

Problema 6

(9)

a. Determine a resposta impulsional h(n) e a resposta em frrequência H(ejω) do sistema global. b. Determine a equação às diferenças que relaciona y(n) com x(n).

c. Determine quantas operações de adição e multiplicação reais são necessárias para produzir uma amostra à saída.

Solução:

a. h(n)=[δ(n)+ βδ(n-1)]* αnu(n)= αnu(n)+βαn-1u(n-1) H(ejω)=

[

]

ω − ω − ω − ω − α − β + = α − β + j j jj e 1 e 1 e 1 1 e 1 b. y(n)=x(n)+βx(n-1)+αy(n-1)

c. 2 multiplicações, 2 adições e duas posições de memória.

Problema 7 (O&S, 2.51)

A resposta impulsional de um sistema discreto LI é dada por h(n)=αnu(n), com |α|<1.

a. Determiney1(n), a resposta do sistema à entrada

n 2 j 1(n) e x π = .

b. Com base na alínea anterior, determiney2(n), a resposta do sistema à entrada n) 2 cos( (n) x2 π = .

c. Determiney3(n), a resposta do sistema à entrada x (n) e u(n)

n 2 j 3 π = .

d. Como se comparam y3(n)e y1(n)para valores elevados de n? Solução: a.

+∞ = −ω ω − ω α − = α = 0 n j n j n j e 1 1 e ) H(e 2 ) jarctg n 2 ( j n 2 j 2 jarctg n 2 j n 2 j 2 j 1 1 e e 1 e e j 1 1 e e 1 1 ) n ( y α + = α + = α + = α − = α − π π α − π π π − b. n 2 j n 2 j 2 e 2 1 e 2 1 ) n ( x π − π + = n 2 j n 2 j n 2 j 2 j n 2 j 2 j 2 e j 1 1 2 1 e j 1 1 2 1 e e 1 1 2 1 e e 1 1 2 1 ) n ( y π − π π − π π π − = + α + − α α − + α − = 2 2 ) jarctg n 2 ( j 2 ) arctg n 2 ( j n 2 j 2 jarctg n 2 j 2 jarctg 2 1 ) jarctg n 2 cos( 1 e 2 1 1 e 2 1 e 1 e 2 1 e 1 e 2 1 ) n ( y α + α − π = α + + α + = α + + α + = α − π − α − π π − α π α −

(poderíamos ter escrito este resultado imediatamente, usando a noção de resposta em frequência) h1(n)=βδ(n-1)

h2(n)=αnu(n)

+

(10)

c. (aqui, não podemos usar esta noção... porquê?)

= π + π − + π − + π − π ≥ − ≥ − π ≥ α + α − − = α − α − < = α = α = n 0 k n 2 j 1 n 2 j ) 1 n ( 2 j 1 n n 2 j ) k n ( 2 j k 0 k n 0 k ) k n ( 2 j k 3 e , n 0 j 1 ) j ( 1 e 1 e 1 e 0 n , 0 e e ) n ( y ) n ( u e j 1 ) j ( 1 ) n ( y n 2 j 1 n 3 π + α + α − − =

(11)

Aula nº 3

* Problema 1

Crie um ficheiro .m de comandos Matlab que execute as seguintes operações:

- solicita que o utilizador forneça um valor inteiro N através do teclado (comprimento de um sinal), - constrói o vector linha, n , com os inteiros 0, 1, …, N-1,

- cria o vector linha

h

=

α

n com

α

=

0

.

95

exp(

j

π

/

3

)

,

- representa graficamente o valor absoluto do vector h , usando para graduar o eixo das abcissas o vector n ; acrescente também os comandos seguintes:

xlabel('n \rightarrow');

ylabel('Magnitude \rightarrow'); legend('Envolvente')

title('Exponencial Complexa');

(Obs: use sempre um comando pause; depois de um comando plot ou stem )

- inicializa uma nova janela gráfica através do comando figure(2); esta figura será posteriormente dividida para representar três gráficos na horizontal (i.e. dividir-se-á numa matriz 3×1),

- usa o comando stem para representar na faixa superior da figura 2, a parte imaginária do vector h , usando para graduar o eixo das abcissas o vector n ;

- cria o vector linha x ,com N elementos e cujos valores não-nulos são dados pela sequência discreta u(n-20)-u(n-30),

- usa o comando stem para representar na faixa intermédia da figura 2, o vector x , usando para graduar o eixo das abcissas o vector n ;

- usa o comando conv para colocar no vector y o resultado da convolução discreta entre a parte imaginária do vector h e o vector x ;

- imprime a mensagem “Convolução já efectuada!”,

- mostra o resultado dos comandos size(y) e length(y) (critique a diferença),

- usa o comando stem para representar na faixa inferior da figura 2, os primeiros 100 elementos do vector y através do símbolo ‘pentagram’, e usando para graduar o eixo das abcissas o vector n ; - coloca etiquetas adequadas no eixo das abcissas e no das ordenadas da figura 2.

Solução:

%

% Processamento Digital de Sinal % EEC4162 2004/2005

% Problema 3.1

% Convoluçao discreta % ajf/fjr

%

N=input('Forneça um valor inteiro: '); n=[0:1:N-1];

alpha=0.95*exp(j*pi/3);

h=alpha.^n; % produz um vector figure(1); plot(n,abs(h)); xlabel('n \rightarrow'); ylabel('Magnitude \rightarrow'); legend('Envolvente'); title('Exponencial complexa'); disp ('Prima uma tecla'); pause; figure(2); subplot(3,1,1);

(12)

stem(n,imag(h));

x=[zeros(1, 20) ones(1,10) zeros(1,N-30)]; subplot(3,1,2); stem(n,x); y=conv(imag(h),x); disp('Convoluçao ja efectuada !'); disp('size(y):'); disp(size(y)); disp('length(y):'); disp(length(y)); len=min(N,100); subplot(3,1,3); stem(n(1:len),y(1:len),'p'); * Problema 2

Com referência ao problema anterior, esclareça:

a. Os comandos sum(h.*conj(h)) e h*h' produzem o mesmo resultado, porquê ? b. Qual é a diferenças entre os comandos h*h' e h*h.' ?

c. Onde atrás se usou o comando conv, poder-se-ia ter utilizado o comando filter ? d. Qual é a diferença entre os comandos who e whos ?

(13)

Aula nº 4

Problema 1

Considere um filtro analógico passa baixo elementar do tipo RC, com R = 10 kΩ e C = 2 µF. a. Determine a sua resposta em frequência Hc(jΩ).

b. Determine a sua resposta impulsional hc(t).

c. Determine a resposta em frequência do sistema discreto cuja resposta impulsional é uma amostragem de hc(t) a uma frequência igual a 10 vezes a frequência de corte do filtro analógico.

d. Determine a respectiva equação às diferenças. Solução: a. RC j 1 1 ) C j ( R ) C j ( ) j ( H 1 1 c Ω + = Ω + Ω = Ω −

frequência angular de corte (RC)-1

b. e u(t) RC 1 ) t ( h RC t c − =

c. frequência angular de amostragem 10(RC)-1; período de amostragem T = πRC/5

) n ( u e 5 ) n ( u e RC 5 / RC ) nT ( Th ) n ( h RC 5n 5 / RC n c π − π − π = π = =

(faz-se normalmente h(n)=Thc(nT) para que a amplitude de H(ejω) seja independente da frequência de amostragem) ω − π − ω − +∞ = π − ω − π = π =

j 5 n j 0 n n 5 j e e 1 1 5 e e 5 ) e ( H d. x(n) e y(n 1) 0.628x(n) 0.533y(n 1) 5 ) n ( y = π + 5 − = + − π − * Problema 2

Repita o problema anterior, mas admitindo que o que agora pretende é que a resposta ao degrau unitário do sistema discreto seja uma amostragem com período T da resposta ao degrau unitário do sistema contínuo. Solução: ) t ( u ) e 1 ( ) t ( d RC t c − − = ) n ( u e ) n ( u ) n ( u e ) n ( u ) n ( d n 5 RC nT π − − − − =

pelo que podemos saber a transformada em z de uma entrada, u(n), e da respectiva saída d(n)

1 | z | , z 1 1 ) z ( U 1 > − = 1 | z | , z e 1 1 z 1 1 ) z ( D 1 5 1 > − − − = − π − −

(14)

e então 5 1 5 1 5 1 5 1 1 1 5 1 e | z | , z e 1 z ) e 1 ( z e 1 z 1 1 z 1 1 z e 1 1 z 1 1 ) z ( D π − − π − − π − − π − − − − π − − > − − = − − − = − − − − = (porquê?) A equação às diferenças é y(n) = 0.4665 x(n-1) + 0.5335 y(n-1) e o diagrama zero-polar pode obter-se através de

zplane([0 0.4665][1 -0.5335]); -1 -0.5 0 0.5 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Real Part Im a g in a ry P a rt Problema 3

Determine a frequência mínima a que deve amostrar o sinal contínuo de banda limitada xc(t) = senc 2

(10t) de modo a evitar a ocorrência de aliasing.

Solução:

O sinal contínuo cuja transformada de Fourier é um pedestal de largura 2ΩM centrado em 0 é

Ω Ω − Ω − Ω Ω π Ω π Ω = − π = Ω π = M M M M e ) senc( t) e ( jt 1 2 1 d e 2 1 ) t ( x j t j t j t M M .

Se a transformada de Fourier de senc(10t) é um pedestal de largura 20π, a transformada de Fourier de senc2(10t) será um triangulo de largura 40π, que deve ser amostrado à frequência angular de amostragem mínima de 40π rad/s.

Problema 4

Considere os sinais contínuos x1(t) e x2(t), de banda limitada a, respectivamente, Ω1 e Ω2 rad/s.

Determine a frequência mínima de amostragem dos sinais a. x1(t) + x2(t) ,

b. x1(t) x x2(t) ,

c. x1(t) * x2(t) .

(15)

a. max(Ω1, Ω2)

b. Ω1 + Ω2

c. min(Ω1, Ω2)

* Problema 5

O sinal discreto x(n), obtido por amostragem com período T de um sinal analógico xc(t), tem espectro não

nulo só para |ω| < π/2.

Especifique o filtro de reconstrução ideal e compensado que recupera o sinal analógico, usando reconstrução de ordem zero, com pedestal de largura T.

Solução:

Reconstrução do impulso unitário discreto: h(t) = u(n) – u(n – T) Efeito da reconstrução: 2 T j 2 T j 2 T j 2 T j 2 T j T j e 2 T Tsenc e j 2 T jsen 2 e j e e j e 1 ) j ( H −Ω −Ω −Ω Ω − Ω Ω −       π Ω = Ω       Ω = Ω − = Ω − = Ω

que se representa a seguir para T=1

-6 -4 -2 0 2 4 6 0 0.5 1 1.5 2

Filtro de reconstrução ideal e compensado: ) j ( Hr Ω = H−1(jΩ), se T | |Ω≤ π 0, se não

que igualmente se representa para T=1

-6 -4 -2 0 2 4 6 0 0.5 1 1.5 2 * Problema 6

O sinal discreto x(n), obtido por amostragem com período T de um sinal analógico xc(t), tem espectro não

nulo só para |ω| < π/2.

Suponha que realiza uma interpolação de 1 para 4 do sinal x(n), obtendo o sinal xi(n).

(16)

b. Especifique o filtro de reconstrução ideal e compensado que recupera o sinal analógico a partir de xi(n), usando reconstrução de ordem zero (com pedestal de largura T/4).

c. Comparando este filtro de reconstrução com o obtido no problema anterior, explique porque os leitores de discos compactos fazem, em geral, uso de filtros digitais dedicados para fazer interpolação digital? (um valor comum é "8 times oversampling").

Solução:

A fornecer mais tarde.

Problema 7

Repita a alínea b. do problema anterior, supondo que utiliza a reconstrução de primeira ordem (interpolação linear).

Solução:

A fornecer mais tarde.

Problema 8

Considere um sinal discreto h(n) e a sua transformada em z, H(z). Determine o sinal discreto cuja transformada em z é

a. H(-z) . b. H(z2) . Solução: a. H( z) h(n)( z) ( 1) h(n)z ( 1)nh(n) n n n n n = − = −

+∞ −∞ = − +∞ −∞ = − b. H(z ) h(n)(z ) h(n)z h(n/2),sen par 0,senão n n 2 n n 2 2 =

=

+∞ −∞ = − +∞ −∞ = − Problema 9

Determine o sinal discreto causal cuja transformada em z é

5 2 -z 1 z ) z ( H − − = . Solução:

Basta seguir o seguinte raciocínio

u(n) 1 z 1 1 − − u(n/5), se n múltiplo de 5 0, se não 1 z 5 1 − − u((n-2)/5, se n-2 múltiplo de 5 0, se não 5 2 z 1 z − − −

(17)

Problema 10

Considere o sistema discreto causal

y(n) = 2x(n) + 0.7y(n-1) - 0.1y(n-2) .

a. Determine a sua função de transferência H(z).

b. Represente graficamente, de modo aproximado, a amplitude da sua resposta em frequência |H(ejω)|. c. Calcule a sua resposta impulsional h(n).

Solução: a. ,| z| 0.5 ) 5 . 0 z )( 2 . 0 z ( z 2 z 2 . 0 z 7 . 0 1 2 ) z ( H 2 2 1+ = > − = b. | 5 . 0 e | . | 2 . 0 e | 2 ) e ( H | j j j − − = ω ω ω |H(0)| = 2/(0.8x0.5) = 5 ; |H(1)| = 2/(1.2x1.5) = 1.11… -3 -2 -1 0 1 2 3 0 1 2 3 4 5 c. 0.5 u(n) 3 10 ) n ( u 2 . 0 3 4 ) n ( h 5 . 0 z 3 / z 10 2 . 0 z 3 / z 4 ) z ( H ⇒ =− n + n − + − − =

(será interessante repetir a resolução usando o método geral, e verificá-la determinando os primeiros termos de h(n) pelo método da divisão dos polinómios)

Problema 11

Considere o sistema discreto causal com função de transferência

H z z z z ( ) . . . = − − + − − − 1 0 4 1 0 8 0 64 1 1 2.

a. Localize no plano z os polos e zeros deste sistema e a região de convergência de H(z). b. Calcule a sua resposta impulsional h(n).

c. Determine a equação às diferenças que rege o sistema. Solução:

(18)

a. -1 -0.5 0 0.5 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Real Part Im a g in a ry P a rt b. 0.8ej3 π = α ) n ( u ) n 3 cos( 8 . 0 3 j ) ( 2 3 j 2 3 j ) 4 . 0 ( ) ( ) 4 . 0 ( dz ) z )( z ( ) 4 . 0 z ( z ) n ( h n n * n * * n * * n C * n π = α − α = α − α − α α + α − α − α α = α − α − − =

c. y(n) = x(n) – 0.4x(n-1) + 0.8y(n-1) – 0.64y(n-2)

Problema 12

Os sinais discretos x(n) = 2-nu(n) e w(n) = 3-nu(n) tem transformada em z respectivamente

2 1 | z | , z 2 1 1 1 ) z ( X 1 > − = − e 3 1 | z | , z 3 1 1 1 ) z ( W 1 > − = −

e o seu produto x(n)w(n) = 6-nu(n) tem transformada em z

6 1 | z | , z 6 1 1 1 1 > − −

Derive este resultado utilizando a propriedade da convolução complexa da transformada z. Solução:

Temos de calcular no plano v o integral

3 1 | v z | e 2 1 |> v | , dv v ) v z ( 3 1 1 1 v 2 1 1 1 j 2 1 -1 1 C 1 > − − π

− − ,

com o contorno C satisfazendo as condições impostas pelas regiões de convergência de X(z) e W(z), isto é, | z | 3 | v | 2 1 < < .

(19)

6 1 |> z | 2 1 | z | 3 > ⇔

que será a região de convergência da transformada em z de x(n)w(n).

O integral pode ser calculado pelo método dos resíduos, para o que se torna necessário determinar os polos da função integranda | z | 3 |< v | < 2 1 6 1 |> z | , dv 3z) )(v 2 1 (v 3z j 2 1 C ∧ − − − π

, que são 1/2 e 3z.

Como apenas o polo 1/2 se encontra no interior do contorno C, o resíduo nesse polo é a transformada em z procurada 6 1 |> z | , z 6 1 1 1 3z 2 1 3z 1 − − = − − .

(20)

Aula nº 5

* Problema 1

O sinal contínuo xc(t)=sin

(

20πt

)

+cos

(

40πt

)

é amostrado com período de amostragem T. Crie um ficheiro

.m de comandos Matlab que execute as seguintes operações:

- cria um vector n com os inteiros entre 0 e 49, e cria dois vectores: x1(n)= xc(nT) com T=1/200, e ) nT ( x = ) n ( 2 x c com T=21/200,

- representa os vectores x1(n) e x2(n) em duas faixas da mesma figura, como se ilustra.

Que conclui ? É possível encontrar um outro valor de T que origine um sinal idêntico aos obtidos ? Solução:

%

% Processamento Digital de Sinal % EEC4162 2004/2005 % Problema 5.1 % Aliasing % {ajf,fjr}@fe.up.pt % close all; clear all; T1=1/200; T2=21/200; t=[0:49]; x1 = sin(20*pi*t*T1)+cos(40*pi*t*T1); x2 = sin(20*pi*t*T2)+cos(40*pi*t*T2); subplot(2,1,1); stem(t, x1,'.'); xlabel('n \rightarrow'); ylabel('Amplitude \rightarrow'); subplot(2,1,2); stem(t, x1,'.'); xlabel('n \rightarrow'); ylabel('Amplitude \rightarrow'); % sao iguais !

% qualquer T=(20*k+1)/200, k inteiro, produz o mesmo resultado

* Problema 2

Considere um sistema discreto e causal, do tipo FIR, e com zeros em z0=0.3+j0.4, z0*, 1/z0, e 1/z0*., e também

em z1=0.6+j0.8, z1 *

, e z2=−1. Crie um ficheiro .m de comandos Matlab que execute as seguintes operações:

(21)

- usa o comando Matlab zp2tf para converter os zeros e polos do sistema para polinómios numerador e denominador da função de transferência do sistema (i.e. a transformada Z):

[num den]=zp2tf(Z, P, 1.0);

- usa o comando Matlab zplane com os vectores num e den para representar os polos e zeros do sistema no plano Z (introduza o comando pause imediatamente a seguir). De que modo é que esta representação denota a característica de fase linear do sistema ?

- usa o comando Matlab impz com os vectores num e den para colocar no vector h a resposta impulsional do sistema, e usa de seguida o comando stem para representar esta resposta (introduza o comando pause imediatamente a seguir). De que modo é que esta representação denota a característica de fase linear do sistema ?

- usa os seguintes comandos:

figure(2) subplot(2,1,1); [H, W]=freqz(num, den); plot(W/pi, 20*log10(abs(H))); xlabel('Frequencia Normalizada'); ylabel('Amplitude (dB)'); subplot(2,1,2);

plot(W/pi, grpdelay(num, den)); xlabel('Frequencia Normalizada'); ylabel('Atraso de Grupo (amostras)'); pause;

a. O que é que estes comandos permitem representar? De que modo é que as duas representações gráficas anteriores permitem já antecipar a representação de atraso de grupo obtida ?

b. Critique a afirmação: o seguinte comando Matlab não decompõe o sistema discreto anterior, em sub-sistemas preservando a característica de fase linear:

[sos, g]=zp2sos(Z, P, 1.0);

Solução:

%

% Processamento Digital de Sinal % EEC4162 2004/2005

% Problema 5.2

% Filtro FIR com fase linear % {ajf,fjr}@fe.up.pt % close all; clear all; z0=0.3+j*0.4; z1=0.6+j*0.8; z2=-1; Z=[z0 z0' 1/z0 1/z0' z1 z1' z2].'; P=[0 0 0 0 0 0 0].'; [num den]=zp2tf(Z, P, 1.0); zplane(num, den); pause; [h, t]=impz(num, den); stem(t, h); xlabel('Amostras'); ylabel('Amplitude'); pause; figure(2) subplot(2,1,1); [H, W]=freqz(num, den);

(22)

plot(W/pi, 20*log10(abs(H))); xlabel('Frequencia Normalizada'); ylabel('Amplitude (dB)');

subplot(2,1,2);

plot(W/pi, grpdelay(num, den)); xlabel('Frequencia Normalizada'); ylabel('Atraso de Grupo (amostras)'); % fase linear

% atraso de grupo constante: (N-1)/2 pause;

[sos, g]=zp2sos(Z, P, 1.0); sos

% desfaz grupo de quatro zeros

% impossivel ter seccoes de segunda ordem com fase linear

Problema 3

Seja um sistema discreto em que x(n) representa o número de novos alunos que, no início do ano n, se inscreve a uma disciplina e y(n) representa o número total de alunos que frequenta essa disciplina no ano n. Dos alunos que frequentam a disciplina em cada ano, 70% têm aproveitamento.

a. Obtenha a equação às diferenças que caracteriza o sistema.

b. Sendo x(n)=100u(n), para que valor é que tende o número de alunos a frequentar a disciplina?

c. Repita b., supondo agora que existe um regime de prescrições e que um aluno que reprova três vezes fica impedido de se inscrever novamente.

Solução: a. y(n)=x(n)+(1−0.7)y(n−1) b. 1 z 3 . 0 1 1 ) z ( H − = , |z|>0.3 1 1 z 3 . 0 1 1 z 1 100 ) z ( Y − − = , |z|>1

O teorema do valor final permitir-nos-ia concluir imediatamente que y(n) tende para 143 7 . 0 100

≅ .

Podemos evidentemente calcular y(n)

) n ( u ) 3 . 0 1 ( 7 . 0 100 ) n ( u ) 7 . 0 3 . 0 . 100 7 . 0 100 ( dz ) 3 . 0 z )( 1 z ( z 100 j 2 1 ) n ( y n 1 1 n 1 n + + + − = − + = − − π =

c. Agora, a equação às diferenças é outra:

) 3 n ( x 3 . 0 ) 1 n ( y 3 . 0 ) n ( x ) n ( y = + − − 3 − ou ) 2 n ( x 3 . 0 ) 1 n ( x 3 . 0 ) n ( x ) n ( y = + − + 2 −

que tende para 100 + 30 + 9 = 139.

Problema 4

A série de Fibonacci obtem-se calculando cada termo como a soma dos dois termos anteriores. Os dois primeiros termos da série são f(0) = 1 e f(1) = 1. Determine uma expressão geral para o termo de ordem n, f(n), da série de Fibonacci.

(23)

Solução:

A série de Fibonacci é a resposta impulsional do sistema causal y(n) = x(n) + y(n-1) + y(n-2) (porquê?). Usando a transformada z 2 1 z z 1 1 ) z ( H − − = com polos em 2 5 1 2 4 1 1 ± = + ±

e, usando a fórmula integral,

) n ( u ) ) 5 1 ( ) 5 1 (( 2 1 5 1 ) n ( h n 1 n 1 1 n + + + + − − = .

A seguir, temos os 40 primeiros termos desta série

n f(n) n f(n) n f(n) n f(n) 0 1 10 89 20 10946 30 1346269 1 1 11 144 21 17711 31 2178309 2 2 12 233 22 28657 32 3524578 3 3 13 377 23 46368 33 5702887 4 5 14 610 24 75025 34 9227465 5 8 15 987 25 121393 35 14930352 6 13 16 1597 26 196418 36 24157817 7 21 17 2584 27 317811 37 39088169 8 34 18 4181 28 514229 38 63245986 9 55 19 6765 29 832040 39 102334155 Problema 5

O parque informático numa dada escola é expresso por y(n) computadores utilizáveis no final do ano n. Ao longo de cada ano o número de computadores decresce devido a avarias, sendo a taxa anual de avarias de 5% e devido ao abatimento de todos os computadores que completam 3 anos de utilização.

No início de cada ano n são adquiridos x(n) computadores novos.

a. Obtenha, justificando, a equação às diferenças que exprime y(n), o número de computadores utilizáveis no final do ano n, de acordo com o enunciado.

b. Suponha que o parque informático é criado a partir do ano zero com a compra de N computadores novos no início de cada ano, obtenha a expressão que exprime y(n) em função de N e n.

c. Qual deverá ser N para que o número de computadores utilizáveis estabilize em 1000? Solução:

a. y(n) = 0.95y(n-1) + x(n) – 0.953x(n – 3) ou então

y(n) = x(n) + 0.95x(n – 1) + 0.952x(n – 2)

(esta segunda forma evidencia a resposta impulsional finita do sistema: um computador é abatido ao fim de três anos)

b. x(n) = Nu(n)

(24)

c. N + 0.95N + 0.952N = 1000 → N = 351

Problema 6

Um modelo simplificado de um banco poderia ser o seguinte:

− x(n) representa uma transacção mensal, de depósito ou de levantamento, [x(n) é positivo se for depósito e só há uma transacção por mês],

− y(n) representa o saldo depois da operação mensal,

− mensalmente, há lugar ao pagamento de um juro Ty(n-1), com 0 < T << 1 (do cliente ao banco ou do banco ao cliente, conforme o saldo for devedor ou credor).

a. Represente por uma equação às diferenças o modelo de funcionamento deste banco. Justifique. b. Suponha que o seu saldo no mês –1 é nulo, que no mês 0 o banco lhe concede um crédito de

100 000 €, e que a partir do mês 1 deposita regularmente P € neste banco, com o objectivo de saldar a dívida ao fim de 20 anos. Calcule, através de uma análise em z, qual o valor da prestação P a pagar, sabendo que a taxa de juro mensal é de 0.5%.

Solução:

a. A equação às diferenças será y(n) = x(n) + (1 + T)y(n-1).

Ao saldo do mês anterior, acresce o juro pago pelo banco e o valor do depósito efectuado. b. A entrada do sistema (depósito) será

x(n) = - 100 000δ(n) + Pu(n-1).

A transformada z permite-nos resolver o problema facilmente:

1 z 005 . 1 1 1 ) z ( H − = , |z| > 1.005 (o sistema é instável!) 1 1 1 1 z 1 z ) P 100000 ( 100000 z 1 Pz 100000 ) z ( X − − − − + + − = − + − = , |z| > 1 ) z 005 . 1 1 )( z 1 ( z ) P 100000 ( 100000 ) z ( Y 1 1 1 − − ¬ − − + + − = , |z| > 1.005

+ + π = + dz ) 005 . 1 z )( 1 z ( z ) P 100000 ( z 100000 j 2 1 ) n ( y n 1 n ) n ( u ) 1 005 . 1 005 . 1 ) P 100000 ( 005 . 1 . 100000 005 . 1 1 ) P 100000 ( 100000 ( ) n ( y n 1 n − + + − + − + + − = + ) n ( u ) 005 . 0 ) 005 . 1 1 ( P 005 . 1 x 100000 ( ) n ( y n n+ − − =

(esta expressão mostra em separado os efeitos da dívida e da sua amortização). Para o saldo ser nulo ao fim de 20 anos, y(240)=0, o que dá P=716.43 €.

Obter-se-ia exactamente este valor usando a função do Excel PMT(0.5%,240,100000).

* Problema 7

Um banco remunera os seus depósitos à taxa de juro de 3% ao ano.

Determine o pagamento mensal que lhe garante que ao fim de 20 anos (240 pagamentos) terá um saldo acumulado de 100 000 €.

(25)

A equação às diferenças será y(n 1) 12 03 . 0 1 ) n ( x ) n ( y  −      + +

= , em que n é um índice que representa o mês.

A resposta à entrada P.u(n), em que P é a prestação mensal, pode calcular-se através de

1 1 1 1 z 0025 . 1 1 P 401 z 1 P 400 z 0025 . 1 1 1 . z 1 P ) z ( Y − + − − = − − = ) n ( u ) P 400 P 401 . 0025 . 1 ( ) n ( y = n −

Para ao fim de 20 anos o saldo acumulado ser 100 000

92 . 302 P ) P 400 P 401 . 0025 . 1 ( 100000= 240 − ⇒ = .

Por curiosidade, podemos ver como evolui o dinheiro entregue e o saldo acumulado ao longo dos 240 meses

0 50 100 150 200 0 1 2 3 4 5 6 7 8 9 10x 10 4

(26)

Aula nº 6

* Problema 1

Crie um ficheiro .m de comandos Matlab que execute as seguintes operações:

- usando o comando wavread(), lê o ficheiro de áudio vega.wav, do tipo .wav (amostrado à frequência de 44100 Hz),

- desnormaliza as amostra do sinal multiplicando-as pela constante 5000, - lê os valores dos índices inicial e final da parte do sinal que irá ser processada, - toca o sinal retido,

- soma ao sinal uma sinusoide pura com a frequência de 3125 Hz e amplitude 20000, - mostra e toca o sinal obtido,

- define os coeficientes de um filtro notch de 2ª ordem, com polos a 0.95 da origem do plano z e zeros coincidentes com os polos da sinusoide acrescentada,

- usa o comando zplane para representar os polos e zeros do sistema, e o comando freqz para representar a resposta em frequência do sistema,

- aplica o filtro ao sinal corrompido programando explicitamente a equação às diferenças, - toca o sinal obtido.

Agora esclareça: Os comandos

x = sin(2*pi*[0:999]/100); e

for i=0:999, x(i+1) = sin(2*pi*i/100);end

produzem o mesmo resultado. Qual deles deve ser utilizado? Porquê ? Solução:

%

% Processamento Digital de Sinal % EEC4162 2004/2005

% Problema 5.3

% filtro digital simples para melhorar a qualidade % de uma sinal de audio corrompido por uma sinusoide % {ajf,fjr}@fe.up.pt

%

close all; clear all;

% le o ficheiro audio e mostra o seu comprimento inpfile='vega.wav';

[data, Fs, nbits]=wavread(inpfile); data = data*5000;

length(data)

% mostra para seleccionar segmento a processar plot(data)

end1=input('end1? ') end2=input('end2? ')

% mostra e toca o segmento seleccionado datar=data(end1:end2);

dsize=length(datar); plot(datar)

disp('Prima uma tecla para ouvir o sinal'); pause sound(datar/(1.2*max(abs(datar))),Fs)

% adiciona ruido e mostra e toca sinal corrompido omega0=2*pi*3125/Fs;

(27)

x=datar+20000*cos(omega0*nc)'; plot(x)

disp('Prima uma tecla para ouvir o sinal com ruido'); pause sound(x/(2.0*max(abs(x))),Fs)

% define coeficientes do filtro notch de segunda ordem % e mostra resposta em frequencia

r=0.95; c0=2*cos(omega0); rs=r^2; c0r=r*c0; zplane([1 -c0 1], [1 -c0r rs])

freqz([1 -c0 1], [1 -c0r rs])

disp('Prima uma tecla para aplicar o filtro notch'); pause y(1)=0; y(2)=0;

for n=3:end2-end1,

y(n)=x(n)-c0*x(n-1)+x(n-2)+c0r*y(n-1)-rs*y(n-2); end

plot(y)

disp('Concluido. Prima uma tecla para ouvir o sinal filtrado'); pause

sound(y/(1.2*max(abs(y))),Fs)

Problema 2

Um sistema discreto tem um polo em α e um zero em 1/α*.

a. Represente graficamente, no plano z, o polo e o zero do sistema.

b. Mostre que o módulo da resposta em frequência deste sistema é independente de ω (sistema do tipo passa tudo).

c. Tente obter uma expressão para a fase da resposta em frequência. Solução: a. -1 -0.5 0 0.5 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Real Part Im a g in a ry P a rt

(este é o caso geral; há alguns casos particulares)

b. α −α − = z 1 z ) z ( H * * j j * * j j * j j 1 e e e e 1 e ) e ( H α = α − − α α = α −α − = ω ω ω −ω ω ω

(há uma solução gráfica, que consiste em mostrar que |α*H(z)|=1 para z=ejω) c. Em termos de fase, e para α∈R

(28)

) jsen arg(cos ) 1 sen j cos arg( )) e ( H arg( j α − ω + ω + ω α − ω α − = ω e como ϕ θ + ϕ − θ = ϕ − θ tg tg 1 tg tg ) ( tg

[

]

α − ω ω + ω α − + ω α − ω−α ω ω α − + ω α − − = ω cos sen sen 1 cos ) cos sen )( sen 1 cos ( 1 )) e ( H arg( tg j ω α + − α ω α − = ω cos ) 1 ( 2 sen ) 1 ( arctg )) e ( H arg( 2 2 j

representado a seguir para α = 0.5

-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 Problema 3

Considere um sistema do tipo FIR com zeros em 0.8e j3

π ± e 1.25e j3 π ± . a. Determine a sua função de transferência H(z).

b. Determine dois outros sistemas do mesmo tipo e com a mesma amplitude da resposta em frequência (diferindo apenas na fase).

Solução: a. H(z) z 4(z 0.8ej3)(z 0.8e j3)(z 1.25ej3)(z 1.25e j3) π − π π − π − = 4 -3 -2 -1 -2 2 4 z 1.5625) 1 2.05z 3.2025z -2.05z z 3 cos 5 . 2 z )( 64 . 0 z 3 cos 6 . 1 z ( z ) z ( H = − − π + − π + = − + +

(sistema com fase linear)

b. Colocando em série sistemas do tipo passa tudo e ganho unitário

1. com zeros em 0.8e j4 π ± e polos em 1.25e j4 π ± 4 3 2 1 2 3 j 2 3 j 4 z 64 . 0 z 6 . 1 z 6 z 5 . 2 5625 . 1 ) e 8 . 0 z ( ) e 8 . 0 z ( z 5625 . 1 ) z ( H − − − − π − π − = + + =

(29)

2. com zeros em 1.25e j4 π ± e polos em 0.8e j4 π ± 4 3 2 1 2 3 j 2 3 j 4 z 5625 . 1 z 5 . 2 z 6 z 6 . 1 64 . 0 ) e 25 . 1 z ( ) e 25 . 1 z ( z 64 . 0 ) z ( H − − − − π − π − = + + =

(sistema com fase máxima)

* Problema 4

Considere um sistema discreto do tipo FIR, de fase linear, com um zero em 0.3 + j0.4. a. Determine a sua resposta impulsional h(n).

b. Determine a resposta implsional dos sistemas de fase mínima e fase máxima com magnitude da resposta em frequência igual à do sistema dado.

Problema 5

Considere o sistema discreto do tipo FIR com zeros em

0.3+j0.4, 0.3-j0.4, (0.3+j0.4)-1, (0.3-j0.4)-1, 0.6+j0.8, 0.6-j0.8, -1. a. Determine a sua resposta impulsional h(n).

b. Mostre que o sistema é de fase linear.

c. Decomponha o sistema numa associação em série de dois sistemas, cada um deles ainda de fase linear. Solução: a. H(z) = z-7(z - 0.3-j0.4)(z - 0.3+j0.4)(z - (0.3+j0.4)-1)(z - (0.3-j0.4)-1)(z - 0.6-j0.8)(z - 0.6+j0.8)(z + 1) H(z) = z-7(z2 - 0.6z + 0.25)(z2 – 2.4z + 4)(z2 – 1.2z + 1)(z + 1) H(z) = z-7(z4 - 3z3 + 5.69z2 - 3z + 1)(z3 – 0.2z2 – 0.2z + 1) H(z) = z-7(z7 – 3.2z6 + 6.09z5 – 2.538z4 – 2.538z3 + 6.09z2 – 3.2z + 1) h(n) = [1 –3.2 6.09 –2.538 –2.538 6.09 –3.2 1]

b. A resposta impulsional é simétrica. c. (ver 3ª linha de a))

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -1.5 -1 -0.5 0 0.5 1 1.5 Real Part Im a g in a ry P a rt 7 H(z) = z-4(z4 - 3z3 + 5.69z2 - 3z + 1) z-3 (z3 – 0.2z2 – 0.2z + 1)

(30)

Aula nº 7

* Problema 1

Considere um sistema causal do tipo FIR com zeros em α=0.8exp(jπ/3), α∗, 1/α e 1/α∗.

a. Interprete a seguinte sequência de comandos Matlab, que deverá escrever num ficheiro do tipo.m .

close all; clear all;

alfa=0.8*exp(j*pi/3);

raizes=[alfa alfa' 1/alfa 1/(alfa')]; num=poly(raizes); raizes=[0 0 0 0]; den=poly(raizes); figure(1); zplane(num, den); pause; figure(2); [H, W]=freqz(num, den); plot(W/pi, 20*log10(abs(H))); xlabel('Frequencia Normalizada'); ylabel('Amplitude (dB)'); pause;

b. Adicione neste ficheiro .m outros comandos Matlab que executem as seguintes operações: - representa numa figura 3 a resposta impulsional do sistema,

- constrói os vectores filptnum e filptden correspondentes respectivamente ao polinómio numerador e denominador da função de transferência de um filtro passa-tudo de segunda ordem do tipo 1 1 1 1 1 1 ) ( H − − ∗ − Ζ β − β − Ζ ⋅ Ζ β − β − Ζ = Ζ

(a multiplicação polinomial é conseguida em Matlab através do comando conv, efectuando a convolução entre as sequências discretas constituídas pelos coeficientes de cada polinómio). - obtém o filtro de fase mínima que resulta do filtro FIR indicado, colocando em série com este um

filtro passa-tudo de segunda ordem e ganho unitário; isto é conseguido programando um valor de

β adequado na equação acima e efectuando a multiplicação polinomial:

faseminnum=conv(num, filptnum); faseminden=conv(den, filptden);

- representa na figura 1 o diagrama zero-polar deste sistema,

- representa na figura 3, os primeiros 5 coeficientes da resposta impulsional do filtro de fase mínima, - sobrepõe na representação da figura 2 a resposta em frequência do filtro de fase mínima (o que

conclui ?).

- usando um procedimento idêntico ao anteriormente seguido, constrói um filtro de fase máxima, - representa na figura 1 o diagrama zero-polar deste sistema,

- representa na figura 3, os primeiros 5 coeficientes da resposta impulsional do filtro de fase máxima,

- sobrepõe na representação da figura 2 a resposta em frequência do filtro de fase máxima (o que conclui ?).

c. Que comando(s) Matlab é que usaria para obter o filtro de fase máxima, através de, em alternativa ao procedimento anterior, H (z) z HFASEmin(z 1)

L max

(31)

Problema 2

Considere o sistema discreto causal com a equação às diferenças ) 2 n ( y 64 . 0 ) 1 n ( y 8 . 0 ) 1 n ( x 4 . 0 ) n ( x ) n ( y = − − + − − − .

Escreva num ficheiro do tipo.m comandos Matlab que executem as seguintes funções:

- define nos vectores num e den os polinómios numerador e denominador do sistema discreto, - representa o diagrama zero-polar do sistema,

- usa o comando roots()para determinar os polos e zeros (compare com o cálculo manual), - usa o comando;

[resid, polos, dire]=residuez(num, den);

que fornece os vectores resid, polos e dire, cujo conteúdo deverá interpretar e comparar com o resultado da expansão manual em fracções parciais da função de transferência do sistema,

- usa o comando impz() para representar as primeiras 40 amostras da resposta impulsional do sistema, que deverá comparar com o cálculo manual da resposta impulsional (vector h) e a representação das suas primeiras 40 amostras, através do comando plot(n,h,'pr') (usando para índice o vector

n=[0:39];).

* Problema 3

Projecte um filtro digital do tipo passa baixo, com frequência de corte 1 kHz à frequência de amostragem 10 kHz, a partir de um filtro RC passa baixo elementar

a. Pelo método da invariância da resposta imulsional. b. Pelo método da invariância da resposta ao degrau. c. Pelo método da transformação bilinear.

d. Represente graficamente as magnitudes das respostas em frequência dos três filtros digitais obtidos. Solução:

a. A função de transferência do filtro analógico protótipo é

RC 1 s RC 1 ) s ( Ha + =

em que a frequência angular de corte é

RC 1 c= Ω , ou seja, RC 1 10 . 2π 3 = , e π + π = 2000 s 2000 ) s ( Ha .

O polo em -2000π mapeia-se no plano z em e 2000 .10 4 e 5

π − π − − = e obtem-se 533 . 0 | z | , z 533 . 0 1 628 . 0 z e 1 5 z e 1 2000 10 ) z ( H 1 1 5 1 5 4 > − = − π = − π = − π − − π − − y(n) = 0.628x(n) + 0.533y(n-1) .

b. A resposta ao degrau do filtro analógico protótipo é

) t ( u ) e 1 ( ) t ( da = − −2000πt

(32)

e a resposta ao degrau do filtro digital resultante da transformação é ) n ( u ) e 1 ( ) n ( u ) e 1 ( ) n ( d 2000 .104n 5n π − π − = − = cuja transformada z é 1 5 1 z e 1 1 z 1 1 ) z ( D − π − − − − − = pelo que 533 . 0 | z | , z 533 . 0 1 z 467 . 0 z e 1 z ) e 1 ( z 1 1 z e 1 1 z 1 1 ) z ( H 1 1 1 5 1 5 1 1 5 1 > − = − − = − − − − = − − π − − π − − − π − − y(n) = 0.467x(n-1) + 0.533y(n-1) .

c. Aplicando a transformação bilinear à função de transferência do filtro analógico protótipo

1 1 1 1 1 1 4 z ) 10 ( 10 ) z 1 ( z 1 z 1 10 2000 z 1 z 1 10 2 2000 ) z ( H − − − − − − − π − − π + + π = π + + − π = π + + − π = 522 . 0 | z | , z 522 . 0 1 ) z 1 ( 239 . 0 ) z ( H 1 1 > − + = − y(n) = 0.239x(n) + 0.239x(n-1) + 0.522y(n-1) . (note como neste caso surge um zero de H(z) em z=-1) d. É óbvio qual é qual:

0 0.5 1 1.5 2 2.5 3 0 0.2 0.4 0.6 0.8 1 1.2

(33)

Aula nº 8

Problema 1

Considere o filtro analógico passa baixo

s s Ha 08 . 0 1 1 ) ( + = .

a. Determine a frequência de corte Ωc (atenuação igual a 3 dB) deste filtro.

b. Determine o filtro digital que se obtem de Ha(s) pelo método da invariância da resposta impulsional, para uma frequência de amostragem de 10 Hz.

c. Represente graficamente a amplitude da resposta em frequência deste filtro digital e a do filtro analógico original, e explique as eventuais diferenças entre ambas.

Solução: Hz s s s Ha c 12.5rad/s F 1.984 5 . 12 5 . 12 08 . 0 1 1 ) ( ⇒Ω = ∴ c= + = + = 1 25 . 1 z e 1 25 . 1 ) z ( H − = 0 1 2 3 4 5 6 0 0.5 1 1.5 0 1 2 3 4 5 6 7 8 9 10 0 0.2 0.4 0.6 0.8 1

nota-se um acentuado efeito de aliasing.

* Problema 2

Pretende-se projectar um filtro digital passa-baixo, usando o método da transformação bilinear, a partir de um filtro de Butterworth, e de tal modo que, à frequência de amostragem de 16 kHz,

- o limite superior da sua banda de passagem seja 2kHz, e a atenuação verificada não exceda 3 db, - o limite inferior da sua banda de bloqueio seja 4 kHz, e a atenuação verificada seja no mínimo de 40 dB. Determine a ordem mínima do filtro.

Problema 3

Pretende-se projectar um filtro digital passa-baixo, usando o método da transformação bilinear, a partir de um filtro de Butterworth de 3ª ordem, de tal modo que à frequência de amostragem de 10 kHz a sua frequência superior de corte seja de 1 kHz.

(34)

b. Localize, no plano z, os polos do filtro digital.

c. Determine a partir de que frequência a atenuação do filtro digital é melhor que 60 dB. Solução:

a. De acordo com o enunciado

rad/s 4 . 6498 10 20000 2 2 = = = Ω tgω tgπ T c c

b. Os polos deste filtro estão colocados, no plano s, em

4 . 6498 s1 =− e 3 2 j 3 , 2 6498.4e s π ± = .

No plano z, teremos então

501 . 0 64984 . 0 2 64984 . 0 2 sT 2 sT 2 z1 = + − = − + = 0639 . 0 j 736 . 0 56278 . 0 j 32492 . 0 2 56278 . 0 j 32492 . 0 2 e 64984 . 0 2 e 64984 . 0 2 z 3 2 3 2 3 , 2 = ± ± + ± − = − + = π ± π ± c. ) 999999 64984 6498.4 ( 60 ) 6498.4 ( + 1 1 10log 6 6 = Ω ⇒ > Ω ⇒ − < Ω donde rad 5445 . 2 2 2 1Ω = = tgT ω Problema 4

Pretende-se projectar um filtro digital passa-banda, do tipo FIR, tal que

rad/s 1000 | | 600 rad/s 600 | | 400 rad/s 400 | | 0 1 0 ) ( ≤ Ω < ≤ Ω ≤ < Ω ≈ ΩT j e H

para a frequência angular de amostragem 2000rad/s T 2 s = π = Ω .

a. Determine a resposta impulsional do filtro analógico protótipo.

b. Determine os coeficientes do filtro digital, utilizando uma janela de Hanning de comprimento 7. c. Faça um esboço da resposta em frequência do filtro digital.

Solução: a. -10000 -800 -600 -400 -200 0 200 400 600 800 1000 0.2 0.4 0.6 0.8 1

(35)

) t 400 ( senc 400 ) t 600 ( senc 600 d )e j ( H 2 1 = (t) hc c j t π − π = Ω Ω π

∞ ∞ − Ω b. h(n)=

[

0.6senc(0.6n)−0.4senc(0.4n)

]

wN(n)

c. Com uma janela rectangular de comprimento 101, teríamos a seguinte resposta impulsional e resposta em frequência -50 -40 -30 -20 -10 0 10 20 30 40 50 -0.2 -0.1 0 0.1 0.2 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.5 1 1.5

Com uma janela Hanning de comprimento 7

h(h)=[0 -0.1871 0 0.2 0 0.1871 0].*[0 0.25 0.75 1 0.75 0.25 0] 1 2 3 4 5 6 7 -0.05 0 0.05 0.1 0.15 0.2 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.1 0.15 0.2 0.25 0.3 0.35

que é obviamente uma péssima aproximação da resposta em frequência pretendida,

Problema 5

Considere um sistema FIR causal, com resposta impulsional h(n) real, de comprimento N e de fase linear do tipo 1 ( i.e. N é ímpar e h(N-1-k)=h(k) para 0≤k≤(N-1)/2 ). Nestas condições, a sua resposta em frequência pode escrever-se H(ejω)=A(ejω)e-j(αω-β), sendo A(ejω) uma função real de ω, e sendo α e β constantes.

a. Mostre que A(ejω) pode exprimir-se por

( )

− = ω =(N 1)/2 ω 0 n j ) n cos( ) n ( a e

(36)

b. Projectaram-se dois filtros FIR, nas condições do enunciado e com o mesmo comprimento N, do tipo passa-baixo, com banda passante BP: |ω| ∈ [0, 0.42π], com banda de transição BT: |ω| ∈ ]0.42π, 0.58π[, e com banda de corte BC: |ω| ∈ [0.58π, π], através da minimização dos dois seguintes critérios de erro na aproximação de H(ejω) a uma resposta desejada Hd(ejω) :

Critério 1: ε =

( ) ( )

− ∂ω π π − ω ω 2 j j d 2 H e He

Critério 2: MAX

{ }

ε(ω) =MAX

{

Hd

( ) ( )

ejω −Hejω

}

, ω ∈ BP∪BC.

O módulo da resposta em frequência dos dois filtros projectados encontra-se representado nos gráficos G1 e G2.

Indique, justificando, que critério de projecto terá sido usado para projectar os filtros ilustrados. c. Com base na informação disponível, estime o comprimento N dos filtros projectados na alínea

anterior. 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 Gráfico G1 Frequência/π G a n h o 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 Gráfico G2 Frequência/π G a n h o

(37)

Aula nº 9

* Problema 1

Pretende-se projectar um filtro discreto, do tipo passa-banda, com as seguintes especificações: banda passante entre 3000 Hz e 6000 Hz, ordem 8, frequência de amostragem 44100 Hz. Com este objectivo, projectam-se em ambiente Matlab quatro filtros: Butterworth, Chebychev 1, Chebychev 2, elíptico; e comparam-se as suas características, através do seguinte código:

close all; clear all; fs=44100;

fc=[3000/fs 6000/fs];

[b1 a1]=butter(4, fc); % ordem efectiva do filtro: 2N=8 [H1, W]=freqz(b1, a1);

[grpdly1 W]=grpdelay(b1, a1);

% ripple na banda passante = 0.5 dB

[b2 a2]=cheby1(4, 0.5, fc); % ordem efectiva do filtro: 2N=8 [H2, W]=freqz(b2, a2);

[grpdly2 W]=grpdelay(b2, a2); % ripple nas bandas corte = 25 dB

[b3 a3]=cheby2(4, 25, fc); % ordem efectiva do filtro: 2N=8 [H3, W]=freqz(b3, a3);

[grpdly3 W]=grpdelay(b3, a3);

% ripple na banda passante = 0.5 dB e nas bandas corte = 25 dB [b4 a4]=ellip(4, 0.5, 25, fc); % ordem efectiva do filtro: 2N=8 [H4, W]=freqz(b4, a4);

[grpdly4 W]=grpdelay(b4, a4); figure(1); plot(W/pi*fs/1E3, 20*log10(abs([H1.'; H2.'; H3.'; H4.']))); xlabel('Frequencia (kHz)'); ylabel('Magnitude (dB)'); axis([0 12 -60 10]); figure(2);

plot(W/pi*fs/1E3, [grpdly1'; grpdly2'; grpdly3'; grpdly4']); xlabel('Frequencia (kHz)');

ylabel('Atraso Grupo (amostras)'); axis([0 12 0 150]);

Com base na apreciação das figuras 1 e 2 geradas, diga que traçado corresponde a cada tipo de filtro. Se o critério de escolha for bandas de transição estreitas e distorção moderada do atraso de grupo (inferior a 100 amostras) que filtro escolheria ?

* Problema 2

Pretende-se projectar um filtro FIR de fase linear, com as seguintes especificações: - ordem 128 (comprimento 129),

- banda passante (Hz): [3000 6000],

- bandas de rejeição (Hz): [0 1500] ∪ [7500 22050], - frequência de amostragem 44100 Hz.

Escreva num ficheiro do tipo.m comandos Matlab que executem as seguintes funções:

- obtém um filtro projectado pelo método da janela (comando fir1) usando uma janela de Hanning, - obtém um filtro do tipo equiripple (comando remez) (ou firpm).

(38)

* Problema 3

Repita o projecto dos filtros indicados anteriormente mas usando agora a ferramenta de projecto fdatool

da toolbox de processamento de sinal do Matlab.

Problema 4

a. Calcule a DFT X(k) do sinal discreto x(n) = [0, 1, 1, 0].

b. Calcule a DFT Y(k) do sinal discreto y(n) = [0, 0, 0, 0, 0, 1, 1, 0], e relacione-a com a anterior. Solução:

a. Usando a definição, encontra-se X(k) = [2, -1-j, 0, -1+j]. É uma amostragem em 2 kπ, k=0 .. 3 da transformada de Fourier ω − ω − ω − ω = + = ω 2 3 j j 2 j j e 2 cos 2 e e ) e ( X

b. Se ao sinal x(n) fossem acrescentados 4 zeros obter-se-ia x8(n) = [0, 1, 1, 0, 0, 0, 0, 0], cuja DFT seria uma amostragem em

4

k π, k=0 .. 7 de da mesma transformada de Fourier X(ejω).

O atraso circular de 4 unidades, apenas afecta a fase. (de quanto?)

Problema 5

Considere o sinal discreto de comprimento 16,

15 ,..., 0 n , 8 n cos ) n ( x = π = Determine a sua DFT. Solução:

O modo mais simples de resolver este problema consiste em escrever (evitar seguir a definição...)

[ ]

2 e e n x 8 n j 8 n j π − π + = , n = 0 .. 15

e comparar com a expressão da iDFT

[ ]

[ ]

= π = N 1 0 k nk N 2 j e k X N 1 n x 1 2 3 4 5 6 7 8 9 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

(39)

X[1]= X[15]=8

Problema 6

Considere o sinal discreto x(n)=2-nu(n) e a sua transformada de Fourier X(ejω). Determine o sinal discreto y(n) de comprimento N cuja DFT é

1 N ,..., 0 k ), e ( X ) k ( Y Nk 2 j − = = π . Solução:

Verifica-se aqui o fenómeno do aliasing, e poderíamos escrever imediatamente o resultado. Como todas as amostras, de N em N, vão somar-se

n N 0 r rN n 0 r ) rN n ( 2 2 1 1 2 2 2 ) n ( y − +∞ = − − +∞ = + − − = = =

, n = 0 .. N-1

Fazendo "as contas", temos

+∞ = − − = 0 r r r 2 1 > | z | , z 2 ) z ( X

+∞ = π − − = 0 r N rk 2 j r e 2 ) k ( Y W 2 N 1 W e 2 N 1 ) n ( y 0 r 1 N 0 k k ) n r ( N r nk N 1 N 0 k r 0 N rk 2 j r

∑ ∑

∑∑

+∞ = − = − − − − = +∞ = π − − = =

e como o segundo somatório vale 0 se n-r≠0, N, 2N, ... e N se n-r=0, N, 2N, ...

+∞ = − − = = 0 r n -N -rN n 1 -N ..., 0. = n , 2 2 -1 1 2 ) n ( y . Problema 7

A DFT de um sinal discreto x(n) de comprimento N é X(k).

Determine a DFT Y(k) do sinal de comprimento MN y(n)=x

(

nmodN

)

, M inteiro. Solução:

O sinal y(n) é constituído por M repetições do sinal x(n). Então

∑∑

∑∑

− = − = − = − = + − = = + = = 1 M 0 r 1 N 0 n nk MN rNk MN 1 M 0 r 1 N 0 n k ) n rN ( MN 1 MN 0 n nk MN y(rN n)W y(n)W W W ) n ( y ) k ( Y

− = − = − = − = =       = = = M 1 0 r 1 N 0 n M k n N rk M 1 M 0 r 1 N 0 n nk MN rNk MN não se , 0 M de múltiplo k se , M k MX W ) n ( x W W ) n ( x W ) k ( Y

(40)

Aula nº 10

Problema 1

Pretende-se projectar um sistema discreto utilizando o método da amostragem da resposta em frequência. O número de amostras é de 16, e sabe-se que as únicas amostras diferentes de zero são

H(0) = H(1) = H(15) = 1 H(2) = H(14) = 0.5.

Escreva as equações às diferenças que realizam este sistema. Solução:

O caminho a seguir é H(k) → h(n) → H(z) → sistema, utilizando-se a iDFT e a transformada em z

− = − = N 1 0 k nk N W ) k ( H N 1 ) n ( h

∑ ∑

− = − − = − − = − − = − − = − = = = N 1 0 k n 1 1 N 0 n k N 1 N 0 n n 1 N 0 k nk N 1 N 0 n n ) z W ( ) k ( H N 1 z W ) k ( H N 1 z ) n ( h ) z ( H

− = − − − − = − − − − − − = − − = N 1 0 k Nk 1 N 1 N 0 k Nk 1 N 1 k N z W 1 ) k ( H N z 1 z W 1 ) z W ( 1 ) k ( H N 1 ) z ( H

O sistema pretendido é constituído pela associação em série do sistema do tipo não recursivo (FIR)

N z 1 ) z ( H N p − − =

que é um sistema com N zeros igualmente espaçados sobre a circunferência unitária do plano z, em 1 N ... 0 k , W

zk = N−k = − , normalmente designado por filtro em pente (‘comb filter’), com o paralelo de N sistemas do tipo recursivo (IIR)

1 N .. 0 k , z W 1 ) k ( H ) z ( H 1 k N k = − − =

cada um com um polo exactamente em zk =WN−k. Cada um destes polos é cancelado por um dos zeros do primeiro sistema, resultando

) k ( H ) z ( H k N W z= − = .

Se H(k) = H(N-k), é possível agrupar os polos conjugados em sistemas de segunda ordem

2 1 1 1 k N 1 k N kk z z N k 2 cos 2 1 z N k 2 cos 2 2 ) k ( H z W 1 ) k ( H z W 1 ) k ( H ) z ( H − − − − − − + π − π − = − + − = . No caso dado 16 z 1 ) z ( H 16 p − − = 1 0 z 1 1 ) z ( H − =

(41)

2 1 1 11 z z 8 cos 2 1 z 8 cos 2 2 ) z ( H − − − + π − π − = 2 1 1 22 z z 4 cos 2 1 z 4 cos 1 ) z ( H − − − + π − π − =

[

H (z) H (z) H (z)

]

) z ( H ) z ( H = p 0 + 11 + 22 a que correspondem as equações

16 ) 16 n ( x ) n ( x ) n ( v = − − ) 1 n ( y ) n ( v ) n ( y0 = + 0 − ) 2 n ( y ) 1 n ( y 8 cos 2 ) 1 n ( v 8 cos 2 ) n ( v 2 ) n ( y11 = − π − + π 11 − − 11 − ) 2 n ( y ) 1 n ( y 4 cos 2 ) 1 n ( v 4 cos ) n ( v ) n ( y22 = − π − + π 22 − − 22 − ) n ( y ) n ( y ) n ( y ) n ( y = 0 + 11 + 22 . Problema 2

Pretende-se filtrar um sinal discreto x(n), de comprimento indeterminado, com um filtro FIR, de comprimento 71, utilizando a convolução rápida, pelo método overlap-add.

Determine o comprimento N da FFT raiz 2 que minimiza o número de multiplicações complexas a realizar por amostra à saída. Considere que N não pode exceder 2048 e que pode desprezar as multiplicações realizadas para o cálculo da DFT da resposta impulsional do filtro.

Solução:

Analisam-se os cinco comprimentos possíveis:

N L n.a n.b n.m m/a 128 58 7 64 1024 17.66 256 186 8 128 2304 12.39 512 442 9 256 5120 11.58 1024 954 10 512 11264 11.81 2048 1978 11 1024 24576 12.42

(42)

Aula nº 11

Problema 1

Faça um diagrama de fluxo para um programa para a FFT, algoritmo de decimação na frequência, entradas ordenadas.

Problema 2

a. Recupere a partir da Web (em ftp://ftp.fe.up.pt/pub/Pessoal/Deec/ajf/pds/tpc/fft_.m.txt) o ficheiro fft_.m.txt e retire a extensão .txt, retendo só o nome fft_.m, de modo a poder invocar em ambiente Matlab os comandos incluidos neste ficheiro digitando simplesmente fft_ (isto é, de modo que o Matlab reconheça este ficheiro como uma “M-file”).

b. Analise o conjunto de comandos Matlab contidos no ficheiro fft_.m que ilustram uma possível estrutura de cálculo da Fast Fourier Transform, pelo algoritmo de decimação no tempo (DIT). De modo a familiarizar-se com a operação do algoritmo, teste-o considerando as sugestões contidas no cabeçalho do ficheiro. Use também a função fft() do ambiente MATLAB para comparar resultados.

c. Copie o ficheiro fornecido para um outro e modifique-o de modo a implementar o algoritmo de decimação na frequência. Note que deverá produzir os mesmos resultados do algoritmo DIT. Procure justificar todas as modificações introduzidas e utilize um procedimento de teste adequado para validar a sua implementação.

d. Admita que pretende substituir, em cada borboleta, o cálculo explícito de funções trigonométricas pelo acesso a uma tabela. Conclua sobre qual deverá ser o conteúdo e tamanho da(s) tabela(s) necessária(s). Procure evitar redundância de valores.

(43)

Aula nº 12

Problema 1

Considere um sistema linear e invariante com h(n) = anu(n), com |a| < 1.

a. Calcule a função autocorrelação determinística da resposta impulsional cHH(n)=h(n)*h*(-n). b. Calcule a função densidade espectral de energia do sistema |H(ejω)|2.

c. Use o teorema de Parseval para calcular a área sob a função densidade espectral de energia. Solução: a. Seja f(n) = h*(-n) = h(-n) = a-nu(-n). Então

+∞ −∞ = − − +∞ −∞ = +∞ −∞ = − − = = − = k ) k n ( k k k ) k n ( k HH(n) h(k)f(n k) a u(k)a u( (n k)) a a u(k)u(k n) c

≥ ≥ − = n k 0 k k 2 n HH(n) a a c e há dois casos 0 n≤ : 2 n 2 n 0 k k 2 n HH a 1 a a 1 1 a a a ) n ( c − = − = = +∞ − − = −

0 n≥ : 2 n 2 n 2 n n k k 2 n HH a 1 a a 1 a a a a ) n ( c − = − = = +∞ − = −

que podem ser condensados na expressão

2 | n | HH a 1 a ) n ( c − =

(é uma função real e par, com um máximo em n=0) b. c ( ) h( )*h ( ) H(e )H (e ) CHH(ej ) j * j * HH l = l −l ↔ ω ω = ω

Temos assim duas vias, a directa e calculando a transformada de Fourier de cHH( l )

Primeira via: ω − +∞ −∞ = ω − ω − = =

j n n j n j ae 1 1 e a ) e ( H 2 j j j * j 2 j j HH a cos a 2 1 1 ae 1 1 ae 1 1 ) e ( H ). e ( H | ) e ( H | ) e ( C + ω − = − − = = = ω ω ω ω ω ω Segunda via:

+∞ = ω − − −∞ = ω − − +∞ −∞ = ω − ω − + − = = 0 j 2 1 j 2 j HH j HH e a 1 a e a 1 a e ) ( c ) e ( C l l l l l l l l l

+∞ = ω − +∞ = ω ω + − = 0 j 1 j 2 j HH ( a e a e ) a 1 1 ) e ( C l l l l l l

(44)

2 j j j 2 j HH a cos a 2 1 1 ) ae 1 1 ae 1 ae ( a 1 1 ) e ( C + ω − = − + − − = ωω ω ω c.

π π − = π π − ω ω = ω − ω + ω − π = ω π = = d a cos a 2 1 1 2 1 d e ) e ( C 2 1 )) e ( C ( F E 2 0 n j j HH 0 j HH 1 l l

que não é simples de calcular. O teorema de Parseval permite-nos fazer o cálculo noutro domínio

+∞ −∞ = π π − ω ω= π n 2 2 j | ) n ( h | d | ) e ( H | 2 1 2 0 n n 2 n 2 a 1 1 a | ) n ( h | E − = = =

+∞ = +∞ −∞ =

(notar que E=cHH(0)).

Este cálculo poderia ter sido realizado utilizando a transformada z e o teorema dos resíduos:

) z 1 ( H ). z ( H ) z ( C ) n ( h * ) n ( h ) ( c HH * * * HH l = − ↔ =

− π = )z dz z 1 ( H ). z ( H j 2 1 ) ( cHH l * * l 1 | a 1 | | z | | a | , dz z ) az 1 1 ( az 1 1 j 2 1 dz z ) z 1 ( H ). z ( H j 2 1 ) 0 ( c E * 1 * 1 1 * * HH < < − − π = π = =

− − − 2 * * HH | a | 1 1 a a 1 1 dz z a 1 1 a z 1 j 2 1 ) 0 ( c E − = − = − − π = =

(só há um polo no interior do contorno)

Problema 2

Considere que a entrada de um filtro diferenciador de primeira ordem, y(n) = x(n) – x(n-1), é ruído branco de média nula e com função autocorrelação φXX(l)=σ2δ(l).

a. Determine e represente a função autocorrelação e a potência espectral do sinal à saída do sistema. b. Qual é a potência média à saída do sistema?

c. Que conclusão retira dos resultados deste problema sobre a acção do filtro? Solução: a. Seguindo o caminho ) ( ) e ( ) e ( ) ( YY j YY j XX XX l → Φ → Φ → φ l φ ω ω tem-se 2 j XX(e )=σ Φ ω ) cos 1 ( 2 1 cos 2 1 ) e 1 )( e 1 ( ) e ( H ) e ( H ) e ( CHH jω = jω * jω = − −jω − jω = − ω− = − ω ) cos 1 ( 2 ) e ( ) e ( C ) e ( XX j 2 j HH j YY = Φ = σ − ω

Φ ω ω ω (potência espectral à saída)

) 2 e e 1 ( 2 ) e ( j j 2 j YY ω − ω ω = σ + Φ

(45)

) 1 ( ) 1 ( ) ( 2 ) ( 2 2 2 YY = σ δ −σ δ − −σ δ + φ l l l l

b. A potência média do sinal à saída será 2 YY 2 2 ) 0 ( ) | ) n ( y (| E =φ = σ

c. A potência média do sinal à saída é o dobro da potência média à entrada.

Como cada amostra do sinal de saída usa duas amostras consecutivas do sinal de entrada, há uma correlação entre cada amostra do sinal de saída com as amostras anterior e seguinte.

Referências

Documentos relacionados