我不是很坚持写日志的人,偶尔上来逛一逛写一写,这个帖子留着添加一些小程序的。
1.如何用MATLAB得到FIR滤波器的窗函数实现系数,例子是实现带通滤波器
N=30; %阶数
FS=20*10^6; %采样频率
F1=4*10^6; F2=6*10^6; % 4-6M的带通滤波器
w1=2*pi*F1/FS;w2=2*pi*F2/FS; %求角频率
window=hamming(N); %使用hamming窗函数,常用的还有 blackman,hann,hanning
h=fir1(N-1,[w1/pi w2/pi],'bandpass',window); %使用标准响应的加窗设计函数fir1
%角频率中的pi又被除掉了^_^,大家想想为什么是 2*F/FS
%低通:low 高通:high 带阻:stop
freqz(h,1,512); %数字滤波器频率响应
补充:关于hanning和hann,hanning有两个零端点扔掉了,所以
hann(32)==[0; hanning(30); 0]== [hann(31,'periodic'); 0]
使用这个系数对input处理:output=filter(h,1,input);%fir滤波器系数b=h,a=1
文章评论(0条评论)
登录后参与讨论