TI公司为DSP64x系列DSP芯片提供了一系列常用的DSP运算库函数。 由于硬件优化速度,这些库函数往往比直接用C或汇编语言编写更高效。
库函数公式的说明: file ://d :/CCS/support _ lib/DSP _ lib/docs/doxygen/html/DSP lib _ html/modules.html
库函数的使用注意事项:大多数函数对输入数组参数的大小都有特殊要求(需要内部优化),使用不当可能会导致输出错误,因此需要特别注意。 在此,在说明数据长度的要求时,用xN表示数据长度是x的倍数。
一. MATH类
1 .对单个向量的操作
)1) shortDSP_maxval(short*x,int nx ) ) ) ) ) ) ) ) )。
选项卡页面上创建或编辑条目。返回数组的最大值
x[nx] :输入的短型数据向量
nx )数据长度,8N且n4
)2) intDSP_maxidx(short*x,int nx ) ) ) ) ) ) ) ) ) ) ) ) )。
函数说明:返回与数组中最大值相对应的序列号
x[nx] :输入数据向量1
nx )数据长度,16N且n3
)3) shortDSP_minval(short*x,int nx ) ) ) ) ) ) )。
函数说明:返回数组中的最小值
x[nx] :输入数据向量1
nx )数据长度,8N且n4
)4) voidDSP_neg32(int*x,int * r,short nx ) ) ) ) ) )。
函数介绍:如果颠倒数组,数组编号就会颠倒
注:输入数组和输出数组不能有重复,除非输入数组和输出数组完全相等
x[nx] :输入数据向量
r[nx] :输出数据向量
nx )数据长度,4N且n1
)5) voidDSP_recip16(short*x,short *rfrac,short *rexp,short nx ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 655
函数介绍:将输入的数组的各个元素作为倒数,输出与该倒数对应的小数部分和指数部分的数组
x[nx] :输入数据向量
rfrac[nx] :输出小数部分的值
rexp[nx] :输出指数部分值
nx )数据长度,4N且n1
((6) int DSP _ vecsumsq (short * x,int nx ) ) ) ) ) ) ) ) ) ) )。
函数介绍:返回矢量数据的平方和
x[nx] :输入数据向量
nx )数据长度,4N且n1
2 .对两个向量的操作
)1) voidDSP_add16(short*restrictx,short *restrict y,short *restrict r,int nx ) ) ) ) ) ) ) ) )
函数说明:执行将两个输入的短类型数组添加到数组元素的操作,并返回相加后的数组
x[nx] :输入的数组1
y[nx] :输入的数组2
r[nx] :返回的相加数组
nx :数组长度,无要求
)2) void DSP _ add 32 (constint * restrict constint * restrict y,int *restrict r,int nx ) ) ) ) ) ) ) ) ) )
函数说明:执行将输入的两个const int类型的数组添加到数组元素的操作,并返回相加后的数组
x[nx] :输入的数组1
y[nx] :输入的数组2
r[nx] :返回的相加数组
nx :数组长度,无要求
((3) void DSP _ mul 32 (constint * restrictconstint * restrict y,int *restrict r,int nx ) ) ) ) ) ) )
函数说明:执行将输入的两个const int类型的数组与数组元素相乘的操作,并返回与数组元素相乘的新数组
x[nx] :输入的数组1
y[nx] :输入的数组2
r[nx] :返回的乘法数组
nx )序列长度,4N,且n1
)4) intDSP_dotprod(short*x,short *y,int nx ) ) ) ) ) ) ) )4)4) intDSP_dotprod(short*x,int nx ) ) ) ) ) ) ) ) ) ) )4) 4
函数介绍:返回向量x和向量y的点乘和
x[nx] :输入数据向量1
y[nx] :输入数据向量2
nx :数据长度,4N