实验一----信号的MATLAB表示及信号的运算
- 格式:docx
- 大小:108.79 KB
- 文档页数:9
信号与信号实验MATLAB 部分实验一:基本信号在MATLAB 中的表示和运算 一、 实验目的;1、学会用MATLAB 表示常用连续信号的方法;2、学会用MATLAB 进行信号基本运算的方法;3、学会用MATLAB 实现连续时间信号的卷积的方法。
二、 实验内容:1、绘出下列信号的时域波形(1)f(t)=(2-e-2t)u(t) (2)f(t)=cos(πt)[u(t)-u(t-1)] (3)f(t)=u(-3t+2) (4)f(t)= -(1/2)tu(t+2) 解:t1=0:0.01:5; y1=(2-exp(-2*t1)).*(t1>0); subplot(221);plot(t1,y1);grid; title('f(t)=(2-e-2t)u(t)'); t2=0:0.01:5; y2=cos(pi*t2).*((t2>0)-(t2>1)); subplot(222);plot(t2,y2);grid; title('f(t)=cos(πt)[u(t)-u(t-1)]'); t3=-2:0.01:5; y3=(-3*t3+2>0); subplot(223);plot(t3,y3);grid; title('f(t)=u(-3t+2)'); t4=-3:0.01:5; y4=(-1/2)*t4.*(t4>-2); subplot(224);plot(t4,y4);grid; title('f(t)=-(1/2)tu(t+2)');00.511.52f(t)=(2-e-2t)u(t)图 1-1f(t)=cos(πt)[u(t)-u(t-1)]图1-200.51f(t)=u(-3t+2)图1-3f(t)=-(1/2)tu(t+2)图 1-42、用MATLAB 绘出下列信号的卷积积分f1(t)*f2(t)的时域波形(1) f1(t)=tu(t), f2(t)=u(t) (2) f1(t)=u(t)-u(t-4), f2(t)=sin(πt)u(t) (3) f1(t)= e-2t u(t), f2(t)= e-t u(t) (4) f1(t)= e-t u(t), f2(t)=u(t) 解:(1)fs=1000; t=-1:1/fs:4; x1=stepfun(t,0); x2=x1.*t; y=conv(x1,x2)/fs; n=length(y1); tt=(0:n-1)/fs-2; subplot(311),plot(t,x1),grid; title('f1(t)=tu(t)'); subplot(312),plot(t,x2),grid; title(' f2(t)=u(t)'); subplot(313),plot(tt,y),grid on; title('f1(t) * f2(t)');(2)fs=1000; t=-1:1/fs:4; x1=(t>0)-(t>4); x2=sin(pi*t).*(t>0); x=conv(x1,x2)/fs; n=length(x); tt=(0:n-1)/fs-2; subplot(311);plot(t,x1);grid; title('f1(t)=u(t)-u(t-4))'); subplot(312);plot(t,x2);grid; title('f2(t)=sin(πt)u(t)'); subplot(313);plot(tt,x);grid; title('f1(t) * f2');(3)t=0:1/fs:4; x1=exp(-2*t).*(t>0); x2=exp(-t).*(t>0); x=conv(x1,x2)/fs; n=length(x); tt=(0:n-1)/fs-0; subplot(311);plot(t,x1);grid; title('f1(t)= e-2t u(t)'); subplot(312);plot(t,x2);grid; title('f2(t)= e-t u(t)'); subplot(313);plot(tt,x);grid; title('f1(t) * f2(t)');(4)t=0:1/fs:2; x1=exp(-2*t).*(t>0); x2=(t>0); x=conv(x1,x2)/fs; n=length(x); tt=(0:n-1)/fs-0; subplot(311);plot(t,x1);grid; title(' f1(t)= e-t u(t))'); subplot(312);plot(t,x2);grid; title('f2(t)=u(t)'); subplot(313);plot(tt,x);grid; title('f1(t)*f2(t)');0.51 1.52 2.53 3.540.51 1.52 2.53 3.5412345678-1 -0.5 00.51 1.52 2.53 3.54? 2-1 -1 -0.5 00.51 1.52 2.53 3.54? 2-2 -2-112 3 4 5678? 2-3实验二:连续时间LTI 系统的时域分析一、实验目的:学会用MATLAB 求解连续系统的零状态响应、冲击响应和阶跃响应。
实验一:基本信号在MATLAB 中的表示和运算学院:机电与信息工程学院班级:电气10-4班学号:1010420427 姓名:徐焕超一、实验目的:1. 学会用MATLAB 表示常用连续信号的方法;2. 学会用MATLAB 进行信号基本运算的方法。
二、实验原理:1. 连续信号的MATLAB 表示MATLAB 提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。
表示连续时间信号有两种方法,一是数值法,二是符号法。
数值法是定义某一时间范围和取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形;符号法是利用MA TLAB 的符号运算功能,需定义符号变量和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。
2. 信号基本运算的MATLAB 实现信号基本运算是乘法、加法、尺度、反转、平移、微分、积分,实现方法有数值法和符号法。
三、实验内容:1.验证实验原理中程序例1-1 指数信号,绘出波形如图1-1示:图1-1 图1-2例1-2 正弦信号,绘出波形如图1-2示:图1-3 图1-4例1-3 抽样信号,绘出波形如图1-3示:例1-4 三角信号,绘出波形如图1-4示:例1-5 虚指数信号,绘出波形如图1-5示:图1-5 图1-6例1-6 复指数信号,绘出波形如图1-6示:例1-7 矩形脉冲信号,绘出波形如图1-7示:例1-8 单位阶跃信号,绘出波形如图1-8示:图1-7 图1-8例1-9 正弦信号符号算法,绘出波形如图1-9示:例1-10 单位阶跃信号,绘出波形如图1-10示:图1-9 图1-10例1-11 以f(t)为三角信号为例,求f(2t) , f(2-2t),波形如图1-11所示:例1-12 已知f1(t)=sinwt , f2(t)=sin8wt , w=2pi , 求f1(t)+f2(t)和f1(t)f2(t) 的波形图图1-11 图1-12 例 1-13 求一阶导数的例题,结果如下示:dy1 =2*a*x*cos(a*x^2)dy2 =sin(x) + log(x)*sin(x) + x*cos(x)*log(x)例1-14 求积分的例题,结果如下:iy3 =x^(3/2)/3 - (a*x^3)/3 + x^6/6iy4 =exp(1)/2 - 12.画出信号波形(1)f(t)=(2-exp(-2t))*u(t)(2)f(t)=(1+cos(pi*t))[u(t)-u(t-2)]程序代码如下:t=-1:0.01:5;f1=(t>=0);f2=2-exp(-2*t);f3=(t-2>=0);f4=1+cos(pi*t);subplot(211)plot(t,f1,':',t,-f1,':',t,f1.*f2)grid on,title('f(t)=(2-exp(-2t))*u(t)');subplot(212)plot(t,f1,':',t,-f1,':',t,f4.*(f1-f3))grid on,title('f(t)=(1+cos(pi*t))[u(t)-u(t-2)]');信号波形如下示:3.求f(2t)、f(2-t)波形。
实验一:信号的表示与信号的运算实验学时:2实验类型:综合实验要求:任选一、实验目的学习使用MATLAB产生基本信号、绘制信号波形、实现信号的基本运算,为信号分析和系统分析奠定基础。
二、相关知识点1.连续信号的产生2.离散信号的产生及基本运算三、实验原理、方法和手段MATLAB提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期矩形波信号等。
这些基本信号是信号处理的基础。
1.连续信号的产生(1)阶跃信号产生阶跃信号的MATLAB程序如下:t= -2: 0.02: 6;x=(t>=0);plot(t,x);axis([-2,6,0,1.2]);(2)指数信号产生随时间衰减的指数信号的MATLAB程序如下:t = 0: 0.001: 5;x = 2*exp(-1*t);plot(t,x);(3)正弦信号利用MATLAB提供的函数cos和sin可产生正弦和余弦信号。
产生一个幅度为2, 频率为4Hz, 相位为π/6的正弦信号的MATLAB 程序如下:f0=4;w0=2*pi*f0;t = 0: 0.001: 1;x = 2*sin(w0*t+ pi/6);plot(t,x);(4)矩形脉冲信号函数rectpulse(t,w)可产生高度为1、宽度为w 、关于t=0对称的矩形脉冲信号。
产生高度为1、宽度为4、延时2秒的矩形脉冲信号的MATLAB 程序如下:t=-2: 0.02: 6;x=rectpuls(t-2,4);plot(t,x);(5)抽样信号可使用函数sinc(x)计算抽样信号 ,函数sinc(x)的定义为 ,产生的MATLAB 程序如下: t= -10:1/500:10;x=sinc(t/pi);plot(t,x);2.离散信号的产生(1)单位脉冲序列和单位阶跃序列函数zeros(1,n) 可以生成单位脉冲序列,产生1行n 列的由0组成的矩阵。
产生单位脉冲序列的MATLAB 程序如下:k= -4: 20;x=[zeros(1,7),1,zeros(1,17)];stem(k,x)函数ones(1,n) 可以生成单位阶跃序列,产生1行n 列的由1组成的矩阵。
实验⼀信号的MATLAB表⽰及信号的运算信号的MATLAB表⽰及信号的运算⼀、实验⽬的1.掌握的MATLAB使⽤;2.掌握MATLAB⽣成信号的波形;3.掌握MATLAB分析常⽤连续信号;4.掌握信号的运算的MATLAB实现。
⼆、实验⼯具1.台式电脑⼀台;2.MATLAB7.1软件环境;三、实验内容编写程序实现下列常⽤函数,并显⽰波形。
1.正弦函数f(t)=Ksin(wt+a);2.矩形脉冲函数 f(t)=u(t)-u(t-t0);3.抽样函数sa(t)=sint/t;4.单边指数函数f(t)=Ke-t;5.已知信号f1(t)=u(t+2)-u(t-2), f2(t)=cos(2pt),⽤MATLAB绘制f1t)+f2(t)和f1(t)*f2(t)的波形。
四、实验要求预习信号的时域运算和时域变换(相加、相乘、移位、反折、尺度变化、例项)相关知识。
五、实验原理在某⼀时间区间内,除若⼲个不连续的点外,如果任意时刻都可以给出确定的函数值,则称信号为连续时间信号,简称为连续信号。
MATLAB提供了⼤量⽣成基本信号的函数,所以可利⽤连续信号在等时间间隔点的取值来近似表⽰连续信号,这些离散的数值能被MATLAB处理,并显⽰出来。
六、实验步骤1.打开MATLAB7.1软件,并在⽼师的指导和带领下逐步熟悉此软件;2.编写正弦函数程序:clear all;t=-8:.01:8;k=2;w=1;a=pi/4;f=k*sin(w*t+a);plot(t,f);grid;xlabel('t');ylabel('f(t)');axis([-8 8 -3 3]);3.编写矩形脉冲信号函数程序:clear all;t=-4:0.001:4;T=1;f1=rectpuls(t,4*T);f2=cos(2*pi*t);plot(t,f2+f1);axis([-4 4 -1.5 2.5]);grid on;figureplot(t,f2.*f1);axis([-4 4 -1.5 1.5]);grid on;4.编写抽样函数信号程序:clear all;t=-9:0.1:9;%f=sinc(t);f=sin(t)./t;plot(t,f);grid;xlabel('t');ylabel('Sa(t)');axis([-9 9 -0.4 1.3]) 5.编写单边指数信号程序:clear all;t=0:0.001:10;k=0.5;a=4;f=k*exp(-a*t);plot(t,f);grid;xlabel('t');ylabel('f(t)');6.编写f1t)+f2(t)信号程序7.编写f1t)*f2(t)信号程序七、实验结果⼋、实验结论在对MATLAB7.1软件进⾏了初步的认识和了解后,根据⽼师上课所说的⼀些⽅法和要求,我写出了本实验所要求的⼏个程序,并正确的显⽰出了波形,本实验基本取得成功。
一.实验目的1.学会用MATLAB 表示常用连续信号的方法;2.学会用MATLAB 进行信号基本运算的方法; 二.实验原理与步骤 原理:1.信号的MATLAB 表示 (1)向量表示法对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t =的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔。
向量f 为连续信号f(t)在向量t 所定义的时间点上的样值。
例如:对于连续信号sin()()()t f t Sa t t==,同时用绘图命令plot()函数绘制其波形。
其程序如下: t2=-10:0.1:10; %定义时间t 的取值范围:-10~10,取样间隔为0.1,%则t2是一个维数为201的行向量 f2=sin(t2)./t2; %定义信号表达式,求出对应采样点上的样值 %同时生成与向量t2维数相同的行向量f2 figure(2); %打开图形窗口2Plot(t2,f2); %以t2为横坐标,f2为纵坐标绘制f2的波形 运行结果如下:(2)符号运算表示法如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专用绘图命令ezplot()等函数来绘出信号的波形。
例如:对于连续信号sin()()()t f t Sa t t==,我们也可以用符号表达式来表示它,同时用ezplot()命令绘出其波形。
其MATLAB 程序如下: Syms t; %符号变量说明f=sin (t )/t; %定义函数表达式ezplot (f,[-10,10]); %绘制波形,并且设置坐标轴显示范围 运行结果如下:(3)常见信号的MATLAB 表示 单位阶跃信号:方法一:调用Heaviside(t)函数首先定义函数Heaviside(t)的m函数文件,该文件名应与函数名同名即Heaviside.m。
%定义函数文件,函数名为Heaviside,输入变量为x,输出变量为yfunction y=Heaviside(t)y=(t>0);%定义函数体,即函数所执行指令%此处定义t>0时y=1,t<=0时y=0,注意与实际的阶跃信号定义的区别。
实验1 信号的时域描述与运算一、实验目的1. 掌握信号的MATLAB 表示及其可视化方法。
2. 掌握信号基本时域运算的MATLAB 实现方法。
3. 利用MATLAB 分析常用信号,加深对信号时域特性的理解。
二、实验原理与方法1. 连续时间信号的MATLAB 表示连续时间信号指的是在连续时间范围内有定义的信号,即除了若干个不连续点外,在任何时刻信号都有定义。
在MATLAB 中连续时间信号可以用两种方法来表示,即向量表示法和符号对象表示法。
从严格意义上来说,MATLAB 并不能处理连续时间信号,在MATLAB 中连续时间信号是用等时间间隔采样后的采样值来近似表示的,当采样间隔足够小时,这些采样值就可以很好地近似表示出连续时间信号,这种表示方法称为向量表示法。
表示一个连续时间信号需要使用两个向量,其中一个向量用于表示信号的时间范围,另一个向量表示连续时间信号在该时间范围内的采样值。
例如一个正弦信号可以表示如下:>> t=0:0.01:10; >> x=sin(t);利用plot(t,x)命令可以绘制上述信号的时域波形,如图1所示。
如果连续时间信号可以用表达式来描述,则还可以采用符号表达式來表示信号。
例如对于上述正弦信号,可以用符号对象表示如下:>> x=sin(t); >> ezplot(X);利用ezplot(x)命令可以绘制上述信号的时域波形012345678910-1-0.8-0.6-0.4-0.200.20.40.60.81Time(seconds)图1 利用向量表示连续时间信号-6-4-20246-1-0.50.51t图 2 利用符号对象表示连续时间信号sin(t)常用的信号产生函数 函数名 功能 函数名 功能 heaviside 单位阶跃函数 rectpuls 门函数sin 正弦函数 tripuls 三角脉冲函数 cos 余弦函数 square 周期方波sinc sinc 函数 sawtooth周期锯齿波或三角波 exp 指数函数2.连续时间信号的时域运算对连续时间信号的运算包括两信号相加、相乘、微分、积分,以及位移、反转、尺度变换(尺度伸缩)等。
实验一 常见信号的MATLAB 表示及运算一、实验目的1.熟悉常见信号的意义、特性及波形2.学会使用MATLAB 表示信号的方法并绘制信号波形3. 掌握使用MATLAB 进行信号基本运算的指令二、实验原理信号一般是随时间而变化的某些物理量。
按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用()f t 和()f k 来表示。
若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。
MATLAB 强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。
根据MATLAB 的数值计算功能和符号运算功能,在MATLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。
在采用适当的MATLAB 语句表示出信号后,就可以利用MATLAB 中的绘图命令绘制出直观的信号波形了。
下面只介绍连续时间信号的MATLAB 表示及其波形绘制方法。
连续时间信号所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应。
从严格意义上讲,MATLAB 并不能处理连续信号。
在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。
在MATLAB 中连续信号可用向量或符号运算功能来表示。
⑴ 向量表示法对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t =的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔。
向量f 为连续信号()f t 在向量t 所定义的时间点上的样值。
例如:对于连续信号sin()()()t f t Sa t t== ,我们可以将它表示成行向量形式,同时用绘图命令plot()函数绘制其波形。
实验一----信号的MATLAB表示及信号的运算
信号的MATLAB表示及信号的运算
一、实验目的
1.掌握的MATLAB使用;
2.掌握MATLAB生成信号的波形;
3.掌握MATLAB分析常用连续信号;
4.掌握信号的运算的MATLAB实现。
二、实验工具
1.台式电脑一台;
2.MATLAB7.1软件环境;
三、实验内容
编写程序实现下列常用函数,并显示波形。
1.正弦函数 f(t)=Ksin(wt+a);
2.矩形脉冲函数f(t)=u(t)-u(t-t0);
3.抽样函数 sa(t)=sint/t;
4.单边指数函数 f(t)=Ke-t;
5.已知信号f1(t)=u(t+2)-u(t-2), f2(t)=cos(2pt),用MATLAB绘制f1t)+f2(t)和f1(t)*f2(t)的波形。
四、实验要求
预习信号的时域运算和时域变换(相加、相乘、移位、反折、尺度变化、例项)相关知识。
五、实验原理
在某一时间区间内,除若干个不连续的点外,如果任意时刻都可以给出确定的函数值,则称信号为连续时间信号,简称为连续信号。
MATLAB提供了大量生成基本信号的函数,所以可利用连续信号在等时间间隔点的取值来近似表示连续信号,这些离散的数值能被MATLAB处理,并显示出来。
六、实验步骤
1.打开MATLAB7.1软件,并在老师的指导和带领下逐步熟悉此软件;
2.编写正弦函数程序:
clear all;
t=-8:.01:8;
k=2;w=1;a=pi/4;
f=k*sin(w*t+a);
plot(t,f);
grid;
xlabel('t');
ylabel('f(t)');
axis([-8 8 -3 3]);
3.编写矩形脉冲信号函数程序:
clear all;
t=-4:0.001:4;
T=1;
f1=rectpuls(t,4*T); f2=cos(2*pi*t);
plot(t,f2+f1);
axis([-4 4 -1.5 2.5]);
grid on;
figure
plot(t,f2.*f1);
axis([-4 4 -1.5 1.5]);
grid on;
4.编写抽样函数信号程序:
clear all;
t=-9:0.1:9;
%f=sinc(t);
f=sin(t)./t;
plot(t,f);
grid;
xlabel('t');
ylabel('Sa(t)');
axis([-9 9 -0.4 1.3]) 5.编写单边指数信号程序:
clear all;
t=0:0.001:10;
k=0.5;
a=4;
f=k*exp(-a*t);
plot(t,f);
grid;
xlabel('t');
ylabel('f(t)');
6.编写f1t)+f2(t)信号程序
7.编写f1t)*f2(t)信号程序
七、实验结果
八、实验结论
在对MATLAB7.1软件进行了初步的认识和了解后,根据老师上课所说的一些方法和要求,我写出了本实验所要求的几个程序,并正确的显示出了波形,本实验基本取得成功。
九、反思与小结
由于我对电脑熟练度不够,再加上对MATLAB7.1这个软件更是初步
接触,导致在做实验的时候出现了大量的错误,我通过几天的反思,清醒的认识到了自己的几点不足:
1.编程基础检差,从心底里对软件实验有一种畏惧感。