• Home
  • Chat IA
  • Guru IA
  • Tutores
  • Central de ajuda
Home
Chat IA
Guru IA
Tutores

·

Engenharia Eletrônica ·

Sinais e Sistemas

· 2023/2

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Lista Final-2023-1

3

Lista Final-2023-1

Sinais e Sistemas

UTFPR

Atividade de Acompanhamento Filtros Digitais 2023 1

1

Atividade de Acompanhamento Filtros Digitais 2023 1

Sinais e Sistemas

UTFPR

Exercício Resolvido-2023-2

4

Exercício Resolvido-2023-2

Sinais e Sistemas

UTFPR

Lista Laplace Resolvida e Anotações com Resolução-2023 1

14

Lista Laplace Resolvida e Anotações com Resolução-2023 1

Sinais e Sistemas

UTFPR

Trabalho 1 Resolvido-2023-2

34

Trabalho 1 Resolvido-2023-2

Sinais e Sistemas

UTFPR

Questao Sinais e Sistemas-2021 2

1

Questao Sinais e Sistemas-2021 2

Sinais e Sistemas

UTFPR

Lista de Exercícios Sinais e Sistemas-2021 1

1

Lista de Exercícios Sinais e Sistemas-2021 1

Sinais e Sistemas

UTFPR

Sinais e Sistemas-2023-2

7

Sinais e Sistemas-2023-2

Sinais e Sistemas

UTFPR

Apostila Completa-2023-1

115

Apostila Completa-2023-1

Sinais e Sistemas

UTFPR

Lista de Exercícios Sinais e Sistemas Resolvida-2022 2

16

Lista de Exercícios Sinais e Sistemas Resolvida-2022 2

Sinais e Sistemas

UTFPR

Texto de pré-visualização

