信号与系统(山东大学张国霞)实验三:信号的卷积计算

实验三:信号的卷积运算

一,实验目的:

熟悉卷积的定义和表示.

学会用matlab求连续时间信号和离散时间信号的卷积运算.

二,实验设备

计算机,matlab软件

三,实验内容

1.教材 p103, 2-1(a).

function [f,k]=continuous(f1,f2,k1,k2,p) 
%计算连续信号卷积积分 f(t)=f1(t)*f2(t) 
%f: 卷积积分 f(t) 对应的非零样值向量
%k: f(t) 的对应时间向量
%f1: f1(t)的非零样值向量
%f2: f2(t)的非零样值向量
%k1: f1(t)的对应时间向量
%k2: f2(t)的对应时间向量
%p: 取样时间间隔
syms t;
f1(t)=2*[heaviside(t)-heaviside(t-1)];
f2(t)=heaviside(t)-heaviside(t-2);
p=0.01; 
k1=0:p:1; f1=2*ones(1,length(k1)) 
k2=0:p:2; f2=ones(1,length(k2)) %f1,f2 两个信号的向量表示
f=conv(f1,f2); %计算需要序列 f1 与 f2 的卷积和 f 
f=f*p; %将 f 进行采样
k0=k1(1)+k2(1); %计算序列 f 非零样值的起点位置
k3=length(f1)+length(f2)-2; %计算卷积和 f 的非零样值的宽度
k=k0:p:k3*p; %确定卷积和 f 非零样值的时间向量
subplot(2,2,1), plot(k1,f1) %在子图 1 绘 f1(t)时域波形图
title('f1(t)') 
xlabel('t') 
ylabel('f1(t)') 
subplot(2,2,2), plot(k2,f2) %在子图 2 绘 f2(t)时域波形图
title('f2(t)') 
xlabel('t') 
ylabel('f2(t)') 
subplot(2,2,3), plot(k,f) %画卷积 f(t) 的时域波形
title('f(t)=f1(t)*f2(t)') 
xlabel('t') 
ylabel('f(t)') 
end

实验运行及图像如下

2.教材 p104, 2-5(b)

代码如下

function [f,k]=discrete(f1,f2,k1,k2)  
%f: 卷积序列 f(k) 对应的非零样值向量
%k: 序列 f(k) 的对应序号向量
%f1: 序列 f1(k)非零样值向量
%f2: 序列 f2(k)非零样值向量
%k1: 序列 f1(k)的对应序号向量
%k2: 序列 f2(k)的对应序号向量
f1=[2 1 2 ]; 
k1=1:3; 
f2=[0 1 2 3]; 
k2=1:4; %f1,f2 两个信号的向量表示
f=conv(f1,f2) %计算序列 f1 与 f2 的卷积和 f 
k0=k1(1)+k2(1); %计算序列 f 非零样值的起点位置
k3=length(f1)+length(f2)-2; %计算卷积和 f 的非零样值的宽度
k=k0:k0+k3 %确定卷积和 f 非零样值的序号向量
subplot(2,2,1), stem(k1,f1) %在子图 1 绘序列 f1(k)时域波形图
title('f1(k)') 
xlabel('k') 
ylabel('f1(k)') 
subplot(2,2,2), stem(k2,f2) %在子图 2 绘序列 f2(k)时波形图
title('f2(k)') 
xlabel('k') 
ylabel('f2(k)') 
subplot(2,2,3), stem(k,f); %在子图 3绘序列 f(k) 的波形图
title('f1(k) 与 f2(k)的卷积和 f(k)') 
xlabel('k') 
ylabel('f(k)') 
end

实验运行及图像如下

四,实验心得总结

© 版权声明
THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发