用MATLAB实现常用的连续时间信号及其时域运算_第1页
用MATLAB实现常用的连续时间信号及其时域运算_第2页
用MATLAB实现常用的连续时间信号及其时域运算_第3页
用MATLAB实现常用的连续时间信号及其时域运算_第4页
用MATLAB实现常用的连续时间信号及其时域运算_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——用MATLAB实现常用的连续时间信号及其时域运算用MATLAB实现常用的连续时间信号及其时域运算

信息与通信工程学院通信133班卢承慧

一.引言

1.要求:

1.1用MATLAB语言产生连续时间信号1.2对连续时间信号进行时域运算

2.任务:

①绘制用于产生以下信号的通用程序,要求对于任意给定的参数都能实现所要求的信号。调试并运行这些程序,具体产生由指导教师制定的信号并绘制信号波形。

a.f(t)=δ(t-t0);

b.f(t)=Au(t-t0)。

②已知信号波形如图7.6所示,使用MATLAB语言求出以下信号的表达式并绘制出各信号波形。

a.f(-t);b.f(t-2);c.f(1-2t)。

图7.6任务②中的f(t)

3.思考题

编制一通用程序用于产生信号

f(t)?Ae?atcos(?t)u(t?t0),要求

对于任意给定的参数都能实现所要求的信号。

二.基本原理

1.1连续时间信号

假使在所探讨的时间间隔内,除若干个不连续点之外,对于任意时间值都可以给出确定的函数值,此信号就称为连续信号。

从严格意义上来讲,MATLAB不能处理连续时间信号。在MATLAB中,使用连续时间信号在等时间间隔点的样值来近似表示连续时间信号的。当取样时间间隔足够小时,这些离散的样值就能较好的近似出连续时间信号。由于在MATLAB中,矩阵的元素个数是有限的,因此MATLAB无法表示无限序列。

MATLAB的绘图命令有好多种,其中比较常用的绘制连续时间信号的绘图命令有“plot〞,“stairs〞,“ezplot〞等。“plot〞适用于绘制平滑的曲线,而“stairs〞适合于绘制具有阶跃形式的图形,“ezplot〞只能用于符号函数的绘图。

1.2单位阶跃信号

单位阶跃信号的波形图如图1所示,寻常以符号u(t)表示

?0(t?0)u(t)??

1(t?0)?在跳变点t=0处,函数未定义,或在t=0处规定函数值u(0)=

1。2

图1

用MATLAB实现单位阶跃信号

%t1:起始时刻;t2:终止时刻;t0:跳变时刻

functionu(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),gridontitle('单位阶跃信号')

axis([t1t2-0.21.1])%为便利波形顶部避开图框,改变图框坐标

1.3单位冲激信号

单位冲激信号是持续时间无穷小、瞬间幅度无穷大、涵盖面积恒1的理想信号。记为?(t),其表达式为

?????(t)dt?1f(t)????

??(t)?0(当t?0)?严格说来,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),gridontitle('单位冲激信号')axis([t1t2-0.21.1])

1.4连续时间信号的时域运算

如前所述,MATLAB可以用向量或符号两种方法来表示连续信号,而只能用向量表示离散信号,单用符号运算的方法进行连续信号的时域运算较为便利。用MATLAB的符号运算命令来表示连续信号的时域运算,然后用“ezplot〞命令绘制出其结果波形图。在下面的命令中,f,f1,f2都是用符号表达式表达的连续信号,s为运算结果信号的符号表达式,t0和a均为常数。

1.4.1相加

f1(t)?f2(t)

1.4.2相乘

f1(t)?f2(t)

1.4.3平移

?t0?0,左移f(t)?f(t?t0)?

t?0,右移?0若f(t)表达式的自变量t更换为(t+t0)(t0为正或负实数),则f(t+t0)相当于f(t)波形在t轴上的整体移动,当t0>0时,波形左移,当t01)或扩展(a值。

代码如下:

functionf=u(t)f=(t>0);clearcloseall

A=input('输入幅度值A=');t0=input('输入跳变值t0=');symst

f=sym('u(t)');f1=A*f;

y=subs(f1,t,t-t0)ezplot(y,[-3,3])

2.任务②:

编程思路:根据图7.6写出f(t)=2u(t)-u(t-1)-u(t-2),用符号运算命令来表示以下连续信号的时域运算,然后用“ezplot〞命令绘制出其结果图。

a.f(-t);b.f(t-2);c.f(1-2t)。

代码如下:

functionf=u(t)f=(t>0);symst

f=sym('2*u(t)-u(t-1)-u(t-2)');

subplot(2,2,1),ezplot(f,[-3,3]),gridon,title('f(t)')y1=subs(f,t,-t);

subplot(2,2,2),ezplot(y1,[-3,3]),gridon,title('f(-t)')y2=subs(f,t,t-2);

subplot(2,2,3),ezplot(y2,[-3,3]),gridon,title('f(t-2)')y3=subs(f,t,1-2*t);

subplot(2,2,4),ezplot(y3,[-3,3]),gridon,title('f(1-2t)')

3.思考题

编程思路:建立一个幅值为A的指数信号和一个平移值为t0的单位阶跃信号u(t代码如下:

?t)一个余弦信号cos(Ae?at,

?t0),然后对它们进行相乘运算。

四、结果验证

任务①:

a.f(t)=δ(t-t0);

运行结果:

图1

图2

b.f(t)=Au

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论