(连续信号卷积.doc
文本预览下载声明
实验二 连续信号卷积
实验目的
卷积积分可理解为某线性时不变系统在给定激励下的零状态响应。理解和掌握卷积运算对于线性系统分析来说至为关键。本实验的主要目的就是学习在MATLAB环境中如何计算和分析连续时间信号的卷积
实验内容
在Matlab中,连续信号f1(t)与f2(t)的卷积可按下述过程求解:
构造两离散序列,f1(k)和f2(k),对应的时间向量k1, k2;
对两连续信号进行等间隔取样,得到离散序列f1(k)和f2(k);
调用Matlab提供的conv()函数计算两序列的卷积和f(k);
构造离散序列f(k)对应的时间向量k
三、学生实验内容:
已知两连续信号如下图所示,求它们的卷积近似,并记录波形
p=0.1;
k1=0:p:2;
f1=1/2*(k1);
k2=k1;
f2=1/2*(k2);
[f,k] = sconv(f1,f2,k1,k2,p);[f,k] = sconv(f1,f2,k1,k2,p);
计算输入分别为?(t)和t时, 冲激响应为?(t)的线性时不变系统的输出,验证该系统为积分器 (将积分器的理论输出与sconv()函数提供的卷积近似绘制在一张图上)
选择任意连续信号,验证f(t-?1)*h(t-?2) = f(t) * h(t-?1-?2) = f(t-?1-?2) * h(t)
计算并比较有限长序列的线性卷积和循环卷积。计算循环卷积可调用Matlab提供的cconv(A,B,N)函数,其中A,B为参与卷积的序列,N为拓延周期。N的缺省值为length(A)+ length(B) -1,即缺省情况下无混叠发生。改变N的取值,以观察拓延周期 (或者说频域抽样间隔) 对循环卷积的影响。
试用fft()和ifft()函数(快速离散傅里叶变换和反变换)计算两序列的循环卷积
Circonvt.m
function y=circonvt(x1,x2,N)
x1=[x1,zeros(1,N-length(x1))];
x2=[x2,zeros(1,N-length(x2))];
X1=fft(x1,N);
X2=fft(x2,N);
X=X1.*X2;
y=ifft(X,N);
y=real(y);
A=[1 -7 2 -3 8 -1 -3 0];
B=[0 0 2 -3 5 -1 2 -4];
C=circonvt(xn,yn,8);
stem(C);
四、实验要求
学习和掌握在Matlab环境中如何定义一个新函数。尝试换用不同信号测试编写的连续信号卷积程序sconv(),依据运算结果进一步理解函数卷积的物理意义;认真完成实验报告
五、实验小结
⑴通过实验我们学习和掌握了在Matlab环境中如何定义一个新函数。
⑵在实验中,我们应用Matlab实现对一些较难画出的图形信号函数进行画图。
⑶通过这次仿真实验,是我对进一步的理解了函数卷积的物理意义,使得我们对函数积学起来更容易些。
显示全部