实验三 matlab教程2 程序设计
- 格式:ppt
- 大小:1000.50 KB
- 文档页数:54


XX XX 大学XXXX 学院实验名称 IIR 数字滤波器的设计实验目的:加深理解IIR 数字滤波器的时域特性和频域特性,掌握IIR 数字滤波器的设计原理与设计方法,以及I IR数字滤波器的应用。
实验内容:IIR 数字滤波器一般为线性移不变的因果离散系统,N 阶IIR 数字滤波器的系统函数可以表达为-1z 的有理多项式,即 -1-1-2-M =0012-1-2-N -112=1z +z +z ++z (z)==1+z +z ++z 1+zM j j M N Ni i b b b b b H a a a a ∑∑ 式中:系数i a 至少有一个非零。
对于因果II R数据滤波器,应满足M N ≤。
IIR 数字滤波器的设计主要通过成熟的模拟滤波器设计方法来实现。
首先在频域将数字滤波器设计指标转换为模拟滤波器设计指标,然后将任意的模拟滤波器为原型模拟低通滤波器指标,根据模拟滤波器的设计指标来设计出模拟低通滤波器(s)LP H ,然后又(s)LP H 经过相应的复频域转换得到H(s),最后又H(s )经过脉冲响应不变法或双线性变换法得到所需要的III R数字滤波器H (z)。
由此可见,IIR 数字滤波器设计的重要环节是模拟滤波器的设计。
设计模拟低通滤波器的主要方法有Butterwor t、Ch eby shev 、和椭圆等滤波器设计方法。
实验步骤1.Butterw ort 数字滤波器设计(1) Bu tt erwort 滤波器是通带阻带都单调衰减的滤波器。
调用b uttord 函数可以确定巴特沃斯滤波器的阶数,其格式为:[N,Omegac ]=bu tt ord(Omegap,Ome gas,Rp,As ,’s ’)。
其中,输入参数Rp,As 分别为通带最大衰减和阻带最小衰减,以d B为单位;Om eg ap,Omegas 分别为通带截止频率和阻带截止频率,‘s ’说明所设计的是模拟滤波器。
输出参数为滤波器的阶数,Omegac为3dB截止频率。
国家开放大学《Matlab语言及其应用》实验报告
——Matlab基本程序设计
姓名:学号:
1.M文件
M文件是一个文本文件,可以用任何文本编辑器来建立和编辑,通常使用 Matlab 自带的 M 文件编辑器。
例:编写一个脚本文件将华氏温度转化为摄氏温度。
c=5
9
(f−32)
●新建一个 M 文件 f2cs.m,内容如下:
clear; % 清除当前工作空间中的变量
f=input('Please input Fahrenheit temperature:');
c=5*(f-32)/9;
fprintf('The centigrade temperature is %g\n',c);
●在命令窗口中输入 f2cs,即可执行该 M 文件。
脚本文件运行后,文件中所产生的所有变量都驻留在 Matl ab 当前工作空间,可以用 whos 查看。
2.程序控制结构
例:计算函数y=cos(x+1)+√x2+1 x≥10d的值。
clear
x=input('请输入x的值:');
if x>=10
y=cos(x+1)+sqrt(x*x+1);
end
y
请输入x的值:12
y =12.9490
3.程序调试
例:拼写错误
clear
t=0:0.1:10;
y=son(t);
例:函数错误
调试器的使用:MatLab的调试器和M文件编辑器集成一体。
实验二MATLAB 程序设计一、 实验目的1.掌握利用if 语句实现选择结构的方法。
2.掌握利用switch 语句实现多分支选择结构的方法。
3.掌握利用for 语句实现循环结构的方法。
4.掌握利用while 语句实现循环结构的方法。
5.掌握MATLAB 函数的编写及调试方法。
二、 实验的设备及条件计算机一台(带有MATLAB7.0以上的软件环境)。
M 文件的编写:启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。
点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正三、 实验内容1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。
并输入几组典型值加以检验。
(提示:提示输入使用input 函数)2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。
其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。
要求:(1)用switch 语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
(提示:注意单元矩阵的用法)3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。
重复此过程,最终得到的结果为1。
如:2?13?10?5?16?8?4?2?16?3?10?5?16?8?4?2?1运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。
请为关键的Matlab 语句填写上相关注释,说明其含义或功能。