用MATLAB实现常用的连续时间信号及其时域运算文档格式.docx
- 文档编号:16054062
- 上传时间:2022-11-18
- 格式:DOCX
- 页数:12
- 大小:92.75KB
用MATLAB实现常用的连续时间信号及其时域运算文档格式.docx
《用MATLAB实现常用的连续时间信号及其时域运算文档格式.docx》由会员分享,可在线阅读,更多相关《用MATLAB实现常用的连续时间信号及其时域运算文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
c.f(1-2t)。
图7.6任务②中的f(t)
3.思考题
编制一通用程序用于产生信号
,要求对于任意给定的参数都能实现所要求的信号。
二.基本原理
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:
跳变时刻
functionu(t1,t0,t2)
t=t1:
0.01:
t2;
%步长值越小,图形越精确
n=length(t);
tt=t0:
n1=length(tt);
x=[zeros(1,n-n1),ones(1,n1)];
%产生单位阶跃信号
stairs(t,x),gridon
title('
单位阶跃信号'
)
axis([t1t2-0.21.1])%为方便波形顶部避开图框,改变图框坐标
1.3单位冲激信号
单位冲激信号是持续时间无穷小、瞬间幅度无穷大、涵盖面积恒1的理想信号。
记为
,其表达式为
严格说来,MATLAB是不能表示单位冲击信号的,但我们可以用时间宽度为dt、高度为1/dt的矩形脉冲来近似地表示冲激信号。
当dt趋近零时,就较好地近似出冲激信号的实际波形。
用MATLAB实现单位冲激信号:
clear
t1=input('
输入起始时刻t1='
);
t0=input('
输入跳变时刻t0='
t2=input('
输入终止时刻t2='
0.001:
tt=t1:
t0;
x=zeros(1,n);
x(n1)=1/0.001;
plot(t,x),gridon
单位冲激信号'
axis([t1t2-0.21.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)波形的压缩(a>
1)或扩展(a<
1)。
相加:
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)
三.实现方法
论述具体实现方法及编程思路,以及具体程序的编制。
1.任务①
a.f(t)=δ(t-
编程思路:
建立一个单位冲激信号,对该信号进行平移运算。
代码如下:
b.f(t)=Au(t-
建立一个单位阶跃信号,对该信号进行平移运算并乘以一个幅度值。
functionf=u(t)
f=(t>
0);
clear
closeall
A=input('
输入幅度值A='
输入跳变值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”命令绘制出其结果图。
symst
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)'
建立一个幅值为A的指数信号
,一个余弦信号
和一个平移值为
的单位阶跃信号
,然后对它们进行相乘运算。
四、结果验证
任务①:
a.f(t)=δ(t-
运行结果:
图2
图3
图4
任务②:
图5
图6
图7
图8
参考文献
[1]郑君里,应启珩,杨为理.信号与系统引论.北京:
高等教育出版社,2009.
[2]李敏,陈兴文.信号分析与处理的软硬件实现.大连:
海事大学出版社,2014.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 实现 常用 连续 时间 信号 及其 时域 运算