CORDIC algorithm optimization method based on zero jump idea and related device
By adopting the idea of jumping to the zero in the CORDIC algorithm, identifying and skipping the invalid iteration process, the problem of slow convergence speed of the CORDIC algorithm is solved, and faster calculation result output is achieved.
Patent Information
- Application Number
- CN202510284490.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-11
- Publication Date
- 2025-06-27
AI Technical Summary
The convergence speed of the CORDIC algorithm is slow, resulting in a large number of iterations required in cases where high-precision calculations are required, affecting the real-time performance of the system.
The CORDIC algorithm optimization method based on the idea of jumping to zero is adopted. By binary conversion of the current remaining phase value in the current iteration process and zero point recognition is performed according to the binary number, the iteration process with zero points is skipped, and the number of iterations is updated until the zero-hop threshold or maximum number of iterations is reached.
By skipping the invalid iteration process, the number of iterations is reduced, the convergence speed of the CORDIC algorithm is improved, and the results can be given in a shorter time.
Smart Images

Figure CN120215875A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of CORDIC algorithms. Specifically, it relates to an optimization method for the CORDIC algorithm based on the zero-skip idea and related devices. Background Art
[0002] The Coordinate Rotation Digital Computer (CORDIC) algorithm is an effective method for calculating trigonometric functions and other mathematical functions. Its core idea is to convert the target function into a vector rotation iteration problem and gradually approximate the value of the target function through a series of predefined rotation operations with gradually decreasing angles.
[0003] However, although the CORDIC algorithm has been widely used in many fields due to its simple operation and easy hardware implementation, there are still some drawbacks in its vector mode converter. The convergence speed of the CORDIC algorithm is relatively slow, which means that in cases where high-precision calculations are required, a large number of iterations are needed to achieve the required accuracy. The slow convergence speed will lead to an increase in calculation time, which may affect the real-time performance of the system.
[0004] Therefore, how to improve the convergence speed of the CORDIC algorithm is a technical problem that needs to be urgently solved by those skilled in the art. Summary of the Invention
[0005] The purpose of this application is to provide an optimization method for the CORDIC algorithm based on the zero-skip idea and related devices to improve the convergence speed of the CORDIC algorithm.
[0006] To achieve the above purpose, the technical solutions adopted in this application are as follows:
[0007] On the one hand, this application provides an optimization method for the CORDIC algorithm based on the zero-skip idea, and the method includes:
[0008] Perform binary conversion on the current remaining phase value in the current iteration process, and identify zeros according to the binary number of the current remaining phase value; wherein, the current remaining phase value is the remaining phase value after the previous iteration rotation and away from the target phase value;
[0009] If it is identified that the current remaining phase value has a zero, skip the iteration process corresponding to the current remaining phase value, and update the number of iterations to perform the next iteration rotation;
[0010] Repeat the step of binary-converting the current remaining phase value in the current iteration process until the latest current remaining phase value is less than the zero-skipping threshold or the latest iteration count reaches the maximum iteration count, then terminate the iteration and output the vector coordinates after iterative rotation.
[0011] Further, the step of binary-converting the current remaining phase value in the current iteration process and performing zero-point identification according to the binary number of the current remaining phase value includes:
[0012] Binary-convert the current remaining phase value Z in the i-th iteration process i ; where the iteration count i = 0, 1, 2,......, N - 1, and N is the maximum iteration count;
[0013] If the current bit in the binary number of the current remaining phase value Z i is 0, then the current remaining phase value Z i has a zero point;
[0014] If the current bit in the binary number of the current remaining phase value Z i is 1, then the current remaining phase value Z i has no zero point;
[0015] where the current bit is the (i + 1)-th bit from left to right of the binary number of the current remaining phase value Z i ;
[0016] Further, after the step of binary-converting the current remaining phase value in the current iteration process and performing zero-point identification according to the binary number of the current remaining phase value, the method further includes:
[0017] If it is identified that the current remaining phase value has no zero point, execute the iteration process corresponding to the current remaining phase value, and update the iteration count for the next iterative rotation.
[0018] Further, the step of, if it is identified that the current remaining phase value has no zero point, executing the iteration process corresponding to the current remaining phase value and updating the iteration count for the next iterative rotation includes:
[0019] If it is identified that the current remaining phase value Z in the i-th iteration process i has no zero point, then determine the rotation direction d i according to the current remaining phase value Z i ; where the rotation direction d i ∈{+1, -1}, the iteration count i = 0, 1, 2,......, N - 1, and N is the maximum iteration count;
[0020] According to the rotation direction di Obtain the vector coordinates after the i-th iterative rotation using the sum vector coordinate iterative formula;
[0021] According to the rotation direction d i and the current remaining phase value Z i Update the current remaining phase value Z in the (i + 1)-th iterative process i+1 , where Z i+1 = Z i - d i ·arctan(2 -i ).
[0022] Furthermore, if it is recognized that there is no zero point in the current remaining phase value Z in the i-th iterative process, then the steps of determining the rotation direction d i according to the current remaining phase value Z i include: i If the current remaining phase value Z
[0023] > 0, then determine the rotation direction d i = +1, indicating counterclockwise rotation; i If the current remaining phase value Z
[0024] < 0, then determine the rotation direction d i = -1, indicating clockwise rotation. i
[0025] Furthermore, the vector coordinate iterative formula is:
[0026]
[0027] where x i+1 , y i+1 are respectively the horizontal and vertical coordinates of the vector after the i-th iterative rotation.
[0028] Furthermore, before the step of converting the current remaining phase value in the current iterative process into binary and identifying the zero point according to the binary number of the current remaining phase value, the method further includes:
[0029] Set the initial remaining phase value equal to the target phase value, the initial vector as (x0, y0), and the initial iteration count equal to 0, and then perform at least three original CORDIC iterative rotations.
[0030] Furthermore, set the initial abscissa x0 = 1 / K, the initial ordinate y0 = 0; where the scaling factor N is the maximum number of iterations.
[0031] In a second aspect, the present application further provides a CORDIC algorithm optimization device based on the idea of skipping zeros. The device includes:
[0032] A zero-point recognition module, configured to perform binary conversion on the current remaining phase value in the current iteration process, and perform zero-point recognition according to the binary number of the current remaining phase value; wherein, the current remaining phase value is the remaining phase value after the previous iteration rotation and away from the target phase value.
[0033] A zero-skip module, configured to skip the iteration process corresponding to the current remaining phase value when it is recognized that the current remaining phase value has a zero point, and update the iteration count to perform the next iteration rotation.
[0034] An output module, configured to repeat the step of performing binary conversion on the current remaining phase value in the current iteration process until the latest current remaining phase value is less than the zero-skip threshold or the latest iteration count reaches the maximum iteration count, terminate the iteration, and output the vector coordinates after the iteration rotation.
[0035] In a third aspect, the present application further provides an electronic device, including a processor and a memory, the memory stores a program that can be executed by the processor, and the processor can execute the program to implement the CORDIC algorithm optimization method based on the zero-skip idea as described in any item of the first aspect.
[0036] Compared with the prior art, the present application has the following beneficial effects:
[0037] The present application provides a CORDIC algorithm optimization method based on the zero-skip idea and related devices. The method includes: performing binary conversion on the current remaining phase value in the current iteration process, and performing zero-point recognition according to the binary number of the current remaining phase value; wherein, the current remaining phase value is the remaining phase value after the previous iteration rotation and away from the target phase value. If it is recognized that the current remaining phase value has a zero point, skip the iteration process corresponding to the current remaining phase value, and update the iteration count to perform the next iteration rotation. Repeat the step of performing binary conversion on the current remaining phase value in the current iteration process until the latest current remaining phase value is less than the zero-skip threshold or the latest iteration count reaches the maximum iteration count, terminate the iteration, and output the vector coordinates after the iteration rotation.
[0038] Each time the iterative rotation starts in this application, zero point identification is performed on the corresponding current remaining phase value. By converting the current remaining phase value into a binary number, it is determined whether the current remaining phase value has a zero point. If the current remaining phase value has a zero point, the iterative process corresponding to the current remaining phase value containing the zero point is skipped (because this iterative process has no impact on the final output result), and the iteration count is directly updated to perform the next valid iteration. Based on this zero skipping idea, the necessary iterative process is completed until the latest current remaining phase value is less than the zero skipping threshold or the latest iteration count reaches the maximum iteration count, at which point the iteration is terminated and the vector coordinates after iterative rotation are output. Since some invalid iterative processes are skipped, reducing the number of iterations, the CORDIC algorithm optimization method based on the zero skipping idea provided in this application can give results in a shorter time and improve the convergence speed of CORDIC. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of this application. Obviously, the described embodiments are some, but not all, of the embodiments of this application. Usually, the components of the embodiments of this application described and illustrated herein can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the drawings is not intended to limit the scope of this application that is required to be protected, but merely represents the selected embodiments of this application. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of this application.
[0040] Figure 1 One of the flow diagrams of a CORDIC algorithm optimization method based on the zero skipping idea provided in the embodiments of this application;
[0041] Figure 2 The sub-step diagram of step S200 in the embodiments of this application;
[0042] Figure 3 Another flow diagram of a CORDIC algorithm optimization method based on the zero skipping idea provided in the embodiments of this application;
[0043] Figure 4 The sub-step diagram of step S400 in the embodiments of this application;
[0044] Figure 5 Another flow diagram of a CORDIC algorithm optimization method based on the zero skipping idea provided in the embodiments of this application;
[0045] Figure 6Schematic diagram of the functional modules of an optimized device for the CORDIC algorithm based on the idea of skipping zeros provided by the embodiments of the present application.
[0046] Icons: 10 - Optimized device for the CORDIC algorithm based on the idea of skipping zeros; 11 - Zero point recognition module; 12 - Zero skipping module; 13 - Output module. Detailed implementation manners
[0047] Next, the technical solutions in the embodiments of the present application will be clearly and completely described with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Usually, the components of the embodiments of the present application described and shown in the accompanying drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the present application to be protected, but only represents the selected embodiments of the present application. All other embodiments obtained by those skilled in the art based on the embodiments of the present application without creative efforts fall within the scope of protection of the present application.
[0048] In the description of the present application, it should be noted that relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. The term "connection" should be understood in a broad sense. For example, it can be a fixed connection, a detachable connection, or an integral connection; it can be directly connected, or indirectly connected through an intermediate medium.
[0049] Next, with reference to the accompanying drawings, some implementation manners of the present application will be described in detail. Without conflict, the following embodiments and the features in the embodiments can be combined with each other.
[0050] The basic principle of the traditional CORDIC algorithm is to gradually rotate the initial vector to the target angle through a series of rotation operations, so as to obtain the trigonometric function values of the target angle. During the rotation process, the CORDIC algorithm will use the sum and difference formulas of trigonometric functions and the method of recursive calculation, and approximate the target value through basic addition and shift operations.
[0051] The implementation of the CORDIC algorithm usually includes three steps: initialization, iterative calculation, and result output. In the initialization stage, the algorithm will set parameters such as the coordinates of the initial vector and the target angle. In the iterative calculation stage, the algorithm will select an appropriate rotation direction and rotation angle for rotation operations according to the gap between the coordinates of the current vector and the target angle, and update the coordinates of the vector for the next iterative rotation. In the result output stage, the algorithm will output the coordinates of the rotated vector or the trigonometric function values of the target angle.
[0052] However, the traditional CORDIC algorithm has disadvantages such as slow convergence speed, high requirements for design and implementation, large hardware overhead and energy efficiency problems, and has certain limitations.
[0053] To solve the above technical problems, please refer to Figure 1 , an embodiment of the present application provides an optimization method for the CORDIC algorithm based on the idea of zero skipping, and the method includes the following steps:
[0054] Step S200: Convert the current remaining phase value in the current iteration process into binary, and identify zero points according to the binary number of the current remaining phase value.
[0055] It can be understood that before starting the current iteration rotation operation, it is necessary to first analyze the current remaining phase value in the current iteration process. That is, convert the current remaining phase value into a binary number, and identify zero points according to the binary number of the current remaining phase value to determine whether the current iteration rotation needs to be executed.
[0056] It should be noted that the current remaining phase value is the remaining phase value after the previous iteration rotation and the target phase value, and the expression of the binary number of the current remaining phase value is:
[0057] b n-1 b n-2 ...b0.b -1 ...b -m
[0058] In the formula, n is the number of bits of the integer part of the binary number, m is the number of bits of the decimal part of the binary number, b n-1 is the most significant bit of the binary number, b -m is the least significant bit of the binary number.
[0059] Step S300: If it is recognized that the current remaining phase value has a zero point, skip the iteration process corresponding to the current remaining phase value, and update the iteration count for the next iteration rotation.
[0060] Step S500: Repeat the step of converting the current remaining phase value in the current iteration process into binary until the latest current remaining phase value is less than the zero skipping threshold or the latest iteration count reaches the maximum iteration count, terminate the iteration, and output the vector coordinates after the iteration rotation.
[0061] In the CORDIC algorithm, since the rotation direction of each iteration is determined by the sign of the current remaining phase value, if the current remaining phase value is zero, there is no need to perform iterative rotation. Therefore, in this application, each time iterative rotation starts, zero-point identification is performed on the corresponding current remaining phase value. By converting the current remaining phase value into a binary number, it is determined whether the current remaining phase value has a zero point. If the current remaining phase value has a zero point, the iterative process corresponding to the current remaining phase value containing the zero point is skipped (i.e., not executed) because this iterative process has no impact on the final output result, and the iteration count is directly updated to perform the next valid iteration. Based on this zero-skip idea, the necessary iterative process is completed until the latest current remaining phase value is less than the zero-skip threshold or the latest iteration count reaches the maximum iteration count, at which point the iteration is terminated and the vector coordinates after iterative rotation are output.
[0062] Since some invalid iterative processes are skipped, reducing the number of iterations, the CORDIC algorithm optimization method based on the zero-skip idea provided in this application can give results in a shorter time, improving the convergence speed of CORDIC.
[0063] Further, please refer to Figure 2 , the step S200 of performing binary conversion on the current remaining phase value in the current iterative process and performing zero-point identification based on the binary number of the current remaining phase value includes sub-steps S210, S220, and S230.
[0064] Step S210: Convert the current remaining phase value Z i in the i-th iterative process into a binary number.
[0065] Among them, the iteration count i = 0, 1, 2,......, N - 1, and N is the maximum iteration count. When i = 0, it actually represents the first iteration. When i = N - 1, it actually represents the N-th iteration.
[0066] Step S220: If the current bit in the binary number of the current remaining phase value Z i is 0, then the current remaining phase value Z i has a zero point.
[0067] Step S230: If the current bit in the binary number of the current remaining phase value Z i is 1, then the current remaining phase value Z i has no zero point.
[0068] Among them, the current bit is the current remaining phase value Z iThe (i + 1)-th bit of the binary number from left to right. Exemplarily, assume that the binary number of the current remaining phase value Z4 in the 4th iteration process (i.e., i = 4) is 0.0010101. Then the current bit of this binary number is the 5th bit from left to right of 0.0010101 (i.e., b -4 bit), which is 0. Then it is recognized that Z4 has a zero point, skip the 4th iteration process (actually the 5th iteration), and update the iteration number i = 4 + 1 to perform the next iteration.
[0069] In an alternative embodiment, please refer to Figure 3 , after step S200, the CORDIC algorithm optimization method based on the zero-skip idea provided by the embodiments of the present application further includes the following steps.
[0070] Step S400: If it is recognized that the current remaining phase value has no zero point, execute the iteration process corresponding to the current remaining phase value, and update the iteration number to perform the next iteration rotation.
[0071] Exemplarily, assume that the binary number of the current remaining phase value Z5 in the 5th iteration process (i.e., i = 5) is 0.0001101. Then the current bit of this binary number is the 6th bit from left to right of 0.0001101 (i.e., b -5 bit), which is 1. Then it is recognized that Z5 has no zero point. At this time, normally execute the rotation operation of the 5th iteration process (actually the 6th iteration), and update the iteration number i = 5 + 1 to perform the next iteration.
[0072] Specifically, please refer to Figure 4 , if it is recognized that the current remaining phase value has no zero point, the step S400 of executing the iteration process corresponding to the current remaining phase value and updating the iteration number to perform the next iteration rotation includes sub-steps S410, S420, and S430.
[0073] Step S410: If it is recognized that the current remaining phase value Z i in the i-th iteration process has no zero point, then determine the rotation direction d i according to the current remaining phase value Z i .
[0074] Among them, the rotation direction d i ∈{+1, -1}, the iteration number i = 0, 1, 2,......, N - 1, and N is the maximum number of iterations.
[0075] If the current remaining phase value Z i > 0, then determine the rotation direction d i = +1, indicating that the vector will be rotated counterclockwise in the i-th iteration process.
[0076] If the current remaining phase value Zi If < 0, then determine the rotation direction d i = -1, indicating that the vector is rotated clockwise during the i-th iteration.
[0077] Step S420: According to the rotation direction d i and the vector coordinate iteration formula, obtain the vector coordinates after rotation in the i-th iteration.
[0078] Specifically, the vector coordinate iteration formula is:
[0079]
[0080] where x i+1 , y i+1 are the horizontal and vertical coordinates of the vector after rotation in the i-th iteration, respectively.
[0081] Step S430: According to the rotation direction d i and the current remaining phase value Z i update the current remaining phase value Z in the (i + 1)-th iteration, i+1 where Z i+1 = Z i - d i ·arctan(2 -i ).
[0082] It can be seen that steps S410 to S430 are the specific processes of iterative rotation when the current remaining phase value has no zero point. This process affects the final output result and thus must be executed. If the current remaining phase value has a zero point, the corresponding iterative rotation process can be directly skipped, and the iteration count can be directly updated for the next effective iterative rotation, thereby reducing unnecessary iteration counts and improving the convergence speed.
[0083] As an optional implementation manner, please refer to Figure 5 , before the step of zero point identification for the current remaining phase value, an initialization operation is also required. That is, before step S200, the CORDIC algorithm optimization method based on the zero skipping idea provided by the embodiments of the present application further includes the following steps.
[0084] Step S100: Set the initial remaining phase value equal to the target phase value, the initial vector as (x0, y0), and the initial iteration count equal to 0, and then perform at least three original CORDIC iterative rotations.
[0085] While skipping the zero point, in order to ensure that the operation accuracy of the CORDIC algorithm is not significantly affected, in the embodiments of the present application, in addition to accurately identifying the current remaining phase value in each iteration process, at least three original CORDIC iterative rotations can be performed after initializing the parameters, and then the zero skipping is enabled. For example, even if it is recognized that a certain current remaining phase value has a zero point during the first 3 iterations (i = 0, 1, 2), the corresponding iteration process is still executed to avoid losing the necessary calculation accuracy.
[0086] In addition, for the convenience of subsequent iterative calculations, the initial abscissa x0 = 1 / K and the initial ordinate y0 = 0 can be set. Where the scale factor N is the maximum number of iterations.
[0087] Further, please refer to Figure 6 , Figure 6 FIG. is a functional module diagram of an optimized device 10 for the CORDIC algorithm based on the zero skipping idea provided by the embodiments of the present application. It should be noted that the basic principle of the device and the technical effects generated are the same as those in the above embodiments. For the sake of brief description, for the parts not mentioned in this embodiment, reference can be made to the corresponding content in the above embodiments. The optimized device 10 for the CORDIC algorithm based on the zero skipping idea includes:
[0088] A zero point identification module 11, configured to perform binary conversion on the current remaining phase value in the current iteration process, and perform zero point identification according to the binary number of the current remaining phase value; wherein, the current remaining phase value is the remaining phase value from the previous iteration rotation to the target phase value.
[0089] A zero skipping module 12, configured to skip the iteration process corresponding to the current remaining phase value when it is recognized that the current remaining phase value has a zero point, and update the number of iterations to perform the next iteration rotation.
[0090] An output module 13, configured to repeat the step of performing binary conversion on the current remaining phase value in the current iteration process until the latest current remaining phase value is less than the zero skipping threshold or the latest number of iterations reaches the maximum number of iterations, terminate the iteration, and output the vector coordinates after the iteration rotation.
[0091] Further, the embodiments of the present application also provide an electronic device, including a processor and a memory. The memory stores a program that can be executed by the processor, and the processor can execute the program to implement the above-mentioned optimized method for the CORDIC algorithm based on the zero skipping idea.
[0092] In summary, the embodiments of the present application provide an optimization method for the CORDIC algorithm based on the zero-skip idea and related devices. The method includes the following steps: performing binary conversion on the current remaining phase value in the current iteration process, and identifying zero points according to the binary number of the current remaining phase value; wherein, the current remaining phase value is the remaining phase value after the previous iteration rotation and away from the target phase value. If it is identified that the current remaining phase value has a zero point, skip the iteration process corresponding to the current remaining phase value, and update the iteration count to perform the next iteration rotation. Repeat the step of performing binary conversion on the current remaining phase value in the current iteration process until the latest current remaining phase value is less than the zero-skip threshold or the latest iteration count reaches the maximum iteration count, terminate the iteration, and output the vector coordinates after the iteration rotation.
[0093] In each iteration rotation of the present application, zero-point identification is performed on the corresponding current remaining phase value. By converting the current remaining phase value into a binary number, it is determined whether the current remaining phase value has a zero point. If the current remaining phase value has a zero point, skip the iteration process corresponding to the current remaining phase value containing the zero point (because this iteration process has no impact on the final output result), and directly update the iteration count to perform the next effective iteration. Based on this zero-skip idea, complete the necessary iteration process until the latest current remaining phase value is less than the zero-skip threshold or the latest iteration count reaches the maximum iteration count, terminate the iteration, and output the vector coordinates after the iteration rotation. Since some invalid iteration processes are skipped and the number of iterations is reduced, the optimization method for the CORDIC algorithm based on the zero-skip idea provided by the present application can give results in a shorter time and improve the convergence speed of CORDIC.
[0094] The foregoing is only a preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, various changes and modifications can be made to the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
[0095] For those skilled in the art, it is obvious that the present application is not limited to the details of the above exemplary embodiments, and can be implemented in other specific forms without departing from the spirit or basic characteristics of the present application. Therefore, from any point of view, the embodiments should be regarded as exemplary and non-limiting. The scope of the present application is defined by the appended claims rather than the above description. Therefore, it is intended to include all changes within the meaning and scope of the equivalent elements of the claims in the present application. Any reference signs in the claims should not be regarded as limiting the claims involved.
Claims
1. A CORDIC algorithm optimization method based on zero-jumping idea, characterized in that: The method comprises: The current residual phase value in the current iteration process is converted into a binary value, and a zero point is identified according to the binary number of the current residual phase value; wherein the current residual phase value is the residual phase value from the target phase value after the last iteration rotation; If it is identified that the current residual phase value has a zero point, skipping the iteration process corresponding to the current residual phase value, and updating the number of iterations to perform the next iteration rotation; Repeat the step of binary conversion of the current residual phase value in the current iteration process until the latest current residual phase value is less than the zero jump threshold or the latest iteration number reaches the maximum iteration number, terminate the iteration, and output the vector coordinates after iterative rotation.
2. The CORDIC algorithm optimization method based on zero-jumping concept according to claim 1, characterized in that: The steps of performing binary conversion on the current residual phase value in the current iteration process and performing zero point identification according to the binary number of the current residual phase value include: The current residual phase value Z in the i-th iteration process i Perform binary conversion; wherein the number of iterations i = 0, 1, 2, ..., N-1, and N is the maximum number of iterations; If the current residual phase value Z i If the current bit in the binary number is 0, the current residual phase value Z i has a zero point; If the current residual phase value Z i If the current bit in the binary number is 1, then the current residual phase value Z i No zero point; Among them, the current position is the current residual phase value Z i The binary number of is the i+1th bit from left to right.
3. The CORDIC algorithm optimization method based on zero-jumping concept according to claim 1, characterized in that: After the steps of performing binary conversion on the current residual phase value in the current iteration process and performing zero point identification according to the binary number of the current residual phase value, the method further comprises: If it is identified that the current residual phase value has no zero point, an iterative process corresponding to the current residual phase value is executed, and the number of iterations is updated to perform the next iterative rotation.
4. The CORDIC algorithm optimization method based on zero-jumping concept according to claim 3, characterized in that: If it is identified that the current residual phase value has no zero point, the steps of executing an iterative process corresponding to the current residual phase value and updating the number of iterations for the next iterative rotation include: If the current residual phase value Z in the i-th iteration is identified i If there is no zero point, then according to the current residual phase value Z i Determine the direction of rotation d i ; Wherein, the rotation direction d i ∈{+1,-1}, the number of iterations i = 0, 1, 2, ..., N-1, and N is the maximum number of iterations; According to the rotation direction d i The vector coordinates after the i-th iteration rotation are obtained by using the vector coordinates iteration formula; According to the rotation direction d i and the current residual phase value Z i Update the current residual phase value Z during the i+1th iteration i+1 , where Z i+1 =Z i -d i ·arctan(2 -i ).
5. The CORDIC algorithm optimization method based on zero skipping concept according to claim 4, characterized in that: If the current residual phase value Z in the i-th iteration is identified i If there is no zero point, then according to the current residual phase value Z i Determine the direction of rotation d i The steps include: If the current residual phase value Z i >0, then determine the rotation direction d i =+1, indicating counterclockwise rotation; If the current residual phase value Z i <0, then determine the rotation direction d i =-1, indicating clockwise rotation.
6. The CORDIC algorithm optimization method based on zero skipping concept according to claim 4, characterized in that: The vector coordinate iteration formula is: Among them, x i+1 ,y i+1 are the horizontal and vertical coordinates of the vector after the i-th iteration rotation.
7. The CORDIC algorithm optimization method based on zero-jumping concept according to claim 1, characterized in that: Before the step of converting the current residual phase value in the current iteration into a binary value and performing zero point identification according to the binary number of the current residual phase value, the method further comprises: The initial residual phase value is set equal to the target phase value, the initial vector is (x0, y0), and after the initial number of iterations is equal to 0, at least three original CORDIC iterative rotations are performed.
8. The CORDIC algorithm optimization method based on zero-jumping concept according to claim 7, characterized in that: Set the initial horizontal coordinate x0 = 1 / K, the initial vertical coordinate y0 = 0; where the scale factor N is the maximum number of iterations.
9. A CORDIC algorithm optimization device based on zero-jumping concept, characterized in that: The device comprises: A zero point identification module is used to perform binary conversion on the current residual phase value in the current iteration process, and perform zero point identification according to the binary number of the current residual phase value; wherein the current residual phase value is the residual phase value from the target phase value after the last iteration rotation; A zero-skipping module, configured to skip the iteration process corresponding to the current residual phase value when it is identified that the current residual phase value has a zero point, and update the number of iterations to perform the next iteration rotation; The output module is used to repeat the step of binary conversion of the current residual phase value in the current iteration process until the latest current residual phase value is less than the zero jump threshold or the latest iteration number reaches the maximum iteration number, terminate the iteration, and output the vector coordinates after iterative rotation.
10. An electronic device, characterized in that: It comprises a processor and a memory, wherein the memory stores a program that can be executed by the processor, and the processor can execute the program to implement the CORDIC algorithm optimization method based on the zero-jumping concept as described in any one of claims 1-8.