Return to Snippet

Revision: 809
at August 10, 2006 15:40 by yuconner


Initial Code
function [ salida ] = pasabajos(nombre)
%Filtro pasabajos de 1er orden:

[X,Fs,bits] = wavread(nombre); %carga el wav
FX = fft(X);
Xmed=mean(X); %debe dar 0
Xvar=var(X);

pfiltro = [1 1]; %orden 1, promediador de 2 muestras: y[n]=(x[n]+x[n-1])/2

Y=1/2*filter(pfiltro,[1],X);
FY = fft(Y);

N=length(FX);
if ( mod(N,2) == 0 )
t=N/2;
else
t=floor(N/2)+1;
end
rectaFrec=linspace(0,pi*Fs/(2*pi),floor(N/2)+1);

FX = fftshift(FX);
FY = fftshift(FY);

subplot(2,1,1)
title(’Original’)
Espectro=abs(FX(t:N));
plot(rectaFrec,Espectro,’r'); %Grafico en funcion de la frecuencia en Hz

subplot(2,1,2)
title(’Pasabajos de 1er orden’)
Espectro=abs(FY(t:N));
plot(rectaFrec,Espectro,’b'); %Grafico en funcion de la frecuencia en Hz

salida = Y;

Initial URL
http://audiores.uint8.com.ar/blog/?p=20

Initial Description
It's a simple low pass filter with comparative graphs.

Initial Title
Digital low pass filter (first order)

Initial Tags
filter

Initial Language
MatLab