CN114816333A - A Method of Realizing Arctangent Calculation Based on CORDIC Algorithm - Google Patents
A Method of Realizing Arctangent Calculation Based on CORDIC Algorithm Download PDFInfo
- Publication number
- CN114816333A CN114816333A CN202210521919.XA CN202210521919A CN114816333A CN 114816333 A CN114816333 A CN 114816333A CN 202210521919 A CN202210521919 A CN 202210521919A CN 114816333 A CN114816333 A CN 114816333A
- Authority
- CN
- China
- Prior art keywords
- quadrant
- cordic algorithm
- preprocessing module
- realizing
- calculation based
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/548—Trigonometric functions; Co-ordinate transformations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
Abstract
本申请涉及一种基于CORDIC算法实现反正切计算的方法,所述方法首先将输入的(x,y)依次经过象限预处理模块和绝对值预处理模块进行处理,然后再经过CORDIC算法模块进行迭代计算以实现反正切计算;所述象限预处理模块首先对输入的(x,y)进行判断,看是否需要对其进行转换,确保完成该步骤后的输入值位于第一象限内;所述绝对值预处理模块首先使上述经过象限预处理模块的(x,y)分别对应出二进制数,确保x和y的绝对值同时满足小于等于其最大绝对值,且大于其最大绝对值的一半。本发明所述方法能够显著提高FPGA实现反正切计算的范围与精度,且操作简单,易于移植。The present application relates to a method for realizing arctangent calculation based on the CORDIC algorithm. The method firstly processes the input (x, y) through the quadrant preprocessing module and the absolute value preprocessing module in sequence, and then iterates through the CORDIC algorithm module. Calculate to realize arctangent calculation; the quadrant preprocessing module first judges the input (x, y) to see if it needs to be converted, and ensures that the input value after completing this step is located in the first quadrant; the absolute The value preprocessing module first makes (x, y) corresponding to the above-mentioned quadrant preprocessing module respectively corresponding to binary numbers, to ensure that the absolute values of x and y are both less than or equal to their maximum absolute values and greater than half of their maximum absolute values. The method of the invention can significantly improve the range and precision of arctangent calculation realized by FPGA, and is simple in operation and easy to transplant.
Description
技术领域technical field
本申请涉及反正切计算领域,特别涉及一种基于CORDIC算法实现反正切计算的方法。The present application relates to the field of arctangent calculation, and in particular, to a method for realizing arctangent calculation based on a CORDIC algorithm.
背景技术Background technique
三角函数及反三角函数运算求解的应用领域非常广泛,包括机器人运动学求解领域、图像处理领域、导航数字处理领域和计算器领域等。传统的反三角函数求解方法有ROM查找表法、多项式近似法和迭代法等,但均存在速度低,ROM硬件资源少,精度低以及不方便实现等缺点。现有技术中,CORDIC算法理论基本解决了上述这些问题,该算法兼容速度快、精度高、硬件资源方便实现的优点,得到了广泛的应用和推广。但采用CORDIC算法进行反正切计算在角度测量范围、测量精度等方面存在缺点。The application fields of trigonometric functions and inverse trigonometric functions are very wide, including the field of robot kinematics, image processing, navigation digital processing and calculators. The traditional inverse trigonometric function solving methods include ROM look-up table method, polynomial approximation method and iterative method, etc., but all have the disadvantages of low speed, few ROM hardware resources, low precision and inconvenient implementation. In the prior art, the CORDIC algorithm theory basically solves the above problems. The algorithm is compatible with the advantages of high speed, high precision, and convenient implementation of hardware resources, and has been widely used and popularized. However, the use of CORDIC algorithm for arctangent calculation has shortcomings in angle measurement range and measurement accuracy.
发明内容SUMMARY OF THE INVENTION
针对现有技术的不足,本申请提出一种基于CORDIC算法实现反正切计算的方法。In view of the deficiencies of the prior art, the present application proposes a method for realizing arctangent calculation based on the CORDIC algorithm.
本申请的一种基于CORDIC算法实现反正切计算的方法,所述方法首先将输入的(x,y)依次经过象限预处理模块和绝对值预处理模块进行处理,然后再经过CORDIC算法模块进行迭代计算以实现反正切计算;A method for realizing arctangent calculation based on the CORDIC algorithm of the present application, the method firstly processes the input (x, y) through the quadrant preprocessing module and the absolute value preprocessing module in sequence, and then iterates through the CORDIC algorithm module Calculated to achieve arctangent calculation;
所述象限预处理模块首先对输入的(x,y)进行判断,看是否需要对其进行转换,确保完成该步骤后的输入值位于第一象限内;所述象限预处理模块能够使得反正切计算的范围增大。The quadrant preprocessing module first judges the input (x, y) to see if it needs to be converted to ensure that the input value after completing this step is located in the first quadrant; the quadrant preprocessing module can make the arctangent The range of calculations is increased.
所述绝对值预处理模块首先使上述经过象限预处理模块的(x,y)分别对应出二进制数,根据其二进制位数判断x和y的绝对值是否同时满足小于等于其最大绝对值,且大于其最大绝对值的一半;若不满足上述条件,则同时将x和y放大一倍,继续判断,只至满足上述条件。绝对值预处理模块可以大大提高反正计算的精度。The absolute value preprocessing module first makes the above-mentioned (x, y) through the quadrant preprocessing module correspond to binary numbers respectively, and judges whether the absolute values of x and y satisfy simultaneously less than or equal to its maximum absolute value according to its binary digits, and is greater than half of its maximum absolute value; if the above conditions are not met, double x and y at the same time, and continue to judge until the above conditions are met. The absolute value preprocessing module can greatly improve the accuracy of the calculation anyway.
进一步,本申请所述方法输入的(x,y)中的x和y均用有符号数来表示。这样便可依据x和y的最高位轻松判断(x,y)所在的象限,并方便象限预处理模块进行处理。Further, both x and y in (x, y) input by the method described in this application are represented by signed numbers. In this way, the quadrant where (x, y) is located can be easily determined based on the highest bits of x and y, and it is convenient for the quadrant preprocessing module to process.
进一步,本申请所述方法中绝对值预处理模块的具体处理过程为:Further, the specific processing process of the absolute value preprocessing module in the method described in this application is:
1)设所述x和y对应的二进制位数分别为m和n,则x和y的绝对值最大分别为2(m-1)和2(n-1);1) let the binary digits corresponding to described x and y be m and n respectively, then the absolute values of x and y are respectively 2 (m-1) and 2 (n-1) at maximum;
2)判断x的绝对值是否大于2(m-2)且小于等于2(m-1),同时y的绝对值是否大于2(n-2),且小于等于2(n-1);2) Determine whether the absolute value of x is greater than 2 (m-2) and less than or equal to 2 (m-1) , and whether the absolute value of y is greater than 2 (n-2) and less than or equal to 2 (n-1) ;
3)若满足步骤2),则x,y保持不变;若不满足步骤2),则转入下述步骤4);3) If step 2) is satisfied, then x, y remain unchanged; if step 2) is not satisfied, proceed to following step 4);
4)将x和y同时放大一倍,并得到放大后x和y的绝对值;4) Double x and y at the same time, and obtain the absolute values of x and y after the magnification;
5)重复步骤2)、3)、4),直至满足步骤2)。5) Repeat steps 2), 3), and 4) until step 2) is satisfied.
进一步,本申请所述方法中x和y对应的二进制位数均为16位,需判断x和y的绝对值是否均大于16384且小于等于32768;若满足上述条件,则x和y保持不变;若不满足则将x和y同时放大一倍,并继续将其绝对值与16384和32768比较,如果依旧不满足大于16384且小于等于32768,则继续放大,直至x和y的绝对值均大于16384且小于等于32768。Further, the binary digits corresponding to x and y in the method described in this application are both 16 bits, and it is necessary to judge whether the absolute values of x and y are both greater than 16384 and less than or equal to 32768; if the above conditions are met, then x and y remain unchanged. ; If not satisfied, double x and y at the same time, and continue to compare their absolute values with 16384 and 32768. If it is still not satisfied with greater than 16384 and less than or equal to 32768, continue to enlarge until the absolute values of x and y are greater than 16384 and less than or equal to 32768.
进一步,本申请所述方法中象限预处理模块的具体处理过程为:若(x,y)在第一象限,则数据保持不变;若(x,y)在第二象限,将(x,y)预处理为(y,-x),即顺时针旋转90°;若(x,y)在第三象限,将(x,y)预处理为(-x,-y),即顺时针旋转180°;若(x,y)在第四象限,将(x,y)预处理为(-y,x),即顺时针旋转270°。Further, the specific processing process of the quadrant preprocessing module in the method described in this application is as follows: if (x, y) is in the first quadrant, the data remains unchanged; if (x, y) is in the second quadrant, (x, y) is in the second quadrant. y) is preprocessed as (y,-x), that is, rotated 90° clockwise; if (x,y) is in the third quadrant, (x,y) is preprocessed as (-x,-y), that is, clockwise Rotate 180°; if (x,y) is in the fourth quadrant, preprocess (x,y) to (-y,x), that is, rotate 270° clockwise.
进一步,本申请所述方法中CORDIC算法模块具体进行15次迭代计算以实现基于FPGA的反正切计算。Further, the CORDIC algorithm module in the method described in this application specifically performs 15 iterative calculations to realize arctangent calculation based on FPGA.
进一步,本申请所述方法中的CORDIC算法模块的具体处理过程为:Further, the specific processing process of the CORDIC algorithm module in the method described in this application is:
将向量(x,y)进行旋转,每次旋转固定角度θi,旋转方向为di=sign(y(i)),旋转的目标是x轴,进行N次迭代,则有反正切角:Rotate the vector (x, y) with a fixed angle θ i each time, the rotation direction is d i =sign(y(i)), the target of the rotation is the x-axis, and after N iterations, there is an arc tangent angle:
旋转角度θi满足:The rotation angle θ i satisfies:
2-i=tanθi (2)2 -i = tanθ i (2)
简化后的迭代移位相加算法的迭代方程为:The iterative equation of the simplified iterative shift-add algorithm is:
通过N次迭代后的z就是反正切计算的结算,即:z after N iterations is the settlement of the arctangent calculation, namely:
z=arctan(y/x) (4)。z=arctan(y/x) (4).
进一步,本申请所述方法中的计算范围为0°~360°。Further, the calculation range in the method described in the present application is 0° to 360°.
进一步,本申请所述方法中的计算误差≤0.01°。Further, the calculation error in the method described in this application is ≤0.01°.
本申请的有益效果包括:提供了一种基于CORDIC算法实现反正切计算的方法,通过在CORDIC算法前加入两个预处理模块以实现反正切计算角度范围以及精度的优化。可实现反正切计算范围从-99.99°~99.99°增至0°~360°,反正切计算误差从8.01°减小至0.01°,显著提高了FPGA实现反正切计算的范围与精度。此外,本申请所述方法需要使用的硬件成本低、且操作简单,易于移植。The beneficial effects of the present application include: providing a method for realizing arc tangent calculation based on CORDIC algorithm, by adding two preprocessing modules before CORDIC algorithm to realize the optimization of arc tangent calculation angle range and accuracy. The range of arc tangent calculation can be increased from -99.99°~99.99° to 0°~360°, and the arc tangent calculation error is reduced from 8.01° to 0.01°, which significantly improves the range and accuracy of FPGA to realize arc tangent calculation. In addition, the hardware cost required by the method described in the present application is low, the operation is simple, and the transplantation is easy.
附图说明Description of drawings
图1为本发明所述方法的系统框图;Fig. 1 is the system block diagram of the method of the present invention;
图2为本发明所述对比例1中向量旋转示意图;Fig. 2 is the vector rotation schematic diagram in the comparative example 1 of the present invention;
图3为本发明所述方法中输入四个象限x,y后的角度输出情况;Fig. 3 is the angle output situation after inputting four quadrants x, y in the method of the present invention;
图4为本发明所述实施例2输出角度的变化情况。FIG. 4 is the variation of the output angle in the second embodiment of the present invention.
具体实施方式Detailed ways
为使本申请具体实施方式的目的、技术方案和优点更加清楚,下面将对本申请具体实施方式中的技术方案进行清楚、完整地描述。具体实施方式中未注明具体条件者,按照常规条件或制造商建议的条件进行。In order to make the purposes, technical solutions and advantages of the specific embodiments of the present application more clear, the technical solutions in the specific embodiments of the present application will be described clearly and completely below. If the specific conditions are not indicated in the specific implementation manner, the conventional conditions or the conditions suggested by the manufacturer are used.
除非另有定义,本文所使用的所有的技术和科学术语与属于本技术领域的技术人员通常理解的含义相同。本文中在说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art. The terms used herein in the specification are for the purpose of describing particular embodiments only and are not intended to limit the application. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
具体实施方式:如图1所示,本申请所述的一种基于CORDIC算法实现反正切计算的方法,首先将输入的(x,y)依次经过象限预处理模块和绝对值预处理模块进行处理,然后再经过CORDIC算法模块进行迭代计算以实现反正切计算;所述输入的(x,y)中的x和y均用有符号数来表示。本申请所述方法可实现反正切计算范围从-99.99°~99.99°增至0°~360°,反正切计算误差从8.01°减小至0.01°,显著提高了FPGA反正切计算的范围与精度。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS As shown in FIG. 1 , a method for realizing arctangent calculation based on CORDIC algorithm described in this application, firstly, the input (x, y) is processed through the quadrant preprocessing module and the absolute value preprocessing module in turn. , and then perform iterative calculation through the CORDIC algorithm module to realize arctangent calculation; both x and y in the input (x, y) are represented by signed numbers. The method described in this application can increase the arctangent calculation range from -99.99° to 99.99° to 0° to 360°, and reduce the arctangent calculation error from 8.01° to 0.01°, which significantly improves the range and accuracy of FPGA arctangent calculation. .
对比例1:Comparative Example 1:
CORDIC算法及其不足:如图2所示,在坐标平面将向量(x0,y0)逆时针旋转角度θ得到向量(x1,y1),两向量间坐标关系为:The CORDIC algorithm and its shortcomings: As shown in Figure 2, the vector (x 0 , y 0 ) is rotated counterclockwise by an angle θ in the coordinate plane to obtain the vector (x 1 , y 1 ), and the coordinate relationship between the two vectors is:
两边同时除以cosθ,可得到伪旋转方程,即:Divide both sides by cosθ to get the pseudo-rotation equation, namely:
除以cosθ后,旋转角度不变,而向量的模长发生了变化,这对于我们求解角度来说,没有影响。CORDIC算法求反正切的本质就是将向量(x,y)进行旋转,每次旋转固定角度θi,旋转方向为di=sign(y(i)),旋转的目标是x轴,进行N次迭代,则有反正切角:After dividing by cosθ, the rotation angle does not change, but the modulo length of the vector changes, which has no effect on the angle we solve. The essence of the CORDIC algorithm to find the arc tangent is to rotate the vector (x, y), each time a fixed angle θ i is rotated, the rotation direction is d i =sign(y(i)), the target of the rotation is the x-axis, and N times Iterating, there is an arctangent:
为了能够便于CORDIC算法在硬件平台FPGA上实现,使旋转角度θi满足:In order to facilitate the implementation of the CORDIC algorithm on the hardware platform FPGA, the rotation angle θ i should satisfy:
2-i=tanθi (4)2 -i = tanθ i (4)
从而可以通过简单移位来完成乘法运算,因此原始的算法可以简化为迭代移位相加算法,迭代方程为:Therefore, the multiplication operation can be completed by a simple shift, so the original algorithm can be simplified to an iterative shift-add algorithm, and the iterative equation is:
通过N次迭代后的z就是反正切计算的结算。即:z after N iterations is the settlement of the arctangent calculation. which is:
z=arctan(y/x) (6)z=arctan(y/x) (6)
但是该算法存在两个不足。一方面因为旋转角度θi需要满足(4)式,所以反正切角度计算范围只能为-99.99°~99.99°;另一方面在硬件平台FPGA上实现时,若x,y较小,那么在迭代的移位过程中,xi,yi将直接变为0,这会极大的增大反正切计算的误差。But this algorithm has two shortcomings. On the one hand, because the rotation angle θi needs to satisfy the formula (4), the calculation range of the arc tangent angle can only be -99.99°~99.99°; During the shifting process of , xi and yi will directly become 0, which will greatly increase the error of arctangent calculation.
实施例1:Example 1:
本申请所述的一种基于CORDIC算法实现反正切计算的方法,首先将输入的(x,y)依次经过象限预处理模块和绝对值预处理模块进行处理,然后再经过CORDIC算法模块进行迭代计算以实现反正切计算;所述输入的(x,y)中的x和y均用有符号数来表示。A method for realizing arctangent calculation based on the CORDIC algorithm described in this application, firstly, the input (x, y) is processed by the quadrant preprocessing module and the absolute value preprocessing module in turn, and then iterative calculation is performed by the CORDIC algorithm module To realize arctangent calculation; both x and y in the input (x, y) are represented by signed numbers.
所述象限预处理模块首先对输入的(x,y)进行判断,看是否需要对其进行转换,确保完成该步骤后的输入值位于第一象限内;具体处理过程为:若(x,y)在第一象限,则数据保持不变;若(x,y)在第二象限,将(x,y)预处理为(y,-x),即顺时针旋转90°;若(x,y)在第三象限,将(x,y)预处理为(-x,-y),即顺时针旋转180°;若(x,y)在第四象限,将(x,y)预处理为(-y,x),即顺时针旋转270°。The quadrant preprocessing module first judges the input (x, y) to see if it needs to be converted to ensure that the input value after completing this step is located in the first quadrant; the specific processing process is: if (x, y) ) in the first quadrant, the data remains unchanged; if (x,y) is in the second quadrant, preprocess (x,y) into (y,-x), that is, rotate 90° clockwise; if (x, y) y) In the third quadrant, preprocess (x,y) to (-x,-y), that is, rotate 180° clockwise; if (x,y) is in the fourth quadrant, preprocess (x,y) is (-y,x), which is a 270° clockwise rotation.
所述绝对值预处理模块首先使上述经过象限预处理模块的(x,y)分别对应出二进制数,根据其二进制位数判断x和y的绝对值是否同时满足小于等于其最大绝对值,且大于其最大绝对值的一半;若不满足上述条件,则同时将x和y放大一倍,继续判断,只至满足上述条件。The absolute value preprocessing module first makes the above-mentioned (x, y) through the quadrant preprocessing module correspond to binary numbers respectively, and judges whether the absolute values of x and y satisfy simultaneously less than or equal to its maximum absolute value according to its binary digits, and is greater than half of its maximum absolute value; if the above conditions are not met, double x and y at the same time, and continue to judge until the above conditions are met.
绝对值预处理模块的具体处理过程为:The specific processing process of the absolute value preprocessing module is as follows:
1)设所述x和y对应的二进制位数分别为m和n,在本实施例1中,m和n均为16,则x和y的绝对值均为32768;1) Let the binary digits corresponding to the x and y be m and n respectively, in the present embodiment 1, m and n are both 16, then the absolute values of x and y are both 32768;
2)判断x和y的绝对值是否大于16384且小于等于32768;2) Determine whether the absolute value of x and y is greater than 16384 and less than or equal to 32768;
3)若满足步骤2),则x,y保持不变;若不满足步骤2),则转入下述步骤4);3) If step 2) is satisfied, then x, y remain unchanged; if step 2) is not satisfied, proceed to following step 4);
4)将x和y同时放大一倍,并得到放大后x和y的绝对值;4) Double x and y at the same time, and obtain the absolute values of x and y after the magnification;
5)重复步骤2)、3)、4),直至满足步骤2)。5) Repeat steps 2), 3), and 4) until step 2) is satisfied.
所述方法中的CORDIC算法模块的具体处理过程为:The specific processing process of the CORDIC algorithm module in the method is:
将向量(x,y)进行旋转,每次旋转固定角度θi,旋转方向为di=sign(y(i)),旋转的目标是x轴,进行N次迭代,则有反正切角:Rotate the vector (x, y) with a fixed angle θ i each time, the rotation direction is d i =sign(y(i)), the target of the rotation is the x-axis, and after N iterations, there is an arc tangent angle:
旋转角度θi满足:The rotation angle θ i satisfies:
2-i=tanθi (2)2 -i = tanθ i (2)
简化后的迭代移位相加算法的迭代方程为:The iterative equation of the simplified iterative shift-add algorithm is:
通过N次迭代后的z就是反正切计算的结算,即:z after N iterations is the settlement of the arctangent calculation, namely:
z=arctan(y/x) (4)。z=arctan(y/x) (4).
在本实施例中,CORDIC算法模块具体进行15次迭代计算以实现基于FPGA的反正切计算。由图3可以看到,本发明所述方法中,输入四个象限的(x,y)后,角度输出正确。In this embodiment, the CORDIC algorithm module specifically performs 15 iterative calculations to realize arctangent calculation based on FPGA. It can be seen from FIG. 3 that in the method of the present invention, after inputting (x, y) of the four quadrants, the angle output is correct.
实施例2:在本实施例中,与所述实施例1的不同之处仅在于,所述输入的(x,y)具体为(8,10)。由图4可以看到,在本实施例2中,角度误差从8.01°减小至0.01°。Embodiment 2: In this embodiment, the only difference from Embodiment 1 is that the input (x, y) is specifically (8, 10). It can be seen from FIG. 4 that in the second embodiment, the angle error is reduced from 8.01° to 0.01°.
以上所描述的实施例是本申请一部分实施例,而不是全部的实施例。本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The above-described embodiments are some, but not all, embodiments of the present application. The detailed descriptions of the embodiments of the application are not intended to limit the scope of the application as claimed, but are merely representative of selected embodiments of the application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
Claims (9)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210521919.XA CN114816333A (en) | 2022-05-13 | 2022-05-13 | A Method of Realizing Arctangent Calculation Based on CORDIC Algorithm |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210521919.XA CN114816333A (en) | 2022-05-13 | 2022-05-13 | A Method of Realizing Arctangent Calculation Based on CORDIC Algorithm |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN114816333A true CN114816333A (en) | 2022-07-29 |
Family
ID=82515318
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210521919.XA Pending CN114816333A (en) | 2022-05-13 | 2022-05-13 | A Method of Realizing Arctangent Calculation Based on CORDIC Algorithm |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN114816333A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120235762A (en) * | 2025-05-29 | 2025-07-01 | 成都新基讯通信技术有限公司 | CORDIC-based hardware implementation method, device, equipment and medium |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1492313A (en) * | 2003-07-29 | 2004-04-28 | 深圳迈瑞生物医疗电子股份有限公司 | Coordinate conversion method and processor for digital scan conversion device |
| US20090094307A1 (en) * | 2007-10-09 | 2009-04-09 | Ault David N | Accuracy improvement in cordic through precomputation of the error bias |
| US20110225222A1 (en) * | 2010-03-15 | 2011-09-15 | Integrated Device Technology, Inc. | Methods and apparatuses for cordic processing |
| JP2013246772A (en) * | 2012-05-29 | 2013-12-09 | Asahi Kasei Electronics Co Ltd | Inverse tangent arithmetic circuit and inverse tangent arithmetic method |
| CN107402743A (en) * | 2017-07-24 | 2017-11-28 | 珠海泰芯半导体有限公司 | A kind of phase demodulation apparatus and method based on cordic algorithm |
| CN109614073A (en) * | 2018-10-28 | 2019-04-12 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | Four-quadrant arctangent function hardware implementation circuit |
| CN112783471A (en) * | 2020-12-29 | 2021-05-11 | 深圳信息职业技术学院 | Device and method for calculating sine, cosine and arc tangent functions based on CORDIC algorithm |
-
2022
- 2022-05-13 CN CN202210521919.XA patent/CN114816333A/en active Pending
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1492313A (en) * | 2003-07-29 | 2004-04-28 | 深圳迈瑞生物医疗电子股份有限公司 | Coordinate conversion method and processor for digital scan conversion device |
| US20090094307A1 (en) * | 2007-10-09 | 2009-04-09 | Ault David N | Accuracy improvement in cordic through precomputation of the error bias |
| US20110225222A1 (en) * | 2010-03-15 | 2011-09-15 | Integrated Device Technology, Inc. | Methods and apparatuses for cordic processing |
| JP2013246772A (en) * | 2012-05-29 | 2013-12-09 | Asahi Kasei Electronics Co Ltd | Inverse tangent arithmetic circuit and inverse tangent arithmetic method |
| CN107402743A (en) * | 2017-07-24 | 2017-11-28 | 珠海泰芯半导体有限公司 | A kind of phase demodulation apparatus and method based on cordic algorithm |
| CN109614073A (en) * | 2018-10-28 | 2019-04-12 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | Four-quadrant arctangent function hardware implementation circuit |
| CN112783471A (en) * | 2020-12-29 | 2021-05-11 | 深圳信息职业技术学院 | Device and method for calculating sine, cosine and arc tangent functions based on CORDIC algorithm |
Non-Patent Citations (1)
| Title |
|---|
| 王强;应浩;: "反正切函数的CORDIC算法及其FPGA实现" * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120235762A (en) * | 2025-05-29 | 2025-07-01 | 成都新基讯通信技术有限公司 | CORDIC-based hardware implementation method, device, equipment and medium |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111984227B (en) | An approximate calculation device and method for square roots of complex numbers | |
| CN114816333A (en) | A Method of Realizing Arctangent Calculation Based on CORDIC Algorithm | |
| CN111061455A (en) | A Trigonometric Function CORDIC Iterative Coprocessor | |
| CN1914589A (en) | Implementation of the CORDIC algorithm for complex phase rotation | |
| CN107402743B (en) | Phase demodulation device and method based on CORDIC algorithm | |
| CN109345463B (en) | An optimization method and system for a coordinate rotation digital calculation method | |
| CN111666064B (en) | Trigonometric function loop iteration solving method and device based on CORDIC | |
| JP4757328B2 (en) | Inverse tangent calculation device and inverse tangent calculation program | |
| US7047269B2 (en) | Cordic method and architecture applied in vector rotation | |
| WO2017185334A1 (en) | Device and method for performing multiple transcendental function operations | |
| CN104135457B (en) | Digital phase discrimination method and device based on improved CORDIC (coordinated rotation digital computer) algorithm | |
| CN107423026B (en) | A kind of realization method and device of sine and cosine function calculation | |
| CN102566965B (en) | Floating-point number logarithmic operation device with flat errors | |
| CN113127802A (en) | Complex logarithm implementation method, device and equipment based on CORDIC algorithm and computer storage medium | |
| CN118132035A (en) | A multi-mode trigonometric function operation circuit | |
| CN103713878B (en) | A kind of method that sine and cosine cordic algorithm applying complement method realizes at FPGA | |
| CN108416311B (en) | Azimuth angle acquisition method based on programmable gate array and coordinate rotation processing | |
| CN108197076B (en) | A method and device for realizing a circular rotation cordic algorithm without overflow | |
| CN117472324A (en) | Fixed-floating point hybrid computing architecture based on overlapping addition | |
| CN109190084B (en) | Hardware implementation method for sine and cosine calculation | |
| CN115617307A (en) | A resource reuse type transcendental function operation implementation device | |
| CN117235423A (en) | Method for realizing angle calculation by utilizing CORDIC | |
| CN110147218B (en) | Operation circuit and method based on Cordic algorithm | |
| CN119180260B (en) | Area-saving cordic implementation method | |
| JP2013246772A (en) | Inverse tangent arithmetic circuit and inverse tangent arithmetic method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20220729 |
|
| WD01 | Invention patent application deemed withdrawn after publication |