信号与系统实验报告3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信号与系统实验报告
实验名称:信号的卷积
实验时间:周一第6~8节
实验日期:2014/11/24
姓名:吕葛梁学号:********
姓名:沈俊学号:********
姓名:王海帆学号:********
一.实验目的
1. 理解卷积的物理意义;
2. 掌握运用计算机进行卷积运算的原理和方法;
3. 熟悉卷积运算函数conv 的应用;
二.实验原理
1.卷积的定义
连续时间和离散时间卷积的定义分别如下所示:
τ
ττd t f f t f t f t f )()()(*)()(2121-⋅==⎰∞
∞- ]
[][][*][][2
1
21k n f k f n f n f n f k -⋅=
=∑∞
-∞
=
2.卷积的计算
由于计算机技术的发展,通过编程的方法来计算卷积积分和卷积和已经不再是冗繁的工作,并可以获得足够的精度,因此信号的时域卷积分析法在系统分析中得到了广泛的应用。
卷积积分的数值运算可以应用信号的分段求和来实现,即:
∆⋅∆-⋅∆=-⋅=
=∑⎰∞
-∞
=→∆∞
∞-)()(lim )()()(*)()(210
2121k t f k f d t f f t f t f t f k τττ 数值运算只求当∆=n t 时的信号值
)(∆n f ,则由上式可以得到:
])[(][][][)(2121∆-⋅∆∆=∆⋅∆-∆⋅∆=
∆∑∑
∞
-∞
=∞
-∞
=k n f k f k n f k f n f k k
上式中实际上就是连续信号)()(21t f t f 等间隔均匀抽样的离散序列)()(21∆∆n f n f 的卷积和,当∆足够小的时候)(∆n f 就是信号卷积积分的数值近似。因此,在利用计算机计算两信号卷积积分时,实质上是先将其转化为离散序列,再利用离散卷积和计算原理来计算。
3.卷积的应用
3.1 求解系统响应
卷积是信号与系统时域分析的基本手段,主要应用于求解系统响应,已知一LTI 系统的单位冲激响应和系统激励信号则系统响应为激励与单位冲激响应的卷积。
τττd t h x t h t x t y )()()(*)()(-⋅==⎰∞
∞-
]
[][][*][][k n h k x n h n x n y k -⋅=
=∑∞
-∞
=
需要注意的是利用卷积分析方法求得的系统响应为零状态响应。 3.2 相关性分析
相关函数是描述两个信号相似程度的量。两信号之间的相关函数一般称之为互相
关函数或者互关函数,定义如下:
ττττττd f t f d t f f t R )()()()()(212112⋅+=
-⋅=
⎰
⎰
∞
∞
-∞
∞
-
ττττττd t f f d f t f t R )()()()()(212121+⋅=
⋅-=
⎰⎰∞
∞-∞
∞
-
若
)()(21t f t f 是同一信号,此时相关函数称为自相关函数或者自关函数:
dt t f t f dt t f t f R )()()()()(⋅+=
-⋅=
⎰⎰∞
∞-∞
∞
-τττ
对于相关函数与卷积运算有着密切的联系,由卷积公式与相关函数比较得:
)(*)()(2112t f t f t R -=
可见,由第二个信号反转再与第一个信号卷积即得到两信号的相关函数。 4.涉及的Matlab 函数 4.1 conv 函数
格式w = conv(u,v),可以实现两个有限长输入序列u ,v 的卷积运算,得到有限冲激响应系统的输出序列。输出序列长度为两个输入序列长度和减一。
三.实验内容
给定如下因果线性时不变系统:
y[n]+0.71y[n-1]-0.46y[n-2]-0.62y[n-3=0.9x[n]-0.45x[n-1]+0.35x[n-2]+0.002x[n-3]
(1)不用impz 函数,使用filter 命令,求出以上系统的单位冲激响应h[n]的前20个样本; 【程序】
clear all ; n=0:19; x=(n==0)
num=[0.9 -0.45 0.35 0.002]; den=[1 0.71 -0.46 -0.62]; h=filter(num,den,x); subplot(2,1,1); stem(h,'.');
title('用filter 产生的响应'); grid;
y1=impz(num,den,20); subplot(2,1,2); stem(y1,'.');
title('由impz 产生的响应'); grid;
(2)得到h[n]后,给定x[n],计算卷积输出y[n];并用滤波器h[n]对输入x[n]滤波,求得y1[n];
x=[1 -2 3 -4 3 2 1];%输入序列
y=conv(h,x);%h由(1)中filter命令求出
n=0:25;
subplot(2,1,1);
stem(n,y);
xlabel(‘时间序号n’);ylabel(‘振幅’);
title(‘用卷积得到的输出’);grid;
x1=[x zeros(1,19)];
y1=filter(h,1,x1);
subplot(2,1,2);
stem(n,y1);
xlabel(‘时间序号n’);ylabel(‘振幅’);
title(‘用滤波得到的输出’);grid;
【程序】
clear all;
n=0:19;
q=(n==0);
num=[0.9 -0.45 0.35 0.002];
den=[1 0.71 -0.46 -0.62];
h=filter(num,den,q);
x=[1 -2 3 -4 3 2 1];
y=conv(h,x);
n=0:25;
subplot(2,1,1);
stem(n,y,'.');
xlabel('时间序号n');
ylabel('振幅');
title('用卷积得到的输出');grid;
x1=[x zeros(1,19)];
y1=filter(h,1,x1);
subplot(2,1,2);
stem(n,y1,'.');
xlabel('时间序号n');
ylabel('振幅');
title('用滤波得到的输出');grid;