中北大学《信号与系统》实验报告讲解

  • 格式:doc
  • 大小:2.94 MB
  • 文档页数:23

下载文档原格式

  / 23
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

)()(t h t P ∆∆→

)()(lim )(lim )(0

t h t h t P t =→=∆→∆∆→∆δ

若输入为f(t):

∆∆-∆=

≈∑∞

-∞

=∆

∆)()()()(k t P k f t f t f k

得输出:

∆∆-∆=

∑∞

-∞

=∆

∆)()()(k t h

k f t y k

当0→∆时:⎰∑∞

∞-∞

-∞

=∆

→∆∆→∆-=∆∆-∆==ττδτd t f k t P k f t f t f k )()()()(lim

)(lim )(0

⎰∑∞

-∞

-∞

=∆

→∆∆→∆-=

∆∆-∆==τττd t h f k t h

k f t y t y k )()()()(lim

)(lim )(0

所以:

∆-∆=-==∑⎰→∆)()(lim

)()()(*)()(21

2121k t f k f

d t f f t f t f t s τ

ττ

如果只求离散点上的f 值)(n f ∆

]

)[()()()()(2121

∑∑∞

-∞

=∞

-∞=∆-∆∆=∆

∆-∆∆=

∆k k k n f k f k n f k f

n f

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

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

设)(1t f 非零值坐标范围:t1~t2,间隔P )(2t f 非零值坐标范围:tt1~tt2,间隔P

)(*)()(21t 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]将与实际情况更相符合,