正在加载图片...
9.1.2.卷积运算在C54x上的实现 >三种实现方式 1.根据卷积定义直接C语言实现 #define MAX(a,b)((a>b)?(a):(b)) /取最大值宏定义 #define MIN (a,b)((a<b)?(a):(b)) 取最小值宏定义 #define NH 3 卷积核长度 #define NX 5 输入矢量长度 int main(int argc,char argv ∥主函数 {short h[NH]={1,3,5) 卷积核 short x[NX]={2,4,6,8,10}; 输入矢量 short r[NH+NX-1]={0); 输出矢量 int i,j; 临时变量 for(i=0;i<NH+NX;i++) 外层循环 forG=MAX(0,i+1-NX);j<=MIN(i,NH-1);j++)W内层循环 [叮=h]*x[i-j1; ∥卷积计算主体 49.1.2. 卷积运算在C54x上的实现 1. 根据卷积定义直接C语言实现 #define MAX(a,b) ((a>b)?(a):(b)) //取最大值宏定义 #define MIN (a,b) ((a<b)?(a):(b)) //取最小值宏定义 #define NH 3 //卷积核长度 #define NX 5 //输入矢量长度 int main( int argc, char * * argv ) //主函数 {short h[NH]={1,3,5} ; //卷积核 short x[NX]={2,4,6,8,10} ; //输入矢量 short r[NH+NX-1]={0} ; //输出矢量 int i, j; //临时变量 for(i=0;i<NH+NX; i++) //外层循环 for(j=MAX(0, i+1-NX); j<=MIN(i, NH-1); j++) //内层循环 i[i]=h[j]*x[i-j]; //卷积计算主体 } 4 ➢三种实现方式
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有