实验二Word格式.docx
- 文档编号:22214482
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:17
- 大小:52.79KB
实验二Word格式.docx
《实验二Word格式.docx》由会员分享,可在线阅读,更多相关《实验二Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
如果信号可以用一个符号表达式来表示它,则我们可用ezplot命令绘制出信号的波形。
例如对于连续信号f(t)=
,我们可以用符号表达式表示为:
symst
f=sym(‘exp(-t/2)’)
f=exp(-t/2)
然后用ezplot命令绘制其波形:
ezplot(f,[-6,6])
该命令绘制的信号波形如图3.3所示
图3指数信号波形
例:
对于连续信号f(t)=sin(πt/4)
我们可用ezplot命令(缺省的区间为[-2*pi,2*pi])绘制出信号的波形,我们可以用符号表达式表示为:
f=
sin(pi/4*t);
ezplot(f,[-16,16]);
该命令绘制的信号波形如图2所示,f=sym(‘sin(pi/4*t)’);
利用上面两种表达方式我们可以描述出很多种连续信号,常用的信号有:
阶跃信号,门信号,斜线信号,指数信号等等。
上机练习:
用以下程序可产生正弦波:
t=0:
0.001:
50;
y=sin(2*pi*50*t);
plot(t(1:
50),y(1:
50));
用以下程序可产生加入随机噪声的正弦波:
s=y+randn(size(t));
50),s(1:
用以下程序可产生周期方波:
2.5;
y=square(2*pi*30*t);
50))
用以下程序可产生周期锯齿波:
y=sawtooth(2*pi*30*t);
plot(t,y);
axis([00.2–11]);
用以下程序可产生sinc函数:
x=linspace(-5,5);
y=sinc(x);
plot(x,y);
用以下程序可产生Dirichlet函数:
x=linspace(0,4*pi,300);
y1=diric(x,7);
y2=diric(x,8);
subplot(1,2,1);
plot(x,y1);
subplot(1,2,2);
plot(x,y2);
2、离散时间信号
一般说来,离散时间信号用f(k)表示,其中变量k为整数,代表离散的采样时间点。
f(k)可表示为:
f(k)={...f(-2),f(-1),f(0),f
(1),f
(2)…}
↑k=0
在MATLAB中,用一个向量f即可表示一个有限长度的序列。
但是,这样的向量并没有包含其对应的时间序号信息。
所以,要完整地表示一个离散信号需要用两个向量。
如序列:
f(k)={1,2,-1,3,2,4,-1}
↑k=0
在MATLAB中应表示为:
k=[-3,-2,-1,0,1,2,3]或是k=-3:
3;
f=[1,2,-1,3,2,4,-1]
在用MATLAB表示离散序列并将其可视化时,我们要注意以下几点:
第一,与连续时间信号不同,离散时间信号无法用符号运算来表示;
第二,由于在MATLAB中,矩阵的元素个数是有限的,因此,MATLAB无法表示无限序列;
第三,在绘制离散信号波形时,要使用专门绘制离散数据的stem命令,而不是plot命令。
如对于上面定义的二向量f和k,可用如下stem命令绘图:
stem(k,f),得到对应序列波形图,如图4所示。
图4随机序列的波形
同样的,单位阶跃序列,正弦序列,离散时间指数序列等的离散信号我们都可以用类似的方法描述并绘制出图形。
本节使用了plot、stem和ezplot这几个绘图命令(显示连续信号中的不连续点用stairs命令绘图),在绘制连续信号时要得到光滑曲线用plot命令;
绘制离散信号则要用stem命令;
绘制用MATLAB符号表达式表示的信号用ezplot命令。
自己选择一些典型信号进行练习;
3、信号的时域变换
信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。
我们就分别介绍连续时间信号和离散时间信号的各种时域变换[11]。
(1)、连续信号的时域变换
如前所述,MATLAB可以有两种方法来表示连续信号。
用这两种方法均可实现连续信号的时域变换,但用符号运算的方法则较为简便。
①移位
对于连续信号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)
②反折
连续信号的反折,是指将信号以纵坐标为轴反折,即将信号f(t)中的自变量t换为-t。
实现如下:
y=subs(f,t,-t);
③尺度变换
连续信号的尺度变换,是指将信号的横坐标进行展宽或压缩变换,即将信号f(t)中的自变量t换为at,当a>
1时,信号f(at)以原点为基准,沿横轴压缩到原来的1/a;
当0<
a<
1时,就展宽至原来的1/a倍。
y=subs(f,t,*t);
④倒相
连续信号的倒相是指将信号f(t)以横轴为对称轴对折得到-f(t)。
y=-f;
对于以上的命令,可在画图命令之后加入坐标轴的调整的命令(即加入axis()命令),以使画出的图形更清晰、直观。
四、实验内容:
1、在MATLAB中连续信号的向量或符号运算功能来表示
严格意义上来讲,MATLAB并不能处理连续信号,在MATLAB中,是用连续信号在等时间间隔点的样值来近似地表示连续信号的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。
向量f为连续信号f(t)在向量t所定义的时间点上的样值,例如对于连续信号f(t)=sin(t),我们可以用如下两个向量来表示:
⏹plot(t,f)
⏹title(‘f(t)=sint’)
⏹xlabel(‘t’)
⏹axis([-10,10,-1.1,1.1])
(2)符号运算表示法
例如对于连续信号f(t)=,我们可以用符号表达式表示为:
2、在MATLAB中离散时间信号描述:
所以,要完整地表示一个离散信号需要用两个向量,如序列:
第三,在绘制离散信号波形时,要使用专门绘制离散数据的stem命令,而不是plot命令
3、典型连续信号的时域表示方法,用MATLAB绘制图形
(1)单边指数信号
;
functiony=exp1_exp(t1,t2,dt,A,a,options)
%指数函数,其中t1,t2,dt分别为起始时间、终止时间和时间间隔
%A,a为常数y(t)=Aexp(a*t)
%options参数等于1时为单边指数函数,其他时为双边指数函数
%函数调用的格式y=exp1_exp(-10,10,0.1,3,-1,1)
ifoptions==1
t=0:
dt:
t2;
%单边指数函数时间范围
else
t=t1:
%双边指数函数时间范围
end
y=A*exp(a*t);
%指数函数
plot(t,y)%画图
gridon
xlabel('
t'
)%X轴坐标
ylabel('
y(t)'
)%Y轴坐标
title('
单边指数信号'
)%标题
指数信号'
实验要求:
1)在同一张图上画出a>
0,a=0,a<
0时指数函数波形,如图3所示
图3指数函数
2)提示:
在命令窗口设置holdon命令,可以在同一张图上画出多条曲线
(2)单位冲激信号
function[t,y]=exp1_impulse(t1,t2,dt,t0)
%单位冲激信号,其中t1,t2,dt分别为起始时间、终止时间和时间间隔
%t0为冲激点
%函数调用格式:
[t,y]=exp1_impulse(-10,10,0.1,0);
t=t1:
n=length(t);
y=zeros(1,n);
y(1,(t0-t1)/dt+1)=1/dt;
stairs(t,y);
)
title('
单位冲激信号'
1)要求产生冲激点在X处的单位冲激函数,其中X为自己的学号中最后两位;
(2)要求画出图形
(3)单位阶跃信号
function[t,y]=exp1_step(t1,t2,dt,t0)
%单位阶跃信号,其中t1,t2,dt分别为起始时间、终止时间和时间间隔
%t0为阶跃跳变点
[t,y]=exp1_step(-10,10,0.1,3);
tt1=t1:
t0;
tt2=t0:
nn1=length(tt1);
%length函数测量变量tt1长度
nn2=length(tt2);
y1=zeros(1,nn1);
%产生1行,nn1列的零数据矩阵
y2=ones(1,nn2);
;
%产生1行,nn2列的数据矩阵,矩阵元素为1
t=[tt1tt2];
y=[y1y2];
plot(t,y)
axis
单位阶跃信号y(t)'
xy_axis=axis;
axis([xy_axis(1:
2)1.5*xy_axis(3:
4)-0.1])
1)要求产生阶跃跳变点在X处的单位阶跃函数,其中X为自己的学号中最后两位;
(4)矩形脉冲信号
function[t,y]=exp1_rectimpulse(E,width,T1,T2,dt,T0)
%矩形脉冲信号,其中T1,T2,dt分别为起始时间、终止时间和时间间隔
%T0为阶跃跳变点
[t,y]=exp1_rectimpulse(10,1,-10,10,0.1,2);
t=T1:
T2;
y=E*rectpuls(t-T0,width);
矩形脉冲信号'
1)要求产生矩形脉冲幅值为X,脉宽为2,脉冲中心点为X的矩形脉冲信号,其中X为自己的学号中最后两位;
(5)正弦信号
function[t,y]=exp1_sin(t1,t2,dt,A,w)
%正弦信号,,其中t1,t2,dt分别为起始时间、终止时间和时间间隔
%A,W为幅度和角频率参数
[t,y]=exp1_sin(-10,10,0.1,10,1);
y=A*sin(w*t);
正弦信号'
1)要求产生矩形脉冲幅值为X,角频率为2的正弦信号,其中X为自己的学号中最后两位;
(6)单位序列
function[n,y]=exp1_dimpluse(k1,k2,dt,k0)
%离散单位冲激信号,其中k1,k2,dt分别为起始时间、终止时间和时间间隔,dt要求为整数
%k0为冲激点
[n,y]=exp1_dimpluse(-10,10,1,0);
n=k1:
k2;
nl=length(n);
y=zeros(1,nl);
y(1,round((k0-k1)/dt)+1)=1;
stem(n,y,'
filled'
单位冲激序列'
2)要求画出图形
(7)单位阶跃序列
function[n,y]=exp1_dstep(k1,k2,k0)
%离散单位阶跃信号,其中k1,k2分别为起始时间、终止时间,默认时间间隔为1
%k0为阶跃跳变点
[n,y]=exp1_dstep(-10,10,3);
k=k1:
-k0-1;
kk=-k0:
n=length(k);
nn=length(kk);
u=zeros(1,n);
uu=ones(1,nn);
n=[kkk];
y=[uuu];
单位阶跃序列'
(8)单位矩形序列
function[n,y]=exp1_drectimpulse(k1,k2,k0,width,E)
%离散矩形脉冲信号,其中k1,k2分别为起始时间、终止时间,默认时间间隔为1
%E高度,width脉宽
[n,y]=exp1_drectimpulse(-10,10,0,1,3);
k0-1;
kk=k0:
width+k0;
kkk=width+k0+1:
k2
nnn=length(kkk);
uu=E*ones(1,nn);
uuu=zeros(1,nnn);
n=[kkkkkk];
y=[uuuuuu];
单位矩形序列'
(9)指数序列
functionexp1_dexp(c,a,k1,k2)
%c:
指数序列的幅度
%a:
指数序列的底数
%k1:
绘制序列的起始序号
%k2:
绘制序列的终止序号
%c=1;
a=2;
k1=-2;
k2=10;
x=c*(a.^k);
stem(k,x,'
holdon
plot([k1,k2],[0,0])
holdoff
指数序列'
n'
f(n)'
(10)正弦序列
functionexp1_dsin(A,w,k1,k2)
%离散正弦信号,,其中k1,k2分别为起始时间、终止时间,默认时间间隔为1
exp1_dsin(5,0.25,-30,30);
stem(k,A*sin(k*w),'
离散时间正弦序列f(n)=Asin(wn)'
4、连续信号的时域变换
信号信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。
我们就分别介绍连续时间信号和离散时间信号的各种时域变换
(1)移位
(2)反折
(3)尺度变换
y=subs(f,t,a*t);
(4)倒相
五、实验要求:
1.按照实验指导书中的内容自己练习一遍;
重新设置参数,例如:
频率、周期、幅值、相位等,按实验指导书上的内容做一遍;
2.按照要求实现实验内容
3.熟悉MATLAB软件使用环境、启动及退出等;
熟悉MATLAB软件的常用命令的使用;
4.规范化的书写实验报告。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验