欢迎来到天天文库
浏览记录
ID:50811740
大小:390.20 KB
页数:16页
时间:2020-03-14
《DSP中的卷积算法.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、卷积算法设计总框图取移位值n开始初始化DSP产生输入信号将卷积信号X(m)和H(m)输入在同一个坐标系内翻转:将H(m)以m=0的垂直轴为轴翻褶成H(-m)移位:将H(-m)移位n,即得H(n-m)相乘:再将H(n-m)和X(m)的相同m值的对应点值相乘相加:把以上所有点的对应点的乘积叠加起来,即得Y(n)值。N值取遍整个坐标轴YES结束3.2卷积算法设计的原理1)卷积算法基础理论卷积的基本理论和公式卷积和:对离散系统“卷积和”也是求线性时不变系统输出响应(零状态响应)的主要方法。卷积和的运算在图形表示上可分为四步:A)翻褶现在亚变量坐标M
2、上作出X(m)和H(m),将m=0的垂直轴为轴翻褶成H(-m)。B)移位将H(-m)移位n,即得H(n-m)。当n为正整数时,右移n位。当n为负整数时,左移n位。C)相乘再将H(n-m)和X(m)的相同m值的对应点值相乘。D)相加把以上所有点的对应点的乘积叠加起来,即得Y(n)值。依上法,取n=……,-2,-1,0,1,2,3,……各值,即可得全部Y(n)值。程序流程图开始执行processing3()子程序执行processing2()子程序执行processing1()子程序打印“volumeexampletarted”While(
3、TRUE)执行dataIO2()子程序执行dataIO()子程序执行processing4()子程序结束YESNO执行processing4()子程序程序的自编函数及其功能1)processing(int*input2,int*output2)调用形式:processing1(int*input2,int*output2)参数解释:input2、output为两个整型指针数组。返回值解释:返回一个“TURE”,让主函数的While循环保持连续。功能说明:对输入的input2buffer波形进行截取m点,再以零点的Y轴为对称轴进行翻褶,把生成
4、的波形上的各点的值存入以OUTPUT2指针开始的一段地址空间中。2)processing2(int*output2,int*output3)调用形式:processing2(int*output2,int*output3)参数解释:output2、output3为两个整形指针数组。返回值解释:返回了一个“TREN”,让主函数的While循环保持连续。功能说明:对输出的output2buffer波形进行作n点移位,然后把生成的波形上的各点的值存入以OUTPUT3指针开始的一段空间中。3)processing3(int*input1,int*o
5、utput2,int*output4)调用形式:processing3(int*input1,int*output2,int*output4)参数解释:output2、output4、input1为三个整型指针数组。返回值解释:返回了一个“TRUE”,让主函数的While循环保持继续。功能说明:对输入的input2buffer波形和输入的input1buffer做卷积和运算,然后把生成的波形上的各点的值存入以OUTPUT4指针开始的地址空间中。4)processing4(int*input2,int*output1)调用形式:process
6、ing4(int*input2,int*output1)参数解释:output1、input为两个整型指针数组返回值解释:返回了一个“TRUE”,让主函数的循环保持继续。功能说明:对输入的input2buffer波形截取m点,然后把生成的波形上的各点的值存入以OUTPUT1指针开始的一段地址空间中。源程序:#include"DSP281x_Device.h"#include"DSP281x_Examples.h"#include"f2812a.h"#include"stdio.h"#include"volume.h"intinp1_buff
7、er[BUFSIZE];intinp2_buffer[BUFSIZE];intout1_buffer[BUFSIZE];intout2_buffer[BUFSIZE];intout3_buffer[BUFSIZE];intout4_buffer[BUFSIZE*2];intsize=BUFSIZE;intain=MINGAIN;intzhy=0;intsk=64;unsignedintprocessingLoad=1;staticintprocessing1(int*output1,int*output2);staticintprocess
8、ing2(int*output2,int*output3);staticintprocessing3(int*input1,int*output2,int*output4);st
此文档下载收益归作者所有