开方表

时间: 2023-06-03 admin 文学
  • 相关推荐

开方表

开方表

-

2023年2月9日发(作者:clamping)

龙源期刊网

基于DSP的基本函数快速计算

作者:李泽光

来源:《现代电子技术》2008年第05期

摘要:在许多数字信号处理中,一般都会有实时性的要求,在满足计算精度条件下,函

数的运算速度非常重要。在DSP上实现基本函数的计算方法有多种,通过设计一个简单的查

表电路,可以用查表法快速计算函数值,此电路也使函数表的空间扩展不受DSP存储器空间

限制。另外,还给出了三角函数、自然对数和平方根函数表的制作方法以及用查表法求基本函

数值的过程。

关键词:函数运算;三角函数;对数;查表法

中图分类号:TN29文献标识码:B

文章编号:1004373X(2

RapidComputationofBasicFunctiononDSP

LIZeguang

(InformationEngineeringCollege,DalianUniversity,Dalian,116622,China)

Abstract:Inmanydigitalsignalprocessing,ingenerally,

operationspeedoffunctionisveryimportantundermeetingtheconditionofoperation

remanywaystorealizeoperationofbasicfunctiononDSP,withdesigningasimple

look-tablecircuit,thefunctionvaluecanbecalculatedspeedilybylook-tablealgorithm,thiscircuitalso

makesthespaceexpandingofthefunctiontableisnothandicapedbymemoryspaceof

s,themakingwaysoftrigonometricfunctiontable,naturallogarithmfunctiontableand

squarerootfunctiontablearegiven,thecoursetocalculatebasicfunctionvalueisalsogivenbylook-

tablealgorithm.

Keywords:functionoperation;trigonometricfunction;logarithm;look-tablealgorithm

在DSP或一般单片机中最常见的运算指令是“加”和“乘”,而在数据处理中,不但有加、

减、乘、除等运算,还要有一些基本函数的计算,如利用正交双通道零中频算法测量信号相位

差[1]或分析信号倒频谱时,需要计算三角函数、平方根函数、对数函数等。在DSP上实现函数

计算一般可以从数值精度、时间效率和空间效率等角度来衡量各种算法的优劣[2]。利用高级语

言库函数求这些基本函数的运算速度比较慢,在许多数字信号处理中,一般都有实时性的要

求,在满足计算精度条件下,函数的运算速度尤为重要。对于空间效率来讲,本文中给出一个

查表电路,其最大特点是不占用DSP的存储器空间,而只占用他的一个I/O端口,利用此电路

提高了空间利用率,查表时使用的指令很少,从而提高了函数值的运算速度。

龙源期刊网

1函数表电路

函数表电路如图1所示,如果系统时钟比较快,应选择高速器件。这里以16位定点DSP

为例,即数据线有条,则用2片分别存储函数表的高位和低8位

数据,若每个函数表的容量是4kB,则此电路可以存储16个函数表,每个函数表的空间大小

也可以根据需要来定。设函数表示为:

其中:x是自变量,y是函数值,x和y都是16位定点数。查表时x作为查找存储在27512

存储单元中函数值y的地址,经两片74HC574输出连接到27512的16条地址线上,然后,

DSP从两片74LS244中读取函数值y。若查表端口为PA,则查表时只用两条指令即可完成,

即:

2函数表的制定

由于使用的是16位定点DSP,因此,各函数表的函数值采用16位定点方式,最高位为符

号位,低15位为有效数字位,即Q15方式。所有的数都采用小数形式,即小数点位于最高位

后。每个函数表容量为4096B,下面分别给出三角函数表(正弦函数表和余弦函数表)、以e为

底的自然对数表、平方根函数表的制作方法。

2.1三角函数表的制作

将正、余弦函数1/4周期内等间隔取4096个值,归一化后进行量化并编码,分别制成

正、余弦函数表。

正弦函数表值:

在式(2)和式(3)中,n为自然数,取值范围为,函数int[]表示对括号中的数取

整数,式中函数值乘32768是将小数变为整数后再变成Q15方式二进制数。

对于浮点数,b为指数,a为正的Q15方式小数,取值范围为:0-5≤a

自然对数表值:

2.3平方根函数表的制作

平方根函数表是将0~1等间隔取4096个数,再求平方根,即平方根函数表值为:

式(7)中,n为自然数,取值范围为0~4095。

龙源期刊网

以上是几个基本函数表值的计算,最后要将函数表值变为二进制数,用程序写入器写入两

片27512中,每个函数表分配4k地址,地址线高4位作为每个函数表的段地址,地址线低12

位作为函数查表地址。

3函数的计算

3.1正、余弦函数值的计算

假设正、余弦信号频率为f,求一个周期内某一时刻点k的函数值,其中,k取值范围为

0~N-1,则在计算cos(2πfk/N)和sin(2πfk/N)时,需要进行查表求函数值,由于在制表过程中,

已将圆周率π考虑进去,所以,在计算角度时只计算2fk/N。

假设λ=2fk/N=2n+φ,其中,n为自然数,φ<2。下面给出cos(λ)和sin(λ)的求解过程。首

先去掉λ中的2n项,得到小于2的Q15方式的小数,这里最高位不是符号位,而代表数值1

或0。实际上,cos(λ)=cos(φ),sin(λ)=sin(φ)。计算cos(λ)和sin(λ)的流程图如图2所示。

从以上3种情况看,每种情况下只有对正实小数进行开方运算,所以在计算时,将Q15方

式的小数向右移4位,其高4位为换上开方表段地址,即可查表求得a。

4结语

在DSP上实现基本函数的计算方法有多种[2,3],这里介绍的方法可以快速计算函

数值,其实现电路简单,函数表的空间扩展方便,不受DSP存储空间限制的,我们在为海军

装备修理部研制“HSP-1型声纳电功率测量仪”中得到应用,取得良好效果。

参考文献

[1]李泽光.基于正交双通道算法的相位差测量[J].电测与仪表,2004,41(2):20-21,29.

[2]马士超,王贞松.基于DSP的三角函数快速计算[J].计算机工程,2005,31(22):12-14.

[3]方彦军,孙健.智能仪器技术及其应用[M].北京:化学工业出版社,2004.

[4]李泽光,宋伯涛.噪声中正(余)弦信号相位差的检测[J].电测与仪表,2006,43(11):10-11.

作者简介李泽光男,1963年出生,毕业于西安电子科技大学,硕士,大连大学副教授。

主要研究方向为信息与信号处理,现从事电子信息工程专业教学和科研工作。

注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”