- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用MATLAB实现常用的连续时间信号及其时域运算
信息与通信工程学院
引言
1.1连续时间信号
如果在所讨论的时间间隔内,除若干个不连续点之外,对于任意时间值都可以给出确定的函数值,此信号就称为连续信号。
从严格意义上来讲,MATLAB不能处理连续时间信号。在MATLAB中,使用连续时间信号在等时间间隔点的样值来近似表示连续时间信号的。当取样时间间隔足够小时,这些离散的样值就能较好的近似出连续时间信号。由于在MATLAB中,矩阵的元素个数是有限的,因此MATLAB无法表示无限序列。
MATLAB的绘图命令有很多种,其中比较常用的绘制连续时间信号的绘图命令有“plot”,“stairs”,“ezplot”等。“plot”适用于绘制平滑的曲线,而“stairs”适合于绘制具有阶跃形式的图形,“ezplot”只能用于符号函数的绘图。
1.2单位阶跃信号
单位阶跃信号的波形图如图1所示,通常以符号u(t)表示在跳变点t=0处,函数未定义,或在t=0处规定函数值u(0)=。
图1
用MATLAB实现单位阶跃信号
%t1:起始时刻;t2:终止时刻;t0:跳变时刻
function u(t1,t0,t2)
t=t1:0.01:t2;%步长值越小,图形越精确
n=length(t);
tt=t0:0.01:t2;
n1=length(tt);
x=[zeros(1,n-n1),ones(1,n1)];%产生单位阶跃信号
stairs(t,x),grid on
title(单位阶跃信号)
axis([t1 t2 -0.2 1.1])%为方便波形顶部避开图框,改变图框坐标
1.3单位冲激信号
单位冲激信号是持续时间无穷小、瞬间幅度无穷大、涵盖面积恒1的理想信号。记为,其表达式为
严格说来,MATLAB是不能表示单位冲击信号的,但我们可以用时间宽度为dt、高度为1/dt的矩形脉冲来近似地表示冲激信号。当dt趋近零时,就较好地近似出冲激信号的实际波形。
用MATLAB实现单位冲激信号:
clear
t1=input(输入起始时刻t1=);
t0=input(输入跳变时刻t0=);
t2=input(输入终止时刻t2=);
t=t1:0.001:t2;
n=length(t);
tt=t1:0.001:t0;
n1=length(tt);
x=zeros(1,n);
x(n1)=1/0.001;
plot(t,x),grid on
title(单位冲激信号)
axis([t1 t2 -0.2 1.1])
1.4连续时间信号的时域运算
如前所述,MATLAB可以用向量或符号两种方法来表示连续信号,而只能用向量表示离散信号,单用符号运算的方法进行连续信号的时域运算较为方便。
用MATLAB的符号运算命令来表示连续信号的时域运算,然后用“ezplot”命令绘制出其结果波形图。在下面的命令中,f,f1,f2都是用符号表达式表达的连续信号,s为运算结果信号的符号表达式,t0和a均为常数。
1.4.1 相加
1.4.2 相乘
1.4.3 平移若f(t)表达式的自变量t更换为(t+)(为正或负实数),则f(t+)相当于f(t)波形在t轴上的整体移动,当0时,波形左移,当0时,波形右移。
1.4.4 反褶信号反褶表示将f(t)的自变量t更换为-t,此时f(-t)的波形相当于将f(t)以t=0为轴反褶过来。
1.4.5 尺度如果将信号f(t)的自变量t乘以正实系数a,则信号波形f(at)将是f(t)波形的压缩(a1)或扩展(a1)。
相加:s=f1+f2,ezplot(s)
相乘:s=f1*f2,ezplot(s)
平移:s=subs(f,t,t-t0) ,ezplot(s)
反褶:s=subs(f,t,-t) ,ezplot(s)
尺度:s=subs(f,t,a*t) ,ezplot(s)
实现方法论述具体实现方法及编程思路,以及具体程序的编制。
t1=input(输入起始时刻t1=);
t0=input(输入跳变时刻t0=);
t2=input(输入终止时刻t2=);
t=t1:0.001:t2;
n=length(t);
tt=t1:0.001:t0;
n1=length(tt);
x=zeros(1,n);
x(n1)=1/0.001;
plot(t,x),grid on
title(单位冲激信号)
axis([t1 t2 -0.2 1.1])
f(t) =Au(t- );
编程思路:建立一个单位阶跃信号,对该信号进行平移运算并乘以一个幅度值。
代码如下:
function f=u(t)
f=(t0);
clear
close all
A=input(输入幅度值A=);
t0=input(输入跳变值t
文档评论(0)