实验一常用信号的实现及其运算设计性实验.docx

上传人:b****6 文档编号:8378085 上传时间:2023-01-30 格式:DOCX 页数:27 大小:124.58KB
下载 相关 举报
实验一常用信号的实现及其运算设计性实验.docx_第1页
第1页 / 共27页
实验一常用信号的实现及其运算设计性实验.docx_第2页
第2页 / 共27页
实验一常用信号的实现及其运算设计性实验.docx_第3页
第3页 / 共27页
实验一常用信号的实现及其运算设计性实验.docx_第4页
第4页 / 共27页
实验一常用信号的实现及其运算设计性实验.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

实验一常用信号的实现及其运算设计性实验.docx

《实验一常用信号的实现及其运算设计性实验.docx》由会员分享,可在线阅读,更多相关《实验一常用信号的实现及其运算设计性实验.docx(27页珍藏版)》请在冰豆网上搜索。

实验一常用信号的实现及其运算设计性实验.docx

实验一常用信号的实现及其运算设计性实验

实验一常用信号的实现及其运算(设计性实验)

一、本次课主要内容

主要掌握MATLAB的运行环境和基本操作方法、常用信号的实现及其运算的实现,并要求学生熟练掌握MATLAB软件的使用和相关函数的调用。

二、教学目的与要求

1、熟悉MATLAB的基本操作方法; 

2、掌握基本信号的MATLAB实现; 

3、掌握基本信号运算的实现方法。

三、教学重点难点

1、MATLAB的基本能操作方法

2、相关函数的调用方法

四、教学方法和手段

本次实验共计2课时,课堂讲授、提问、启发及实验操作等教学方式.

教师课堂讲授或演示10-20分钟,其余时间学生按要求进行实验操作,.教师随堂对实验遇到困难学生进行指导,实验结束时教师查阅学生实验结果,给出实验课堂成绩。

五、作业与习题布置

按验证性实验报告要求写出一份完整的实验报告

 

实验一常用信号的实现及其运算(设计性实验)

一.实验目的

(1)熟悉各种MATLAB的运行环境和基本操作指令。

(2)掌握实现基本函数及其运算的函数的使用方法。

(3)加深对信号基本运算的理解。

二实验设备与器材

实验所用设备与器材如下:

(1)电脑一台;

(2)MATLAB软件。

3.实验原理说明

(1)信号的定义

信号是随时间变化的物理量,信号的本质是时间函数。

(2)信号的描述

信号的描述方法有时域法和变换域法,本次实验主要使用时域法来描述信号。

时域法是将信号表示成时间的函数来对信号进行描述的方法。

信号的时间特性是指信号的波形出现时间的先后,秩序时间的长短,随时间变化的快慢和大小,周期的长短等。

(3)信号的分类

信号的分类方法有很多,常见的分类方法将信号分为确知信号和随机信号;连续信号和离散信号;周期信号和非周期信号;能量信号和功率信号。

(4)主要涉及的MALAB函数

plot函数

功能:

绘制数值函数在一定范围内的二维图形;

调用格式:

plot(x,y):

绘出x对y的线性曲线图。

ezplot函数

功能:

绘制符号函数在一定范围内的二维图形;

调用格式:

ezplot(fun):

内绘制函数;

ezplot(fun,[min,max]):

在[min,max]范围内绘制函数。

sym函数

功能:

定义信号为符号变量;

调用格式:

sym(fun):

fun为所定义的表达式。

subplot函数

功能:

产生多个绘制区间;

调用格式:

subplot(m,n,p):

产生m行n列的绘图区间的第p个绘制区间。

四.实验内容与步骤

1、启动MATLAB软件,新建M文件。

2、基本连续信号的实现并绘制波形图。

(1)正余弦信号的实现

Sin2t

(2)指数信号的实现

(3)直流信号的实现

(4)抽样信号的实现

(5)冲激信号的实现

(6)阶跃信号的实现

(7)符号信号的实现

(8)斜坡信号的实现

(9)单边衰减指数信号的实现

3、实现信号的基本运算

(1)信号的时移及波形

(2)信号的反褶及波形

(3)信号的尺度变化及实现

(4)信号的微分运算

(5)信号的积分运算

(6)信号的卷积运算(选作)

五.实验总结与分析

1、完成实验内容,记录实验数据。

2、对实验结果进行分析,判断是否符合要求。

3、总结归纳本次实验用到的知识点。

4、按要求写出验证性实验报告。

