数字信号处理实验四(实验箱)报告 - 图文 联系客服

发布时间 : 星期四 文章数字信号处理实验四(实验箱)报告 - 图文更新完毕开始阅读95d0826304a1b0717fd5dddf

三、 实验内容及结果 (一) 内容:

根据程序框图编写卷积算法的程序,运行程序,改变两输入信号,以得到不同的卷积结果,并在观察窗中查看。

(二) 结果:

a. 程序源代码: void juanji(

float Input, // 输入数据 float Impulse, // 冲击响应 float Output, // 卷积结果 int length ) // 卷积序列长度 main() {

int i,k,p; //定义变量 float r;

p=0; //初始化

for (k=0; k<=length-1; k++) //循环一,外层循环输入数据 {

Output[k]=0; r=0;

}

for (i=0; i<=p; i++) //循环一,内层循环两序列卷积 {

r=Input[k-i]*Impulse[i]; Output[k] = Output[k]+r; }

p=p+1;

if (p>length-1) p=length-1; else p=p; }

p=length-2;

for (k=length; k<=length+length-1; k++)//循环二外层循环计算长度 {

Output[k]=0; r=0; for (i=0; i<=p; i++) //循环二,内层循环两序列卷积 {

r = Input[length-1-i]*Impulse[length-1-p+i]; Output[k] = Output[k]+r; }

p=p-1; }

return Output; //返回值卷积结果

b. 卷积图:

四、实验结果分析:

卷积是信号处理中常用的算法之一。数字卷积运算通常 采用两种方法:线性卷积和圆卷积。为了能使卷积运算在DSP上的实现方法,首先要对数字卷积的基本概念作深入了解。从根本上掌握数字信号的卷积的实现方法。根据指导书中所给出的卷积的算法,主要有两个循环分别负责计算前128个卷积结果、后128个卷积结果,最后将结果付给Output数组供主函数返回值使用。输入图形频域图形采用通过频域采样取值比较,卷积后的结果与标准值只有很小的误差,故卷积实验结果正。