实验一 连续时间信号的卷积
一、实验目的
掌握连续时间信号的卷积方法和MA TLAB 计算方法。
二、实验仪器设备
PC 机 MATLAB软件
三、实验原理
连续时间信号f 1(t ) 和f 2(t ) 的卷积运算可用信号的分段求和来实现,即:
f (t ) =f 1(t ) *f 2(t ) =⎰-∞f 1(τ) f 2(t -τ) d τ=lim ∑f 1(k ∆) f 2(t -k ∆) ⋅∆ ∆→0
k =-∞
∞
∞
如果只求当t =n ∆(n 为整数)时f (t ) 的值f (n ∆) ,则上式可得:
f (n ∆) =∑f 1(k ∆) f 2(n ∆-k ∆) ⋅∆=∆∑f 1(k ∆) f 2[(n -k ) ∆] (2-1)
k =-∞
k =-∞
∞∞
式(2-1)中的∑f 1(k ∆) f 2[(n -k ) ∆]实际上就是连续时间信号f 1(t ) 和f 2(t ) 经等时间间隔∆
k =-∞
∞
均匀抽样的离散序列f 1(k ∆) 和f 2(k ∆) 的卷积和。当∆足够小时,f (n ∆) 就是卷积积分的结果——连续时间信号f (t ) 的较好数值近似。
因此,用MATLAB 实现连续信号f 1(t ) 和f 2(t ) 卷积的过程如下:
1、 将连续信号f 1(t ) 和f 2(t ) 以时间间隔∆进行取样,得到离散序列f 1(k ∆) 和
f 2(k ∆) ;
2、 构造与f 1(k ∆) 和f 2(k ∆) 相应的时间向量k 1和k 2(注意,k 1和k 2的元素不是整
数,而是取样间隔∆的整数倍的时间间隔点);
3、 调用MATLAB 命令conv()函数计算积分f (t ) 的近似向量f (n ∆) ; 4、 构造f (n ∆) 对应的时间向量k 。
下面是利用MATLAB 实现连续信号卷积的通用程序sconv( ) ,该程序在计算出卷积积分的数值近似的同时,还绘制出f (t ) 的时域波形图。应注意,程序中是如何构造f (t ) 的对应时间向量的?
function [f,k]=sconv(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: 取样时间间隔
f=conv(f1,f2); %计算序列f1与f2的卷积和f f=f*p;
k0=k1(1)+k2(1); %计算序列f 非零样值的起点位置 k3=length(f1)+length(f2)-2; %计算卷积和f 的非零样值的宽度 k=k0:p:(k3*p+k0); %确定卷积和f 非零样值的时间向量 subplot(2,2,1)
plot(k1,f1) %在子图1绘f1(t)时域波形图 title('f1(t)') xlabel('t1') ylabel('f1(t)') subplot(2,2,2)
plot(k2,f2) %在子图2绘f2(t)时波形图 title('f2(t)') xlabel('t2') ylabel('f2(t)') subplot(2,2,3)
plot(k,f); %画卷积f(t)的时域波形 title('f(t)=f1(t)*f2(t)') xlabel('t') ylabel('f(t)')
下面举例如何使用此程序:
已知两信号波形图如下所示,用MA TLAB 求解f (t ) f 1(t ) *f 2(t ) 。
图2-1 信号 f1(t) 、f2(t)
实现卷积的命令如下: p=0.01;
k1=0:p:2; f1=0.5*k1; k2=k1; f2=f1;
[f,k]=sconv(f1,f2,k1,k2,p); 程序运行结果如下:
图2-2 程序运行结果
四、实验内容:用以上MATLAB 方法求信号f 1(t ) f 2(t ) 的卷积,已知两连续时间信号如下图所示,试用MATLAB 求f(t)=f 1(t ) *f 2(t ) ,并绘出f(t)的时域波形图。
要求:在实验报告中推导出这两个信号卷积积分运算表达式,并绘出图形;然后,利用MATLAB 进行求解验证。
五、实验步骤
1.启动MATLAB
2.建立新的m-file 文件,建立sconv( ) 函数及sconv 文件。
3.建立新的m-file 文件,依据示例编程调用sconv( ) 函数,计算卷积。 4.按F5或文件栏的运行,分析结果。结果图像贴入实验报告。
六、实验报告要求
在实验报告中应包含以下内容:
(1)实验目的(2)实验仪器设备,(3)实验原理,(4)实验内容和操作步骤,(5)结果和分析。
实验一 连续时间信号的卷积
一、实验目的
掌握连续时间信号的卷积方法和MA TLAB 计算方法。
二、实验仪器设备
PC 机 MATLAB软件
三、实验原理
连续时间信号f 1(t ) 和f 2(t ) 的卷积运算可用信号的分段求和来实现,即:
f (t ) =f 1(t ) *f 2(t ) =⎰-∞f 1(τ) f 2(t -τ) d τ=lim ∑f 1(k ∆) f 2(t -k ∆) ⋅∆ ∆→0
k =-∞
∞
∞
如果只求当t =n ∆(n 为整数)时f (t ) 的值f (n ∆) ,则上式可得:
f (n ∆) =∑f 1(k ∆) f 2(n ∆-k ∆) ⋅∆=∆∑f 1(k ∆) f 2[(n -k ) ∆] (2-1)
k =-∞
k =-∞
∞∞
式(2-1)中的∑f 1(k ∆) f 2[(n -k ) ∆]实际上就是连续时间信号f 1(t ) 和f 2(t ) 经等时间间隔∆
k =-∞
∞
均匀抽样的离散序列f 1(k ∆) 和f 2(k ∆) 的卷积和。当∆足够小时,f (n ∆) 就是卷积积分的结果——连续时间信号f (t ) 的较好数值近似。
因此,用MATLAB 实现连续信号f 1(t ) 和f 2(t ) 卷积的过程如下:
1、 将连续信号f 1(t ) 和f 2(t ) 以时间间隔∆进行取样,得到离散序列f 1(k ∆) 和
f 2(k ∆) ;
2、 构造与f 1(k ∆) 和f 2(k ∆) 相应的时间向量k 1和k 2(注意,k 1和k 2的元素不是整
数,而是取样间隔∆的整数倍的时间间隔点);
3、 调用MATLAB 命令conv()函数计算积分f (t ) 的近似向量f (n ∆) ; 4、 构造f (n ∆) 对应的时间向量k 。
下面是利用MATLAB 实现连续信号卷积的通用程序sconv( ) ,该程序在计算出卷积积分的数值近似的同时,还绘制出f (t ) 的时域波形图。应注意,程序中是如何构造f (t ) 的对应时间向量的?
function [f,k]=sconv(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: 取样时间间隔
f=conv(f1,f2); %计算序列f1与f2的卷积和f f=f*p;
k0=k1(1)+k2(1); %计算序列f 非零样值的起点位置 k3=length(f1)+length(f2)-2; %计算卷积和f 的非零样值的宽度 k=k0:p:(k3*p+k0); %确定卷积和f 非零样值的时间向量 subplot(2,2,1)
plot(k1,f1) %在子图1绘f1(t)时域波形图 title('f1(t)') xlabel('t1') ylabel('f1(t)') subplot(2,2,2)
plot(k2,f2) %在子图2绘f2(t)时波形图 title('f2(t)') xlabel('t2') ylabel('f2(t)') subplot(2,2,3)
plot(k,f); %画卷积f(t)的时域波形 title('f(t)=f1(t)*f2(t)') xlabel('t') ylabel('f(t)')
下面举例如何使用此程序:
已知两信号波形图如下所示,用MA TLAB 求解f (t ) f 1(t ) *f 2(t ) 。
图2-1 信号 f1(t) 、f2(t)
实现卷积的命令如下: p=0.01;
k1=0:p:2; f1=0.5*k1; k2=k1; f2=f1;
[f,k]=sconv(f1,f2,k1,k2,p); 程序运行结果如下:
图2-2 程序运行结果
四、实验内容:用以上MATLAB 方法求信号f 1(t ) f 2(t ) 的卷积,已知两连续时间信号如下图所示,试用MATLAB 求f(t)=f 1(t ) *f 2(t ) ,并绘出f(t)的时域波形图。
要求:在实验报告中推导出这两个信号卷积积分运算表达式,并绘出图形;然后,利用MATLAB 进行求解验证。
五、实验步骤
1.启动MATLAB
2.建立新的m-file 文件,建立sconv( ) 函数及sconv 文件。
3.建立新的m-file 文件,依据示例编程调用sconv( ) 函数,计算卷积。 4.按F5或文件栏的运行,分析结果。结果图像贴入实验报告。
六、实验报告要求
在实验报告中应包含以下内容:
(1)实验目的(2)实验仪器设备,(3)实验原理,(4)实验内容和操作步骤,(5)结果和分析。