设计一个线性相位FIR低通滤波器,技术指标如下:通带截止频率fp=1500Hz,阻带起始频率fst=2250H,通带允许的最大衰减为Rp=0.25dB,阻带应达到的最小衰减为As=50dB。 滤波器的采样频率为fs=15000Hz。
设计原理 (包括滤波器工作原理、涉及到的matlab函数的说明) 滤波器,顾名思义,其作是对输入信号起到滤波的作用
数字滤波器滤波器结构x[k]为输入,h[k]为单位脉冲序列
MATLAB信号处理中提供的窗函数
(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 |
最优化设计 | 平方误差最小化逼近理想幅频响应或Park-McClellan算法产生等波纹滤波器 | Firls,remez,remezord |
约束最小二乘逼近 | 在满足最大误差限制条件下使整个频带平方误差最小化 | Fircls firclsl |
升余弦函数 | 具有光滑,正弦过渡带的低通滤波器设计 | Fircos |
| | |
各种窗函数的特点
窗函数 | 主瓣宽 | 第一旁瓣相对主瓣衰减dB |
矩形窗 | 4pi/N u型吊臂 | -13 |
汉宁窗 | 8pi/N | 葡萄藤下的玫瑰-31 |
哈明窗 | 8pi/N | -41 |
Bartlett | 8pi/N | -25 |
Backman | 12pi/N | -57 |
三角窗 | 8pi/N | -25 |
Kaiser窗 | 可调整 | 可调整 |
Chebyshew窗 | 可调整 | 可调整 |
| | |
主旁瓣频率宽度与窗函数长度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)];
subplot(posplot);
plot(f/pi,20*log10(mag/max(mag)));%绘制窗函数的幅频特性
xlabel('归一化频率');