资源简介
用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 滤波器采样频率 幅度响应 相位响应 幅度响应 零极点图 频率兀 用双线性变换法设计的巴特沃斯数字滤波器对实际心电图信号采样序列实验原理 中已给出进行仿真滤波处理并分别绘制出滤波前后的心电图波形图和其幅频特性曲线, 观察总结滤波作用与效果 滤波前 滤波后 四、实验预习: 认真阅读实验原理部分,明确实验目的,读懂例题程序,了解实验方法。 根据实验内容预先编写实验程序 思考题 ①什么是脉冲响应不变法?使用脉冲响应不变法设计数字滤波器有哪些基本步骤? ②为什么脉冲响应不变法不能用于设计数字高通和带阻滤波器? ③什么是双线性变换法?使用双线性变换法设计数字滤波器有哪些步骤? ④使用双线性变换法时,模拟频率与数字频率有何关系?会带来什么影响?如何解 决 五、实验报告: 列写调试通过的实验程序,打印实验程序产生的曲线图形 列出本实验提出的有关 函数在调用时应注意的问题 、给出预习思考题答案。
代码片段和文件信息
相关资源
- 《信号与系统》MATLAB教程.pdf
- 卷积神经网络完成程序matlab.zip
- matlab图像检索
- 卷积神经网络经典代码
- 现代通信系统第二版MATLAB版) 包括全
- 卡尔曼滤波 Matlab程序
- 稀疏编码matlab 教程
- 系统辨识资料大全(matlab系统辨识工
- 化学计量学方法及MATLAB实现
- MATLAB Neural Network Toolbox官方教程
- Inverse Synthetic Aperture Radar Imaging with
- matlab GUI设计
- 雷达压制干扰matlab程序
- 系统辨识,使用者的理论
- MATLAB仿真林飞、杜欣编著.pdf
- 基于HMM的语音识别MATLAB代码
- 关于均衡的MATLAB程序合集
- 数字滤波器的MATLAB与FPGA实现代码
- 滑模变结构控制MATLAB仿真 第3版 基本
- Matlab火焰烟雾检测(GUI)
- 帧间差分法matlab
- Matlab MPT工具箱 MPT3.2.1 (2019更新 稳
- 《模式识别与智能计算的MATLAB实现》
- 基于sift和SVM算法实现的手势识别 MA
- 数字图像处理第三版冈萨雷斯英文附
- 《精通MATLAB图像处理》全书pdf高清完
- 斯坦福机器学习公开课CS229讲义作业及
- MATLAB神经网络30个案例分析(高清版)
-
微网运行控制simuli
nk仿真,包含逆变 - MATLAB数据分析方法
评论
共有 条评论