DSP6455开发: dsp.lib库使用总结

TI公司为DSP64x+系列的DSP芯片提供了一系列常用的DSP运算库函数,这些库函数由于在硬件上的优化速度往往比直接用C甚至汇编语言编写效率更高。

库函数官方的解释说明:file:///D:/ccs/support_lib/dsp_lib/docs/doxygen/html/dsplib_html/modules.html

库函数使用注意事项:大部分函数对输入数组参数的大小有特殊要求(内部优化的需要),使用时需特别注意,使用不当将可能会引起输出错误。文中在描述数据长度要求时,使用xN表示数据长度应为x的倍数。

一.MATH类

1.对单个向量的操作

(1)short DSP_maxval (short *x, int nx) 
    函数介绍:返回数组中的最大值
    x[nx]:输入的short型数据向量
     nx:数据长度,8N,且N≥4

(2)int DSP_maxidx (short *x, int nx)
    函数介绍:返回数组中的最大值所对应的序号
    x[nx]:输入数据向量1
    nx:数据长度,16N,且N≥3

(3)short DSP_minval (short *x, int nx)
    函数介绍:返回数组中的最小值
    x[nx]:输入数据向量1
    nx:数据长度,8N,且N≥4

(4)void DSP_neg32(int *x, int * r, short nx)
     函数介绍:对数组做取反操作,即将数组序号倒置过来
     注意事项:输入数组和输出数组不能有重叠,除非输入数组与输出数组完全相等
     x[nx]:输入数据向量
     r[nx]:输出数据向量
     nx:数据长度,4N,且N≥1

(5)void DSP_recip16(short *x, short *rfrac, short *rexp, short nx)
            函数介绍:将输入的数组的每一个元素分别取倒数,并输出其倒数对应的小数部分和指数部分的数组
            x[nx]:输入数据向量
            rfrac[nx]:输出小数部分值
            rexp[nx]:输出指数部分值
            nx:数据长度,4N,且N≥1

(6)int DSP_vecsumsq (short *x, int nx)
     函数介绍:返回向量数据的平方和
     x[nx]:输入数据向量
     nx:数据长度,4N,且N≥1

2.对两个向量的操作

(1)void DSP_add16(short *restrict x,short *restrict y,short *restrict r,int nx)        
    函数介绍:将输入的两个short类型的数组做数组元素相加的操作,并返回相加后的数组
    x[nx]:输入的数组1
    y[nx]:输入的数组2
    r[nx]:返回的相加后的的数组
    nx:数组长度,无要求

(2)void DSP_add32(const int *restrict const int *restrict y,int  *restrict r,int nx)        
    函数介绍:将输入的两个const int类型的数组做数组元素相加的操作,并返回相加后的数组
    x[nx]:输入的数组1
    y[nx]:输入的数组2
    r[nx]:返回的相加后的的数组
    nx:数组长度,无要求

(3)void DSP_mul32(const int *restrict const int *restrict y,int  *restrict r,int nx)        
    函数介绍:将输入的两个const int类型的数组做数组元素相乘的操作,并返回数组元素相乘后得到的新数组
    x[nx]:输入的数组1
    y[nx]:输入的数组2
    r[nx]:返回的相乘后的的数组
    nx:数组长度,4N,且N≥1

(4)int DSP_dotprod(short *x, short *y, int nx)
    函数介绍:返回向量x和向量y的点乘和
    x[nx]:输入数据向量1
    y[nx]:输入数据向量2
    nx:数据长度,4N

你可能感兴趣的:(DSP6455开发,dsp)