《信号与系统》实验报告Word格式.docx

上传人:b****2 文档编号:15054061 上传时间:2022-10-27 格式:DOCX 页数:21 大小:292.87KB
下载 相关 举报
《信号与系统》实验报告Word格式.docx_第1页
第1页 / 共21页
《信号与系统》实验报告Word格式.docx_第2页
第2页 / 共21页
《信号与系统》实验报告Word格式.docx_第3页
第3页 / 共21页
《信号与系统》实验报告Word格式.docx_第4页
第4页 / 共21页
《信号与系统》实验报告Word格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

《信号与系统》实验报告Word格式.docx

《《信号与系统》实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《《信号与系统》实验报告Word格式.docx(21页珍藏版)》请在冰豆网上搜索。

《信号与系统》实验报告Word格式.docx

调用函数:

conv()

为离散卷积和,

其中,f1(k),f2(k)为离散序列,K=…-2,-1,0,1,2,…。

但是,conv函数只给出纵轴的序列值的大小,而不能给出卷积的X轴序号。

为得到该值,进行以下分析:

对任意输入:

设非零区间n1~n2,长度L1=n2-n1+1;

非零区间m1~m2,长度L2=m2-m1+1。

则:

非零区间从n1+m1开始,长度为L=L1+L2-1,所以S(K)的非零区间为:

n1+m1~n1+m1+L-1。

2、连续卷积和离散卷积的关系:

计算机本身不能直接处理连续信号,只能由离散信号进行近似:

设一系统(LTI)输入为,输出为,如图所示。

t

若输入为f(t):

得输出:

当时:

所以:

如果只求离散点上的f值

所以,可以用离散卷积和CONV()求连续卷积,只需足够小以及在卷积和的基础上乘以。

3、连续卷积坐标的确定:

设非零值坐标范围:

t1~t2,间隔P

非零值坐标范围:

tt1~tt2,间隔P

非零值坐标:

t1+tt1~t2+tt2+1

根据给定的两个连续时间信号x(t)=t[u(t)-u(t-1)]和h(t)=u(t)-u(t-1),编写程序,完成这两个信号的卷积运算,并绘制它们的波形图。

范例程序如下:

先编写单位阶跃函数u(t)

functiony=u(t)

y=(t>

=0);

%Program1

%Thisprogramcomputestheconvolutionoftwocontinuou-timesignals

clear;

closeall;

t0=-2;

t1=4;

dt=0.01;

t=t0:

dt:

t1;

x=u(t)-u(t-1);

h=t.*(u(t)-u(t-1));

y=dt*conv(x,h);

%Computetheconvolutionofx(t)andh(t)

subplot(221)

plot(t,x),gridon,title('

Signalx(t)'

),axis([t0,t1,-0.2,1.2])

subplot(222)

plot(t,h),gridon,title('

Signalh(t)'

subplot(212)

t=2*t0:

2*t1;

%Againspecifythetimerangetobesuitabletothe

%convolutionofxandh.

plot(t,y),gridon,title('

Theconvolutionofx(t)andh(t)'

),axis([2*t0,2*t1,-0.1,0.6]),

xlabel('

Timetsec'

在有些时候,做卷积和运算的两个序列中,可能有一个序列或者两个序列都非常长,甚至是无限长,MATLAB处理这样的序列时,总是把它看作是一个有限长序列,具体长度由编程者确定。

实际上,在信号与系统分析中所遇到的无限长序列,通常都是满足绝对可和或绝对可积条件的信号。

因此,对信号采取这种截短处理尽管存在误差,但是通过选择合理的信号长度,这种误差是能够减小到可以接受的程度的。

若这样的一个无限长序列可以用一个数学表达式表示的话,那么,它的长度可以由编程者通过指定时间变量n的范围来确定。

例如,对于一个单边实指数序列x[n]=0.5nu[n],通过指定n的范围为0≤n≤100,则对应的x[n]的长度为101点,虽然指定更宽的n的范围,x[n]将与实际情况更相符合,但是,注意到,当n大于某一数时,x[n]之值已经非常接近于0了。

对于序列x[n]=0.5nu[n],当n=7时,x[7]=0.0078,这已经是非常小了。

所以,对于这个单边实指数序列,指定更长的n的范围是没有必要的。

当然,不同的无限长序列具有不同的特殊性,在指定n的范围时,只要能够反映序列的主要特征就可以了。

4、系统的响应:

设微分方程:

均为降幂顺序。

1)、冲激响应为:

impulse(b,a)

impulse(b,a,t)

impulse(b,a,t1:

p:

t2)

y=impulse()

2)、阶跃响应为:

