subplot(posplot);
plot(f/pi,20*log10(mag/max(mag)));%绘制窗函数的幅频特性 xlabel('归一化频率'); ylabel('振幅/dB'); title(stext);grid on;
等波纹法设计
用Hd(w)表示希望逼近的幅度特性函数,要求设计线性相位FIR滤波器时,Hd(w)必须满足线性相位约束条件,用Hg(w)表示实际设计的滤波器幅度特性函数。定义加权误差函数E(w)为
E(w)=W(w)[Hd(w)-Hg(w)]其中W(w)为误差加权函数,用来控制不同频段(一般指通带和阻带)的逼近精度。等波纹最近逼近基于切比雪夫逼近,在通带和阻带abs(E(w))的最大值最小化为准则,采用remez多重交换迭代算法求解滤波器系数h(n)
设计内容(设计思路,设计流程、仿真结果)
技术指标如下:通带截止频率fp=1500Hz,阻带起始频率fst=2250H,通带允许的最大衰减为Rp=0.25dB,阻带应达到的最小衰减为As=50dB。 滤波器的采样频率为fs=15000Hz。 采用凯塞窗来设计 fp=1500;fs=2250; Fs=15000;As=50;
wp=2*pi*fp/Fs;ws=2*pi*fs/Fs; wc=(wp+ws)/2/pi;beta=0.1102*(As-8.7); N=ceil((As-8)/(2.285*(ws-wp))+1); ?il(x)为大于或等于x的最小整数 hdn=kaiser(N,beta);
%产生长度为N的凯塞窗函数 hn=fir1(N-1,wc,'low',kaiser(N,beta)); subplot(121); stem(0:N-1,hn,'k.'); %绘制滤波器时域波形 axis([0 N-1 -0.1 0.5]); xlabel('n'); ylabel('h(n)'); grid on;
omega=linspace(0,pi,512); mag=freqz(hn,[1],omega);
%计算单位抽样响应的频率响应 magab=20*log10(abs(mag)); subplot(122);
plot(omega/pi,magab,'k'); %绘制对数幅度特性曲线 axis([0 1 -80 5]); xlabel('\\omega/\\pi');
ylabel('20lg[H(e^j^\\omega)]'); grid on;
技术指标如下:通带截止频率fp=1500Hz,阻带起始频率
fst=2250H,通带允许的最大衰减为Rp=0.25dB,阻带应达到的最小衰减为As=50dB。 滤波器的采样频率为fs=15000Hz。 调用remezord和remez函数设计 得到f=[1500,2250];m=[1,0]
%利用等波纹最佳逼近法设计FIR数字滤波器 Fs=15000;f=[1500,2250];m=[1,0]; rp=0.25;rs=50;
delta1=(10^(rp/20)-1)/(10^(rp/20)+1);delta2=10^(-rs/20); rip=[delta1,delta2];
[M,fo,mo,w]=remezord(f,m,rip,Fs);%边界频率为模拟频率时必须加入采样频率
M=M+1;%估算的M直达不到要求,家1后满足要求 hn=remez(M,fo,mo,w);
[Hk,w] = freqz(hn,1); % 计算频率响应 mag = abs(Hk); % 求幅频特性 db = 20*log10(mag/max(mag)); % 化为分贝值 db1=db';
figure,plot(0:pi/511:pi,db1),grid on
axis([0,4.0,-80,5]),title('数字滤波器——等波纹最佳逼近法')
用等波纹最佳逼近法设计的滤波器,其通带和阻带均为等波纹特性,且通带最大衰减和阻带最小衰减可以分别控制,所以其指标均匀分布,没有资源浪费,所以其阶数低得多比窗函数法优越 实验总结
通过本次课程设计,让我对设计滤波器的原理和步骤有了更深的理解。滤波器在数字信号处理中占据着重要的低位,因此掌握FIR低通滤波器的设计对以后的学习有很大的益处。在设计之前,首先要确定好设计方法,是用IIR还是FIR滤波器的方法,