六.实验思考题

l、ezplot和plot有什么区别?

2、MATLAB中实现卷积运算和理论分析中的卷积运算有什么区别?

3、还有哪些方法可以实现单位阶跃信号和冲激信号?

4、心得体会与其他。

七.注意事项

l、启动MATLAB后,新建M文件再编写代码,不要在命令窗口编写代码。

2、注意对figure文件的保存。

3、实验代码要求手写,但实验结果必须打印并贴在实验报告册上。

教学后记

 

1、常用信号的实现

(1)正余弦信号

用符号法实现的代码(文件夹实验一中的:

sinsignal.m)

symsff1f2f3tw

f=sym('3*sin((w)*t)');

f1=subs(f,'w','pi/2');

subplot(3,1,1);

ezplot(f1,[0,4*pi]);

title('正弦信号波形');

%xlabel('时间');这两个语句不识别

%ylabel('幅值');

text(4*pi,-3,'时间');

f2=subs(f,'w','pi');

subplot(3,1,2);

ezplot(f2,[0,4*pi]);

f3=subs(f,'w','3*pi/2');

subplot(3,1,3);

ezplot(f3,[0,4*pi]);

用数值法实现的代码(文件夹实验一中的:

yuxianshuzhifai.m)

t=-2:

0.01:

2;

f1=sin(2*pi*t);

f2=cos(pi*t);

subplot(211);

plot(t,f1);

subplot(212);

plot(t,f2);

(2)直流信号

数值法、符号法实现的代码(文件夹实验一中的:

zhiliuxinhao.m)

f=sym('4');

figure

(1);

ezplot(f);

t=-10:

0.01:

10;

a1=1;

figure

(2);

plot(t,a1,'b');

(3)指数信号的实现

数值法实现

代码:

(文件夹实验一中的:

zhishusignal.m)

t=0:

0.05:

3;

f=exp(-1.5*t);

plot(t,f);

axis([0,3,0,1.2]);

title('单边指数信号');

xlabel('时间(t)');

ylabel('幅值');

text(3.1,0,'t');%在指定位置标上字符串

text(-0.1,1.25,'f(t)');

数值法实现

代码:

(文件夹实验一中的:

fuzhishu.m)

t=0:

0.01:

3;

a=-3;

b=4;

z=exp((a+i*b)*t);

subplot(221);

plot(t,real(z));

subplot(222);

plot(t,imag(z));

subplot(223);

plot(t,abs(z));

subplot(224);

plot(t,angle(z));

用数值法实现

代码:

(文件夹实验一中的:

sanjiaozhishuhanshu.m)

t=0:

0.01:

4;

y=exp(-t)

x=sin(2*pi*t);

f=x.*y;

plot(t,f);

holdon;

plot(t,y,'--r');

(4)符号函数

代码:

(文件夹实验一中的:

fuhaohanshu.m)

t1=-5;

t2=5;

dt=0.001;

t=t1:

dt:

t2;

n=sign(t);

plot(t,n);

axis([t1,t2,-1.5,1.5]);

xlabel('时间');

ylabel('幅值');

title('符号函数');

(5)抽样信号,辛格函数

法一:

(文件夹实验一中的:

caiyangxinhaoi.m)

t=-5:

0.01:

5;

f=sin(2*pi*t)./t;

plot(t,f);

法二:

利用sinc函数(文件夹实验一中的:

xingehanshu.m)

x=linspace(-5,+5);%在-5,+5之间产生100个点,

y=sinc(x);

plot(x,y);

(6)三角波函数

利用tripuls函数(文件夹实验一中的:

sanjiaobo.m)

t=-3:

0.001:

5;

y=tripuls(t,4,0);%宽度为4,顶点1在0处的三角波

plot(t,y);

(7)斜坡信号

t=-1:

0.01:

1;(文件夹实验一中的:

xiepoxinhao.m)

f=t;

plot(t,f);

(8)冲激信号

法一:

建立函数,并调用

自定义chongji()函数

functionchongji(t1,t2,t0)(文件夹实验一中的:

chongji.m)

dt=0.01;

t=t1:

dt:

t2;

n=length(t);

x=zeros(1,n);

x(1,(t0-t1)/dt+1)=1/dt;%矩阵x的第一行,(t0-t1)/dt+1列元素的取值为1/dt,第此时冲击时刻为t0;

stairs(t,x);%将x阶梯化,从t0-t0+dt,取值为1;

%plot(t,x);

