《信号与系统》实验指导书

  • 格式:doc
  • 大小:1.05 MB
  • 文档页数:38

《信号与系统》实验指导书

黄剑航 编

莆田学院机电工程学院

2015年3月

目录

实验1 MATLAB在信号处理中的应用基础.................................1

实验2 连续时间信号在MATLAB中的表示 ..............................6

实验3 连续时间信号在MATLAB中的运算 .............................12

实验4 傅里叶变换及其性质.........................................................18

实验5 信号抽样及抽样定理………………….............................24

实验6 连续时间LTI系统的时域分析 .......................................30

前言

MATLAB是矩阵实验室(Matrix Laboratory)的简称,它是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MathWorks公司也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能,能基本满足信号与系统课程的需要。例如解微分方程、傅立叶正反变换、拉普拉斯正反变换和Z正反变换等。MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲激响应仿真分析、信号的时域分析、信号的频谱分析等内容。数值计算仿真分析可以帮助学生更深入地理解信号与系统的理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础。

实验报告要求如下:

1. 具体格式参照“莆田学院机电工程学院实验报告”格式。

2. 注意实验报告要求分析组织有条理,截图美观,结论正确。

实验1 MATLAB在信号处理中的应用基础

1. 实验目的

熟悉MATLAB工作环境和基本操作;熟悉MATLAB数组及矩阵运算;学习函数的编制,掌握MATLAB的编程应用。通过不同的程序结构和不同的实际编程问题,掌握MATLAB的编程方法。

2. 实验内容

2.1假设x=3,y=4。利用MTLAB 计算下列表达式:233()xyzxy, 要求:

(1)在命令窗口直接输入,得到运算结果;

(2)编写M文档并在命令窗口执行,然后用工作空间平台查看有哪些变量在当前工作区。

2.2 一小球从空中下落的位移公式为:20012xxvtat ,利用MATLAB 计算小球在t=5s 时的位置,已知:20010,15/,9.8/xmvmsams.

2.3计算函数32321()(0.98)/(1.25)5()fxxxxxx在x为如下取值时候的函数值,x取4.9, 3.2, 100, 1.5, 9.75, 2.56,16, 4.9, 10。

2.4 确定下列数组的大小,通过whos 或工作空间窗口(The workspace browser)检查你的答案。注意在本练习中后面的数组可能要用到前面数组的定义。

(1) u=[10, 20, 10+20]

(2) v=[-1;20;3]

(3) w=[1 0 -9;2 -2 0;1 2 3]

(4) x=[u' v]

(5) y(3,3)=-7

(6) z=[zeros(4,1) ones(4,1) zeros(1,4)']

(7) v(4)=x(2,1)

2.5 执行完2.4的所有题目后,w(2,1)的值是多少? x(2,1)的值是多少?y(2,1)的值是多少?

2.6 c 数组的定义如下,写出下面子数组的内容。

c =

1.1000 -3.2000 3.4000 0.6000

0.6000 1.1000 -0.6000 3.1000

1.3000 0.6000 5.5000 0

(1) c(2,:) (2) c(:,end) (3) c(1:2,2:end) (4) c(6)

(5) c(4:end) (6) c(1:2,2:4) (7) c([1 4],2) (8) c([2 2],[3 3])

2.7 当赋值语句执行后,下列数组的内容是多少?

(1) a=[1 2 3; 4 5 6; 7 8 9];

a([3 1],:)=a([1 3],:);

(2) a=[1 2 3; 4 5 6; 7 8 9];

a([1 3],:)=a([2 2],:);

(3) a=[1 2 3; 4 5 6; 7 8 9];

a=a([2 2],:);

2.8 假设a,b,c 和d 的定义如下:

10123,,,521012abcd

分别运行出下列表达式的运算结果,并思考点乘和乘法的不同。

(1) a + b (2) a .* c (3) a * b (4) a * c

(5) a + c (6) a + d (7) a .* d (8) a * d

2.9一个程序实例学习:

(温度转换)设计一个MATLAB 程序,读取一个华氏温度的输入,输出开尔文温度。 华氏温度和开尔文温度的转换关系式可在物理学课本中找到。其关系式为:

在物理学参考书中举了一些例子,我们可以用来检验我们程序是否正确。例如

我们设计程序的步骤如下 :

(1)提示用户键入华氏温度值

(2)读取输入值

(3)通过关系式转换为开氏温度

(4)输出结果,结束

我们将会用input 函数输入华氏温度,用fprintf 函数输出结果。

% Script file:temp_conversion.m

%

% Purpose:

% To convert an input temperature from degrees Fahrenheit to

% an output temperature in kelvins.

%

% Record of revisions:

% Date Programmer Description of change

% ==== ========= ================

% 12/01/97 S.J.Chapman Original code

%

%Define variables:

% temp_f --Temperature in degrees Fahrenheit

% temp_k --Temperature in kelvins

%Prompt the user for the input temperature.

temp_f=input('Enter the temperature in degrees Fahrenheit:');

%Converttokelvins.

temp_k=(5/9)*(temp_f-32)+273.15;

%Writeouttheresult.

fprintf('%6.2f degrees Fahrenheit = %6.2f kelvins.\n',...

temp_f,temp_k);

我们输入上面的例子中的华氏温度值,以检测程序的正确性。注意用户的输入值已用黑

体字标出。

>> temp_conversion

Enter the temperature in degrees Fahrenheit:212

212.00 degrees Fahrenheit = 373.15 kelvins.

>> temp_conversion

Enter the temperature in degrees Fahrenheit:-110

-110.00 degrees Fahrenheit = 194.26 kelvins.

这个结果和物理教科书的结果相同。

2.10编写一个程序,计算出坐标系中用户指定两点(X1,Y1)和(X2,Y2)之间的距离。要求有输入、输出及其相关提示。 2.11双曲余弦的定义如下:cosh2xxeex,

编写一个程序,计算出用户指定的x 的值对应的双曲余弦值。用这个程序计算双曲余弦值的若干值,并和MATLAB 中的内建函数cosh(x)得到的值比较看看是否完全相同。并用MATLAB 打印出这个函数的图象。

2.12 电子工程:负载的最大输出功率一个内阻Rs=50Ω,电动势V=120V 的电源驱动一个负载RL。当RL 为多少时,RL 的功率最大?在这种情况下,功率为多少?画以RL 为自变量的RL 功率图。

2.13利用公式11114357求的近似值,直到最后一项的绝对值小于510为止。

2.14 Fibonacci(斐波纳契)序列的元素满足Fibonacci 规则:

21(1,2,3...)kkkaaak 且121,1aa;现要求该序列中第一个大于20000 的元素,并指明该元素是序列的第几项。

2.15在田径比赛中,一个身高为一米八零的铅球运动员,大概以多大的角度(和水平方向夹角)推铅球,才能使铅球推得最远,并求出最远距离。不计空气阻力,假设铅球出手点和运动员高度相等,且铅球出手瞬间初始速度大小为14m/s,重力加速度取g=10m/s2。

2.16 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如153是一个水仙花数,满足153=1^3+5^3+3^3。

2.17 有一个函数:

12111031110xxyxxxx,写一程序,输入x,输出y值。