step()

3)、零状态响应:

lism(b,a,x,t)

例如,编写程序,计算并绘制由下面的微分方程表示的系统的单位冲激响应h(t),单位阶跃响应s(t)。

MATLAB范例程序如下:

%Program2

%Thisprogramisusedtocomputetheimpulseresponseh(t)andthestepresponses(t)ofa

%continuous-timeLTIsystem

clear,closeall;

num=input('

Typeintherightcoefficientvectorofdifferentialequation:

'

);

den=input('

Typeintheleftcoefficientvectorofdifferentialequation:

t=0:

0.01:

8;

x=input('

Typeintheexpressionoftheinputsignalx(t):

subplot(221),impulse(num,den,8);

subplot(222),step(num,den,8)

四、预习要求:

掌握MATLAB的使用。

五、实验内容及步骤

实验前,必须首先阅读本实验原理,读懂所给出的全部范例程序。

实验开始时,先在计算机上运行这些范例程序,观察所得到的信号的波形图。

并结合范例程序应该完成的工作,进一步分析程序中各个语句的作用,从而真正理解这些程序。

实验前,一定要针对下面的实验项目做好相应的实验准备工作,包括事先编写好相应的实验程序等事项。

1、根据示例程序的编程方法,编写一个MATLAB程序,,由给定信号x(t)=e-0.5tu(t)

求信号y(t)=x(1.5t+3),并绘制出x(t)和y(t)的图形。

编写的程序如下:

clear,%Clearallvariables

closeall,%Closeallfigurewindows

dt=0.01;

%Specifythestepoftimevariable

t=-5:

5;

%Specifytheintervaloftime

x=exp(-0.5*t).*u(t);

%Generatethesignal

y=exp(-0.75*t-1.5).*u(1.5*t+3);

subplot(1,1,1),plot(t,x);

%Openafigurewindowanddrawtheplotofx(t)

gridon;

title('

Sinusoidalsignalx(t)'

Timet(sec)'

axis([0,5,0,1]);

subplot(1,1,3),plot(t,y);

Sinusoidalsignaly(t)'

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

信号x(t)的波形图和信号y(t)=x(1.5t+3)的波形图

此处粘贴图形此处粘贴图形

2、计算并用MATLAB实现下列信号的卷积

t1=4;

x1=u(t)-u(t-2);

x2=u(t-1)-u(t-3);

y=dt*conv(x1,x2);

subplot(131)

plot(t,x1),gridon,title('

Signalx1(t)'

subplot(132)

plot(t,x2),gridon,title('

Signalx2(t)'

subplot(133)

Theconvolutionofx1(t)andx2(t)'

),axis([2*t0,2*t1,-3,3]),

信号x1(t)、x2(t)和x1(t)*x2(t)的波形图

此处粘贴图形

3、给定两个离散时间序列

x[n]=0.5n{u[n]-u[n-8]}

h[n]=u[n]-u[n-8]

编写程序、,计算它们的卷积,并分别绘制x[n]、h[n]和它们的卷积y[n]的图形。

编写的程序、如下:

n=-10:

1:

10;

x=0.5.^n.*(u(n)-u(n-8));

h=u(n)-u(n-8);

y=conv(x,h);

subplot(131)

stem(n,x)

gridon

title('

x=0.5*n.*(u(n)-u(n-8))'

stem(n,h)

h=u(n)-u(n-8)'

n=-20:

20;

stem(n,y)

y=conv(x,h)'

信号x[n]、h[n]和y[n]的波形图

4、仿照范例程序Program2,编写程序,计算并绘制由如下微分方程表示的系统在输入信号为x(t)=(e-2t-e-3t)u(t)时的零状态响应和你手工计算得到的系统零状态响应曲线。

手工计算得到的系统零状态响应的数学表达式是:

t=0:

x=8*(exp(-2*t)-exp(-3*t)).*u(t);

y=lsim(1,[132],x,t);

subplot(121)

plot(t,y)

q=4*exp(-t)-8*t.*exp(-2*t)-4*exp(-3*t);

subplot(122)

plot(t,q);

用MATLAB绘制的手工计算的系统响应

粘帖用MATLAB绘制的手工计算的系统响应

执行程序得到的系统响应

此处粘帖执行程序得到的系统响应

思考题:

MATLAB是如何表示一个由微分方程描述的连续时间LTI系统的?

求解连续时间LTI系统的单位冲激响应、单位阶跃响应以及系统在某一个输入信号作用下的零状态响应的MATLAB函数有哪些?

答:

它的输入信号x(t)输出信号

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

当前位置:首页 > 农林牧渔 > 农学

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

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