实验三:信号的卷积运算
一,实验目的:
熟悉卷积的定义和表示.
学会用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
暂无评论内容