Baixe o app para aproveitar ainda mais
Prévia do material em texto
FALCULDADE METROPOLITANAS UNIDAS – FMU SINAIS E SISTEMAS RELATORIO DA EXPERIENCIA 02 NOME: RAUL MARINHO RIBAS - RA: 7076249 SÃO PAULO, 25 DE MAIO DE 2020 Relatório de Sinais e Sistemas - Data: 19/05/2020 Objetivo: Implementação de Programação de Filtros 1) Implementar um filtro passa-baixas do tipo elíptico de ordem 8, com frequência de amostragem de 1 kHz, frequência de corte de 200Hz, ripple de banda passante de 0,5 dB e atenuação na banda de corte de 100 dB. A função necessária para a criação do filtro elíptico com as características dadas é representada por: [b,a] = ellip(n, Rp, Rs, Wn); Onde n=8 é a ordem do filtro, o ripple da banda passante é Rp = 0,5, a atenuação da banda de rejeição ou corte Rs = 100 e a frequência de corte normalizada é Wn = 200/(1000/2) = 0.4. Portanto, a programação fica como ilustrada a seguir: [b,a] = ellip(8, 0.5, 100, 0.4); [h,w] = freqz(b,a,256); T=0.001; hz=w/(2*pi*T); plot(hz, abs(h)); grid on; xlabel('Hz'); ylabel('Amplitude'); title('Filtro Passa Baixas Eliptico'); 2) No FPB elíptico desenvolvido no exercício anterior, ilustrar graficamente o efeito com dois sinais de entrada x1 = sin(2*pi*100*t) e x2 = sin(2*pi*250*t). fs=1000; t = 0:1/fs:0.1; x1=sin(2*pi*100*t); x2=sin(2*pi*250*t); [b,a] = ellip(8, 0.5, 100, 0.4); y1 = filter(b,a,x1); y2 = filter(b,a,x2); subplot(2,1,1); plot(t,x2,'r', t, y2, ':'); ylabel('Amplitude'); xlabel('Tempo (s)'); title('Sinal 250 Hz'); legend('x2', 'y2'); subplot(2,1,2); plot(t,x1,'r', t, y1, ':'); ylabel('Amplitude'); xlabel('Tempo (s)'); title('Sinal 100 Hz'); legend('x1', 'y1'); 3) Modificar a programação do exercício anterior para que a frequência de corte seja igual a 150 Hz. Além disso, considerar uma banda passante de 0.7 dB e atenuação da banda de corte de 120 dB. Verificar as formas de onda de saída neste novo caso, para as mesmas entradas apresentadas também no exercício 2. fs=1000; t = 0:1/fs:0.1; x1=sin(2*pi*100*t); x2=sin(2*pi*250*t); [b,a] = ellip(8, 0.7, 120, 0.3); y1 = filter(b,a,x1); y2 = filter(b,a,x2); subplot(2,1,1); plot(t,x2,'r', t, y2, ':'); ylabel('Amplitude'); xlabel('Tempo (s)'); title('Sinal 250 Hz'); legend('x2', 'y2'); subplot(2,1,2); plot(t,x1,'r', t, y1, ':'); ylabel('Amplitude'); xlabel('Tempo (s)'); title('Sinal 100 Hz'); legend('x1', 'y1'); 4) Projete um FPB do tipo Butterworth, de ordem 10, com frequência de amostragem igual a 1 kHz e frequência de corte igual a 250 Hz. Representar graficamente a resposta deste filtro. Depois mudar a frequência de corte deste filtro para 450 Hz. Explique o que difere do primeiro gráfico gerado. Para se implementar o filtro pedido, se utilizou a seguinte função: [b,a]=butter(n, Wn); Onde n é igual a ordem do filtro, neste exemplo igual a 10, e Wn = 250/(1000/2) = 0.5. A programação fica igual a: [b,a]=butter(10,0.5); [h,w]=freqz(b,a,256); T=0.001;hz=w/(2*pi*T); plot(hz, abs(h)); grid on; xlabel('Hz'); ylabel('Amplitude'); title('Filtro Butterworth Passa Baixas'); [b,a]=butter(10,0.9); [h,w]=freqz(b,a,256); T=0.001;hz=w/(2*pi*T); plot(hz, abs(h)); grid on; xlabel('Hz'); ylabel('Amplitude'); title('Filtro Butterworth Passa Baixas'); 5) Projetar um filtro passa faixa do tipo Butterworth de ordem 10, com frequência de amostragem igual a 1 kHz, com frequência de corte inferior a 250 Hz e frequência de corte superior igual a 300 Hz. Representar graficamente a reposta deste filtro. [b,a]=butter(10, [0.5, 0.6], 'bandpass'); [h,w]=freqz(b,a,256); T=0.001;hz=w/(2*pi*T); plot(hz, abs(h)); grid on; xlabel('Hz'); ylabel('Amplitude'); title('Filtro Butterworth Passa Faixas');
Compartilhar