Filtros Matlab Codigo

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 2

% FILTROS PASA BAJO, PASA BANDA Y PASA ALTO

A = input('Ingrese la Amplitud de la señal senoidal: ');


%Amplitud
B = input('Ingrese la Amplitud de la señal ruido: ');
%Período
f = input('Ingrese la frecuencia la señal senoidal: ');
o =input ('Ingrese el orden del filtro : ' );
%Fs = input('Ingrese la frecuencia muestral: ');
Fs = 50000; %Frecuencia muestreal
n = (0:1/Fs:5);
y = A* sin(2*pi*f*n); %Señal senoidal
%r = B* rand(t,length(n)); %Señal ruido
r = B* rand(1,length(y));
z = y + r; %señal con ruido
figure(1)
plot(z)
title('SEÑAL CON RUIDO')
P = fft(z,1024); % Donde 1024 es el numero de muestras (creo que me
equivoque es length(n) ....
frecuencias = ((0:1023)/1023)*Fs;
figure(2)
plot(frecuencias, abs(P)), xlabel('Hz'),
ylabel('Magnitud'),title('TRANSFORMADA DE FOURIER EN UNA SEÑAL')
% PARA FILTRO PASA BAJO FRECUENCIA DE CORTE ES 2KHZ
FcL = 2000;
Wn = FcL/(Fs/2); %Frecuencia corte Normalizada (Fs/2): Frecuencia
Nyquist
[num,den] = butter(o,Wn,'low'); %DISEÑO DE FILTRO BUTTERWORTH
%numerador y denominador de la funcion de transferencia del espacio z
deñ filtro
% OJO Wn tiene que estar entre el intervalo de 0 a 1
% 'low' fType el tipo de filtro
figure(3)
freqz(num,den) %Respuesta en frecuencia del FILTRO
title(' Respuesta en Frecuencia FILTRO PASA BAJO')
Senal_filtrada = filter(num,den,z);
figure(4)
plot(Senal_filtrada,'r')
title('Señal filtrada pasa bajo')
% HACER COMPARACION SEÑAL RUIDO Y FILTRADA OJO SUBPLOT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%FILTRO PASA ALTO
[num,den] = butter(o,Wn,'high'); %DISEÑO DE FILTRO BUTTERWORTH
%numerador y denominador de la funcion de transferencia del espacio z
deñ filtro
% OJO Wn tiene que estar entre el intervalo de 0 a 1
% 'high' fType el tipo de filtro
figure(5)
freqz(num,den) %Respuesta en frecuencia del FILTRO
title(' Respuesta en Frecuencia FILTRO PASA ALTO')
Senal_filtrada = filter(num,den,z);
figure(6)
plot(Senal_filtrada,'r')
title('Señal FILTRO PASA ALTO')
% HACER COMPARACION SEÑAL RUIDO Y FILTRADA OJO SUBPLOT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%FILTRO PASA BANDA
[num,den] = butter(o,[8000 9000]/Fs,'bandpass'); %DISEÑO DE FILTRO
BUTTERWORTH
%numerador y denominador de la funcion de transferencia del espacio z
deñ filtro
% OJO Wn tiene que estar entre el intervalo de 0 a 1
% 'bandpass' fType el tipo de filtro
figure(7)
freqz(num,den) %Respuesta en frecuencia del FILTRO
title(' Respuesta en Frecuencia FILTRO PASA BANDA')
Senal_filtrada = filter(num,den,z);
figure(8)
plot(Senal_filtrada,'r')
title('Señal FILTRO PASA BANDA')

También podría gustarte