电信类课程试验报告学 院:基础信息工程系 别:电子信息工程课程名称: 数字信号处理姓 名:学 号:日期:实验三实验名称:线性卷积与圆周卷积的计算一、实验目的( 1)通过编程,上机调试程序,进一不增强使用计算机解决问题的能力
( 2)掌握线性卷积与圆周卷积软件实现的方法,并实验两者之间的关系
二、主要函数简介对于无限长序列不能用MATLAB 直接计算线性卷积,在MATLAB 内部只能提供了一个conv 函数计算两个有限长序列的线性卷积
对于圆周卷积MATLAB内部没有提供现成的函数,我们可以按照定义式直接编程计算
计算两个有限长序列的线性卷积函数:y(n)=conv(x,h)输入参数: x,h 为已知两个有限长序列矢量
输出参数: y 为线性卷积所的序列矢量
三、实验内容及要求已知两个有限长序列:x(n)=δ (n)+2δ (n-1)+3δ (n-2)+4δ (n-3)+5δ (n-4)h(n)=δ (n)+2δ (n-1)+δ (n-2)+2δ (n-3)(1)实验前,预先笔算好这两个序列的线性卷积及下列几种情况的圆周卷积① x(n)⑤h(n) ② x(n)⑥h(n) ③ x(n)⑨h(n) ④ x(n)⑽ h(n)(2)编制一个计算两个序列线性卷积的通用程序,计算x(n)*h(n)
(3)编制一个计算圆周卷积的通用程序,计算上述4 种情况下两个序列x(n)与 h(n)的圆周卷积
(4)上机调试并打印或记录实验结果
注:可在一个程序中用菜单形式实现上述两种卷积的计算
(5)将实验结果与预先笔算的结果比较,验证其真确性
首先定义圆周卷积的函数,保存为
function yc=circonv(x1,x2,N)if length(x1)>Nerror('N 必须大于等于x1 的长度 ');endif length(x2)>Nerror('N