Magnitude Response |H| frequency in pi units 1 0.8913 0.1778 0 0 0.2 0.3 1 Phase Response pi units frequency in pi units 1 0 0.2 0.3 1 -1 Magnitude in dB decibels frequency in pi units 0 15 30 0 0.2 0.3 1 Group Delay Samples frequency in pi units 0 5 10 15 0 0.2 0.3 1 Lowpass Filter Magnitude Response |H| frequency in pi units 1 0.8913 0 0.2 1 Lowpass Filter Magnitude in dB decibels frequency in pi units 0 30 0 0.2 1 Highpass Filter Magnitude Response |H| frequency in pi units 1 0.8913 0 0.6 1 Highpass Filter Magnitude in dB decibels frequency in pi units 0 30 0 0.6 1 Magnitude Response |H| Digital frequency in pi units 1 0.8913 0 0.25 0.4 0.7 0.8 1 Phase Response phase in pi units Digital frequency in pi units 1 0.5 0 0.25 0.4 0.7 0.8 1 -0.5 -1 Magnitude in dB Digital frequency in pi units 0 -40 0 0.25 0.4 0.7 0.8 1 Group Delay Digital frequency in pi units 0 5 10 15 0 0.25 0.4 0.7 0.8 1 Ideal Impulse Response hd(n) 0.3 0.2 0.1 -0.1 0 Actual Impulse Response 0.3 0.2 0.1 -0.1 0 0 20 40 n 60 0 20 40 n 60 Hamming Window w(n) 1.0 0.8 0.6 0.4 0.2 0 0 20 40 n 60 Magnitude Response in dB 0 50 Decibels 0.2 0.3 frequency in pi units 1 Exemplo. Repita o exemplo anterior usando uma janela de Kaiser. wp = 0.2*pi; ws = 0.3*pi; As = 50; tr_width = ws - wp M = ceil((As-7.95)/(14.36*tr_width/(2*pi))+1)+ 1 n=[0:1:M-1]; beta = 0.1102*(As-8.7) wc = (ws+wp)/2 hd = ideal_lp(wc,M); w_kai = (kaiser(M,beta))'; h = hd .* w_kai; [db,mag,pha,grd,w] = freqz_m(h,[1]); delta_w = 2*pi/1000; As = -round(max(db(ws/delta_w+1:1:501))) subplot(2,2,1); stem(n,hd); title('Ideal Impulse Response') subplot(2,2,2);stem(n,w_kai); title('Kaiser Window') subplot(2,2,3); stem(n,h); title('Actual Impulse Response') subplot(2,2,4);plot(w/pi,db); title('Magnitude Response in dB') M = N+1 = 61  = 4,5513 As = 52 dB Ideal Impulse Response hd(n) 0.3 0.2 0.1 -0.1 0 Actual Impulse Response 0.3 0.2 0.1 -0.1 0 0 10 30 50 n 60 0 10 30 50 n 60 Kaiser Window w(n) 1.0 0.8 0.6 0.4 0.2 0 0 10 30 50 n 60 Magnitude Response in dB 0 50 Decibels 0.2 0.3 frequency in pi units 1 Exemplo. Projete um filtro passa-faixa com as seguintes especificações: Pode-se usar a combinação de dois filtros. Usa-se a janela de Blackman. ws1 = 0.2*pi; wp1 = 0.35*pi; wp2 = 0.65*pi; ws2 = 0.8*pi; As = 60; tr_width = min((wp1-ws1),(ws2-wp2)) M = ceil(11*pi/tr_width) + 1 n=[0:1:M-1]; wc1 = (ws1+wp1)/2; wc2 = (wp2+ws2)/2; hd = ideal_lp(wc2,M) - ideal_lp(wc1,M); w_bla = (blackman(M))'; h = hd .* w_bla; [db,mag,pha,grd,w] = freqz_m(h,[1]); delta_w = 2*pi/1000; Rp = -min(db(wp1/delta_w+1:1:wp2/delta_w)) As = -round(max(db(ws2/delta_w+1:1:501))) subplot(2,2,1); stem(n,hd); title('Ideal Impulse Response') subplot(2,2,2); stem(n,w_bla); title('Blackman Window') subplot(2,2,3); stem(n,h); title('Actual Impulse Response') subplot(2,2,4);plot(w/pi,db); title('Magnitude Response in dB') % h = fir1(74,[wc1 wc2]/pi,'bandpass',w_bla); % Usando toolbox DSP M = N+1 = 75 wc1 = 0,275 wc2= 0,725 Rp = 0,03 As = 75 dB Ideal Impulse Response h_{\text{d}}(n) n -0.4 -0.2 0 0.2 0.4 0 20 40 60 Blackman Window w(n) n 0 0.2 0.4 0.6 0.8 1 0 20 40 60 Actual Impulse Response h(n) n -0.4 -0.2 0 0.2 0.4 0 20 40 60 Magnitude Response in dB Decibels frequency in pi units 0 20 40 60 80 0 0.2 0.35 0.65 1 1.1.2. Projeto por Amostragem de Frequência A resposta de frequência desejada é amostrada uniformemente com N pontos entre 0 e 2. 2 / ( ) ( ), 0,1,..., 1 [ ] [ ], 0 1 j k N d d k H k H e k N h n h n kN n N   =− = = − = +   −  Dado o filtro ideal Hd , escolha o comprimento M e amostre essa resposta em M frequências equidistantes entre 0 e 2. A resposta do filtro digital H é a interpolação dessas amostras. Os erros de aproximação são maiores nas bordas das bandas e menores no meio destas. Exemplo. Projete um filtro FIR passa-baixa por amostragem de frequência com as seguintes especificações: Para filtros FIR tipo II, tem-se: 0,2 , 0,3 , 0,25dBe 50dB. p s p s R A     = = = = Escolhe-se M = 20 para que as frequências dadas sejam contempladas por amostras. Assim, tem-se: M = 20; alpha = (M-1)/2; l = 0:M-1; wl = (2*pi/M)*l; Hrs = [1,1,1,zeros(1,15),1,1]; k1 = 0:floor((M-1)/2); k2 = floor((M-1)/2)+1:M-1; angH = [-alpha*(2*pi)/M*k1, alpha*(2*pi)/M*(M-k2)]; H = Hrs.*exp(j*angH); h = real(ifft(H,M)); [db,mag,pha,grd,w] = freqz_m(h,1); [Hr,ww,a,L] = Hr_Type2(h); Frequency Samples: M=20 H(e^{jω}) frequency in pi units 0 0.2 0.3 1 0 0.2 0.4 0.6 0.8 1 Impulse Response h(n) n -0.1 0 0.1 0.2 0.3 0 5 10 15 20 Amplitude Response |H(e^{jω})| frequency in pi units 0 0.2 0.3 1 0 0.2 0.4 0.6 0.8 1 Magnitude Response Decibels frequency in pi units 0 8 16 0 0.2 0.3 1 Exemplo. Repita o exemplo anterior usando duas amostras na banda de transição, T1 = 0,5925 e T2 = 0,1099, (Proakis e Manolakis, 2006). 1 2 2 1 7 uns 6 uns 43 zeros ( ) [1, ,1, , ,0, ,0, , ,1, ,1] H T T T T  = M = 60; alpha = (M-1)/2; l = 0:M-1; wl = (2*pi/M)*l; Hrs = [ones(1,7),0.5925,0.1099,zeros(1,43),0.1099,0.5925,ones(1,6)]; k1 = 0:floor((M-1)/2); k2 = floor((M-1)/2)+1:M-1; angH = [-alpha*(2*pi)/M*k1, alpha*(2*pi)/M*(M-k2)]; H = Hrs.*exp(j*angH); h = real(ifft(H,M)); [db,mag,pha,grd,w] = freqz_m(h,1); [Hr,ww,a,L] = Hr_Type2(h); Lowpass: M=60, T1=0.59, T2=0.109 H(e^{jω}) frequency in pi units 0 0.2 0.3 1 0 0.109 0.59 1 Impulse Response h(n) n -0.1 0 0.1 0.2 0.3 0 10 20 30 40 50 60 Amplitude Response |H(e^{jω})| frequency in pi units 0 0.2 0.3 1 0 0.109 0.59 1 Magnitude Response Decibels frequency in pi units 0 21 42 63 0 0.2 0.3 1 1.2. Projeto de Filtros IIR por Filtros Analógicos Convertem-se protótipos de filtros analógicos para versões digitais. Para filtros analógicos, costuma-se usar especificações de resposta de magnitude quadrada. As constantes e e A são chamados de parâmetros de ripple da banda de passagem e de atenuação da banda de rejeição respectivamente. Como se deseja encontrar um filtro causal e estável, este deve possuir somente polos no semiplano esquerdo do plano s. Assim, escolhem-se esses polos de |Ha(jW)|2. Além disso, escolhem-se os zeros também no semiplano esquerdo para que o sistema seja de fase mínima. (i) Filtro Butterworth: ( ) 2 2 1 ( ) 1 / a N c H jW = + W W Características dos filtros Butterworth: 2 ( ) 1, para 0 Ha j • W = W = 2 ( ) 0,5, para a c H j • W = W = W 2 ( ) é uma função monotônica decrescente de Ha j • W W 2 ( ) é maximamente plana em 0 Ha j • W W = ( ) ( ) possui 2N polos com módulo e espaçamento angular /N a a c H s H s  • − W Um polos só cai no eixo real se N for ímpar • ( ) ( ) ( ) /10 /10 10 10 log 10 1 10 1 2log p s R A p s N     − −     =   W W     (ii) Filtro Chebyshev tipo I: 1 1 1 1 0 1 cos( cos ( )), | | 1 ( ) cosh(cosh ( )), | | 1 ( ) 2 ( ) ( ), 1 ( ) 1 e ( ) N k k k N x x T x x x T x xT x T x k T x T x x − − + −    =    = −  = = ( ) 2 2 2 1 ( ) 1 / a N c H j e T W = + W W (iii) Filtro Chebyshev tipo II: ( ) 2 1 2 2 1 ( ) 1 / a N c H j T e − W =   + W W   ( ) 2 10 2 10 2 2 log 1 log 1 1 , r r r s p g g N g A e     + −     =     W + W −       = − W = W W (iv) Filtro Elíptico: usa a função elíptica Jacobiana UN . ( ) 2 2 2 1 ( ) 1 / a N c H j e U W = + W W ( ) ( ) ( ) 2 1 2 1 2 1 2 2 0 ( ) 1 ( ) 1 , 1 ( ) 1 p s K k K k N K k K k k k A d K x x sen  e   − = − = W W = − = −  1.2.1. Método da Invariância ao Impulso Usa-se um mapeamento do plano s para o plano z: O mapeamento m(z) deve ter as seguintes propriedades: ⚫ O eixo jW deve ser mapeado para o círculo unitário. ⚫ Pontos do lado esquerdo do plano s devem ser mapeados para pontos dentro do círculo unitário. ⚫ m(z) deve ser uma função racional de z de tal forma que funções racionais Ha(s) sejam mapeadas para funções racionais H(z). No método de invariância ao impulso, a conversão é feita pela amostragem da resposta impulsiva do filtro analógico: ( ) ( ) a ( ) s m z H z H s = = [ ] ( ) a h n = h nT Nesse mapeamento, ocorre aliasing da resposta de frequência, portanto é um método restrito a filtros analógicos com banda limitada. Exemplo. Projete um filtro IIR passa-baixa usando protótipo Butterworth pelo método da invariância ao impulso com as seguintes especificações: Para filtros IIR com Butterworth usam-se as seguintes funções do MATLAB: afd_butt, imp_invr e dir2par. 0,2 , 0,3 , 1dBe 15dB. p s p s R A     = = = = % Digital Filter Specifications: wp = 0.2*pi; % digital Passband freq in Hz ws = 0.3*pi; % digital Stopband freq in Hz Rp = 1; % Passband ripple in dB As = 15; % Stopband attenuation in dB % Analog Prototype Specifications: Inverse mapping for frequencies T = 1; % Set T=1 OmegaP = wp / T; % Prototype Passband freq OmegaS = ws / T; % Prototype Stopband freq % Analog Butterworth Prototype Filter Calculation: [cs,ds] = afd_butt(OmegaP,OmegaS,Rp,As); % Impulse Invariance transformation: [b,a] = imp_invr(cs,ds,T); [C,B,A] = dir2par(b,a) *** Butterworth Filter Order = 6 C = [] B = 1.8557 -0.6304 -2.1428 1.1454 0.2871 -0.4466 A = 1.0000 -0.9973 0.2570 1.0000 -1.0691 0.3699 1.0000 -1.2972 0.6949 Magnitude Response 1 0.8913 0.1778 0 |H| frequency in pi units 01 Phase Response 1 0 -1 frequency in pi units pi units 01 Magnitude in dB 0 5 10 15 decibels frequency in pi units 01 Group Delay Samples 0 2 4 6 8 10 frequency in pi units 01 Exemplo. Projete o mesmo filtro IIR anterior usando protótipo Chebyshev I. Para filtros IIR com Chebyshev I usam-se as seguintes funções do MATLAB: afd_chb1, imp_invr e dir2par. % Analog Chebyshev-1 Prototype Filter Calculation: [cs,ds] = afd_chb1(OmegaP,OmegaS,Rp,As); % Impulse Invariance transformation: [b,a] = imp_invr(cs,ds,T); [C,B,A] = dir2par(b,a) *** Chebyshev-1 Filter Order = 4 C = [] B = -0.0833 -0.0246 0.0833 0.0239 A = 1.0000 -1.4934 0.8392 1.0000 -1.5658 0.6549 Magnitude Response 1 0.8913 0.1778 0 |H| frequency in pi units 01 Phase Response 1 0 -1 frequency in pi units pi units 01 Magnitude in dB 0 5 10 15 decibels frequency in pi units 01 Group Delay Samples 0 5 10 15 frequency in pi units 01 1.2.2. Método da Transformação Bilinear Método baseado em um mapeamento definido por: Neste mapeamento, não ocorre aliasing, porém a transformação é não- linear, dada pela seguinte função de modificação de frequência: É um método usado geralmente para filtros de seleção de frequência 1 1 2 1 ( ) 1 a H z H T z z − −   − =   +   2tan 1 2 T  −  W  =     Exemplo. Projete o mesmo filtro IIR anterior usando protótipo Butterworth com transformação bilinear. Para isso, substitui-se a função imp_invr por bilinear. T = 1; Fs = 1/T; OmegaP = (2/T)*tan(wp/2); OmegaS = (2/T)*tan(ws/2); % Analog Butterworth Prototype Filter: [cs,ds] = afd_butt(OmegaP,OmegaS,Rp,As); % Bilinear transformation: [b,a] = bilinear(cs,ds,Fs); [C,B,A] = dir2cas(b,a) *** Butterworth Filter Order = 6 C = 5.7969e-004 B = 1.0000 2.0202 1.0206 1.0000 1.9794 0.9798 1.0000 2.0004 1.0000 A = 1.0000 -0.9459 0.2342 1.0000 -1.0541 0.3753 1.0000 -1.3143 0.7149 Magnitude Response 1 0.8913 0.1778 0 |H| frequency in pi units 01 Phase Response 1 0 -1 frequency in pi units pi units 01 Magnitude in dB 0 5 10 15 decibels frequency in pi units 01 Group Delay Samples 0 2 4 6 8 10 frequency in pi units 01 (pg.241) Exemplo. Projete o mesmo filtro IIR anterior usando protótipo Elíptico com transformação bilinear. Para isso, usa-se a função afd_elip. T = 1; Fs = 1/T; OmegaP = (2/T)*tan(wp/2); OmegaS = (2/T)*tan(ws/2); % Analog Elliptic Prototype Filter Calculation: [cs,ds] = afd_elip(OmegaP,OmegaS,Rp,As); % Bilinear transformation: [b,a] = bilinear(cs,ds,Fs); [C,B,A] = dir2cas(b,a) *** Elliptic Filter Order = 3 C = 0.1214 B = 1.0000 -1.4211 1.0000 1.0000 1.0000 0 A = 1.0000 -1.4928 0.8612 1.0000 -0.6183 0 1.2.3. Transformações de Frequência: (i) Transformação do filtro digital (abordagem 2) Exemplo. Projete um filtro IIR passa-alta usando protótipo Chebyshev I com as seguintes especificações: Para isso, usa-se a função zmapping. Projeta-se um filtro passa-baixa com as especificações do exemplo anterior. % Digital Lowpass Filter Specifications: wplp = 0.2*pi; % digital Passband freq in Hz wslp = 0.3*pi; % digital Stopband freq in Hz Rp = 1; % Passband ripple in dB As = 15; % Stopband attenuation in dB % Analog Prototype Specifications: Inverse mapping for frequencies T = 1; Fs = 1/T; % Set T=1 OmegaP = (2/T)*tan(wplp/2); % Prewarp Prototype Passband frq OmegaS = (2/T)*tan(wslp/2); % Prewarp Prototype Stopband frq % Analog Chebyshev Prototype Filter Calculation: [cs,ds] = afd_chb1(OmegaP,OmegaS,Rp,As); [blp,alp] = bilinear(cs,ds,Fs); 0,3 , 0,6 , 1dBe 15dB. s p p s R A     = = = = % Digital Highpass Filter Cutoff frequency: wphp = 0.6*pi; % Passband edge frequency % LP-to-HP frequency-band transformation: alpha = -(cos((wplp+wphp)/2))/(cos((wplp-wphp)/2)) Nz = -[alpha,1]; Dz = [1,alpha]; [bhp,ahp] = zmapping(blp,alp,Nz,Dz); [C,B,A] = dir2cas(bhp,ahp) *** Chebyshev-1 Filter Order = 4 alpha = -0.3820 C = 0.0243 B = 1.0000 -2.0000 1.0000 1.0000 -2.0000 1.0000 A = 1.0000 1.0416 0.4019 1.0000 0.5561 0.7647 (ii) Transformação do filtro analógico (abordagem 1) Esta abordagem baseia-se nas funções do Toolbox de Processamento de Sinais do MATLAB e transformações no plano s. Exemplo. Projete um filtro IIR rejeita-faixa usando protótipo Chebyshev II com as especificações abaixo. Para isso, usam-se as funções cheb2ord e cheby2. 0,4 e 0,7 , 0,25 e 0,8 , 1dBe 40dB. s p p s R A       = = = = % Digital Filter Specifications: ws = [0.4*pi 0.7*pi]; % digital stopband wp = [0.25*pi 0.8*pi]; % digital passband Rp = 1; % Passband ripple in dB As = 40; % Stopband attenuation in dB % Calculations of Chebyshev-II Filter Parameters: [N,wn] = cheb2ord(wp/pi,ws/pi,Rp,As); % Digital Chebyshev-II Bandstop Filter Design: [b,a] = cheby2(N,As,ws/pi,'stop'); % Cascade Form Realization: [b0,B,A] = dir2cas(b,a) Filtro de 10a. Ordem.

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Lista Final-2023-1

