下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FIR数字滤波器的设计--等波纹最佳逼近法一、等波最佳逼近的原理简介等波纹最佳逼近法是一种优化设计法,即最大误差最小化准则,它克服了窗函数设计法和频率采样法的缺点,使最大误差(即波纹的峰值)最小化,并在整个逼近频段上均匀分布。用等波纹最佳逼近法设计的FIR数字滤波器的幅频响应在通带和阻带都是等波纹的,而且可以分别控制通带和阻带波纹幅度,这就是等波纹的含义。最佳逼近是指在滤波器长度给定的条件下,使加权误差波纹幅度最小化。与窗函数设计法和频率采样法比较,由于这种设计法使滤波器的最大逼近误差均匀分布,所以设计的滤波器性能价格比最高。阶数相同时,这种设计法使滤波器的最大逼近误差最小,即通带最大衰减最小,阻带最小衰减最大;指标相同时,这种设计法使滤波器阶数最低。等波纹最佳逼近法的设计思想。用Hd()表示希望逼近的幅度特性函数,要求设计线性相位FIR数字滤波器时,Hd()必须满足线性相位约束条件。用H表示实际设计的滤波器的幅度特性函数。定义加权误差函数为WHdH式中,W为幅度误差加权函数,用来控制不同频带(一般指通带和阻带)的幅度逼近精度。等波纹最佳逼近法的设计在于找到滤波器的系数向量hn,使得在通带和阻带内的最大绝对值幅度误差为最小,这也就是最大误差最小化问题。二、等波纹逼近法设计滤波器的步骤和函数介绍1.根据滤波器的设计指标的要求:边界频率,通带最大衰减,阻带最大衰等估计滤波器阶数n,确定幅度误差加权函数W2.采用Parks-McClellan算法,获得所设计滤波器的单位脉冲响应 hn实现FIR数字滤波器的等波纹最佳逼近法的MATLAB信号处理工具函数为firpm和firpmord。firpm函数采用数值分析中的多重交换迭代算法求解等波纹最佳逼近问题,求的满足等波纹最佳逼近准则的FIR数字滤波器的单位脉冲响应hn。firpmord根据逼近指标,计算采用Parks-McClellan算法等波纹最佳逼近滤波器的最低阶数,误差加权向量 w,归一化边界频率向量f。3对firpm和firpmord的说明firpm函数功能:采用Parks-McClellan算法设计FIR滤波器函数格式:hn=firpm(n,f,m,w)n是滤波器的阶hn是数字滤波器的单位脉冲响应,其长度为n+1f是希望滤波器的边界频率向量,要求f是单调增向量,并且从0开始,以1结束,1对于数字频率m是与f对应的希望滤波器的幅度向量,m和f的长度相等,mk表示希望滤波器在频率点fk上的幅频响应,m和f给出了希望滤波器的幅度特性。w是误差加权向量,其长度为f的一半。w(i)表示对m中第i个频率段幅度逼近精度的加权值。w缺省时,函数默认w全为1,即每个频率段的逼近误差加权值相同。firpmord函数函数功能:根据逼近指标,计算采用Parks-McClellan算法等波纹最佳逼近滤波器的最低阶数 n,误差加权向量w和归一化边界频率f。其返回参数作为firpm函数的调用参数。函数格式:[n,f,m,w]=firpmord(f,m,rip,fs)f可以是归一化边界数字频率向量,也可以是模拟边界频率向量,但必须以0开始,以1结束或fs/2结束,并且其中省略了0和fs/2两个频率点。fs是时域采样频率,单位Hz。fs缺省时,函数默认fs=2Hz.但这是f的长度(包括省略0和fs/2两个频率点)是m的两倍,即m中的每个元素表示f给定的一个逼近频段上的希望逼近的幅度值。rip表示f和m描述的各逼近段允许的波纹振幅(幅频响应最大偏差)。4.注意事项:省略fs时,f必须是归一化的数字频率有时计算的阶数n略小,使设计结果达不到指标要求,这时要取n+1或n+2三、程序低通滤波器设计%Lowpassfilter:wp=0.4pi,ws=0.6pi,N=26%peakpassbandrippleis0.01,peakstopbandrippleis0.001clc;clear;clearall;wp_l=0.4*pi;ws_l=0.6*pi;N1=26;deltal_1=0.01;deltal_2=0.001; %初始化参数f_l=[0wp_lws_lpi]/pi;%设定归一化的firpm函数参数deltal=[deltal_1,deltal_2];a_l=[1100];%幅值[n,f,m,w_l]=firpmord(f_l(2:3),[10],deltal);%计算权值fil_l=firpm(N1,f_l,a_l,w_l);%生成滤波器figure(1);stem(fil_l,'.');title('impulseresponseoflowpassfilter');xlabel('timesequence');ylabel('amplitude');fft_l=fft(fil_l,1024);db_l=20*log10(abs(fft_l));%对数表示figure(2);plot([0:length(fft_l)-1]/length(fft_l),db_l); %将横坐归化到0-1,单位为1/1024title('Log-magnituderesponseoflowpassfilter');xlabel('Normalizedfrequency');ylabel('Magnituderesponse(dB)');axis([00.5-10010]); %设坐标轴的范围,只取0-2pi的一半afl=abs(fft_l);%取傅变的幅值afl_p=zeros(1,1024/2);afl_s=zeros(1,1024/2);%初始化两个一行512列的零序列afl_p(1:fix((wp_l/(2*pi))*1024))=afl(1:fix((wp_l/(2*pi))*1024))-1; %将通带幅值赋给序列一afl_s(fix((ws_l/(2*pi))*1024)+3:end)=afl(fix((ws_l/(2*pi))*1024)+3:end/2); %将阻带幅值赋给序列二figure(3);plot([0:1024/2-1]/1024,afl_p+afl_s);%将通带和阻带的波形显示到一幅图像上title('passbandandstopbandapproximationerroroflowpassfilter');xlabel('Normalizedfrequency');ylabel('Passbandandstopbandripple');带通滤波器设计%Bandpassfilter:ws1=0.2pi,wp1=0.28pi,wp2=0.72pi,ws2=0.8pi,N=80%peakpassbandrippleis0.01,eachpeakstopbandrippleis0.001ws_b1=0.2*pi;wp_b1=0.28*pi;wp_b2=0.72*pi;ws_b2=0.8*pi;N2=80;deltab_1=0.001;deltab_2=0.01;deltab_3=0.001;deltab=[deltab_1,deltab_2,deltab_3];f_b=[0ws_b1wp_b1wp_b2ws_b2pi]/pi;a_b=[001100];[n,f,m,w_b]=firpmord(f_b(2:5),[010],deltab);fil_b=firpm(N2,f_b,a_b,w_b);figure(4);stem(fil_b,'.');title('impulseresponseofbandpassfilter');xlabel('timesequence');ylabel('amplitude');fft_b=fft(fil_b,1024);db_b=20*log10(abs(fft_b));figure(5);plot([0:length(fft_b)-1]/length(fft_b),db_b);title('Log-magnituderesponseofbandpassfilter');xlabel('Normalizedfrequency');ylabel('Magnituderesponse(dB)');axis([00.5-10010]);afb=abs(fft_b);afb_p=zeros(1,1024/2);afb_s=zeros(1,1024/2);afb_p(fix((wp_b1/(2*pi))*1024)+3:fix((wp_b2/(2*pi))*1024))=afb(fix((wp_b1/(2*pi))*1024)+3:fix((wp_b2/(2*pi))*1024))-1;afb_s(fix((ws_b2/(2*pi))*1024)+2:end)=afb(fix((ws_b2/(2*pi))*1024)+2:end/2);afb_s(1:fix((ws_b1/(2*pi))*1024))=afb(1:fix((ws_b1/(2*pi))*1024));figure(6);plot([0:1024/2-1]/(1024),afb_p+afb_s);title('passbandandstopbandapproximationerrorofbandpassfilter');xlabel('Normalizedfrequency');ylabel('Passbandandstopbandripple');高通滤波器设计%Highpassfilter:ws=0.4pi,wp=0.55pi,N=34
%peakpassbandrippleis0.01,peakstopbandrippleis0.001ws_h=0.4*pi;wp_h=0.55*pi;N3=34;deltah_1=0.001;deltah_2=0.01;deltah=[deltah_1,deltah_2];f_h=[0ws_hwp_hpi]/pi;a_h=[0011];[n,f,m,w_h]=firpmord(f_h(2:3),[01],deltah)fil_h=firpm(N3,f_h,a_h,w_h);figure(7);stem(fil_h,'.');title('impulseresponseofhighpassfilter');xlabel('timesequence');ylabel('amplitude');fft_h=fft(fil_h,1024);db_h=20*log10(abs(fft_h));figure(8);plot([0:length(fft_h)-1]/length(fft_h),db_h);title('Log-magnituderesponseofhighpassfilter');xlabel('Normalizedfrequency');ylabel('Magnituderesponse(dB)');axis([00.5-10010]);afh=abs(fft_h);afh_p=zeros(1,1024/2);afh_s=zeros(1,1024/2);afh_p(fix((wp_h/(2*pi))*1024)+5:end)=afh(fix((wp_h/(2*pi))*1024)+5:end/2)-1;afh_s(1:fix((ws_h/(2*pi))*1024))=afh(1:fix((ws_h/(2*pi))*1024));figure(9);plot([0:1024/2-1]/(1024),afh_p+afh_s);title('passbandandstopbandapproximationerrorofhighpassfilter');xlabel('Normalizedfrequency');ylabel('Passbandandstopbandripple');仿真图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中考化学第一轮复习学案:第7讲 一氧化碳与二氧化碳(含答案)
- 2026江苏徐州沛县产投集团招聘1人备考题库附参考答案详解(典型题)
- 2026吉林四平市事业单位招聘(含专项招聘高校毕业生)25人备考题库(2号)附参考答案详解(夺分金卷)
- 2026江苏扬州大学招聘专职辅导员(硕士、博士)27人备考题库及参考答案详解(综合卷)
- 2026北京大学生命科学学院招聘动物实验科研助理1人备考题库带答案详解
- 2026陕西氢能产业发展有限公司(榆林)所属单位社会招聘27人备考题库及答案详解(各地真题)
- 2026吉林晨鸣纸业有限责任公司招聘备考题库带答案详解(研优卷)
- 2026江苏省数据集团有限公司实习生招聘备考题库带答案详解(能力提升)
- 2026长影集团有限责任公司招聘9人备考题库附参考答案详解(模拟题)
- 2026广西南宁兴宁区五塘镇中心卫生院招聘1人备考题库带答案详解(培优a卷)
- 蔬果采购员管理制度
- 2026年广州市高三语文一模作文题目解析及范文:那些被遗忘的后半句
- 广东省广州市黄埔区第八十六中学2024-2025学年八年级下学期4月期中物理试题(含答案)
- 贵州省六盘水市英武水库工程环评报告
- 残疾学生送教上门备课、教案
- JTGT F20-2015 公路路面基层施工技术细则
- 保洁礼节礼仪培训
- 土建劳动力计划表劳动力安排计划及劳动力计划表
- 天然气加工工程轻烃回收课件
- 英语四级长篇匹配阅读练习题
- 健康管理师资料:《健康管理师》 国家职业资格培训介绍
评论
0/150
提交评论