TI C64X 通用库函数使用手册.docx
- 文档编号:1827374
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:7
- 大小:16.86KB
TI C64X 通用库函数使用手册.docx
《TI C64X 通用库函数使用手册.docx》由会员分享,可在线阅读,更多相关《TI C64X 通用库函数使用手册.docx(7页珍藏版)》请在冰豆网上搜索。
TIC64X通用库函数使用手册
TIC64X+通用库函数使用手册
1.自适应滤波器(AdaptiveFiltering)
LMS自适应滤波器,每次调用计算一个数据点
longDSP_firlms2(short*h,short*x,shortb,intnh)
h[nh]:
滤波器系数,调用后被内部更新
x[nh+1]:
前nh个数据加一个新数据构成
b:
前一次滤波计算的误差项
nh:
滤波系数个数,4N2.自相关(AutoCorrelation)
voidDSP_autocor(short*r,short*x,intnx,intnr)
x[nx+nr]:
前nx个数据加nr个新数据构成,双字对齐
r[nr]:
nr个自相关输出
nx:
相关器长度,8N
nr:
相关滑动点数,4N3.快速傅里叶变换(FFT)旋转因子均需调用专门的产生函数
16*16复数FFT,实部和虚部交错存放,实部在偶下标,虚部在奇下标
voidDSP_fft16x16(short*w,intnx,short*x,short*y)
w[2nx]:
复数旋转因子,Q15,双字对齐
x[2nx]:
复数输入,双字对齐
y[2nx]:
复数输出,双字对齐
nx:
FFT点数,2^N,16≤nx≤65536
与DSP_fft16x16()区别在于虚部和实部交换位置存放,虚部在偶下标,实部在奇下标
voidDSP_fft16x16_imre(short*w,intnx,short*x,short*y)
16*16复数前混合基FFT,带取整。
用于计算一个混合基数主FFT的子FFT。
实部和虚部交错存放,实部在偶下标,虚部在奇下标
voidDSP_fft16x16r(intnx,short*x,short*w,short*y,intradix,intoffset,intnmax)
w[2nx]:
复数旋转因子,Q15,双字对齐
x[2nx]:
复数输入,双字对齐,需压缩2^(log2(nx)?
ceil[log4(nx)?
1])以防止溢出
y[2nx]:
复数输出,双字对齐
nx:
FFT点数,2^N,16≤nx≤65536
radix:
将FFT分解成子FFT的基数
offset:
子FFT相对于主FFT起始处的复数下标
nmax:
主FFT的复数样点个数
16*32复数FFT,实部和虚部交错存放,实部在偶下标,虚部在奇下标
voidDSP_fft16x32(short*w,intnx,int*x,int*y)
w[2nx]:
复数旋转因子,Q15,双字对齐
x[2nx]:
32bit复数输入,双字对齐,需压缩2^(log2(nx)?
ceil[log4(nx)?
1])以防止溢出
y[2nx]:
32bit复数输出,双字对齐
nx:
FFT点数,2^N,16≤nx≤65536
32*32复数FFT,实部和虚部交错存放,实部在偶下标,虚部在奇下标
voidDSP_fft32x32(short*w,intnx,int*x,int*y)
w[2nx]:
复数旋转因子,Q31,双字对齐,scalefactor=2147483647.5
x[2nx]:
32bit复数输入,双字对齐,需压缩2^log2(nx)以防止溢出
y[2nx]:
32bit复数输出,双字对齐
nx:
FFT点数,2^N,16≤nx≤65536
32*32带压缩的复数FFT,实部和虚部交错存放,实部在偶下标,虚部在奇下标
voidDSP_fft32x32s(short*w,intnx,int*x,int*y)
w[2nx]:
复数旋转因子,Q31,双字对齐,scalefactor=1073741823.5
x[2nx]:
32bit复数输入,双字对齐,需压缩2^(log2(nx)?
ceil[log4(nx)?
1])以防止溢出
y[2nx]:
32bit复数输出,双字对齐
nx:
FFT点数,2^N,16≤nx≤65536
16*16复数逆FFT,类似于DSP_fft16x16()。
使用DSP_fft16x16()将输入取共轭,再将输出取共轭,可获得DSP_ifft16x16()相同的效果
voidDSP_ifft16x16(short*w,intnx,short*x,short*y)
16*32复数逆FFT,类似于DSP_fft16x32(),输入x需压缩2^log2(nx)以防止溢出
voidDSP_ifft16x32(short*w,intnx,short*x,short*y)
32*32复数逆FFT,类似于DSP_fft32x32()
voidDSP_ifft32x32(short*w,intnx,short*x,short*y)4.滤波器和卷积(FilteringandConvolution)
复数FIR滤波器
voidDSP_fir_cplx(short*x,short*h,short*r,intnh,intnr)
x[2*(nr+nh-1)]:
复数输入,前2*(nh-1)个数据加新的2nr个数据
h[2nh]:
滤波器系数,复数
r[2nr]:
复数输出,内部用32bit存放临时结果,输出时右移15位
nh:
系数个数,2N
nr:
输出样点数,4N
复数FIR滤波器,与DSP_fir_cplx()区别在于nh满足4N
voidDSP_fir_cplx_hM4X4((short*x,short*h,short*r,intnh,intnr)
FIR滤波器
voidDSP_fir_gen(short*x,short*h,short*r,intnh,intnr)
x[nr+nh-1]:
输入,前nh-1个数据加新的nr个数据
h[nh]:
滤波器系数
r[nr]:
输出,内部用32bit存放临时结果,输出时右移15位
nh:
系数个数,nh≥5
nr:
输出样点数,4N
FIR滤波器,与DSP_fir_gen()区别在于nr满足8N
voidDSP_fir_gen_hM17_rA8X8(short*x,short*h,short*r,intnh,intnr)
FIR滤波器,与DSP_fir_gen()区别在于nh满足4N,且nh≥8
voidDSP_fir_r4(short*x,short*h,short*r,intnh,intnr)
FIR滤波器,与DSP_fir_gen()区别在于nh满足8N
voidDSP_fir_r8(short*x,short*h,short*r,intnh,intnr)
FIR滤波器,与DSP_fir_gen()区别在于nh满足8N,且nh≥16;nr满足8N
voidDSP_fir_r8_hM16_rM8A8X8(short*x,short*h,short*r,intnh,intnr)
FIR滤波器,只需提供原滤波系数的一半(对称缘故)
voidDSP_fir_sym(short*x,short*h,short*r,intnh,intnr,ints)
x[nr+2nh]:
输入,前2nh个数据加新的nr个数据
h[nh+1]:
滤波器系数,原滤波系数的一半
r[nr]:
输出,内部用32bit存放临时结果,输出时右移s位
nh:
系数个数,原系数个数为2nh+1,8N
nr:
输出样点数,4N
IIR滤波器,输入单个数据,输出单个数据,状态向量b被内部更新,返回滤波结果
shortDSP_iir(shortx,short*h,intnh,short*b)
x:
输入数据
h[nh]:
滤波器系数,Q14
nh:
系数个数8N
b[nh]:
状态向量
全极型IIR格型滤波器,滤波器由nk级格点构成
voidDSP_iir_lat(short*x,intnx,short*k,intnk,int*b,short*r)
x[nx]:
输入数据
k[nk]:
反射系数,Q15
b[nk+1]:
前一次调用的延迟线数据,应初始化为0
r[nx]:
输出数据
nx:
输入长度
nk:
反射系数个数,2N,且nk≥45.数学(Math)
向量x和向量y做点乘,将y的平方累加至G并返回
intDSP_dotp_sqr(intG,short*x,short*y,int*r,intnx)
G:
y^2累加值
x[nx]:
输入数据向量1
y[nx]:
输入数据向量2
r[nx]:
x和y的点乘结果
nx:
数据长度,4N,且N≥12
返回向量x和向量y的点乘和
intDSP_dotprod(short*x,short*y,intnx)
x[nx]:
输入数据向量1
y[nx]:
输入数据向量2
nx:
数据长度,4N
返回向量的最大值
shortDSP_maxval(short*x,intnx)
x[nx]:
输入数据向量1
nx:
数据长度,8N,且N≥32
返回向量的最小值
shortDSP_minval(short*x,intnx)
x[nx]:
输入数据向量1
nx:
数据长度,4N,且N≥8
返回向量的最大值对应的下标
intDSP_maxidx(short*x,intnx)
x[nx]:
输入数据向量1
nx:
数据长度,16N,且N≥32
32x32数据乘法,输出乘积的高32位,输入应定标为Q31
voidDSP_mul32(int*x,int*y,int*r,shortnx)
x[nx]:
输入数据向量1
y[nx]:
输入数据向量2
r[nx]:
x和y的乘积结果
nx:
数据长度,8N,且N≥16
向量取反
voidDSP_neg32(int*x,int*r,shortnx)
x[nx]:
输入数据向量
r[nx]:
输出数据向量,*r=-*x
nx:
数据长度,4N,且N≥8
返回数据倒数的小数和指数部分(浮点表示法)
voidDSP_recip16(short*x,short*rfrac,short*rexp,shortnx)
x[nx]:
输入数据向量1
rfrac[nx]:
输出小数部分值
rexp[nx]:
输出指数部分值
nx:
数据长度
返回向量数据的平方和
intDSP_vecsumsq(short*x,intnx)
x[nx]:
输入数据向量
nx:
数据长度,4N,且N≥8
加权和:
*r=m*(*x)>>15+*y
voidDSP_w_vec(short*x,short*y,shortm,short*r,shortnx)
x[nx]:
被加权数据向量1
y[nx]:
输入数据向量2
r[nx]:
输出数据向量
nx:
数据长度,8N,且N≥84.6矩阵(Matrix)
矩阵乘法:
r[r1*c2]=x[r1*c1]*y[c1*c2]
voidDSP_mat_mul(short*x,intr1,intc1,short*y,intc2,short*r,intqs)
x[r1*c1]:
输入矩阵x
r1:
矩阵x的行数,1~32767
c1:
矩阵x的列数/矩阵y的行数,1~32767
y[c1*c2]:
输入矩阵y
c2:
矩阵y的列数,1~32767
r[
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TI C64X 通用库函数使用手册 通用 库函数 使用手册