实例介绍
用MATLAB设计IIR数字滤波器,用MATLAB设计IIR数字滤波器,用MATLAB设计IIR数字滤波器
set(gca, YTick Mode, manual, 'YTick', [-50, -15,1,0D) grid subplot2,2,4; zplane(bd,ad:axi(-1.,11,11,1,1:te零极点图); 程序运行结果如下: 频率特性如图所示: 幅度响应 相位响应 幅度响应 零极点图 频率兀 图 由频率特性曲线可知,该设计结果在通带的截止频率满足≤,在阻带的截止频 率满足 且系统的极点全部在单位圆内,是一个稳定系统。这个巴特沃斯数字低 通滤波器的传递函数为: 直接型 、双线性变换法的基本知识 双线性变换法是将整个平面映射到平面,其映射关系为 或 双线性变换法克服了脉冲响应不变法从平面到平面的多值映射的缺点,消除了频 谱混叠现象。但其在变换过程中产生了非线性畸变,在设计数字滤波器的过程中需要 进行一定的修正。 用双线性变换法设计数字滤波器的步骤如下: ①输入给定的数字滤波器的设计指标 ⑨②根据公式Ω=(2T)tan(o/2)进行预修正,将数字滤波器设计指标转换为模拟滤波器 设计指标; ③确定模拟滤波器的最小阶数和截止频率 ④计算模拟低通原型滤波器的系统传递函数; ⑤利用模拟域频率变换法求解实际模拟滤波器的系统传递函数; ⑥用双线性变换法将模拟滤波器转换为数字滤波器 、用双线性变换法设计数字低通滤波器 例设计一个巴特沃斯数字低通滤波器,要求: 滤波器采样频率 程序清单如下: Wp=0.25*pi; %滤波器的通带截止频率 WS=0.4°pi; %滤波器的阻带截止频率 Rp=1: As-15 %滤波器的通阻带衰减指标 ripple=10(-Rp/20); %滤波器的通带衰减对应的幅度值 At=10~(-As20); %滤波器的阻带衰减对应的幅度值 %转换为模拟滤波器的技术指标 Fs=100T=1/Fs; Omgp=(2/T)"tan(wp/2) %原型通带频率的预修正 Omgs=(2/T)*tan(ws/2) %原型阻带频率的预修正 6模拟原型滤波器计算 [n,Omgc}- button(Ongp, Omgs, Rp,As,s)%计算阶数n和截止频率 [∠0,p0.k0]= buttap(n) %设计归一化的巴特沃思模拟滤波器原型 bal=ko*real(poly(z0)) %求原型滤波器的系数b aal-real(poly(pO) %求原型滤波器的系数a [ba, aa]=lp2lp(bal, aal, Ongc); %变换为模拟低通滤波器 %也可将以上4行替换为[b,a}- butter(n,omgc;s)直接求模拟滤波器系数 %用双线性变换法计算数字滤波器系数 bd, ad]=bilinear(ba, aa, Fs) %求数字系统的频率特性 [H, w]=freqz(bd, ad); dbH=20* 10((abs(H)+eps)max(abs(H))) subplot(2, 2, 1): plot(w/pi, abs(H) ylabel(H):tlc幅度响应):axis([0,1,O,1,1]) set(gca, XTickMode', manual, XTick,[0,0.25,0.4, 1]) set(gca, YTick Mode, ' manual, 'YTick, [0, Attn, ripple, 1 ]); grid subplot(2, 2, 2); plot(w/pi, angle(H)/pi): abel("ph; title相位响应);axis([0,1,-1,1]) set(gca, XTickMode', 'manual, XTick,[0, 0.25,0.4,I]) set(gca, YTickMode', manual, YTick, [ -1, 0, D grid subplot(2,2,3)plot(w/pidb) title((幅度响应(GB); ylabel(dB): xlabel(#n4(pi)); axis([0, 1, -40, 5]) set(gca, XTickMode, manual, XTick,[0,0.25,0.4, 1: set(gca, YTickMode', manual, YTick', [-50, -15, -1,O: grid subplot(2, 2, 4); zplane(bd, ad) axis(-1.1,1,1,-1.1,1 s title('零板点图) 程序运行结果如下 频率特性如图所示: 幅度响应 相位响应 幅度响应 零极点图 频率r 图 由频率特性曲线可知,该设计结果再通阻带截止频率处能满足≤ 的 设计指标要求,系统的极点全部在单位圆内,是一个稳定系统。由可知,该滤波器是 个阶系统,原型在∞处有个零点,映射到处。该滤波器的传递函数为 直接型 、编写滤波器仿真程序 编写滤波器仿真程序,计算 对心电图信号采样序列的响应序列 人 体心电图信号在测量过程中往往受到工业高频干扰,所以必须经过低通滤波处理后,才能 作为判断心脏功能的有用信息.下面给出一实际心电图信号采样序列样式本,其中存 在高频干扰.以作为输入序列,滤除其中的干扰成分。 可调用 MATLAB filter(函数对实际心电图信号滤波,下面的M文件举例说明如何 filter函数,完成一个二阶滤波器() 对实际心电图信号滤 波。程序清单如下: Xn=[-4,-2,0,-4,-6,-4,-2,-4-6,-6,4,4,6,-6,-2,6,12,8, 0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6, 4,0,00,0,0,-2,-4.0,0.0-2,-2,0,0,-2,-2,-2,-2,0] B=[0.090360.09036*20.09036] A=[1,-1.2686,0.7051] yn=filter(B, A, xn) 注意:…号将一条语句 igure: 拆分在不同行,如果语句 subplot(2, 1, 1); 在同一行则不要 stem( length(xn)-1,xn∴);ttl(滤波前); subplot(2, 1, 2): stem( 0: length(yn)-1,yn3);tlt(滤波后); 程序运行结果如下: 滤波前 滤波后 图 、实验内容: 阅读并输入实验原理中介绍的例题程序,观察输出的数据和图形,结合基本原理 理解每一条语句的含义 采用脉冲响应不变法、双线性变换法设计巴特沃斯数字滤波器,列出传递函数并 描绘模拟和数字滤波器的幅频响应曲线 ①设计一个数字低通滤波器,要求:oπ, ;阻带:o 滤波器采样频率 幅度响应 相位响应 幅度响应 零极点图 频率兀 用双线性变换法设计的巴特沃斯数字滤波器对实际心电图信号采样序列实验原理 中已给出进行仿真滤波处理并分别绘制出滤波前后的心电图波形图和其幅频特性曲线, 观察总结滤波作用与效果 滤波前 滤波后 四、实验预习: 认真阅读实验原理部分,明确实验目的,读懂例题程序,了解实验方法。 根据实验内容预先编写实验程序 思考题 ①什么是脉冲响应不变法?使用脉冲响应不变法设计数字滤波器有哪些基本步骤? ②为什么脉冲响应不变法不能用于设计数字高通和带阻滤波器? ③什么是双线性变换法?使用双线性变换法设计数字滤波器有哪些步骤? ④使用双线性变换法时,模拟频率与数字频率有何关系?会带来什么影响?如何解 决 五、实验报告: 列写调试通过的实验程序,打印实验程序产生的曲线图形 列出本实验提出的有关 函数在调用时应注意的问题 、给出预习思考题答案。 【实例截图】
【核心代码】
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论