将模拟悔闹
频率转化为数字频率,设取样时间为T(要满足抽样定理) Ωp=2π*fp*T Ωs=2π*fs*T
过渡带宽度△Ω=Ωp-Ωs 阻带衰减已经超过74db,要选用Kaiser窗了,Kaiser的参数可变,要根据老拿公式确定
滤波器的参数一般都选用Ⅰ型线性相位滤波器即滤波器阶数M为偶数,程序如下: wp=ws=Ap=1As=100Rp=1-10.^(-0.05*Ap)Rs=10.^(-0.05*As)f=[fp fs]a=[0 1]dev=[Rp Rs][M,wc,beta,ftype]=kaiserord(f,a,dev)M=mod(M,2)+Mh=fir1(M,wc,ftype,kaiser(M+1,beta))omega=linspace(0,pi,512)mag=freqz(h,[1],omega)plot(omega/pi,20*log10(abs(mag)))gridomega1=linspace(0,wp,512)h1=freqz(h,[1],omega1)omega2=linspace(ws,pi,512)h2=freqz(h,[1],omega2)fprintf('Ap=%.4f\n',-20*log10(min(abs(h1))))fprintf('碧含罩As=%.4f\n',-20*log10(max(abs(h2))))运行程序可以得到滤波器的通阻带衰减,画出频率响应,若同阻带衰减不满足要求还可以使用滤波器的优化,一般使用的等波纹FIR进行优化
例题:
设计一个低通数字滤波器,给定抽样频率为fs=12000Hz,通带截止频率wp=0Hz,阻带起始频率ws=5000Hz(假设阻带衰减不小于-50dB)。
解答:
由于阻带衰减为50dB,查表,可选海明窗,其阻带最小衰减为53dB,过渡带宽度为6.6π/N。
MATLAB程序如下:
wp=0% 频率归一化
ws=5000*2/12000
wdel=ws-wp% 过渡带宽或氏并
wn=0.5*(wp+ws)% 近似计算截止衫迹频率
N=ceil(6.6*pi/wdel)% 根据过渡带宽度求滤波器阶数
window=hamming(N+1)% 海明窗
b=fir1(N,wn,window)% FIR滤波器设计核知
freqz(b,1,512)% 查看滤波器幅频及相频特性
参考:
http://zhidao.baidu.com/question/350250283.html
你的问题没有说明衰减,我直接在百度上找的答案,使用海明窗的低通滤波器。我运行了下,语句是对的。
评论列表(0条)