产生幅度为1,宽度为width以t=0为对称的矩形波,Width默认值为1 三角波脉冲信号
y=tripuls(t,width,skew)
信号信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。我们就分别介绍连续时间信号和离散时间信号的各种时域变换 指数序列 Aak
A*a.^k
K=0:10;A=1;a=-1.6; fk= A*a.^k; stem(k,fk)
单位脉冲序列
零矩阵函数zeros(1,N)产生一个由N个零组成的列向量, k=-50:50;
delta=[zero(1,50),1,(1,50)]; stem(k,delta)
单位阶跃序列
…0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 …
零矩阵函数zeros(1,N)产生一个由N个零组成的列向量,ones(1.N)产生一个由N个1组成的列向量
k=-50:50;
uk=[zero(1,50),ones(1,51)]; stem(k,uk)
3、连续信号的时域变换 移位
对于连续信号f(t),若有常数t0>0,延时信号f(t-t0)是将原信号沿正t轴方向平移时间t0,而f(t+t0)是将原信号沿负t轴方向移动时间t0。我们可用下面的命令来实现连续信号的平移及其结果可视化,其中f是用符号表达式表示的连续时间信号,t是符号变量,subs命令则将连续信号中的时间变量t用t-t0替换:
y=subs(f,t,t-t0); ezplot(y)
21
反折
连续信号的反折,是指将信号以纵坐标为轴反折,即将信号f(t)中的自变量t换为-t。实现如下:
y=subs(f,t,-t); ezplot(y) 尺度变换
连续信号的尺度变换,是指将信号的横坐标进行展宽或压缩变换,即将信号f(t)中的自变量t换为at,当a>1时,信号f(at)以原点为基准,沿横轴压缩到原来的1/a;当0
y=subs(f,t,*t); ezplot(y)
倒相
连续信号的倒相是指将信号f(t)以横轴为对称轴对折得到-f(t)。实现如下:
y=-f; ezplot(y)
对于以上的命令,可在画图命令之后加入坐标轴的调整的命令(即加入axis( )命令),以使画出的图形更清晰、直观。
与连续信号不同的是,在MATLAB中,离散序列的时域变换不能用符号运算来实现,而必须用向量表示的方法,即在MATLAB中离散序列的变换需表示成两个向量的变换。
六、实验报告要求:
(1)简述实验目的记实验原理。
(2)按照实验步骤上的实验过程,把重要的程序和实验结果都记录下来。 (3)总结实验中的主要结论。
22
实验三 信号卷积的MATLAB实现
一、实验名称:
信号卷积的MATLAB实现
二、实验目的:
1.增加对卷积积分的认识;
2.了解MATLAB这个软件的一些基础知识; 3.利用MATLAB计算信号卷积; 4.验证卷积的一些性质。
三、实验原理:
用MATLAB实现卷积我们先必须从信号下手,先把信号用MATLAB语句描述出来,然后再将这些信号带入到我们写好的求卷积的函数当中来计算卷积。在本章中我们将信号分为连续信号和离散序列两种来实现卷积并验证卷积的一些性质。
MATLAB强大的图形处理功能及符号运算功能,为我们实现信号的可视化提供了强有力的工具。在MATLAB中通常有两种方法来表示信号,一种是用向量来表示信号,另一种则是用符号运算的方法来表示信号。用适当的MATLAB语句表示出信号后,我们就可以利用MATLAB的绘图命令绘制出直观的信号波形。
连续时间信号,是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干不连续点以外,信号都有确定的值与之对应的信号。从严格意义上来讲,MATLAB并不能处理连续信号,在MATLAB中,是用连续信号在等时间间隔点的样值来近似地表示连续信号的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。在MATLAB中连续信号可用向量或符号运算功能来表示。 1.向量表示法
对于连续时间信号f(t),我们可以用两个行向量f和t来表示,其中向量t是行如t=t1:p:t2的MATLAB命令定义的时间范围向量,t1为信号起始时间,t2为中止时间,p为时间间隔。向量f为连续信号f(t)在向量t所定义的时间点上
23
的样值。例如对于连续信号f(t)=sin(t),我们可以用如下两个向量来表示:
t=-10:1.5:10; f=sin(t)
用上述向量对连续信号表示后,就可以用plot命令来绘出该信号的时域波形。Plot命令可将点与点间用直线连接,当点与点间的距离很小时,绘出的图形就成了光滑的曲线。命令如下:
plot(t,f) title(?f(t)=sint?) xlabel(?t?)
axis([-10,10,-1.1,1.1])
绘制的信号波形如图3.1所示,当把时间间隔p取得更小(如0.01)时,就可得到sint较好的近似波形,如图3.2所示。
图3.1 p=1.5的sint近似波形
图3.2 p=0.01的sint近似波形
24
2.符号运算表示法
如果信号可以用一个符号表达式来表示它,则我们可用ezplot命令绘制出信号的波形。例如对于连续信号f(t)= e?t/2,我们可以用符号表达式表示为:
syms t
f=sym(?exp(-t/2)?) f= exp(-t/2)
然后用ezplot命令绘制其波形:ezplot(f,[-6, 6]) 该命令绘制的信号波形如图3.3所示
图3.3 指数信号波形
利用上面两种表达方式我们可以描述出很多种连续信号,常用的信号有:阶跃信号,门信号,斜线信号,指数信号等等。 3.连续信号的时域变换
如前所述,MATLAB可以有两种方法来表示连续信号。用这两种方法均可实现连续信号的时域变换,但用符号运算的方法则较为简便。 (1).移位
对于连续信号f(t),若有常数t0>0,延时信号f(t-t0)是将原信号沿正t轴方向平移时间t0,而f(t+t0)是将原信号沿负t轴方向移动时间t0。我们可用下面的命令来实现连续信号的平移及其结果可视化,其中f是用符号表达式表示的连续时间信号,t是符号变量,subs命令则将连续信号中的时间变量t用t-t0替换:
y=subs(f,t,t-t0); ezplot(y)
25