axis([t1,t2,0,1.2/dt]);

title('单位冲激信号');

调用函数chongji(-1,5,0);(文件夹实验一中的:

chongjxinhaoi.m)

法二:

(文件夹实验一中的:

chj.m)

t0=0;

t1=-1;

t2=3;

dt=0.001;

t=t1:

dt:

t2;

n=length(t);

k1=floor((t0-t1)/dt);

x=zeros(1,n);

x(k1)=1/dt;

stairs(t,x);

axis([-1,3,0,22]);

xlabel('时间');

ylabel('幅值');

title('单位冲激信号');

(9)阶跃信号

法一:

利用stepfun()函数(文件夹实验一中的:

jieyue2.m)

t=-1:

0.01:

2;

t1=0;

f=stepfun(t,t1);

subplot(121);

plot(t,f);

t2=1;

fy=stepfun(t,t2);

subplot(122);

plot(t,fy);

axis([-2,2,-1,2]);

title('单位阶跃信号');

xlabel('时间');

ylabel('幅值');

%figure

(2);

%f2=t;

%plot(t,t);

法二:

自定义heaviside()

functionf=heaviside(t)(文件夹实验一中的:

stephanshu.m)

f=(t>0);

调用heaviside()

t=-1:

0.01:

3;(文件夹实验一中的:

jieyue.m)

f=heaviside(t);

plot(t,f);

axis([-1,3,-0.2,1.2]);

(10)门函数

利用阶跃信号(文件夹实验一中的:

menhanshu.m)

t=-2:

0.01:

2;

f1=stepfun(t,-1);

f2=stepfun(t,1);

f=f1-f2;

plot(t,f);

(11)周期信号

周期方波(文件夹实验一中的:

zhouqifangbo.m)

t=0:

0.0001:

10;

y=square(2*pi*t);%square生成周期为2pi的周期信号

plot(t,y);

周期锯齿波(文件夹实验一中的:

zhouqijuchi.m)

t=0:

0.01:

2;

y=sawtooth(2*pi*4*t);

plot(t,y);

2、信号的基本运算

已知:

符号法实现的代码:

(文件夹实验一中的:

ti2.m)

symst;

f=sym('(-2/3*t+2/3)*(heaviside(t+2)-heaviside(t-1))');

subplot(2,3,1);

ezplot(f,[-3,3]);

y1=subs(f,t,-t);subplot(2,3,2);ezplot(y1,[-3,3]);

%y2=subs(f,t,-t+2);subplot(2,3,3);ezplot(y2,[-1,5]);

y2=subs(f,t,t-2);subplot(2,3,3);ezplot(y2,[-1,5]);

y3=subs(f,t,2*t);subplot(2,3,4);ezplot(y3,[-3,3]);

y4=subs(f,t,0.5*t+1);g=diff(y4);subplot(2,3,5);ezplot(g,[-3,3]);

y5=subs(f,t,2-t);h=int(y5);subplot(2,3,6);ezplot(h,[-3,6]);

 

实验二 连续信号与系统的时域、复频域分析(设计性实验) 

一、本次课主要内容

主要介绍连续信号与系统的时域分析方法的MATLAB仿真,主要有零状态响应、零输入响应、阶跃响应、冲激响应的求解;连续信号与系统的复频域分析,主要有信号的拉普拉斯变换和零极点分析。

二、教学目的与要求

1、熟悉连续系统时域分析的MATLAB仿真方法; 

2、进一步掌握MATLAB函数的调用和代码的编写方法; 

3、掌握信号拉普拉斯变换的MATLAB仿真;

4、掌握连续系统零极点分析。

 

三、教学重点难点

教学重点:

连续系统分析中各响应的求解;连续信号的拉普拉斯变化;连续系统的零极点分析。

四、教学方法和手段

本次实验共计2课时,采用课堂讲授、板书与多媒体相结合,提问、启发及实验操作等教学方式。

教师课堂讲授或演示10-20分钟,其余时间学生按要求进行实验操作,.教师随堂对实验遇到困难学生进行指导,实验结束时教师查阅学生实验结果,给出实验课堂成绩。

五、作业与习题布置

按设计性实验报告要求写出一份完整的实验报告

 

实验二连续信号与系统的时域、复频域分析(设计性实验)

一、实验目的

1、熟悉连续LTI系统在典型激励信号下的响应及其特征;

2、掌握连续LTI系统单位冲激响应、零状态响应的方法;

