中北大学信号与系统实验报告汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信 号 与 系 统
实 验 报 告
班级:
姓名:
信息与通信工程学院
实验一 系统的卷积响应
实验性质:提高性 实验级别:必做
开课单位:信息与通信工程学院 学 时:2
一、实验目的:深刻理解卷积运算,利用离散卷积实现连续卷积运算;深刻理解信号与系统的关系,学习MATLAB 语言实现信号通过系统的仿真方法。
二、实验设备:
计算机,MATLAB 软件
三、实验原理:
1、 离散卷积和:
调用函数:conv ()
∑∞
-∞=-=
=i i k f i f f f conv S )()(1)2,1(为离散卷积和, 其中,f1(k), f2 (k) 为离散序列,K=…-2, -1, 0 , 1, 2, …。但是,conv 函数只给出纵轴的序列值的大小,而不能给出卷积的X 轴序号。为得到该值,进行以下分析:
对任意输入:设)(1k f 非零区间n1~n2,长度L1=n2-n1+1;)(2k f 非零区间m1~m2,长度L2=m2-m1+1。则:)(*)()(21k f k f k s =非零区间从n1+m1开始,长度为L=L1+L2-1,所以S (K )的非零区间为:n1+m1~ n1+m1+L-1。
2、 连续卷积和离散卷积的关系:
计算机本身不能直接处理连续信号,只能由离散信号进行近似:
设一系统(LTI )输入为)(t P ∆,输出为)(t h ∆,如图所示。
)t
∆
1
t
若输入为f(t):
得输出:
当0
→
∆时:⎰
∑∞
∞
-
∞
-∞
=
∆
→
∆
∆
→
∆
-
=
∆
∆
-
∆
=
=τ
τ
δ
τd
t
f
k
t
P
k
f
t
f
t
f
k
)
(
)
(
)
(
)
(
lim
)(
lim
)(
所以:
如果只求离散点上的f 值)
(n
f∆
所以,可以用离散卷积和CONV()求连续卷积,只需∆足够小以及在卷积和的基础上乘以∆。
3、连续卷积坐标的确定:
设)
(
1
t
f非零值坐标范围:t1~t2,间隔P
)(
2
t
f非零值坐标范围:tt1~tt2,间隔P
)(
*)(
)(
2
1
t
f
t
f
t s=非零值坐标:t1+tt1~t2+tt2+1
根据给定的两个连续时间信号x(t) = t[u(t)-u(t-1)]和h(t) = u(t)-u(t-1),编写程序,完成这两个信号的卷积运算,并绘制它们的波形图。范例程序如下:
先编写单位阶跃函数u(t)
function y=u(t)
y=(t>=0);
% Program1
% This program computes the convolution of two continuou-time signals
clear;close all;
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); % Compute the convolution of x(t) and h(t)
subplot(221)
plot(t,x), grid on, title('Signal x(t)'), axis([t0,t1,-0.2,1.2])
subplot(222)
plot(t,h), grid on, title('Signal h(t)'), axis([t0,t1,-0.2,1.2])
subplot(212)
t = 2*t0:dt:2*t1; % Again specify the time range to be suitable to the
% convolution of x and h.
plot(t,y), grid on, title('The convolution of x(t) and h(t)'), axis([2*t0,2*t1,-0.1,0.6]),
xlabel('Time t sec')
在有些时候,做卷积和运算的两个序列中,可能有一个序列或者两个序列都非常长,甚至是无限长,MATLAB 处理这样的序列时,总是把它看作是一个有限长序列,具体长度由编程者确定。实际上,在信号与系统分析中所遇到的无限长序列,通常都是满足绝对可和或绝对可积条件的信号。因此,对信号采取这种截短处理尽管存在误差,但是通过选择合理的信号长度,这种误差是能够减小到可以接受的程度的。若这样的一个无限长序列可以用一个数学表达式表示的话,那么,它的长度可以由编程者通过指定时间变量n 的范围来确定。
例如,对于一个单边实指数序列x[n] = 0.5n u[n],通过指定n 的范围为0 ≤n ≤ 100,则对应的x[n]的长度为101点,虽然指定更宽的n 的范围,x[n]将与实际情况更相符合,但是,注意到,当n 大于某一数时,x[n]之值已经非常接近于0了。对于序列x[n] = 0.5n u[n],当n = 7时,x[7] = 0.0078,这已经是非常小了。所以,对于这个单边实指数序列,指定更长的n 的范围是没有必要的。当然,不同的无限长序列具有不同的特殊性,在指定n 的范围时,只要能够反映序列的主要特征就可以了。
4、 系统的响应:
设微分方程: )()()(0)(0t f b t y a j M j j i N i i
∑∑===
][][01210121b b b b b b a a a a a a M M M N N N
----== 均为降幂顺序。
则:1)、冲激响应为:impulse(b,a)
impulse(b,a,t)
impulse(b,a,t1:p:t2)
y=impulse( )
2)、阶跃响应为:step( )