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 1/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 δ1e δ 2. Exercício 2 Dada a tolerância na banda de passagem de δ 1 = 0,001e a tolerância na banda de corte δ 2 = 0,001, determine o ripple na banda de passagem R e a atenuação na banda de corte A. p s Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 2/18
Enunciado de Projecto Filtros de Fase Linear Propriedades Resposta Impulsional Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 3/18
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 4/18
Resposta em Frequência Exercício 3 Seja a resposta impulsional hn ( ) 1, 1, 1 =. Determine e desenhe a resposta em frequência. Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 5/18
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 6/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 7/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 8/18
Exercício 4 Seja a resposta impulsional hn ( ) resposta em frequência ( ) r 4, 1, 1, 2, 5, 6, 5, 2, 1, 1, 4 =. Determine e H ω e a localização dos zeros de H () z. Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 9/18
Exercício 5 Seja a resposta impulsional hn ( ) e resposta em frequência ( ) r 4, 1, 1, 2, 5, 6, 6, 5, 2, 1, 1, 4 =. Determine H ω e a localização dos zeros de H () z. Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 10/18
Exercício 6 Seja a resposta impulsional hn ( ) resposta em frequência ( ) r 4, 1, 1, 2, 5, 0, 5, 2, 1, 1, 4 =. Determine e H ω e a localização dos zeros de H () z. Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 11/18
Exercício 7 Seja a resposta impulsional hn ( ) e resposta em frequência ( ) r 4, 1, 1, 2, 5, 6, 6, 5, 2, 1, 1, 4 =. Determine H ω e a localização dos zeros de H () z. Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 12/18
JANELAMENTO KAYSER Equações de Projecto Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 13/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 14/18
Exercício 8 Determine um Filtro FIR Passa-Baixo com as seguintes especificações: ωp ωs = 0.2 π, R = 0.25dB = 0.3 π, A = 50dB Escolha a função da janela mais apropriada. Determine a Resposta Impulsional e forneça a resposta em frequência do filtro projectado. p s Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 15/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. Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 16/18
Exercício 10 Determine um Filtro FIR Passa-Banda com as seguintes especificações: Banda de Corte Inferior ω1 s = 0.2 π, As = 60dB Banda de Passagem Inferior Banda de Passagem Superior ω1 = 0.35 π, R = 1dB p ω2 = 0.65 π, R = 1dB p p p Banda de Corte Superior ω2s = 0.8 π, As = 60dB Escolha a função da janela mais apropriada. Determine a Resposta Impulsional e forneça a resposta em frequência do filtro projectado. Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 17/18
Sistemas de Processamento Digital Manuel Baptista & Ernesto Afonso 18/18