3、掌握连续LTI系统的复频域分析方法;

4、会用MATLAB对系统进行时域和复频域分析。

二、实验设计要求与主要技术指标

1、查出连续LTI系统时域分析中涉及到的MATLAB函数及其使用方法;

2、设计求连续LTI系统单位冲激响应、单位阶跃响应、零状态响应的MATLAB代码;

3、查出连续时间信号进行拉普拉斯变换的MATLAB函数及其使用方法;

4、查出连续LTI系统零极点分析的MATLAB函数及其调用方法;

5、设计求接信号拉普拉斯变换和系统零极点的MATLAB代码。

三、实验设备与器材

实验所用设备与器材如下:

(3)电脑一台;

(4)MATLAB软件。

4、实验原理与说明

1、连续时间线性非时变(LTI)可以用如下的线性常系数微分方程来描述。

系统的响应一般包括两个部分:

零状态响应和零输入响应。

对于低阶系统一般可以通过解析的方法得到响应,但对于高阶系统,手工计算就比较困难,这时MATLAB强大的计算功能就能比较容易的确定系统的各种响应,如冲激响应、阶跃响应、零输入响应、零状态响应、全响应等。

响应的求解方法有两种,直接求解法和卷积计算法。

直接求解方法就是利用MATLAB中的函数进行求解;卷积计算方法可以求解系统的零状态响应。

2、连续信号与系统的复频域分析

复频域分析法主要有两种,留数法和直接的拉普拉斯变化法,利用MATLAB进行这两种分析的基本原理。

五、实验步骤

1、打开计算机,启动MATLAB软件。

2、连续LTI系统的时域分析

(1)求系统

的冲激响应和阶跃响应。

(2)求系统

的全响应。

(3)已知LTI系统的激励为

,单位冲激响应为

,求出系统零状态响应的数学表达式。

3、连续LTI系统的复频域分析

(1)系统零极点的求解

已知

,画出

的零极点。

六、实验分析与思考总结-

将测试结果与设计要求比较判断是否符合要求

①求解响应的函数有哪些?

②复频域分析的应用有哪些?

教学后记

 

1、卷积运算

首先自定义卷积计算函数sconv.m--信号与系统实验二-sconv.m

function[f,k]=sconv(f1,f2,k1,k2,p)

%计算连续信号卷积积分f(t)=f1(t)*f2(t)

f=conv(f1,f2);

f=f*p;%计算序列f1与f2的卷积和f

k0=k1

(1)+k2

(1);%计算序列f非零样值的起点位置

k3=length(f1)+length(f2)-2;%计算序列f的非零样值的宽度

k=k0:

p:

k0+k3*p;%确定卷积和f非零样值的时间向量

subplot(2,2,1);

plot(k1,f1);

title('f1(t)');

xlabel('t');

ylabel('f1(t)');%绘制f1(t)

subplot(2,2,2);

plot(k2,f2);

title('f2(t)');

xlabel('t');

ylabel('f2(t)');%绘制f2(t)

subplot(2,2,3);

plot(k,f);

%h=get(gca,'position');

%h(3)=2.5*h(3);

%set(gca,'position',h);%将第三个子图的横坐标范围扩为原来的2.5倍(这3句也可以不要的)

title('f(t)=f1(t)*f2(t)');

xlabel('t');

ylabel('f(t)');%绘制卷积结果f(t)

1、斜坡信号卷积

代码:

--信号与系统实验二-xiepojuanji.m

p=0.01;

k1=0:

p:

2;

f1=0.5*k1;

k2=k1;

f2=f1;

[f,k]=sconv(f1,f2,k1,k2,p);

%gridon;

2、门函数的卷积:

f(t)=u(t+1)-u(t-1);求f(t)*f(t)---信号与系统实验二

代码:

--信号与系统实验二-tongkuanjieyuejuanji.m

p=0.01;

m=-2;n=2;

k1=m:

p:

n;

f1=stepfun(k1,-1)-stepfun(k1,1);

k1=k2;

f2=f1;

[f,k]=sconv(f1,f2,k1,k2,p);

扩展为

代码:

--信号与系统实验二-butongkuandumenhanshujuanji.m

p=0.01;

k1=-1:

p:

1;

f1=2*ones(1,length(k1));

k2=-2:

p:

2;

f2=ones(1,length(k2));

[f,k]=sconv(f1,f2,k1,k2,p);

3、冲激信号与阶跃信号卷积

代码:

p=0.01;

k1=-1:

