您好,欢迎访问三七文档
实验五卷积算法一.实验目的1.掌握卷积算法的原理和计算方法2.,熟悉卷积算法特性3.学习卷积算法的程序实现二.实验设备PC兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为Windows2000),安装CodeComposerStudio3.1软件。三.实验原理1.卷积的基本原理和公式:卷积和:对离散系统“卷积和”也是求线性时不变系统输出响应(零状态响应)的主要方法。卷积和的运算在图形表示上可分为四步:①翻褶先在亚变量坐标M上作出x(m)和h(m),将m=0的垂直轴转为轴翻褶成h(-m)。②移位将h(-m)移位n,即得h(n-m)。当n为正整数时,右移n位。当n为负整数时,左移n位。③相乘再将h(n-m)和x(m)的相同m值的对应点值相乘。④相加把以上所有对应点的乘积叠加起来,即得y(n)值。依上法,取n=…,-2,-1,0,1,2,3,…各值,即可得全部y(n)值。2.源程序及注释:*程序的自编函数及其功能:①processing1(int*input2,int*output2):调用形式:processing1(int*input2,int*output2)参数解释:intput2、output2为两个整型指针数组。返回值解释:返回了一个“TRUE”,让主函数的while循环保持连续。功能说明:对输入的input2buffer波形进行截取m点,再以零点的Y轴为对称轴进行翻褶,把生成的波形上的各点的值存入以OUTPUT2指针开始的一段地址空间中。②processing2(int*output2,int*output3):调用形式:processing2(int*output2,int*output3)参数解释:output2、output3为两个整型指针数组。返回值解释:返回了一个“TRUE”,让主函数的while循环保持连续。功能说明:对输出的output2buffer波形进行作n点移位,然后把生成的波形上的各点的值存入以OUTPUT3指针开始的一段地址空间中。③processing3(int*input1,int*output2,int*output4):调用形式:processing3(int*input1,int*output2,int*output4)参数解释:output2、output4、input1为三个整型指针数组。返回值解释:返回了一个“TRUE”,让主函数的while循环保持连续。功能说明:对输入的input2buffer波形和输入的input1buffer作卷积和运算,然后把生成的波形上的各点的值存入以OUTPUT4指针开始的一段地址空间中。④processing4(int*input2,int*output1):调用形式:processing4(int*input2,int*output1)参数解释:output1、input2为两个整型指针数组。返回值解释:返回了一个“TRUE”,让主函数的while循环保持连续。功能说明:对输入的input2buffer波形截取m点,然后把生成的波形上的各点的值存入以OUTPUT1指针开始的一段地址空间中。四.实验步骤1.实验准备:-设置软件仿真模式;-硬件连接;-启动CCS。2.打开工程,浏览程序工程目录C:\ICETEK-VC5509-EDULab\Lab0504-Convolve\Convolve.pjt3.编译并下载程序。4.设置输入数据文件:请在volume.c程序中有注释“breakpoint”的两行上设置probepoint和breakpoint:设置方法是把光标指示到这一行上,按鼠标右键,从显示的菜单上分别选择probepoint和breakpoint。5.打开观察窗口:-选择菜单View-Graph-Time/Frequency…进行如下设置:-选择菜单View-Graph-Time/Frequency…进行如下设置:-选择菜单View-Graph-Time/Frequency…进行如下设置:-在弹出的图形窗口中单击鼠标右键,选择“ClearDisplay”。6.设置波形输入文件,请按照如下设置:-选择菜单File-FileI/O…,打开“FileI/O”窗口;单击“AddFile”按钮,在“FileInput”窗口中选择工程目录下的sine11.dat文件,单击“打开”按钮;在“Address”项中输入inp1_buffer,在“Length”项中输入64,在“WarpAround”项前加上选择标记,单击“AddProbePoint”按钮;-在“Break/Probe/ProfilePoints”窗口中单击“ProbePoint”列表中的“Convolve.cline62NoConnection”,再单击“Connect”项尾部的展开按钮,在显示的展开式列表中选择列表末尾的“FILEIN:D:\..\SIN11.DAT”,单击“Replace”按钮,单击“确定”按钮。-在“FileI/O”窗口中单击“确定”,完成设置。-选择“File”菜单中的“FileI/O…”,打开“FileI/O”窗口;单击“AddFile”按钮,在“FileInput”窗口中选择工程目录下的sine11.dat文件,单击“打开”按钮;在“Address”项中输入inp2_buffer,在“Length”项中输入64,在“WarpAround”项前加上选择标记,单击“AddProbePoint”按钮;-在“Break/Probe/ProfilePoints”窗口中单击“ProbePoint”列表中的“Convolve.cline63NoConnection”,再单击“Connect”项尾部的展开按钮,在显示的展开式列表中选择列表末尾的“FILEIN:D:\..\SIN11.DAT”,单击“Replace”按钮,单击“确定”按钮。-在“FileI/O”窗口中单击“确定”,完成设置。7.运行程序,观察结果:-在“jishu++;//在此处加断点”上设置break断点。-按F5键运行程序,待程序停留上面那条语句处;观察刚才打开的三个图形窗口,其中显示的是输入和输出的时域波形;8.输入波形文件改成其他波形,如:sin22.dat等,观察运行结果。在修改输入波形文件时须首先将原文件删除;在重新运行程序时,先选择菜单“Debug”的“ResetCPU”、“Restart”、“GoMain”,再选择“Debug”中“Run”或按一下F5即可。五、实验结果1)当输入波形均为sin11.dat时,得到的卷积时域图为;Input波形:Output波形:2)当输入波形均为sin22.dat时,得到的卷积时域图为;Input波形:Output波形:3)当输入波形均为方波.dat时,得到的卷积时域图为;Input波形:Output波形:
本文标题:实验五-卷积算法
链接地址:https://www.777doc.com/doc-4260344 .html