3

Lista Final-2023-1

Sinais e Sistemas

UTFPR

Atividade de Acompanhamento Filtros Digitais 2023 1

1

Atividade de Acompanhamento Filtros Digitais 2023 1

Sinais e Sistemas

UTFPR

Exercício Resolvido-2023-2

4

Exercício Resolvido-2023-2

Sinais e Sistemas

UTFPR

Lista Laplace Resolvida e Anotações com Resolução-2023 1

14

Lista Laplace Resolvida e Anotações com Resolução-2023 1

Sinais e Sistemas

UTFPR

Trabalho 1 Resolvido-2023-2

34

Trabalho 1 Resolvido-2023-2

Sinais e Sistemas

UTFPR

Questao Sinais e Sistemas-2021 2

1

Questao Sinais e Sistemas-2021 2

Sinais e Sistemas

UTFPR

Lista de Exercícios Sinais e Sistemas-2021 1

1

Lista de Exercícios Sinais e Sistemas-2021 1

Sinais e Sistemas

UTFPR

Sinais e Sistemas-2023-2

7

Sinais e Sistemas-2023-2

Sinais e Sistemas

UTFPR

Apostila Completa-2023-1

115

Apostila Completa-2023-1

Sinais e Sistemas

UTFPR

Lista de Exercícios Sinais e Sistemas Resolvida-2022 2

