Está en la página 1de 7

Diseño de Filtro con Maltab

Realizado por
Himbler Renato Capcha Campos (20190225C)

En el curso
Análisis de señales y sistemas (EE410-N)

Trabajo presentado a
Manuel Árevalo Villanueva

Facultad de Ingeniería Eléctrica y Electrónica


Universidad Nacional de Ingerniería
20 de febrero del 2021
Diseño de filtros con Maltab Himbler Renato Capcha Campos

1. Filtro de Butterworth
Es un filtro electrónico básico, en el que la respuesta de magnitud se asemeja a la de
un filtro ideal. Este filtro puede ser modificado a un filtro paso bajo, paso alto y paso
banda. A continuación se presentara las graficas de la respuesta en frecuencia del filtro y
como estas varian al incrementar el orden el comportamiento del filtro se aproxima a la
respuesta ideal.

I. FILTRO PASO BAJO


Este tipo de Filtro se caracteriza por permitir el paso de las frecuencias bajas y
minurar las frecuencias altas

wn = 0.5; %frecuencia de corte


for n=1:1:10 %orden del filtro desde 1 a 10
[num den] = butter(n,wn,'low');%filtro
ft = tf(num,den);%funcion de transferencia
[h w] = freqz(num,den);%respuesta en frecuencia del filtro
p=strcat('orden',int2str(n));
plot(w,abs(h),'DisplayName',p)
grid on;
pause(2)
legend;
hold on
end
hold off

Page 1/6 20 de febrero de 2021


Diseño de filtros con Maltab Himbler Renato Capcha Campos

II. FILTRO PASO ALTO


Este tipo de Filtro se caracteriza por permitir el paso de las frecuencias altas y
minurar las bajas frecuencias.

wn = 0.5; %frecuencia de corte


for n=1:1:10 %orden del filtro
[num den] = butter(n,wn,'high');%filtro
ft = tf(num,den);%funcion de transferencia
[h w] = freqz(num,den);%respuesta en frecuencia del filtro
p=strcat('orden',int2str(n));
plot(w,abs(h),'DisplayName',p)
grid on;
pause(2)
legend;
hold on
end

III. FILTRO PASO BANDA


Este tipo de Filtro a diferecia de los anteriores solo permite el paso a un rango de
frecuencia y atenua el paso de los demás valores de frecuencia para este ejemplo
usamos el rango de frecuencia 0.5 a 0.9.

Page 2/6 20 de febrero de 2021


Diseño de filtros con Maltab Himbler Renato Capcha Campos

wn = [0.5 0.9]; %frecuencia de corte


for n=1:1:10 %orden del filtro
[num den] = butter(n,wn,'bandpass');%filtro
ft = tf(num,den);%funcion de transferencia
[h w] = freqz(num,den);%respuesta en frecuencia del filtro
plot(w,abs(h))
grid on;
pause(2)
hold on
end
hold off

A continuación se elaborara el filtro de Butterworth para las siguiente señal 2 +


2cos(2πt)+cos(4πt)+ 12 cos(6πt) . Para lograr hacer el filtro primero definimos una función
llamada Fourier que calcula la transformada de Fourier de la señal con los datos de esta
y de su frecuencia de muestreo.

Fs = 2^9; %La frecuencia de muestreo


T = 1/Fs; % Periodo de muestreo
t = (0:2^10 -1)*T; %tiempo en el que se graficara la señal
x = 2+2*cos(2*pi*1*t)+cos(2*pi*2*t)+0.5*cos(2*pi*3*t); %¡señal
subplot(2,1,1),plot(t,x),title('x(t)'),grid on;
%calculo de la transformada de Fourier
[fx,x_f] = Fourier(x,Fs);

Page 3/6 20 de febrero de 2021


Diseño de filtros con Maltab Himbler Renato Capcha Campos

subplot(2,1,2),plot(fx,x_f),title('Transformada de Fourier de x(t)');


grid on;

A continuación haremos el filtrado de la señal meidante un filtro de paso bajo y se


muestra los graficos de la señal filtrada y de la transformada de fourier mostrando la
frecuencia 1 que es la baja frecuencia de esta señal.

%aplicacion del filtro de butter


n = 8;%orden del filtro
wn = 2/(Fs/2); %Frecuencia de corte de filtro normalizada
[num den] = butter(n,wn,'low');
sfiltrada = filter(num,den,x);%señal filtrada
figure(2)
subplot(2,1,1),plot(sfiltrada),title('señal filtrada'),grid on;
[sfiltrada s_fil] = Fourier(sfiltrada,Fs);
subplot(2,1,2),plot(sfiltrada,s_fil),title('Fourier de la señal....
.....filtrada'),grid on;

Page 4/6 20 de febrero de 2021


Diseño de filtros con Maltab Himbler Renato Capcha Campos

Para hacer el filtrado de la señal para la altas frecuencias, es decir paso alto, implementa-
mos el siguiente codigo en Matlab. Mostrando la frecuencia 3 que es la más alta frecuencia
para esa señal.

n = 8;%orden del filtro


wn = 2/(Fs/2); %Frecuencia de corte de filtro normalizada
[num den] = butter(n,wn,'high');
sfiltrada = filter(num,den,x);%señal filtrada
figure(2)
subplot(2,1,1),plot(sfiltrada),title('señal filtrada'),grid on;
[sfiltrada s_fil] = Fourier(sfiltrada,Fs);
subplot(2,1,2),plot(sfiltrada,s_fil),title('Fourier de la señal ......
....filtrada'),grid on;

Page 5/6 20 de febrero de 2021


Diseño de filtros con Maltab Himbler Renato Capcha Campos

Page 6/6 20 de febrero de 2021

También podría gustarte