当前位置: 首页 > 专利查询>梁文毅专利>正文

一种基于细分查表技术的高效定点型数据处理方法技术

技术编号:28835895 阅读:13 留言:0更新日期:2021-06-11 23:32
本发明专利技术公开了一种基于细分查表技术的高效定点型数据处理方法,基于DSP处理器,包括如下步骤:S1、根据函数特征,按照设定细分规则,预制与变量{x

【技术实现步骤摘要】
一种基于细分查表技术的高效定点型数据处理方法
本专利技术涉及数字信号微机处理领域,具体为一种基于细分查表技术的高效定点型数据处理方法。
技术介绍
数字信号分析与处理技术(DSP)广泛应用于电机控制、数字电源、信号采样分析与处理、系统控制等场合,是航空、航天、舰船、兵器、轨道交通、电动汽车、机器人等各类应用场合整流、逆变以及电平转换的基础。受到DSP工作频率的限制,在实现复杂控制算法时,通常要求算法实现效率尽可能高效,以确保在中断周期中能完成指定的运算任务。作为算法实现的基础,基于定点型的基础数学运算,在相同计算精度下,其执行效率要高于浮点型运算。因此,开发基于定点型的基础数学函数库是数字信号分析与处理芯片技术开发的重要组成部分,进一步提高算法的执行效率对于实现更加复杂的现代控制理论具有重要的意义。
技术实现思路
本专利技术的目的在于提供一种基于细分查表技术的高效定点型数据处理方法,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术提供如下技术方案:一种基于细分查表技术的高效定点型数据处理方法,基于DSP处理器,包括如下步骤:S1、根据函数特征,按照设定细分规则,预制与变量{xn}序列对应的函数值{f(xn)}表格数列;S2、对函数变量x进行处理,得到相应的f(xk),并获得处理后的剩余变量z;S3、根据泰勒级数对f(z)展开计算函数值;S4、根据函数值f(xk)和f(z),合成计算得到函数值f(x)。可优选地,所述的DSP处理器支持32位数学运算,且所述的DSP处理器运算的通用格式中:小数为低24位,整数为高7位,最高位为符号位或整数位。可优选地,对反正切函数进行数据处理,设定反正切函数表达式为atan(x,y),其中,x对应sinθ值,y对应cosθ值,具体数据处理方法为:A1、根据反正切函数的特征,将tanθ,θ∈(0,π/4)根据正切值分为16个区间,对应的角度值分别为tanθk=k/16,k=0,1,...15,将该角度预制成表格保存;对于z=atan(x,y),根据x/y值,查表得到θk,从而可以得到Δθ=(θ-θk)的正余弦的相对值为:A2、再将(0,θ1)区间根据正切值tanΔθk=k/256进行16等分,并将对应的角度Δθk预制成表格保存;又根据sinΔθ、cosΔθ查表得到Δθn,从而可以得到剩余角度ε=(Δθ-Δθn)的正余弦的相对值为:A3、最后,对剩余的正切值进行泰勒级数展开可以得到:tan-1ε≈ε,该近似结果满足计算精度<2-24的运算要求;A4、根据Δθk和ε,合成计算得到总的角度为:atan(x,y)=θk+Δθn+ε。可优选地,对指数函数进行数据处理,指数函数表达式为z=frac(x/x0),具体数据处理方法为:当x<log2时,为确保<2-24的计算精度,泰勒级数可近似为:当x≥log2时,取x0=log2,可以得到:x=kx0+y,0≤y<x0;即可推导得出:基于该推导结果,将区间[0,x0)进行64均等分,记z0=x0/64,将函数值存入预制表格。对于y∈[0,x0),其可以表示为:y=nz0+v,0≤0<z0;从而可以得到:其中,可由查表获得,对于ev,其泰勒级数表达式可进一步简化为:与现有技术相比,本专利技术的有益效果是:本专利技术提供了一种基于细分查表技术的高效定点型数据处理方法,本专利技术方法在采用定点型算法计算反正切函数、指数函数、对数函数、幅值运算、开根号函数、正弦、余弦函数等算法时,通过查表转换后,将计算变量转换到预定的数值附近,然后,再进行泰勒级数展开来计算相应的函数值;对于反正切函数等非线性函数,直接采用泰勒级数展开时,为达到设定的计算误差,通常级数展开次数较高,使得运算量较大。本专利技术将函数的典型值预存在表格中,基于细分查表后,采用较低阶次的泰勒展开,即可达到计算精度,从而减少基础函数的运算量,提高了代码的整体执行效率。附图说明图1为一种基于细分查表技术的高效定点型数据处理方法的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,本专利技术提供一种技术方案:一种基于细分查表技术的高效定点型数据处理方法,基于DSP处理器,包括如下步骤:S1、根据函数特征,按照设定细分规则,预制与变量{xn}序列对应的函数值{f(xn)}表格数列;S2、对函数变量x进行处理,得到相应的f(xk),并获得处理后的剩余变量z;S3、根据泰勒级数对f(z)展开计算函数值;S4、根据函数值f(xk)和f(z),合成计算得到函数值f(x)。其中,所述的DSP处理器支持32位数学运算,且所述的DSP处理器运算的通用格式中:小数为低24位,整数为高7位,最高位为符号位或整数位。实施例1,对反正切函数进行数据处理,设定反正切函数表达式为atan(x,y),其中,x对应sinθ值,y对应cosθ值,具体数据处理方法为:A1、根据反正切函数的特征,将tanθ,θ∈(0,π/4)根据正切值分为16个区间,对应的角度值分别为tanθk=k/16,k=0,1,...15,将该角度预制成表格保存;对于z=tan(x,y),根据x/y值,查表得到θk,从而可以得到Δθ=(θ-θk)的正余弦的相对值为:A2、再将(0,θ1)区间根据正切值tanΔθk=k/256进行16等分,并将对应的角度Δθk预制成表格保存;又根据sinΔθ、cosΔθ查表得到Δθn,从而可以得到剩余角度ε=(Δθ-Δθn)的正余弦的相对值为:A3、最后,对剩余的正切值进行泰勒级数展开可以得到:tan-1ε≈ε,该近似结果满足计算精度<2-24的运算要求;A4、根据Δθk和ε,合成计算得到总的角度为:atan(x,y)=θk+Δθn+ε。本实施例对函数值进行了两次查表,第一次查表,将正切值偏差缩小后tanΔθ<1/16,第二次将偏差缩小后tanε<1/256,两张表格总的存储空间为32个32位数。当芯片有足够的存储空间时,可以直接采用一张角度存储表,其正切值满足tanθk=k/256,k=0,1,...255,从而可以减少一次查表和旋转运算,进一步提升运算效率。实施例2,对指数函数进行数据处理,指数函数表达式为z=frac(x/x0),具体数据处理方法为:当x<log2时,为确保<2-24的计算精度,泰勒级数可近似为:当x≥log2时,取x0=log2,可以得到:x=kx0+y,0≤y<x0;<本文档来自技高网...

【技术保护点】
1.一种基于细分查表技术的高效定点型数据处理方法,基于DSP处理器,其特征在于:包括如下步骤:/nS1、根据函数特征,按照设定细分规则,预制与变量{x

【技术特征摘要】
1.一种基于细分查表技术的高效定点型数据处理方法,基于DSP处理器,其特征在于:包括如下步骤:
S1、根据函数特征,按照设定细分规则,预制与变量{xn}序列对应的函数值{f(xn)}表格数列;
S2、对函数变量x进行处理,得到相应的f(xk),并获得处理后的剩余变量z;
S3、根据泰勒级数对f(z)展开计算函数值;
S4、根据函数值f(xk)和f(z),合成计算得到函数值f(x)。


2.根据权利要求1所述的一种基于细分查表技术的高效定点型数据处理方法,其特征在于:所述的DSP处理器支持32位数学运算,且所述的DSP处理器运算的通用格式中:小数为低24位,整数为高7位,最高位为符号位或整数位。


3.根据权利要求2所述的一种基于细分查表技术的高效定点型数据处理方法,其特征在于:对反正切函数进行数据处理,设定反正切函数表达式为atan(x,y),其中,x对应sinθ值,y对应cosθ值,具体数据处理方法为:
A1、根据反正切函数的特征,将tanθ,θ∈(0,π/4)根据正切值分为16个区间,对应的角度值分别为tanθk=k/16,k=0,1,...15,将该角度预制成表格保存;
对于z=atan(x,y),根据x/y值,查表得到θk,从而可以得到Δθ=(θ-θk)的正余弦的相对值为:

...

【专利技术属性】
技术研发人员:梁文毅高秋
申请(专利权)人:梁文毅
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1