dsplib中文版TMS3X 函数库中文用户指南.docx

上传人:b****8 文档编号:29657385 上传时间:2023-07-25 格式:DOCX 页数:97 大小:180.74KB
下载 相关 举报
dsplib中文版TMS3X 函数库中文用户指南.docx_第1页
第1页 / 共97页
dsplib中文版TMS3X 函数库中文用户指南.docx_第2页
第2页 / 共97页
dsplib中文版TMS3X 函数库中文用户指南.docx_第3页
第3页 / 共97页
dsplib中文版TMS3X 函数库中文用户指南.docx_第4页
第4页 / 共97页
dsplib中文版TMS3X 函数库中文用户指南.docx_第5页
第5页 / 共97页
点击查看更多>>
下载资源
资源描述

dsplib中文版TMS3X 函数库中文用户指南.docx

《dsplib中文版TMS3X 函数库中文用户指南.docx》由会员分享,可在线阅读,更多相关《dsplib中文版TMS3X 函数库中文用户指南.docx(97页珍藏版)》请在冰豆网上搜索。

dsplib中文版TMS3X 函数库中文用户指南.docx

dsplib中文版TMS3X函数库中文用户指南

TMS320C54xDSP函数库

用户指南

TMS32C54X优化C函数库

北京金信诺科技

June,1999

第一章概述..................................................................................................................................3

一、DSP函数数据类型.............................................................................................................3

二、从C程序中调用DSP函数...............................................................................................3

三、从汇编程序中调用DSP函数............................................................................................5

四、其他说明.............................................................................................................................6

第二章DSP数学函数库.............................................................................................................7

add向量相加...............................................................................................................7

sub向量相减...............................................................................................................8

mul3232位向量相乘......................................................................................................9

neg向量求反.............................................................................................................10

neg32双精度向量求反.................................................................................................11

mmul矩阵相乘.............................................................................................................12

mtrans矩阵转置.............................................................................................................13

maxidx向量最大元素的序号........................................................................................14

maxval向量元素的最大值.............................................................................................15

minidx向量最小元素的序号.........................................................................................16

minval向量的最小元素.................................................................................................17

atan16反正切.................................................................................................................18

atan2_16反正切2...........................................................................................................19

sine三角正弦...........................................................................................................20

sqrt_1616位数的平方根.............................................................................................21

log_2以2为底的对数...............................................................................................22

log_10以10为底的对数...........................................................................................23

logn以e为底的对数..............................................................................................24

recip1616位数的倒数...............................................................................................25

expn指数.................................................................................................................26

power向量的功率.....................................................................................................27

bexp块的幂.............................................................................................................28

rand16init初始化随机数生成器....................................................................................29

rand16随机向量生成器.............................................................................................30

fltoq15浮点数到Q15数据转换................................................................................31

q15toflQ15到浮点数转换.........................................................................................32

第三章FFT函数库...................................................................................................................33

cbrev复数逆序.........................................................................................................33

cfft复数FFT..........................................................................................................34

cifft复数逆FFT......................................................................................................36

rfft实数FFT(替换)...............................................................................................38

rifft逆实数FFT(替换)...........................................................................................40

第四章卷积与FIR滤波器.......................................................................................................42

convol卷积.....................................................................................................................42

cfir复数FIR滤波器.................................................................................................43

firFIR滤波器..........................................................................................................44

firs对称FIR滤波器.................................................................................................45

firs2对称FIR滤波器(常用).......................................................................................47

firdec抽样FIR滤波器................................................................................................48

firinterp插值FIR滤波器..............................................................................................50

firlatFIRLattice滤波..............................................................................................51

1

hilb16Hilbert变换器.................................................................................................52

第五章IIR滤波器.....................................................................................................................54

iircas4使用4个参数的IIR滤波(直接实现形式II).................................................54

iircas5使用5个参数的IIR滤波(直接实现形式II).................................................56

iircas51使用5个参数的IIR滤波(直接实现形式I)..................................................58

iirlatIIRlattice滤波.................................................................................................59

iir32双精度IIR滤波...............................................................................................60

第六章自适应滤波器................................................................................................................62

dlms自适应延迟LMS滤波...................................................................................62

nblms标准化的LMS块滤波...................................................................................64

ndlms标准化的延迟LMS滤波...............................................................................66

第七章相关函数库....................................................................................................................68

acorr自相关.............................................................................................................68

corr互相关.............................................................................................................70

2

第一章概述

一、DSP函数数据类型

DSP函数库处理以下的小数数据类型:

Q3.12:

包含3个整数位和12个小数位,其各位的定义如下:

位1514131211109…0

值符号I3I2I1Q11Q10Q9…Q0

