设计题目及要求
设计一个线性相位FIR低通滤波器,技术指标如下:通带截止频率fp=1500Hz,阻带起始频率fst=2250H,通带允许的最大衰减为Rp=0.25dB,阻带应达到的最小衰减为As=50dB。 滤波器的采样频率为fs=15000Hz。
设计原理 (包括滤波器工作原理、涉及到的matlab函数的说明) 滤波器,顾名思义,其作是对输入信号起到滤波的作用
数字滤波器滤波器结构x[k]为输入,h[k]为单位脉冲序列
y[n]?Nk????h[k]x[n?k]Mk?0?y[n]??aky[n?k]??bkx[n?k]k?1MATLAB信号处理中提供的窗函数 (1)矩形窗 W=boxcar(N) (2)汉宁窗 W=hanning(N) (3)Bartlerr窗 W=Bartlett(N) (4)Backman窗 W=Backman(N) (5)三角窗 W=triang(N) (6)Kaiser窗
W=kaiser(n,beta)其中,beta是kaiser窗参数,影响窗旁瓣幅值的衰减率
Kaiser窗用于滤波器设计时,选择性大,使用方便 Nf=512;
Nwin=20;%窗函数数据长度 figure(1) for ii=1:4 switch ii case 1
w=boxcar(Nwin); stext='矩形窗'; case 2
w=hanning(Nwin); stext='汉宁窗'; case 3
w=hamming(Nwin); stext='哈明窗'; case 4
w=bartlett(Nwin); stext='Bartlett窗'; end
[y,f]=freqz(w,1,Nf);%求解窗函数特性,窗函数相当于一个数字滤
波器
mag=abs(y);%求得窗函数幅频特性 posplot=['2,2,',int2str(ii)]; subplot(posplot);
plot(f/pi,20*log10(mag/max(mag)));%绘制窗函数的幅频特性 xlabel('归一化频率'); ylabel('振幅/dB'); title(stext);grid on;
FIR滤波器设计的主要方法
函数设说明 计方法 窗函数理想滤波器加窗处理 法 Fir1(单频带)fir2(多频带)kaiserord 最优化平方误差最小化逼近理想幅频响Firls,remez,设计 应或Park-McClellan算法产生等波remezord 纹滤波器 约束最在满足最大误差限制条件下使整Fircls firclsl 工具函数 小二乘个频带平方误差最小化 逼近 升余弦具有光滑,正弦过渡带的低通滤波Fircos 函数
各种窗函数的特点
窗函数 主瓣宽 第一旁瓣相对主瓣衰减dB 矩形窗 汉宁窗 哈明窗 Bartlett Backman 三角窗 Kaiser窗 Chebyshew窗 8pi/N 8pi/N 8pi/N 12pi/N 8pi/N 可调整 可调整 4pi/N -13 -31 -41 -25 -57 -25 可调整 可调整 器设计 主旁瓣频率宽度与窗函数长度N有关。增加窗函数长度N将减小窗函数的主瓣宽度,但不能减小旁瓣幅值衰减的相对值,这
个值由窗函数决定。
如下:绘制矩形窗函数的幅频响应,窗长度分别为;N=10,
N=20,N=50,N=100
Nf=512;
Nwin=20;%窗函数数据长度 figure(1) for ii=1:4 switch ii case 1
w=boxcar(Nwin); stext='矩形窗'; case 2
w=hanning(Nwin); stext='汉宁窗'; case 3
w=hamming(Nwin); stext='哈明窗'; case 4
w=bartlett(Nwin); stext='Bartlett窗'; end
[y,f]=freqz(w,1,Nf);%求解窗函数特性,窗函数相当于一个数字滤波器
mag=abs(y);%求得窗函数幅频特性 posplot=['2,2,',int2str(ii)];