p:

1;

a=0.0001;

f1=stepfun(k1,-a)-stepfun(k1,a);

k2=-2:

p:

2;

f2=stepfun(k2,-1)-stepfun(k2,1);

[f,k]=sconv(f1,f2,k1,k2,p);

4、冲激信号与指数信号卷积

代码:

p=0.01;

k1=-1:

p:

1;

a=0.0001;

f1=stepfun(k1,-a)-stepfun(k1,a);

k2=0:

p:

2;

f2=exp(-k2);

[f,k]=sconv(f1,f2,k1,k2,p);

2、连续信号与系统时域分析

1、单位冲激响应的求解

,求系统单位冲激响应,阶跃响应,零状态响应,零输入响应,全响应。

提示:

对应该系统的向量为:

a=[123],b=[101]

代码:

%法一

a=[1,5,6];

b=[3,2];

subplot(121);

impulse(b,a);%单位冲激响应求解

subplot(122);

step(b,a);%单位阶跃响应的求解

t=0:

0.1:

4;

x=cos(t);%系统的输入信号

figure

(2);

sys=tf(b,a);%tf()求解系统的传递函数

y=lsim(sys,x,t);%求解系统的零状态响应

plot(t,y);

2、求解系统的全响应

代码:

信号与系统实验二-quanxiangying.m

b=[1];a=[101];

[ABCD]=tf2ss(b,a);%将传递函数转换为状态空间矩阵

sys=ss(A,B,C,D);%ss()将状态空间矩阵或者状态空间矩阵转换成状态空间模型

t=0:

0.1:

10;

x=cos(t);

zi=[-10];%系统的初始状态

y=lsim(sys,x,t,zi);%利用lsim函数进行全响应的求解

plot(t,y);

3、综合设计题。

系统微分方程:

;初始状态:

求:

(1)单位冲激响应,并与理论计算值做对比;

(2)阶跃响应并与理论值计算值做对比;

(3)求零状态响应,并与理论值做对比;

(4)求全响应,并与理论值做对比;(选作)

(5)求零输入响应并与理论值做对比。

(选作)

参考代码:

未做4,5步

clf;

b=[1];a=[156];

h=tf(b,a);

%[ABCD]=tf2ss(b,a);%将传递函数转换为状态空间矩阵

%sys=ss(A,B,C,D);%ss()将状态空间矩阵或者状态空间矩阵转换成状态空间模型

t=0:

0.1:

10;

%求冲激响应并与计算值对比

ht=impulse(h,t);%impulse()只是求解单位冲激响应,无作图功能,step()函数一样

subplot(421);

plot(t,ht);

htj=exp(-2*t)-exp(-3*t);

subplot(422);

plot(t,htj);

%求阶跃响应并与计算值对比

stept=step(h,t);

subplot(423);

plot(t,stept);

steptj=(-1/2)*exp(-2*t)+(1/3)*exp(-3*t)+(1/6)*stepfun(t,0);

subplot(424);

plot(t,steptj);

axis([0,10,0,0.2]);

%求零状态响应并和计算值做对比

x=2*exp(-t);

yf=lsim(h,x,t);

subplot(425);

plot(t,yf);

yfj=exp(-t)-2*exp(-2*t)+exp(-3*t);

subplot(426);

plot(t,yfj);

%求全响应

%zi=[-41];%系统的初始状态

%[ABCD]=tf2ss(b,a);%将传递函数转换为状态空间矩阵

%sys=ss(A,B,C,D);%ss()将状态空间矩阵或者状态空间矩阵转换成状态空间模型y=lsim(h,x,t,zi);%利用lsim函数进行全响应的求解

%y=lsim(h,x,t,zi);%利用lsim函数进行全响应的求解,用h代替sys,结果会不同;代h和阶跃响应曲线相似

%subplot(427);

%plot(t,y);

%axis([0,10,0,5]);

%yj=exp(-t)+exp(-2*t)+3*exp(-3*t);

%subplot(428);

%plot(t,yj);

3、复频域分析系统零极点

参考代码:

法一:

clear;

b=[10];

a=[122];

zs=roots(b);%roots求多项式的根

ps=roots(a);

plot(real(zs),imag(zs),'go',real(ps),imag(ps),'mx','markersize',4);%零点:

绿色,空心小圈,极点:

紫色,叉号,markersize:

标记圈×的大小)

axis([-2,2,-2,2]);

legend('零点','极点');%加图例

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 交规考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1