sistemas de processamento digital€¦ · fir projecto de filtros fir especificações absolutas ....
TRANSCRIPT
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 1/18
Sistemas de Processamento Digital
Engenharia de Sistemas e Informática
Ficha 6 2005/2006 4.º Ano/ 2.º Semestre
Projecto de Filtros Digitais FIR Projecto de Filtros FIR
Especificações Absolutas
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 2/18
Especificações Relativas
Exercício 1
De acordo com as especificações dum dado filtro o ripple na banda de passagem é de 0,25 dB e a atenuação na banda de corte é de 50 dB. Determine os valores de 1δ e 2δ .
Solução:
Exercício 2
Dada a tolerância na banda de passagem de 1 0,001δ = e a tolerância na banda de corte 2 0,001δ = ,
determine o ripple na banda de passagem pR e a atenuação na banda de corte sA .
Solução:
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 3/18
Enunciado de Projecto
Filtros de Fase Linear
Propriedades Resposta Impulsional
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 4/18
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 5/18
Resposta em Frequência
Exercício 3
Seja a resposta impulsional ( )1, 1, 1
h n⎧ ⎫
= ⎨ ⎬↑⎩ ⎭. Determine e desenhe a resposta em frequência.
Solução:
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 6/18
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 7/18
MATLAB
function [Hr,w,a,L] = Hr_Type1(h); % Computes Amplitude response Hr(w) of a Type-1 LP FIR filter % ----------------------------------------------------------- % [Hr,w,a,L] = Hr_Type1(h) % Hr = Amplitude Response % w = 500 frequencies between [0 pi] over which Hr is computed % a = Type-1 LP filter coefficients % L = Order of Hr % h = Type-1 LP filter impulse response % M = length(h); L = (M-1)/2; a = [h(L+1) 2*h(L:-1:1)]; % 1x(L+1) row vector n = [0:1:L]; % (L+1)x1 column vector w = [0:1:500]'*pi/500; Hr = cos(w*n)*a';
function [Hr,w,b,L] = Hr_Type2(h); % Computes Amplitude response of Type-2 LP FIR filter % --------------------------------------------------- % [Hr,w,b,L] = Hr_Type2(h) % Hr = Amplitude Response % w = frequencies between [0 pi] over which Hr is computed % b = Type-2 LP filter coefficients % L = Order of Hr % h = Type-2 LP impulse response % M = length(h); L = M/2; b = 2*[h(L:-1:1)]; n = [1:1:L]; n = n-0.5; w = [0:1:500]'*pi/500; Hr = cos(w*n)*b';
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 8/18
MATLAB
function [Hr,w,c,L] = Hr_Type3(h); % Computes Amplitude response Hr(w) of a Type-3 LP FIR filter % ----------------------------------------------------------- % [Hr,w,c,L] = Hr_Type3(h) % Hr = Amplitude Response % w = frequencies between [0 pi] over which Hr is computed % c = Type-3 LP filter coefficients % L = Order of Hr % h = Type-3 LP impulse response % M = length(h); L = (M-1)/2; c = [2*h(L+1:-1:1)]; n = [0:1:L]; w = [0:1:500]'*pi/500; Hr = sin(w*n)*c';
MATLAB
function [Hr,w,d,L] = Hr_Type4(h); % Computes Amplitude response of Type-4 LP FIR filter % --------------------------------------------------- % [Hr,w,d,L] = Hr_Type4(h) % Hr = Amplitude Response % w = frequencies between [0 pi] over which Hr is computed % d = Type-4 LP filter coefficients % L = Order of d % h = Type-4 LP impulse response % M = length(h); L = M/2; d = 2*[h(L:-1:1)]; n = [1:1:L]; n = n-0.5; w = [0:1:500]'*pi/500; Hr = sin(w*n)*d';
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 9/18
Exercício 4
Seja a resposta impulsional ( )4, 1, 1, 2, 5, 6, 5, 2, 1, 1, 4
h n− − − − − −⎧ ⎫
= ⎨ ⎬↑⎩ ⎭. Determine e
resposta em frequência ( )rH ω e a localização dos zeros de ( )H z .
Solução:
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 10/18
Exercício 5
Seja a resposta impulsional ( )4, 1, 1, 2, 5, 6,6, 5, 2, 1, 1, 4
h n− − − − − −⎧ ⎫
= ⎨ ⎬↑⎩ ⎭. Determine
e resposta em frequência ( )rH ω e a localização dos zeros de ( )H z .
Solução:
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 11/18
Exercício 6
Seja a resposta impulsional ( )4, 1, 1, 2, 5, 0, 5, 2, 1, 1, 4
h n− − − − −⎧ ⎫
= ⎨ ⎬↑⎩ ⎭. Determine e
resposta em frequência ( )rH ω e a localização dos zeros de ( )H z .
Solução:
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 12/18
Exercício 7
Seja a resposta impulsional ( )4, 1, 1, 2, 5, 6, 6, 5, 2, 1, 1, 4
h n− − − − − −⎧ ⎫
= ⎨ ⎬↑⎩ ⎭. Determine
e resposta em frequência ( )rH ω e a localização dos zeros de ( )H z .
Solução:
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 13/18
JANELAMENTO
KAYSER
Equações de Projecto
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 14/18
MATLAB
function hd = ideal_lp(wc,M); % Ideal LowPass filter computation % -------------------------------- % [hd] = ideal_lp(wc,M) % hd = ideal impulse response between 0 to M-1 % wc = cutoff frequency in radians % M = length of the ideal filter % alpha = (M-1)/2; n = [0:1:(M-1)]; m = n - alpha + eps; hd = sin(wc*m) ./ (pi*m); function [db,mag,pha,grd,w] = freqz_m(b,a); % Modified version of freqz subroutine % ------------------------------------ % [db,mag,pha,grd,w] = freqz_m(b,a); % db = Relative magnitude in dB computed over 0 to pi radians % mag = absolute magnitude computed over 0 to pi radians % pha = Phase response in radians over 0 to pi radians % grd = Group delay over 0 to pi radians % w = 501 frequency samples between 0 to pi radians % b = numerator polynomial of H(z) (for FIR: b=h) % a = denominator polynomial of H(z) (for FIR: a=[1]) % [H,w] = freqz(b,a,1000,'whole'); H = (H(1:1:501))'; w = (w(1:1:501))'; mag = abs(H); db = 20*log10((mag+eps)/max(mag)); pha = angle(H); % pha = unwrap(angle(H)); grd = grpdelay(b,a,w); % grd = diff(pha); % grd = [grd(1) grd]; % grd = [0 grd(1:1:500); grd; grd(2:1:501) 0]; % grd = median(grd)*500/pi;
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 15/18
Exercício 8
Determine um Filtro FIR Passa-Baixo com as seguintes especificações:
0.2 ,pω π= 0.25pR dB=
0.3 ,sω π= 50sA dB=
Escolha a função da janela mais apropriada. Determine a Resposta Impulsional e forneça a resposta em frequência do filtro projectado.
Solução:
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 16/18
Exercício 9
De acordo com as especificações do exercício anterior, utilize agora uma janela de Kaiser e projecto o Filtro Passa Baixo necessário.
Solução:
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 17/18
Exercício 10
Determine um Filtro FIR Passa-Banda com as seguintes especificações:
Banda de Corte Inferior 1 0.2 ,sω π= 60sA dB=
Banda de Passagem Inferior 1 0.35 ,pω π= 1pR dB=
Banda de Passagem Superior 2 0.65 ,pω π= 1pR dB=
Banda de Corte Superior 2 0.8 ,sω π= 60sA dB=
Escolha a função da janela mais apropriada. Determine a Resposta Impulsional e forneça a resposta em frequência do filtro projectado.
Solução:
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 18/18