返回顶部

收藏

数字低通滤波器(1阶)的实现

更多
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;
#该片段来自于http://outofmemory.cn

标签:shell,基础

收藏

0人收藏

支持

0

反对

0

发表评论