当前位置: 首页 > 专利查询>南京大学专利>正文

基于CORDIC算法的复对数实现方法、装置、设备及计算机存储介质制造方法及图纸

技术编号:29307848 阅读:22 留言:0更新日期:2021-07-17 01:59
本发明专利技术首次提出了一种基于CORDIC算法的复对数实现方法、装置、设备及计算机存储介质,主要利用圆周向量模块(VC

【技术实现步骤摘要】
基于CORDIC算法的复对数实现方法、装置、设备及计算机存储介质


[0001]本专利技术涉及复对数计算的实现领域,具体涉及一种基于CORDIC算法的复对数实现方法、装置、设备及计算机存储介质。
技术背景
[0002]复数算法在密码学、雷达、数字信号处理方面有着很大的应用,在这些应用中,不仅要求硬件有着很高的计算速度,还要电路有着更小的面积和功耗,但是在现实中,如果缺少之间的硬件以及处理方法,则无法实现实数对数应用到复数领域。
[0003]目前采用的是查找表、线性近似方法,首先这些方法用的是乘法,乘法会降低电路的吞吐量,并且带来大的面积损耗,如果需要较大的输入范围和较高的精度,查找表中会存取很多定值,这样不仅会带来面积和复杂度的问题,而且查找的时间也会变得很慢;相比于查找表法,线性近似的方法存取的值较少,但是精度不是很高。
[0004]因此,目前的方法在面积、精度、功耗以及复杂度上都存在着一些不足,需要一种全新的实现复对数的硬件架构以及处理方法。

技术实现思路

[0005]专利技术目的:提出一种基于CORDIC算法的复对数的硬件实现方法,以解决现有技术存在的上述问题,使用圆周向量模块(VC

CORDIC)和双曲向量模块(VH

CORDIC)的联级操作,实现了复对数的计算,不仅具有高精度、低复杂度的特点,而且进一步的减少了算法的计算面积,降低功耗。
[0006]技术方案:第一方面,提供了一种基于CORDIC算法的复对数实现方法,基于CORDIC的算法,实现复对数的快速计算,其特征在于,所述方法包括:
[0007]步骤1、将复对数的实数部分和虚数部分,作为圆周向量模式的数值输入,圆周向量模式根据预设的迭代次数进行计算,得到圆周向量模式中实部中间值和虚部的结果,并进行输出,然后进入步骤2;
[0008]步骤2、将所述实部中间值相邻的两个值,作为双曲向量模式的输入值,所述双曲向量模式根据预设的迭代次数进行计算,得到双曲向量模式中实部中间值的结果,然后进入步骤3;
[0009]步骤3、将双曲向量模式中实部中间值的结果,进行减法和移位操作后得到实部结果。
[0010]在第一方面的一些可实现方式中,圆周向量模式迭代公式如下:
[0011]xin
j+1
=xin
j

alpha*2

j
*yin
j

[0012]yin
j+1
=yin
j
+alpha*2

j
*xin
j

[0013]zin
j+1
=zin
j

alpha*tan
‑1(2

j
)。
[0014]其中,j是迭代次数;xin
j+1
是第j+1次迭代时候向量点在圆周系统下对应坐标的x
值;yin
j+1
是第j+1次迭代时候向量点在圆周系统下对应坐标的y值;zin
j+1
是旋转的角度累加和;yin
j
大于0,alpha为1,代表顺时针旋转;yin
j
小于等于0,alpha为

1,代表逆时针旋转。
[0015]在第一方面的一些可实现方式中,双曲向量模式迭代公式如下:
[0016]反向迭代公式为:
[0017][0018][0019][0020]正向迭代公式为:
[0021]xin
j+1
=xin
j
+alpha*2

j
*yin
j

[0022]yin
j+1
=yin
j
+alpha*2

j
*xin
j

[0023]zin
j+1
=zin
j

alpha*arctanh(2

j
)。
[0024]其中,在正向、反向迭代公式中,j是迭代次数;xin
j+1
是第j+1次迭代时候向量点在双曲系统下对应的坐标的x值,yin
j+1
是第j+1次迭代时候向量点在双曲系统下对应的坐标的y值;zin
j+1
是旋转的角度累加和;yin
j
大于0,alpha为1,代表顺时针旋转;yin
j
小于等于0,alpha为

1,代表逆时针旋转。
[0025]在第一方面的一些可实现方式中,圆周向量模式计算的实部中间值和虚部结果为:
[0026][0027][0028]其中,K
c
为圆周向量旋转模长补偿因子,a为所求复对数ln(a+i*b)的实部,b为虚部。
[0029]在第一方面的一些可实现方式中,双曲向量模式计算的中间值结果为:
[0030][0031]其中,a为所求复对数ln(a+i*b)的实部,b为虚部,K
c
为圆周向量下旋转的模长补偿因子,其中
[0032]在第一方面的一些可实现方式中,圆周向量模式和双曲向量模式反向迭代时,内部采用参数定义的方法定义中间变量的位宽。
[0033]第二方面,提出了一种基于CORDIC算法的装置,该装置包括:
[0034]圆周向量模块,用于计算输入数值的虚部和实部中间值;
[0035]双曲向量模块,用于计算输入数值的实部。
[0036]第三方面,提出了一种基于CORDIC算法的设备,该设备包括:
[0037]处理器,以及存储有计算机程序指令的存储器;
[0038]所述处理器读取并执行所述计算机程序指令时实现第一方面或第一方面的一些可实现方式中的复对数实现方法。
[0039]第四方面,提出了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现第一方面或第一方面的一些可实现方式中的复对数实现方法。
[0040]有益效果:本专利技术首次提出了一种基于CORDIC算法的复对数实现方法、装置、设备及计算机存储介质,主要利用圆周向量模块(VC

CORDIC),双曲向量模块(VH

CORDIC)进行联级操作。首先,将所需计算目标的实部和虚部输入圆周向量模块(VC

CORDIC)进行迭代计算,VC

CORDIC模块得出所求结果的虚部以及实部中间值;然后将实部中间值的相邻值作为VH

CORDIC模块的输入进行迭代计算,得出的结果经过减法和移位操作之后得到所求结果的实部,进一步减少了计算的复杂度,相比于传统的查找表、线性近似的方法具本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于CORDIC算法的复对数实现方法,其特征在于,所述方法包括:步骤1、将复对数的实数部分和虚数部分,作为圆周向量模式的数值输入,圆周向量模式根据预设的迭代次数进行计算,得到圆周向量模式中实部中间值和虚部的结果,并进行输出,然后进入步骤2;步骤2、将所述实部中间值相邻的两个值,作为双曲向量模式的输入值,所述双曲向量模式根据预设的迭代次数进行计算,得到双曲向量模式中实部中间值的结果,然后进入步骤3;步骤3、将双曲向量模式中实部中间值的结果,进行减法和移位操作后得到实部结果。2.根据权利要求1所述的一种基于CORDIC算法的复对数实现方法,根据步骤1所述的圆周向量模式迭代公式如下:xin
j+1
=xin
j

alpha*2

j
*yin
j
;yin
j+1
=yin
j
+alpha*2

j
*xin
j
;zin
j+1
=zin
j

alpha*tan
‑1(2

j
);其中,j是迭代次数;xin
j+1
是第j+1次迭代时候向量点在圆周系统下对应坐标的x值;yin
j+1
是第j+1次迭代时候向量点在圆周系统下对应坐标的y值;zin
j+1
是旋转的角度累加和;yin
j
大于0,alpha为1,代表顺时针旋转;yin
j
小于等于0,alpha为

1,代表逆时针旋转。3.根据权利要求1所述的一种基于CORDIC算法的复对数实现方法,根据步骤2所述的双曲向量模式迭代公式如下:3.1反向迭代公式为:3.1反向迭代公式为:3.1反向迭代公式为:3.2正向迭代公式为:xin
j+1
=xin
j
+alpha*2

j
*yin
j
;yin
j+1
=yin
j
...

【专利技术属性】
技术研发人员:李丽张永刚傅玉祥陈辉何书专何国强李伟
申请(专利权)人:南京大学
类型:发明
国别省市:

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

1