实验一信号在MATLAB中的表示一、实验目的1、掌握运用MATLAB表示常用连续和离散时间信号的方法。2、观察并熟悉这些信号的波形和特性。二、实验设备计算机、MATLAB软件三、实验内容1、连续时间信号的MATLAB表示自变量在整个区间内都有定义的信号,成为连续时间信号,简称连续信号。从严格意义上讲,MATLAB数值计算的方法并不能处理连续信号。可利用连续信号在等时间间隔点的取样值来表示近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能够被MATLAB处理,并且能较好的近似表示连续信号。①指数信号指数信号的基本形式为atAetf )(。在MATLAB中可以用exp函数来表示,其语句格式为)*exp(* taAft 。练习1:用MATLAB命令产生指数信号tetf 5367)( ,并绘制出-3 t=-3 :0 .0 1 :3 ; A=7 /6 ; a=3 /5 ; ft=A*exp(a*t); plot(t,ft) grid on;运行结果如下②正弦信号正弦信号的基本形式为)cos()( tAtf或)sin()( tAtf,分别用MATLAB内部函数cos和sin表示,其语句格式为:)*cos(* phitAft )*sin(* phitAft 练习2 :用MATLAB产生信号)62sin(2)13cos(10)( tttf,并绘制0 A1 =pi/1 0 ; A2 =2 ; w1 =pi/3 ; w2 =2 *pi; phi1 =1 ; phi2 =pi/6 ; t=0 :0 .0 1 :3 ; ft=A1 *cos(w1 *t+phi1 )+A2 *sin(w2 *t+phi2 ); plot(t,ft),grid on; axis([0 3 -3 3 ]);运行结果如下③抽样函数抽样信号的基本形式为t ttSa )sin()( ,在MATLAB中国可以用sinc(t)函数表示,其定义为t ttc )sin()(sin ,其调用形式为)(sin tcft .练习3:用MATLAB产生信号)2(3 tSaft ,并绘制时间为 66- t的波形图解:MATLAB源程序为t=-6 *pi:pi/1 0 0 :6 *pi; A=3 ; ft=A*sinc(2 *t); plot(t,ft),grid on; axis([-2 0 2 0 -1 4 ]);运行结果如下:④矩形脉冲信号矩形脉冲信号在MATLAB中用rectpuls函数表示,其调用形式为),( widthtrectpulsft 用以产生一个幅值为1,宽度为width且相对于t=0点左右对称的矩形波信号。练习4:用MATLAB画出以t=-3为对称中心的矩形脉冲信号的波形图。解:MATLAB源程序为 t=-1 0 :0 .0 1 :5 ; ft=rectpuls(t+3 ,4 ); plot(t,ft),grid on axis([-1 0 5 -0 .5 1 .5 ]);运行结果如下周期性矩形波信号或防波信号在MATLAB中可用square函数产生,其调用函数为),( DUTYtsquareft 该函数用于产生一个周期为2,幅值为1的周期性防波信号,其中DUTY参数用来表示信号的占空比DUTY%,即在一个周期内脉冲宽度(正值部分)与脉冲周期的比值。占空比默认为0 .5。练习:用MATLAB产生频率为1 0 0 Hz、占空比为4 0 %的周期方波信号。解:MATLAB源程序为t=0 :0 .0 0 1 :0 .0 5 ;ft=square(2 0 0 *pi*t,4 0 );plot(t,ft),grid onaxis([0 0 .0 5 -1 .2 1 .2 ]);运行结果如下⑤三角脉冲信号非周期型三角脉冲信号在MATLAB中用tripuls函数产生,其调用形式为),,( skewwidthttripulsft 用以产生一个幅值为1,宽度为width,且相对于t=0点左右各振凯width/2大小,斜度为skew的三角波。练习5:用MATLAB产生幅度为2、宽度为2,斜率为-1的非周期三角波信号的波形图。解:MATLAB源程序如下 t=-3 :0 .0 0 1 :3 ;ft=2 *tripuls(t,2 ,-1 );plot(t,ft),grid on axis([-3 3 -0 .5 2 .5 ]);运行结果如下周期三角波信号或锯齿波信号在MATAB中可用sawtooth函数产生,其调用格式为),( widthtsawtoothft 该函数用于产生一个周期为2,峰值为1的周期性三角波信号或锯齿波,其中,width为0、1之间的标量,制指定一个周期内最大值出现的位置,width是位置坐标与周期的比值。练习6:用MATLAB产生峰值为5,周期为1 0的周期三角波信号波形图.解:MATLAB源程序为 t=0 :0 .0 0 1 :4 0 ;ft=5 *sawtooth(pi/5 *t,0 .5 );plot(t,ft),grid on axis([0 4 0 -1 0 1 0 ]);其运行结果如下2、离散时间信号的MATLAB表示如果仅在一些离散的瞬间具有定义的信号,则称之为离散时间信号,简称离散信号或序列。离散序列通常用想x(n)或f(n)表示,自变量必须是整数。对于任意离散序列x(n),需要用连个向量来表示:一个表示n的取值范围,另一个表示序列的值。在用MATLAB绘制离散序列的图形时,需要学习用交互式方法输入经常变动的数据,并学习用线型图绘制函数stem绘制离散序列图形。①单位样值序列与单位阶跃序列在MATLAB中,单位样值序列)(n可以利用zeros( )函数实现;单位阶跃序列u(n)可以利用ones( )函数实现。②指数序列离散指数序列的一般形式为na,可以用MATLAB中的数组幂运算a.^n来实现。练习7:用MATLAB命令画出指数序列nnx 2)(的波形图。解:MATLAB源程序入下 n=0 :1 0 ; a=-1 ; A=-2 ; xn=A.^(a*n); stem(n,xn),grid on axis([0 1 0 -2 2 ]);其运行结果如下③正弦序列正弦序列定义为:)sin()( nnx练习8:用MATLAB绘制余弦序列)42cos(2)( nnx的波形图。解:MATLAB源程序为 n=1 :0 .5 :4 0 ;xn=2 *cos(pi/2 *n+pi/4 );stem(n,xn),grid on; axis([0 4 0 -2 .5 2 .5 ]);其运行结果为④随机信号的波形及分布练习9:产生均匀分布和正态分布随机数,产生均匀分布随机整数,并观察他们的波形和分布。解:MATLAB源程序如下n=5 0 0 ;xn1 =rand(1 ,n);xn2 =randn(1 ,n);xn3 =randi(n,1 ,n);subplot(3 ,2 ,1 );stem(xn1 );xlabel('n'),ylabel('x1 (n)');gridsubplot(3 ,2 ,2 ),hist(xn1 ,1 0 0 ); grid subplot(3 ,2 ,3 );stem(xn2 );xlabel('n'),ylabel('x2 (n)');gridsubplot(3 ,2 ,4 ),hist(xn2 ,1 0 0 );grid subplot(3 ,2 ,5 );stem(xn3 );xlabel('n'),ylabel('x3 (n)');gridsubplot(3 ,2 ,6 ),hist(xn3 ,1 0 0 );grid其运行结果如下练习1 0:试用MATLAB命令画出下列信号的波形图(1)y1 (t)=(2 ) y2 (n)=(-1 0 =n=1 0 )(3 )y3 (n)= imS3(-1 0 =n=1 0 )的实部
展开阅读全文