System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及高性能计算的,更具体的,涉及一种超越函数运算方法及装置、存储介质及电子设备。
技术介绍
1、超越函数(transcendental functions),指的是变量之间的关系不能用有限次加、减、乘、除、乘方、开方运算表示的函数。如:三角和反三角函数、对数函数、指数函数等属于超越函数。超越函数在工程中有多个应用领域,包括信号处理、通信系统、控制系统和统计分析等领域具有广泛应用场景,具体如:电力领域中对电路中的信号相位处理、滤波和频谱分析;航天通信领域中的导航、飞行控制和航天器轨道计算等。
2、随着芯片技术发展,计算机系统在cpu处理超越函数时,对其计算精度和计算结果实时性的要求也会越来越高。超越函数的计算,如果采用泰勒级数展开进行处理,会消耗大量乘法器资源,且存在计算周期长、最终精度不够高的问题。针对这一情况,如果采用cordic算法处理超越函数,其计算结果精度高,计算延时小,且cordic实现过程是通过简单的移位和加操作完成,,消耗资源小,能够很好地解决超越函数计算难题。
3、cordic(coordinate rotation digital computer)即坐标旋转数字计算机算法的简称,该算法于1959年由j.e.volder科学家在设计美国航空导航控制系统的过程中首先提出,主要用于解决导航系统中三角函数、反三角函数和开方等运算的实时计算问题。1971年,德国数学家j.s.walther将圆周系统、线性系统和双曲系统统一到一个cordic迭代方程里,从而提出了一种统一的cordic算
4、cordic算法是一个迭代逼近算法,其算法思想就是:对坐标系内某一个点p0,旋转θ角度后达到目标点pi。将点p0旋转到pi过程的θ角度进行分解,分解为多次θi角度的线性组合逼近,达到与目标坐标点pi无限接近。我们可以利用cordic算法旋转逼近后的矢量结果,达到求解超越函数功能。
5、当前计算机系统工程的应用中,都会使用超越函数进行数据处理,使用频率较高的超越函数包括:正弦函数cos(x),余弦函数sin(x),反正切函数arctan(x),坐标点求模module(x,y),双曲正弦函数cosh(x),双曲余弦函数sinh(x),指数函数e^(x),指数函数倒数e^(-x),双曲反正切函数arctanh(x),自然对数函数ln(x),平方根函数sqrt(x)。
6、对超越函数计算处理,一般来说可以使用泰勒级数对函数进行展开计算。以sin(x)函数为例进行说明。sin(x)函数泰勒展开公式如下:
7、
8、当工程应用中使用sin(x)函数进行计算时,需要计算机系统处理结果精度达到e-6以上。因此,sin(x)函数使用泰勒至少展开公式的前五项可以达到精度要求,其计算式如下:
9、
10、从该计算公式来看,sin(x)函数计算过程需要大量的乘法器单元和一些除法器单元,占用资源大。多次乘法计算后数据位宽成倍增长,其精度难以得到保证。另外,除法的计算周期较多,导致超越函数的计算周期长,难以达到函数处理结果的实时性要求。
11、现有技术中,使用泰勒展开公式,完成超越函数的计算,有以下缺陷:
12、1、要处理超越函数的种类多,不同的超越函数,有不同泰勒展开公式,对计算机系统的cpu的超越函数设计单元会很复杂;
13、2、超越函数的自变量x为浮点数或者带小数的定点数据,经过乘法和除法处理后,精度难以得到保证;
14、3、计算机系统的超越函数处理单元,会消耗大量的乘法器单元;
15、4、函数的计算周期长,难以达到函数处理结果的实时性要求;
16、5、泰勒展开式中,有一些大数据位宽的乘法器计算,如果一个cpu工作周期,完成一个乘法器计算,工作频率难以得到提高。
17、因此,存在一种迫切需要,即开发一种新的计算方法和系统,以解决使用传统泰勒级数展开计算超越函数时遇到的问题,尤其是在保证计算精度和处理速度的同时,最大限度地减少资源消耗。
技术实现思路
1、本专利技术为解决现有技术中存在的计算精度不高、资源消耗大和计算速度慢的问题,而提供一种超越函数运算方法及装置、存储介质及电子设备。
2、为解决上述技术问题,本专利技术的技术方案如下:
3、一种超越函数运算方法,包括以下步骤:
4、s1、接收超越函数的自变量数据和操作控制数据;
5、s2、根据所需计算的超越函数类型,对自变量数据进行适应cordic算法输入要求的预处理;
6、s3、使用cordic算法对预处理后的自变量数据执行迭代计算;
7、s4、对cordic算法的迭代计算结果进行求值处理,以输出最终的超越函数计算结果。
8、进一步,步骤s2中的预处理至少包括两种数据处理机制;
9、第一种数据处理机制为对输入的自变量数据执行scale预处理操作,以提高数据计算的精度并避免迭代次数较大时的旋转钝化现象;
10、第二种数据处理机制为将输入的自变量数据处理至cordic算法支持的数据范围内,以确保输入的自变量数据适配于cordic算法。
11、进一步,所述cordic算法包括圆周系统和双曲系统,并能根据超越函数类型在旋转模式和向量模式之间切换;所述cordic算法的迭代操作包括移位操作和加减操作。
12、进一步,步骤s3中,计算超越函数总迭代次数设置不同,采用不同的cordic算法参数值处理。
13、进一步,步骤s4还包括对超越函数结果溢出、非法输入数据和输入数据范围越界产生异常标识。
14、一种超越函数运算装置,包括:
15、超越函数输入输出控制模块,被配置为接收超越函数的自变量数据和操作控制数据;
16、cordic数据预处理模块,被配置为根据所需计算的超越函数类型,对自变量数据进行适应cordic算法输入要求的预处理;
17、cordic计算引擎,被配置为使用cordic算法对预处理后的自变量数据执行迭代计算;
18、超越函数结果处理模块,被配置为对cordic算法的迭代计算结果进行求值处理,以输出最终的超越函数计算结果。
19、进一步,所述超越函数运算装置通过总线与cpu通信连接,所述超越函数输入输出控制模块用于实现所述超越函数运算装置与cpu接口的输入控制和输出控制;
20、所述输入控制包括从总线接收来自cpu对超越函数的自变量数据和操作控制数据,写入cordic寄存器;所述输出控制包括将超越函数的计算结果和处理状态结果,通过cpu总线传送回cpu。
21、进一步,所述cordic寄存器包括数据寄存器和控制寄存器;
22、所述数据寄存器用于存储超越函数的自变量数据;
23、所述控制寄存器用于执行对超越函数计算的操作控制,所述操作本文档来自技高网...
【技术保护点】
1.一种超越函数运算方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的超越函数运算方法,其特征在于,步骤S2中的预处理至少包括两种数据处理机制,第一种数据处理机制为对输入的自变量数据执行scale预处理操作,第二种数据处理机制为将输入的自变量数据处理至CORDIC算法支持的数据范围内。
3.根据权利要求1所述的超越函数运算方法,其特征在于,所述CORDIC算法包括圆周系统和双曲系统,并能根据超越函数类型在旋转模式和向量模式之间切换;所述CORDIC算法的迭代操作包括移位操作和加减操作。
4.根据权利要求1所述的超越函数运算装置,其特征在于,步骤S3中,计算超越函数总迭代次数设置不同,采用不同的CORDIC算法参数值处理。
5.根据权利要求1所述的超越函数运算方法,其特征在于,步骤S4还包括对超越函数结果溢出、非法输入数据和输入数据范围越界产生异常标识。
6.一种超越函数运算装置,其特征在于,包括:
7.根据权利要求6所述的超越函数运算装置,其特征在于,所述超越函数运算装置通过总线与CPU通信连接,所述
8.根据权利要求7所述的超越函数运算装置,其特征在于,所述CORDIC寄存器包括数据寄存器和控制寄存器;
9.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1至5中任一项所述的超越函数运算方法。
10.一种电子设备,其特征在于,包括:
...【技术特征摘要】
1.一种超越函数运算方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的超越函数运算方法,其特征在于,步骤s2中的预处理至少包括两种数据处理机制,第一种数据处理机制为对输入的自变量数据执行scale预处理操作,第二种数据处理机制为将输入的自变量数据处理至cordic算法支持的数据范围内。
3.根据权利要求1所述的超越函数运算方法,其特征在于,所述cordic算法包括圆周系统和双曲系统,并能根据超越函数类型在旋转模式和向量模式之间切换;所述cordic算法的迭代操作包括移位操作和加减操作。
4.根据权利要求1所述的超越函数运算装置,其特征在于,步骤s3中,计算超越函数总迭代次数设置不同,采用不同的cordic算法参数值处理。
5.根据权利要求1所述的超越函...
【专利技术属性】
技术研发人员:陈小平,强鹏,
申请(专利权)人:太初无锡电子科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。