16

Lista de Exercícios Sinais e Sistemas Resolvida-2022 2

Sinais e Sistemas

UTFPR

Texto de pré-visualização

Magnitude Response |H| frequency in pi units 1 0.8913 0.1778 0 0 0.2 0.3 1 Phase Response pi units frequency in pi units 1 0 0.2 0.3 1 -1 Magnitude in dB decibels frequency in pi units 0 15 30 0 0.2 0.3 1 Group Delay Samples frequency in pi units 0 5 10 15 0 0.2 0.3 1 Lowpass Filter Magnitude Response |H| frequency in pi units 1 0.8913 0 0.2 1 Lowpass Filter Magnitude in dB decibels frequency in pi units 0 30 0 0.2 1 Highpass Filter Magnitude Response |H| frequency in pi units 1 0.8913 0 0.6 1 Highpass Filter Magnitude in dB decibels frequency in pi units 0 30 0 0.6 1 Magnitude Response |H| Digital frequency in pi units 1 0.8913 0 0.25 0.4 0.7 0.8 1 Phase Response phase in pi units Digital frequency in pi units 1 0.5 0 0.25 0.4 0.7 0.8 1 -0.5 -1 Magnitude in dB Digital frequency in pi units 0 -40 0 0.25 0.4 0.7 0.8 1 Group Delay Digital frequency in pi units 0 5 10 15 0 0.25 0.4 0.7 0.8 1 Ideal Impulse Response hd(n) 0.3 0.2 0.1 -0.1 0 Actual Impulse Response 0.3 0.2 0.1 -0.1 0 0 20 40 n 60 0 20 40 n 60 Hamming Window w(n) 1.0 0.8 0.6 0.4 0.2 0 0 20 40 n 60 Magnitude Response in dB 0 50 Decibels 0.2 0.3 frequency in pi units 1 Exemplo. Repita o exemplo anterior usando uma janela de Kaiser. wp = 0.2*pi; ws = 0.3*pi; As = 50; tr_width = ws - wp M = ceil((As-7.95)/(14.36*tr_width/(2*pi))+1)+ 1 n=[0:1:M-1]; beta = 0.1102*(As-8.7) wc = (ws+wp)/2 hd = ideal_lp(wc,M); w_kai = (kaiser(M,beta))'; h = hd .* w_kai; [db,mag,pha,grd,w] = freqz_m(h,[1]); delta_w = 2*pi/1000; As = -round(max(db(ws/delta_w+1:1:501))) subplot(2,2,1); stem(n,hd); title('Ideal Impulse Response') subplot(2,2,2);stem(n,w_kai); title('Kaiser Window') subplot(2,2,3); stem(n,h); title('Actual Impulse Response') subplot(2,2,4);plot(w/pi,db); title('Magnitude Response in dB') M = N+1 = 61  = 4,5513 As = 52 dB Ideal Impulse Response hd(n) 0.3 0.2 0.1 -0.1 0 Actual Impulse Response 0.3 0.2 0.1 -0.1 0 0 10 30 50 n 60 0 10 30 50 n 60 Kaiser Window w(n) 1.0 0.8 0.6 0.4 0.2 0 0 10 30 50 n 60 Magnitude Response in dB 0 50 Decibels 0.2 0.3 frequency in pi units 1 Exemplo. Projete um filtro passa-faixa com as seguintes especificações: Pode-se usar a combinação de dois filtros. Usa-se a janela de Blackman. ws1 = 0.2*pi; wp1 = 0.35*pi; wp2 = 0.65*pi; ws2 = 0.8*pi; As = 60; tr_width = min((wp1-ws1),(ws2-wp2)) M = ceil(11*pi/tr_width) + 1 n=[0:1:M-1]; wc1 = (ws1+wp1)/2; wc2 = (wp2+ws2)/2; hd = ideal_lp(wc2,M) - ideal_lp(wc1,M); w_bla = (blackman(M))'; h = hd .* w_bla; [db,mag,pha,grd,w] = freqz_m(h,[1]); delta_w = 2*pi/1000; Rp = -min(db(wp1/delta_w+1:1:wp2/delta_w)) As = -round(max(db(ws2/delta_w+1:1:501))) subplot(2,2,1); stem(n,hd); title('Ideal Impulse Response') subplot(2,2,2); stem(n,w_bla); title('Blackman Window') subplot(2,2,3); stem(n,h); title('Actual Impulse Response') subplot(2,2,4);plot(w/pi,db); title('Magnitude Response in dB') % h = fir1(74,[wc1 wc2]/pi,'bandpass',w_bla); % Usando toolbox DSP M = N+1 = 75 wc1 = 0,275 wc2= 0,725 Rp = 0,03 As = 75 dB Ideal Impulse Response h_{\text{d}}(n) n -0.4 -0.2 0 0.2 0.4 0 20 40 60 Blackman Window w(n) n 0 0.2 0.4 0.6 0.8 1 0 20 40 60 Actual Impulse Response h(n) n -0.4 -0.2 0 0.2 0.4 0 20 40 60 Magnitude Response in dB Decibels frequency in pi units 0 20 40 60 80 0 0.2 0.35 0.65 1 1.1.2. Projeto por Amostragem de Frequência A resposta de frequência desejada é amostrada uniformemente com N pontos entre 0 e 2. 2 / ( ) ( ), 0,1,..., 1 [ ] [ ], 0 1 j k N d d k H k H e k N h n h n kN n N   =− = = − = +   −  Dado o filtro ideal Hd , escolha o comprimento M e amostre essa resposta em M frequências equidistantes entre 0 e 2. A resposta do filtro digital H é a interpolação dessas amostras. Os erros de aproximação são maiores nas bordas das bandas e menores no meio destas. Exemplo. Projete um filtro FIR passa-baixa por amostragem de frequência com as seguintes especificações: Para filtros FIR tipo II, tem-se: 0,2 , 0,3 , 0,25dBe 50dB. p s p s R A     = = = = Escolhe-se M = 20 para que as frequências dadas sejam contempladas por amostras. Assim, tem-se: M = 20; alpha = (M-1)/2; l = 0:M-1; wl = (2*pi/M)*l; Hrs = [1,1,1,zeros(1,15),1,1]; k1 = 0:floor((M-1)/2); k2 = floor((M-1)/2)+1:M-1; angH = [-alpha*(2*pi)/M*k1, alpha*(2*pi)/M*(M-k2)]; H = Hrs.*exp(j*angH); h = real(ifft(H,M)); [db,mag,pha,grd,w] = freqz_m(h,1); [Hr,ww,a,L] = Hr_Type2(h); Frequency Samples: M=20 H(e^{jω}) frequency in pi units 0 0.2 0.3 1 0 0.2 0.4 0.6 0.8 1 Impulse Response h(n) n -0.1 0 0.1 0.2 0.3 0 5 10 15 20 Amplitude Response |H(e^{jω})| frequency in pi units 0 0.2 0.3 1 0 0.2 0.4 0.6 0.8 1 Magnitude Response Decibels frequency in pi units 0 8 16 0 0.2 0.3 1 Exemplo. Repita o exemplo anterior usando duas amostras na banda de transição, T1 = 0,5925 e T2 = 0,1099, (Proakis e Manolakis, 2006). 1 2 2 1 7 uns 6 uns 43 zeros ( ) [1, ,1, , ,0, ,0, , ,1, ,1] H T T T T  = M = 60; alpha = (M-1)/2; l = 0:M-1; wl = (2*pi/M)*l; Hrs = [ones(1,7),0.5925,0.1099,zeros(1,43),0.1099,0.5925,ones(1,6)]; k1 = 0:floor((M-1)/2); k2 = floor((M-1)/2)+1:M-1; angH = [-alpha*(2*pi)/M*k1, alpha*(2*pi)/M*(M-k2)]; H = Hrs.*exp(j*angH); h = real(ifft(H,M)); [db,mag,pha,grd,w] = freqz_m(h,1); [Hr,ww,a,L] = Hr_Type2(h); Lowpass: M=60, T1=0.59, T2=0.109 H(e^{jω}) frequency in pi units 0 0.2 0.3 1 0 0.109 0.59 1 Impulse Response h(n) n -0.1 0 0.1 0.2 0.3 0 10 20 30 40 50 60 Amplitude Response |H(e^{jω})| frequency in pi units 0 0.2 0.3 1 0 0.109 0.59 1 Magnitude Response Decibels frequency in pi units 0 21 42 63 0 0.2 0.3 1 1.2. Projeto de Filtros IIR por Filtros Analógicos Convertem-se protótipos de filtros analógicos para versões digitais. Para filtros analógicos, costuma-se usar especificações de resposta de magnitude quadrada. As constantes e e A são chamados de parâmetros de ripple da banda de passagem e de atenuação da banda de rejeição respectivamente. Como se deseja encontrar um filtro causal e estável, este deve possuir somente polos no semiplano esquerdo do plano s. Assim, escolhem-se esses polos de |Ha(jW)|2. Além disso, escolhem-se os zeros também no semiplano esquerdo para que o sistema seja de fase mínima. (i) Filtro Butterworth: ( ) 2 2 1 ( ) 1 / a N c H jW = + W W Características dos filtros Butterworth: 2 ( ) 1, para 0 Ha j • W = W = 2 ( ) 0,5, para a c H j • W = W = W 2 ( ) é uma função monotônica decrescente de Ha j • W W 2 ( ) é maximamente plana em 0 Ha j • W W = ( ) ( ) possui 2N polos com módulo e espaçamento angular /N a a c H s H s  • − W Um polos só cai no eixo real se N for ímpar • ( ) ( ) ( ) /10 /10 10 10 log 10 1 10 1 2log p s R A p s N     − −     =   W W     (ii) Filtro Chebyshev tipo I: 1 1 1 1 0 1 cos( cos ( )), | | 1 ( ) cosh(cosh ( )), | | 1 ( ) 2 ( ) ( ), 1 ( ) 1 e ( ) N k k k N x x T x x x T x xT x T x k T x T x x − − + −    =    = −  = = ( ) 2 2 2 1 ( ) 1 / a N c H j e T W = + W W (iii) Filtro Chebyshev tipo II: ( ) 2 1 2 2 1 ( ) 1 / a N c H j T e − W =   + W W   ( ) 2 10 2 10 2 2 log 1 log 1 1 , r r r s p g g N g A e     + −     =     W + W −       = − W = W W (iv) Filtro Elíptico: usa a função elíptica Jacobiana UN . ( ) 2 2 2 1 ( ) 1 / a N c H j e U W = + W W ( ) ( ) ( ) 2 1 2 1 2 1 2 2 0 ( ) 1 ( ) 1 , 1 ( ) 1 p s K k K k N K k K k k k A d K x x sen  e   − = − = W W = − = −  1.2.1. Método da Invariância ao Impulso Usa-se um mapeamento do plano s para o plano z: O mapeamento m(z) deve ter as seguintes propriedades: ⚫ O eixo jW deve ser mapeado para o círculo unitário. ⚫ Pontos do lado esquerdo do plano s devem ser mapeados para pontos dentro do círculo unitário. ⚫ m(z) deve ser uma função racional de z de tal forma que funções racionais Ha(s) sejam mapeadas para funções racionais H(z). No método de invariância ao impulso, a conversão é feita pela amostragem da resposta impulsiva do filtro analógico: ( ) ( ) a ( ) s m z H z H s = = [ ] ( ) a h n = h nT Nesse mapeamento, ocorre aliasing da resposta de frequência, portanto é um método restrito a filtros analógicos com banda limitada. Exemplo. Projete um filtro IIR passa-baixa usando protótipo Butterworth pelo método da invariância ao impulso com as seguintes especificações: Para filtros IIR com Butterworth usam-se as seguintes funções do MATLAB: afd_butt, imp_invr e dir2par. 0,2 , 0,3 , 1dBe 15dB. p s p s R A     = = = = % Digital Filter Specifications: wp = 0.2*pi; % digital Passband freq in Hz ws = 0.3*pi; % digital Stopband freq in Hz Rp = 1; % Passband ripple in dB As = 15; % Stopband attenuation in dB % Analog Prototype Specifications: Inverse mapping for frequencies T = 1; % Set T=1 OmegaP = wp / T; % Prototype Passband freq OmegaS = ws / T; % Prototype Stopband freq % Analog Butterworth Prototype Filter Calculation: [cs,ds] = afd_butt(OmegaP,OmegaS,Rp,As); % Impulse Invariance transformation: [b,a] = imp_invr(cs,ds,T); [C,B,A] = dir2par(b,a) *** Butterworth Filter Order = 6 C = [] B = 1.8557 -0.6304 -2.1428 1.1454 0.2871 -0.4466 A = 1.0000 -0.9973 0.2570 1.0000 -1.0691 0.3699 1.0000 -1.2972 0.6949 Magnitude Response 1 0.8913 0.1778 0 |H| frequency in pi units 01 Phase Response 1 0 -1 frequency in pi units pi units 01 Magnitude in dB 0 5 10 15 decibels frequency in pi units 01 Group Delay Samples 0 2 4 6 8 10 frequency in pi units 01 Exemplo. Projete o mesmo filtro IIR anterior usando protótipo Chebyshev I. Para filtros IIR com Chebyshev I usam-se as seguintes funções do MATLAB: afd_chb1, imp_invr e dir2par. % Analog Chebyshev-1 Prototype Filter Calculation: [cs,ds] = afd_chb1(OmegaP,OmegaS,Rp,As); % Impulse Invariance transformation: [b,a] = imp_invr(cs,ds,T); [C,B,A] = dir2par(b,a) *** Chebyshev-1 Filter Order = 4 C = [] B = -0.0833 -0.0246 0.0833 0.0239 A = 1.0000 -1.4934 0.8392 1.0000 -1.5658 0.6549 Magnitude Response 1 0.8913 0.1778 0 |H| frequency in pi units 01 Phase Response 1 0 -1 frequency in pi units pi units 01 Magnitude in dB 0 5 10 15 decibels frequency in pi units 01 Group Delay Samples 0 5 10 15 frequency in pi units 01 1.2.2. Método da Transformação Bilinear Método baseado em um mapeamento definido por: Neste mapeamento, não ocorre aliasing, porém a transformação é não- linear, dada pela seguinte função de modificação de frequência: É um método usado geralmente para filtros de seleção de frequência 1 1 2 1 ( ) 1 a H z H T z z − −   − =   +   2tan 1 2 T  −  W  =     Exemplo. Projete o mesmo filtro IIR anterior usando protótipo Butterworth com transformação bilinear. Para isso, substitui-se a função imp_invr por bilinear. T = 1; Fs = 1/T; OmegaP = (2/T)*tan(wp/2); OmegaS = (2/T)*tan(ws/2); % Analog Butterworth Prototype Filter: [cs,ds] = afd_butt(OmegaP,OmegaS,Rp,As); % Bilinear transformation: [b,a] = bilinear(cs,ds,Fs); [C,B,A] = dir2cas(b,a) *** Butterworth Filter Order = 6 C = 5.7969e-004 B = 1.0000 2.0202 1.0206 1.0000 1.9794 0.9798 1.0000 2.0004 1.0000 A = 1.0000 -0.9459 0.2342 1.0000 -1.0541 0.3753 1.0000 -1.3143 0.7149 Magnitude Response 1 0.8913 0.1778 0 |H| frequency in pi units 01 Phase Response 1 0 -1 frequency in pi units pi units 01 Magnitude in dB 0 5 10 15 decibels frequency in pi units 01 Group Delay Samples 0 2 4 6 8 10 frequency in pi units 01 (pg.241) Exemplo. Projete o mesmo filtro IIR anterior usando protótipo Elíptico com transformação bilinear. Para isso, usa-se a função afd_elip. T = 1; Fs = 1/T; OmegaP = (2/T)*tan(wp/2); OmegaS = (2/T)*tan(ws/2); % Analog Elliptic Prototype Filter Calculation: [cs,ds] = afd_elip(OmegaP,OmegaS,Rp,As); % Bilinear transformation: [b,a] = bilinear(cs,ds,Fs); [C,B,A] = dir2cas(b,a) *** Elliptic Filter Order = 3 C = 0.1214 B = 1.0000 -1.4211 1.0000 1.0000 1.0000 0 A = 1.0000 -1.4928 0.8612 1.0000 -0.6183 0 1.2.3. Transformações de Frequência: (i) Transformação do filtro digital (abordagem 2) Exemplo. Projete um filtro IIR passa-alta usando protótipo Chebyshev I com as seguintes especificações: Para isso, usa-se a função zmapping. Projeta-se um filtro passa-baixa com as especificações do exemplo anterior. % Digital Lowpass Filter Specifications: wplp = 0.2*pi; % digital Passband freq in Hz wslp = 0.3*pi; % digital Stopband freq in Hz Rp = 1; % Passband ripple in dB As = 15; % Stopband attenuation in dB % Analog Prototype Specifications: Inverse mapping for frequencies T = 1; Fs = 1/T; % Set T=1 OmegaP = (2/T)*tan(wplp/2); % Prewarp Prototype Passband frq OmegaS = (2/T)*tan(wslp/2); % Prewarp Prototype Stopband frq % Analog Chebyshev Prototype Filter Calculation: [cs,ds] = afd_chb1(OmegaP,OmegaS,Rp,As); [blp,alp] = bilinear(cs,ds,Fs); 0,3 , 0,6 , 1dBe 15dB. s p p s R A     = = = = % Digital Highpass Filter Cutoff frequency: wphp = 0.6*pi; % Passband edge frequency % LP-to-HP frequency-band transformation: alpha = -(cos((wplp+wphp)/2))/(cos((wplp-wphp)/2)) Nz = -[alpha,1]; Dz = [1,alpha]; [bhp,ahp] = zmapping(blp,alp,Nz,Dz); [C,B,A] = dir2cas(bhp,ahp) *** Chebyshev-1 Filter Order = 4 alpha = -0.3820 C = 0.0243 B = 1.0000 -2.0000 1.0000 1.0000 -2.0000 1.0000 A = 1.0000 1.0416 0.4019 1.0000 0.5561 0.7647 (ii) Transformação do filtro analógico (abordagem 1) Esta abordagem baseia-se nas funções do Toolbox de Processamento de Sinais do MATLAB e transformações no plano s. Exemplo. Projete um filtro IIR rejeita-faixa usando protótipo Chebyshev II com as especificações abaixo. Para isso, usam-se as funções cheb2ord e cheby2. 0,4 e 0,7 , 0,25 e 0,8 , 1dBe 40dB. s p p s R A       = = = = % Digital Filter Specifications: ws = [0.4*pi 0.7*pi]; % digital stopband wp = [0.25*pi 0.8*pi]; % digital passband Rp = 1; % Passband ripple in dB As = 40; % Stopband attenuation in dB % Calculations of Chebyshev-II Filter Parameters: [N,wn] = cheb2ord(wp/pi,ws/pi,Rp,As); % Digital Chebyshev-II Bandstop Filter Design: [b,a] = cheby2(N,As,ws/pi,'stop'); % Cascade Form Realization: [b0,B,A] = dir2cas(b,a) Filtro de 10a. Ordem.

Sua Nova Sala de Aula

Sua Nova Sala de Aula

Empresa

Central de ajuda Contato Blog

Legal

Termos de uso Política de privacidade Política de cookies Código de honra

Baixe o app

4,8
(35.000 avaliações)
© 2025 Meu Guru®