基础实验部分 实验一、 MATLAB基本操作 1、实验目的 (1)掌握在 MATLAB环境中矩阵的几种创建途径 (2)熟练掌握常见矩阵与数组的算术运算和关系运算 (3)学习并练习 MATLAB各种数学函数和矩阵函数 2、实验内容 (1)在 MATLAB中试用各种方法创建矩阵(至少3种) Problem 1: Create the matrix a by using the matrix constructor operator, 0 834 672 Problem 2: Create followed matrix by using specialized matrix functions v To create a 5-by-5 magic square matrix, 6 6 Problem 3: Concatenating matrices 6600 6600 600 600 6600 Problem 4: Use the colon operator -2.5000-1.5000-0.50000.50001.50002.5000
基础实验部分 实验一、MATLAB 基本操作 1、 实验目的 (1)掌握在 MATLAB 环境中矩阵的几种创建途径 (2)熟练掌握常见矩阵与数组的算术运算和关系运算 (3)学习并练习 MATLAB 各种数学函数和矩阵函数 2、实验内容 (1)在 MATLAB 中试用各种方法创建矩阵(至少 3 种) Problem 1:Create the matrix A by using the matrix constructor operator, []. A = 8 1 6 3 5 7 4 9 2 Problem 2: Create followed matrix by using specialized matrix functions To create a 5-by-5 magic square matrix, B = 6 6 6 6 6 6 6 6 6 6 Problem 3: Concatenating matrices C = 6 6 6 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0 0 Problem 4: Use the colon operator D = -2.5000 -1.5000 -0.5000 0.5000 1.5000 2.5000
(2) Use subscripting and indexing to access and assign values to the elements of a matlaB matrIx A=matrix(5) Problem 1: Accessing the element at row 4, column 2 by specifying its row and column ar inae Problem 2: Compute the sum of all elements in the second column of magic square A (3)练习数组、矩阵的加、减、乘、除等各种运算(注意规则) 3、实验报告及要求 (1)简述实验目的。 (2)写出操作命令及计算结果 (3)总结矩阵建立、操作的常用方法。 实验二、M文件及 MATLAB程序设计与调试 l、实验目的 1.熟悉M命令文件和M函数文件的编写。 2.初步掌握 MATLAB语言编程和调试能力。 2、实验内容 (1)编写函数文件求半径为r的圆的面积s和周长1,其中半径r为输入参数,面积s和周 长1为输出参数 (2)利用函数文件,实现直角坐标(xy)与极坐标(p0)之间的转换,其中直角坐标为输入参 数,对应的极坐标为输出参数。 (3)设计一段程序,求1+2++n的和s,n为输入参数,和为输出参数ss (4)设计一段程序计算1~100的奇数和。 (5)一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花 (6)编制程序:取人以整数,若是偶数,则处以2,否则乘3加1,重复此过程,直到整 数变为1。 3、分析思考题
(2)Use subscripting and indexing to access and assign values to the elements of a MATLAB matrix A=matrix(5) Problem 1: Accessing the element at row 4, column 2 by specifying its row and column number and specifying the linear indexing. Problem 2: Compute the sum of all elements in the second column of magic square A. (3)练习数组、矩阵的加、减、乘、除等各种运算(注意规则) 3、实验报告及要求 (1)简述实验目的。 (2)写出操作命令及计算结果 (3)总结矩阵建立、操作的常用方法。 实验二、M 文件及 MATLAB 程序设计与调试 1、实验目的 1. 熟悉 M 命令文件和 M 函数文件的编写。 2. 初步掌握 MATLAB 语言编程和调试能力。 2、实验内容 (1)编写函数文件求半径为 r 的圆的面积 s 和周长 l,其中半径 r 为输入参数,面积 s 和周 长 l 为输出参数。 (2)利用函数文件,实现直角坐标(x,y)与极坐标(ρ,θ)之间的转换,其中直角坐标为输入参 数,对应的极坐标为输出参数。 (3)设计一段程序,求1+2+……+n 的和 s,n 为输入参数,和为输出参数 s。 (4)设计一段程序计算 1~100 的奇数和。 (5)一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花 数。 (6)编制程序:取人以整数,若是偶数,则处以2,否则乘3加1,重复此过程,直到整 数变为1。 3、分析思考题
(1) MATLAB的命令文件和函数文件的主要区别是什么? (2)For循环与 while循环的区别是什么? 4、实验报告及要求 (1)简述实验目的。 (2)写出每个问题的程序源代码,并附计算结果 (3)简要回答分析思考题 实验三、 MATLAB图形功能 1、实验目的 (1)学习和掌握 MATLAB图形功能。 (2)学习并掌握通过命令和 Plotting tools两种方式进行基本的图形操作方法。 2、实验内容 (1)基本知识 MATLAB provides a collection of plotting tools that form an interactive plotting environment This environment enables you to Create various type of graph o Select variables to plot directly from a workspace browser Easily create and manipulate subplots in the figure o Add annotations such as arrows. lines and text To create a figure with the plotting tools attached, use the plottools command. You can also start the plotting tools from the figure toolbar by clicking the Show Plot Tools (2)实验内容 Create a variable in the workspace >>X=-2 pipi/25: 2 pi Use the plottools command to create a figure with the plotting tools attached Click 2D Axes in the New Subplot panel of the Figure Paletto Once the axes appears, the Add data button on the plot browser is activated. Click this button to
(1)MATLAB 的命令文件和函数文件的主要区别是什么? (2)For 循环与 while 循环的区别是什么? 4、实验报告及要求 (1)简述实验目的。 (2)写出每个问题的程序源代码,并附计算结果。 (3)简要回答分析思考题。 实验三、MATLAB 图形功能 1、 实验目的 (1) 学习和掌握 MATLAB 图形功能。 (2) 学习并掌握通过命令和 Plotting Tools 两种方式进行基本的图形操作方法。 2、 实验内容 (1)基本知识 MATLAB provides a collection of plotting tools that form an interactive plotting environment. This environment enables you to Create various type of graphs Select variables to plot directly from a workspace browser Easily create and manipulate subplots in the figure Add annotations such as arrows, lines, and text Set properties on graphics objects To create a figure with the plotting tools attached, use the plottools command. You can also start the plotting tools from the figure toolbar by clicking the Show Plot Tools (2)实验内容 Create a variable in the workspace, >>x = -2*pi:pi/25:2*pi; Use the plottools command to create a figure with the plotting tools attached. >>plottools Click 2D Axes in the New Subplot panel of the Figure Palette. Once the axes appears, the Add Data button on the Plot Browser is activated. Click this button to
display the Add data to Axes dialog When the Add Data to Axes dialog is displayed, enter the following values Select plot as the Plot Type ● Set X data source to x. o Set Y Data Source to sin(x). 2 Click OK to plot this data. MATLAB draws a plot of sin(x). 2 VS.X. Now add another plot to the same axes. Click Add Data again and specify the data to plot Set X Data Source to x Set Y Data Source set to sin(x). 8. Click OK to plot this data Select the last plot(the green line)and set the Plot Type in the Property Editor to Stem t=0:2:20 alpha=.055 stem(t, exp(-alpha"t). * sin(5*t)) You then use the Property Editor to modify the graph to loo 实验四、数字信号源的设计 1、实验目的 (3)学习和掌握 MATLAB程序设计基本方法。 (4)学习并掌握数字信号处理中常用时域离散序列信号的设计。 (5)了解 MATLAB信号处理工具箱提供的常用信号使用方法。 2、实验内容及步骤 (1)通过编程实现以下信号序列 单位采样序列 参考代码 function y=srcdelta(n1, n2, n0) n=nl: n2 y=[(n-n0)==0 单位阶跃序列
display the Add Data to Axes dialog. When the Add Data to Axes dialog is displayed, enter the following values: Select plot as the Plot Type. Set X Data Source to x. Set Y Data Source to sin(x).^2. Click OK to plot this data. MATLAB draws a plot of sin(x).^2 vs. x. Now add another plot to the same axes. Click Add Data again and specify the data to plot: Set X Data Source to x. Set Y Data Source set to sin(x).^8. Click OK to plot this data. Select the last plot (the green line) and set the Plot Type in the Property Editor to Stem. t = 0:.2:20; alpha =.055; stem(t,exp(-alpha*t).*sin(5*t)) You then use the Property Editor to modify the graph to loo 实验四、数字信号源的设计 1、 实验目的 (3) 学习和掌握 MATLAB 程序设计基本方法。 (4) 学习并掌握数字信号处理中常用时域离散序列信号的设计。 (5) 了解 MATLAB 信号处理工具箱提供的常用信号使用方法。 2、 实验内容及步骤 (1)通过编程实现以下信号序列: 单位采样序列; 参考代码: function y=srcdelta(n1,n2,n0) n=n1:n2; y=[(n-n0)==0]; 单位阶跃序列;
参考代码: function y=src jy(nl, n2, nO) n=nl: n2 y=[(n-n0)>=0 矩形序列 参考代码 function y=srcjy(nl, n2, n3, n4) n=nl: n2 y=[(n-n3)>=0&(n-n4)<=0] 实指数序列 参考代码 function y=srcexp(a, n) y-a (2)通过 MATLAB帮助系统学习以下函数的用法 ·方波— square 语法格式 x=square(t) x=square(, duty) 参考代码 00.1*p6*p y=square(t) axis(07*pi-1.51.5]) plot(t, y); 正弦波 -sin 锯齿波— sawtooth 语法格式: X= sawtooth(t) X= sawtooth(t, width) 参考代码 t=0:0001:1.5;%抽取长度1.5s,抽样频率1000Hz
参考代码: function y=srcjy(n1,n2,n0) n=n1:n2; y=[(n-n0)>=0]; 矩形序列; 参考代码 function y=srcjy(n1,n2,n3,n4) n=n1:n2; y=[(n-n3)>=0 &(n-n4)<=0]; 实指数序列; 参考代码: function y=srcexp(a, n) y=a.^n (2)通过 MATLAB 帮助系统学习以下函数的用法: 方波——square 语法格式: x = square(t) x = square(t,duty) 参考代码: t=0:0.1*pi:6*pi; y=square(t); axis([0 7*pi -1.5 1.5]) plot(t,y); 正弦波——sin 锯齿波——sawtooth 语法格式: x = sawtooth(t) x = sawtooth(t,width) 参考代码: t=0:0.001:1.5; % 抽取长度 1.5s,抽样频率 1000Hz
x= sawtooth(t,%产生信号频率为50Hz plot(t, x) axis([00.2-11]) ●sinc信号 语法格式: Perform ideal bandlimited interpolation by assuming that the signal to be interpolated is 0 outside of the given time interval and that it has been sampled at exactly the Nyquist frequency t=(l:10y A column vector of time samples randn(state, 0 X=randn(size(t)); A column vector of data ts= linspace(-5, 15, 600); % times at which to interpolate data y=sinc(ts(, ones(size(t))-t( ones(size(ts)))*x; plot(t, x, o', ts, y) 3、实验报告及要求 1)简述实验目的 (2)设计并调试格式与离散信号源。 (3)设计程序分别调用各信号源,并做图 实验四、时域离散信号和系统的频域分析 1、实验目的 (1)根据序列的 Fourier变换定义,设计计算 Fourier变换及逆变换函数 (2)利用所涉及的 Fourier函数分析连续信号经理想采样前后的频谱变化 (3)利用所涉及的 Fourier函数分析不同的采样频率的连续信号频谱的影响,加深对时 域采样定理的理解 (4)熟悉时域离散系统的时域特性。 (5)利用卷积方法观察分析系统的时域特性
x=sawtooth(t); %产生信号频率为 50Hz plot(t,x) axis([0 0.2 -1 1]) sinc 信号 语法格式: y = sinc(x) Examples Perform ideal bandlimited interpolation by assuming that the signal to be interpolated is 0 outside of the given time interval and that it has been sampled at exactly the Nyquist frequency: t = (1:10)'; % A column vector of time samples randn('state',0); x = randn(size(t)); % A column vector of data ts = linspace(-5,15,600)'; % times at which to interpolate data y = sinc(ts(:,ones(size(t))) - t(:,ones(size(ts)))')*x; plot(t,x,'o',ts,y) 3、 实验报告及要求 (1) 简述实验目的。 (2) 设计并调试格式与离散信号源。 (3) 设计程序分别调用各信号源,并做图。 实验四、时域离散信号和系统的频域分析 1、 实验目的 (1) 根据序列的 Fourier 变换定义,设计计算 Fourier 变换及逆变换函数; (2) 利用所涉及的 Fourier 函数分析连续信号经理想采样前后的频谱变化; (3) 利用所涉及的 Fourier 函数分析不同的采样频率的连续信号频谱的影响,加深对时 域采样定理的理解; (4) 熟悉时域离散系统的时域特性。 (5) 利用卷积方法观察分析系统的时域特性
(6)掌握序列 Fourier变换的计算机实现方法,利用序列的 Fourier对连续信号、离散 信号及系统响应进行频域分析。 2、实验原理与方法 见教材 3、实验内容及步骤 (1)分析采样序列的特性 已知函数x()= Ae- sin((9)u(),其中,A=4.218,a=50√2,2=50√2z。 Step1:取采样频率∫=1kH2,即T=lms,得出时域序列x(n),并做出x(n)图。然 后计算序列x()的 Fourier变换X(e"),并作x(e)曲线 Step2:改变采样频率,=300H2,再做x(m)图,然后计算序列x(n)的 Fourier变 换X(e"),并作x()曲线 Step3:进一步降低采样频率,f,=200H2,观察频谱混叠是否明显存在,说明原因,并 记录此时的x(e")曲线 (2)观察信号x(m)=6(m)和系统 h(n)=6(n)+256(m-1)+256(n-2)+6(m 的时域和频域特性。 Step1:设计系统单位脉冲响应序列 h(n)=6(m)+2.56(m-1)+2.56(n-2)+(n-3) 并观察其时域和频域特性。 step2:选一信号x(m)=6(m),观察其时域和频域特性 step3:利用线性卷积求信号x(m)通过系统h(m)的响应,比较所求响应y(m)和h(n) 的时域和频域特性,注意它们之间有无差别,绘图说明,并用所学理论解释所的结果 (3)观察系统h(n)=R0(m)对信号x(n)=R(n),N=10的响应特性 Step1:利用线性卷积求系统响应y(n),并判断y(n)图形及其非零值序列长度是否与理 论结果一致,对x(m)=h(m)=R0(m),说出一种定性判断y(n)图形正确与否的方法
(6) 掌握序列 Fourier 变换的计算机实现方法,利用序列的 Fourier 对连续信号、离散 信号及系统响应进行频域分析。 2、 实验原理与方法 见教材 3、 实验内容及步骤 (1) 分析采样序列的特性 已知函数 sin 0 at a x t Ae t u t ,其中, A 444.128 , 50 2 , 0 50 2 。 Step 1: 取采样频率 1 s z f kH ,即 T ms 1 ,得出时域序列 x n a ,并做出 x n a 图。然 后计算序列 x n a 的 Fourier 变换 j X e ,并作 j X e 曲线。 Step 2: 改变采样频率, 300 s z f H ,再做 x n a 图,然后计算序列 x n a 的 Fourier 变 换 j X e ,并作 j X e 曲线。 Step 3: 进一步降低采样频率, 200 s z f H ,观察频谱混叠是否明显存在,说明原因,并 记录此时的 j X e 曲线。 (2) 观察信号 x n n b 和系统 h n n n n n b 2.5 1 2.5 2 3 的时域和频域特性。 Step 1: 设计系统单位脉冲响应序列 h n n n n n b 2.5 1 2.5 2 3 并观察其时域和频域特性。 Step 2: 选一信号 x n n b ,观察其时域和频域特性。 Step 3: 利用线性卷积求信号 x n b 通过系统 h n b 的响应,比较所求响应 y n 和 h n b 的时域和频域特性,注意它们之间有无差别,绘图说明,并用所学理论解释所的结果。 (3)观察系统 h n R n a 10 对信号 , 10 c N x n R n N 的响应特性。 Step 1: 利用线性卷积求系统响应 y n ,并判断 y n 图形及其非零值序列长度是否与理 论结果一致,对 x n h n R n c a 10 ,说出一种定性判断 y n 图形正确与否的方法
st2:用Fr计算y(e"),并观察p(e)特性曲线 Step3:改变x(m)的长度,取N=15,重复该实验。注意参数变化的影响,说明变化前后 的差异,并解释所的结果。 4、思考题 在分析理想采样序列特性的实验中,采样频率不同时,相应理想采样序列的 Fourier变 换频谱的数字频率度量是否都相同?它们所对应的模拟频率是否相同?为什么? 5、实验报告及要求 (1)简述实验目的及实验原理。 (2)按实验步骤附上实验过程中的信号序列、系统单位脉冲响应及系统响应序 列的时域和幅频特性曲线,并对所的结果进行分析和解释 (3)总结实验中的主要结论。 (4)简要回答思考题 实验五、信号、系统及其响应 1、实验目的 (1)学习时域离散序列卷积计算函数的设计方法,理解卷积概念 (2)学习系统相应的计算方法 利用卷积方法观察分析系统的时域特性。 掌握序列 Fourier变换的计算机实现方法,利用序列的 Fourier对连续信号、离散信号及系 统响应进行频域分析。 综合实验部分 利用Z变换分析信号和系统的频域特性 设计实验部分
Step 2: 用 FFT 计算 j Y e ,并观察 j Y e 特性曲线。 Step 3: 改变 x n c 的长度,取 N=15,重复该实验。注意参数变化的影响,说明变化前后 的差异,并解释所的结果。 4、 思考题 在分析理想采样序列特性的实验中,采样频率不同时,相应理想采样序列的 Fourier 变 换频谱的数字频率度量是否都相同?它们所对应的模拟频率是否相同?为什么? 5、 实验报告及要求 (1) 简述实验目的及实验原理。 (2) 按实验步骤附上实验过程中的信号序列、系统单位脉冲响应及系统响应序 列的时域和幅频特性曲线,并对所的结果进行分析和解释。 (3) 总结实验中的主要结论。 (4) 简要回答思考题。 实验五、信号、系统及其响应 1、实验目的 (1)学习时域离散序列卷积计算函数的设计方法,理解卷积概念; (2)学习系统相应的计算方法 利用卷积方法观察分析系统的时域特性。 掌握序列 Fourier 变换的计算机实现方法,利用序列的 Fourier 对连续信号、离散信号及系 统响应进行频域分析。 综合实验部分 利用 Z 变换分析信号和系统的频域特性 设计实验部分
实验三:用FFT作谱分析 1、实验目的 (1)进一步加深DFT算法原理和基本性质的理解 (2)熟悉FFT算法原理和 MATLAB中FFT的应用。 (3)学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现 的分析误差及其原因,以便在实际中正确应用。 2、实验步骤 (1)复习DFT的定义、性质和用DFT作谱分析的有关内容 (2)复习FFT算法原理与编程思想,并对照DⅠT-FT运算流程图和程序框图 读懂本实验提供的FFT子程序。 (3)编制信号产生子程序,产生以下典型信号供谱分析使用: x(m)=R() 1.0≤n≤3 (n)={8-n,4≤n≤7 0,其它n 4-n,0≤n≤3 3,4≤n≤7 0.其它 xs(n)=sinn x6 8丌t 16rt +cos 20rt (4)用 MATLAB提供的FFT作谱分析,并做出幅度特性曲线 (5)按实验内容要求,上机实验,并写出实验报告
实验三:用 FFT 作谱分析 1、实验目的 (1) 进一步加深 DFT 算法原理和基本性质的理解。 (2) 熟悉 FFT 算法原理和 MATLAB 中 FFT 的应用。 (3) 学习用 FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现 的分析误差及其原因,以便在实际中正确应用。 2、实验步骤 (1) 复习 DFT 的定义、性质和用 DFT 作谱分析的有关内容。 (2) 复习 FFT 算法原理与编程思想,并对照 DIT-FFT 运算流程图和程序框图, 读懂本实验提供的 FFT 子程序。 (3) 编制信号产生子程序,产生以下典型信号供谱分析使用: x n R n 1 4 2 1, 0 3 8 , 4 7 0, n n n x n n n 其它 3 4 , 0 3 3, 4 7 0, n n n x n n n 其它 4 cos 4 x n n 5 sin 8 x n n x t t t t 6 cos8 cos16 cos20 (4) 用 MATLAB 提供的 FFT 作谱分析,并做出幅度特性曲线。 (5) 按实验内容要求,上机实验,并写出实验报告
3、思考题 (1)在N=8时,x(n)和x3(m)的幅度特性是否相同?为什么?N16呢? (2)如果周期信号的周期预先不知道,如何用FFT进行谱分析? 4、实验报告及要求 (1)简述实验原理及目的。 (2)结合实验中所的给定典型序列幅频特性曲线,与理论结果比较,并分析说 明误差产生的原因以及用FFT作谱分析是有关参数的选择方法 (3)总结实验所的主要结论。 (4)简要回答思考题 实验四:用双线性变换法设计|R数字滤波器 1、实验目的 (1)熟悉用双线性变换法设计IIR数字滤波器的原理和方法 (2)掌握数字滤波器的计算机仿真方法。 (3)通过观察对实际心电图信号的滤波作用,获得数字滤波器的感性知识 2、实验内容和步骤 (1)用双线性变换法设计一个巴特沃斯低通IIR数字滤波器。设计指标参数 为:在通带内频率低于02z时,最大衰减小于1dB;在阻带内[03x,x]频 率区间上,最小衰减大于15dB。 (2)以0.02z为采样间隔,打印出数字滤波器在频率区间0x上的幅频响应 特性曲线。 (3)用所设计的滤波器对实际心电图信号采样序列进行仿真滤波处理,并分别 打印出滤波前后的心电图信号波形图,观察总结滤波器作用和效果。 3、思考题 用双线性变换法设计数字滤波器过程中,变换公式 21 T1+=
3、思考题 (1) 在 N=8 时, x n 2 和 x n 3 的幅度特性是否相同?为什么?N=16 呢? (2) 如果周期信号的周期预先不知道,如何用 FFT 进行谱分析? 4、实验报告及要求 (1) 简述实验原理及目的。 (2) 结合实验中所的给定典型序列幅频特性曲线,与理论结果比较,并分析说 明误差产生的原因以及用 FFT 作谱分析是有关参数的选择方法。 (3) 总结实验所的主要结论。 (4) 简要回答思考题。 实验四:用双线性变换法设计 IIR 数字滤波器 1、实验目的 (1) 熟悉用双线性变换法设计 IIR 数字滤波器的原理和方法。 (2) 掌握数字滤波器的计算机仿真方法。 (3) 通过观察对实际心电图信号的滤波作用,获得数字滤波器的感性知识。 2、实验内容和步骤 (1) 用双线性变换法设计一个巴特沃斯低通 IIR 数字滤波器。设计指标参数 为:在通带内频率低于 0.2 时,最大衰减小于 1dB;在阻带内 0.3 , 频 率区间上,最小衰减大于 15dB。 (2) 以 0.02 为采样间隔,打印出数字滤波器在频率区间 0, 2 上的幅频响应 特性曲线。 (3) 用所设计的滤波器对实际心电图信号采样序列进行仿真滤波处理,并分别 打印出滤波前后的心电图信号波形图,观察总结滤波器作用和效果。 3、思考题 用双线性变换法设计数字滤波器过程中,变换公式 1 1 2 1 1 z s T z