它表示的数据范围是(-8,8),最小的小数分辨率为2−12=2.441×10−4。

Q.15(DATA):

一个Q.15表示的是16位的short类型的数据,定义为

DATA,各位的定义如下:

位1514131211109…0

值符号Q14Q13Q12Q11Q10Q9…Q0

它表示的数据范围是(-1,1),最小的小数分辨率为2−15=3.05×10−5。

Q.31(LDATA):

一个Q.31用long类型的数据来表示(32位),定义为

LDATA,各位的定义如下:

低位:

位15141312…3210

值Q15Q14Q13Q12…Q3Q2Q1Q0

高位:

位15141312…3210

值符号Q30Q29Q28…Q19Q18Q17Q16

除非特别说明,DSP函数库中使用的都是Q.15类型的数据

二、从C程序中调用DSP函数

为了正确使用DSP函数库中的函数,必须执行以下步骤:

将需要调用的库函数的头文件“.h”包含在“.c”文件中。

使用正确的,反映C54x板上内存结构的连接命令文件。

3

将需要调用的库文件“.lib”包含在连接命令文件“.cmd”中。

下面的示例说明了DSP函数的调用方法:

/*example.c*/

#includec54math.h/*包含库函数的文件头*/

/*必要时需指明文件所在目录*/

floatxf[3]={0.1,0.2,0.3};

floatyf[3]={0.2,0.3,0.4};

shortx[3];

shorty[3];

shorti;

main(){

for(i=0;i<3;i++)y[i]=x[i]=0;

fltoq15(xf,x,3);

fltoq15(yf,y,3);

add(x,y,x,3,1);

q15tofl(x,xf,3);

}

//examples.cmd

-c

-lrts.lib

-lc54math.lib/*连接时必须包含库函数*/

/*必要时需指明文件所在目录*/

-stack0x200

-heap0x200

-otest.out/*输出文件*/

-mtest.map/*存储器映像文件*/

MEMORY

{

PAGE0:

INT_PM_DRAM:

origin=0080h,length=1380h

EXT_PM_RAM:

origin=1400h,length=0ec00h

PAGE1:

INT_DM_SCRATCH_PAD_DRAM:

origin=0060h,length=20h

INT_DM_1:

origin=0080h,length=01380h

4

EXT_DM_RAM:

origin=1400h,length=0ec00h

}

SECTIONS

{

.text:

{}>INT_PM_DRAMPAGE0

.cinit:

{}>INT_PM_DRAMPAGE0

.switch:

{}>INT_PM_DRAMPAGE0

.data:

{}>INT_DM_1PAGE1

.stack:

{}>INT_DM_1PAGE1

.bss:

{}>INT_DM_1PAGE1

.sysmem:

{}>INT_DM_1PAGE1

.const:

{}>INT_DM_1PAGE1

.dout:

{}>INT_DM_1PAGE1

}

程序中将xf,yf都转化成Q15格式后相加,并将结果除以2,存入向量x中。

然后将x转换成小数形式,存入xf中。

三、从汇编程序中调用DSP函数

对DSP函数库中函数的调用与一般的汇编函数调用类似,但是调用要符合标

准C的调用规则,执行的结果与标准C计算所得到的结果相同。

例如,C语言

中对加法的调用:

add(x,y,r,32,0);可以使用汇编调用为:

stm#0,ar0

pshmar0

stm#32,ar0pshmar0

pshmarg_r;arg_r为指向向量r的指针

pshmarg_y;arg_y为指向向量y的指针

ldmarg_x,A;arg_x为指向向量x的指针

call_add

popmarg_y

popmarg_r

popmar0

popmar0

5

四、其他说明

一、环形缓冲区

许多算法,例如卷积,相关和FIR滤波等,需要在内存中实现环形缓冲。

这些算法中,环形缓冲区中包含着最近的数据。

当新的数据进来时,最旧的数据

被改写。

实现环形缓冲区的关键在于环形寻址。

环形缓冲寄存器BK指明环形缓冲区的大小。

一个大小为R的环形缓冲区,必

须起始于N位的边界,也就是环形缓冲区基址的最小N位必须为0。

其中N是满足

2N>R的最小整数。

R必须放置于BK中。

例如,一个31字的环形缓冲区必须起始

于最小五位为0的地址(即XXXXXXXXXXX000002),并且必须将数值31放置

于BK中。

第二个示例,若一个缓冲区为32字,则起始地址的最小六位必须为0(即

XXXXXXXXXX0000002),并且将值32存于BK中。

在本文中,参考“TMS320C54XDSPReferenceSet第5-15页5.5.3.4小节”

处,均指“TMS320C54XDSPReferenceSet(Volume1:

CPUandPeriphera

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 广告传媒

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1