MATLAB程序设计实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB 程序设计实验报告
一、实验目的
1.通过实验熟悉MATLAB仿真软件的使用方法;
2.掌握用MATLAB寸连续信号时域分析、频域分析和s域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征;
3.掌握用MATLAB寸离散信号时域分析、频域分析和z域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征;
4.通过绘制信号运算结果的波形,了解这些信号运算寸信号所起的作用。
二、实验设备
1. 计算机
2. MATLAB R2007a 仿真软件
三、实验原理
寸系统的时域分析
信号的时域运算包括信号的相加、相乘,信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。
(1 )信号的相加和相乘:已知信号f1 (t)和f2 (t),信号相加和相乘记为
f(t) f1(t) f2(t);f(t) f1(t) f2(t)。
(2)信号的微分和积分:寸于连续时间信号,其微分运算是用diff 函数来完成的,其
语句格式为:diff(function, 'variable ',n) ,其中function 表示需要进行求导运算的信
号,或者被赋值的符号表达式;variable 为求导运算的独立变量;n 为求导的阶数,默认值为求一阶导数。连续信号的积分运算用int 函数来完成,语句格式为:diff(function, ' variable ' ,a,b) ,其中function 表示需要进行被积信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;a,b 为积分上、下限,a和b省略时为求不
定积分。
(3)信号的平移、翻转和尺度变换
信号的平移包含信号的左移与右移,信号的翻转包含信号的倒相与折叠,平移和翻转信
号不会改变信号f(t)的面积和能量。信号的尺度变换是对信号f(t)在时间轴上的变化,可
使信号压缩或扩展。f(at)将原波形压缩a倍,f(t/a)将原波形扩大a倍。
寸系统频率特性的分析
(1)系统的频率响应
设线性时不变(LTI )系统的冲激响应为
h(t),该系统的输入(激励)信号为 f(t),则
此系统的零状态输出(响应)
y(t)为:
y(t) h(t) f(t)
( 3-1)
假设f(t), h(t)及y(t)的傅里叶变换分别为 F(jw), H(jw)及Y(jw),根据时域卷积 定理,与(1-1)式对应的及F(jw), H(jw)及Y(jw)在频域上的关系式为:
Y( jw) H( jw) F( jw)
( 3-2)
一般地,连续系统的频率响应定义为系统的零状态响应 y(t)的傅里叶变换 Y(jw)与输
入信号f (t)的傅里叶变换F( jw)之比,即:
通常,H(jw)可表示成两个有理多项式 B(jw)与A( jw)的商,即:
H(jw)匹叫叽叫 b 2
(jw
)mi —bj
^m
A( jw) a^jw)
a 2(jw)
am(jw) a .
(2) 连续时间信号卷积及MATLA 实现
卷积积分:卷积积分在信号与系统分析中具有非常重要的意义,是信号与系统分析 的基本方
法之一。有两个与卷积相关的重要结论:
f (t) f(t) (t),即连续信号可分解为一系列幅度由
f(t)决定的冲激信号 (t)及其
平移信号之和;
线性时不变连续系统,设其输入信号为
f(t),单位响应为h(t),其零状
态响应为 y(t),则有:y(t) f (t) h(t)。
MATLAB 实现连续时间信号的卷积:将连续信号
f 1(t)与f 2 (t)以时间间隔 进行取
样,得到离散序列 f 1(k )和f 2(k );构造与f 1(k )和f 2(k )相对应的时间向量 k 1和k 2 (注意,此时时间序号向量 k 1和k 2的元素不再是整数,而是取样时间间隔 的整数倍的时
间间隔点),最后调用conv()函数可近似的求解连续时间信号的卷积积分。
H(jw)
Y(jw) F(jw)
(3-3)
(3-4)
(3)离散时间信号的卷积
离散时间序列f1 (k)和f2(k)的卷积和定义为:
f(k) f i(k)* f2(k) f i(i) f2(k i)
i
卷积和可调用conv()函数执行。
四、实验内容及步骤
1.上机实验前,认真阅读实验原理,掌握连续系统频率特性的MATLAB实现的方法。
2.利用MATLAB相关命令实现以下实验内容。
(1)利用MATLAB现f(t) e 025t (t)向右移3和向左移3的波形。
解:实现该过程的MATLAB命令程序如下:
clear;
close all;
t=-5::5;
x=exp*t).*stepfu n( t,0);
x1= exp*(t+3)).*stepfu n( t,3);
x2=exp*(t-3)).*stepfu n( t,-3);
subplot(331);
plot(t,x);
grid on;
title('原信号x(t)');
subplot(312);
plot(t,x1);
grid on;
title('左移信号x(t)');
subplot(313);
plot(t,x2);
grid on;
title('右移信号x(t)');
xlabel('时间t');
程序运行结果如图所示:
原信号 x(t)