CN110908633A - Coordinate rotation digital calculator and method - Google Patents

Coordinate rotation digital calculator and method Download PDF

Info

Publication number
CN110908633A
CN110908633A CN201811088431.2A CN201811088431A CN110908633A CN 110908633 A CN110908633 A CN 110908633A CN 201811088431 A CN201811088431 A CN 201811088431A CN 110908633 A CN110908633 A CN 110908633A
Authority
CN
China
Prior art keywords
component
signal
intermediate value
phase
circuit
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
Application number
CN201811088431.2A
Other languages
Chinese (zh)
Inventor
伯纳德·金纳堤
郑有财
王俊杰
童泰来
廖根良
林奕劭
张量凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MStar Semiconductor Inc Taiwan
Original Assignee
MStar Semiconductor Inc Taiwan
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by MStar Semiconductor Inc Taiwan filed Critical MStar Semiconductor Inc Taiwan
Priority to CN201811088431.2A priority Critical patent/CN110908633A/en
Publication of CN110908633A publication Critical patent/CN110908633A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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/5446Methods 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 using crossaddition algorithms, e.g. CORDIC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/4806Computations with complex numbers
    • G06F7/4818Computations with complex numbers using coordinate rotation digital computer [CORDIC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

A coordinate rotation digital calculator comprises a rotation direction judging circuit, a second component updating circuit, a first intermediate value output circuit and a second intermediate value output circuit, wherein the second component updating circuit comprises a first intermediate value output circuit and outputs a first intermediate value according to a first component of a signal, and the first intermediate value is not smaller than the first component; a second intermediate value output circuit for outputting a second intermediate value according to a second component of the signal; and an update circuit for calculating an updated second component according to the first intermediate value and the second intermediate value; and a rotation direction output circuit for outputting a rotation direction signal according to the updated second component; and a phase accumulation circuit for calculating a signal phase information according to the rotation direction signal.

Description

Coordinate rotation digital calculator and method
Technical Field
The present invention relates to a coordinate rotation digital calculator and a method thereof, and more particularly, to a coordinate rotation digital calculator with high resolution and a method thereof.
Background
Coordinate Rotation Digital Computer (CORDIC) is characterized by Recursively (Recursively) phase rotating a signal, where the Tangent (change) function of the phase Rotation angle in each iteration is 1/2 of the Tangent function of the phase Rotation angle in the previous iteration/iteration, and in the Digital circuit, a shifter is used to shift k bits to the right to multiply 1/2 bitskThe coordinate rotation digital calculator of (3) can be realized by using an adder and a shifter without using a multiplier, and has the advantage of simple circuit structure.
In the prior art, after the coordinate rotation digital calculator performs a plurality of iterations, the resolution/accuracy of the conventional coordinate rotation digital calculator is reduced due to data loss caused by the increase of the number of bits of the right-hand displacement performed by the shifter. Accordingly, there is a need for improvement in the art.
Disclosure of Invention
Therefore, it is a primary objective of the claimed invention to provide a high resolution coordinate rotation digital calculator and method to improve the shortcomings of the prior art.
The invention discloses a Coordinate Rotation digital computer (CORDIC), comprising a Rotation direction judging circuit, generating an updated second component according to a first component of a signal in a first dimension and a second component in a second dimension, and outputting a Rotation direction signal according to the updated second component, wherein the CORDIC comprises a register circuit for recording the first component and the second component; a second component updating circuit for generating the updated second component according to the first component and the second component, comprising a first intermediate value output circuit for outputting a first intermediate value according to the first component, wherein the first intermediate value is not less than the first component; a second intermediate value output circuit for outputting a second intermediate value according to the second component; and an update circuit for calculating the updated second component according to the first intermediate value and the second intermediate value; a rotation direction output circuit for outputting the rotation direction signal according to the updated second component; and a phase accumulation circuit for calculating a signal phase information according to the rotation direction signal.
The invention also discloses a coordinate rotation digital calculation method, which is applied to a coordinate rotation digital calculator and comprises the steps of generating an updated second component according to a first component of a signal in a first dimension and a second component of the signal in a second dimension, and outputting a rotation direction signal according to the updated second component; calculating a signal phase information of the signal according to the rotation direction signal; wherein generating the updated second component according to the first component and the second component comprises outputting a first intermediate value according to the first component, wherein the first intermediate value is not less than the first component; outputting a second intermediate value according to the second component; calculating the updated second component according to the first intermediate value, the second intermediate value and the second component; and outputting the rotation direction signal according to the updated second component.
Drawings
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in detail below, wherein:
FIG. 1 is a block diagram of a coordinate rotation digital calculator according to an embodiment of the present invention.
FIG. 2 is a flowchart of a method for calculating a coordinate rotation number according to an embodiment of the present invention.
FIG. 3 is a block diagram of a rotation direction determining circuit according to an embodiment of the present invention.
FIG. 4 is a block diagram of a rotation direction determining circuit.
FIG. 5 is a block diagram of a rotation direction determining circuit according to an embodiment of the present invention.
FIG. 6 is a block diagram of a phase accumulation circuit according to an embodiment of the present invention.
FIG. 7 is a block diagram of a phase accumulation circuit according to an embodiment of the present invention.
Element numbering in the figures:
10-coordinate rotating digital calculator
20 to method
12. 42, 52-rotation direction determination circuit
13. 43, 53-register circuit
14. 15, 44, 45, 54, 55-component update circuit
16. 46, 56-rotation direction output circuit
17. 77-phase accumulating circuit
131. 132, 431, 432, 531, 532 registers
140. 142, 150, 152, 440, 442, 450, 452, 540, 542, 550, 552 to center
Value output circuit
144. 154, 444, 454, 544, 554 to update circuit
170. 770-memory
172. 772 Table look-up circuit
58-division circuit
174 to accumulator
774-integer accumulator
1742 adder
7742 integer adder
1740. 7740 register
776 conversion circuit
202 to 208
ax、bx、ay、byIntermediate value
d0~dk+1-rotation direction signal
k-iteration parameter
Mk-phase mapped value
QkAccumulated phase map value
Q-signal phase mapping value
p-phase information
s0-input signal
x0、y0、y’0、xk、yk、xk+1、yk+1Component (c)
Figure BDA0001803749410000031
Angle value
Detailed Description
Fig. 1 is a block diagram of a Coordinate Rotation digital computer (CORDIC) 10 according to an embodiment of the present invention, and fig. 2 is a flowchart of a Coordinate Rotation digital computing method 20 according to the present invention. The coordinate rotation digital calculator 10 may be used to calculate an input signal s0A phase information p, input signal s0May comprise a first component x in a first dimension0And a second component y in a second dimension0And the first dimension is orthogonal to the second dimension. For example, the input signal s0May be a plurality of signals and may be represented as s0=x0+j·y0Wherein x is0Representing the input signal s0In-phase Component of (i-phase Component), y0Representing the input signal s0Quadrature Component (Quadrature Component). In one embodiment, the phase information p may be the input signal s0And may be expressed as theta-tan-1(y0/x0) But is not limited thereto.
As shown in fig. 1, the coordinate rotation digital calculator 10 includes a rotation direction determining circuit 12 and a phase accumulating circuit 17. In one embodiment, the rotation direction determining circuit 12 determines the input signal s0Performing multiple phase rotations, and sequentially according to the input signal s0Outputting a plurality of rotation direction signals d with orthogonal components of the plurality of rotated signals0~dk+1To the phase accumulation circuit 17; specifically, first, the rotation direction determining circuit 12 determines the rotation direction based on the input signal s0Of (a) orthogonal component y0Outputs a rotation direction signal d0To phase accumulation circuit 17 (step 202). Then, in the first iteration, the rotation direction determining circuit 12 determines the rotation direction according to the component x0、y0Generating an updated component x1、y1(step 204) and according to the updated orthogonal component y1Output a rotationDirection signal d1To phase accumulation circuit 17 (step 206). Then, in the second iteration, the rotation direction determination circuit 12 determines the rotation direction according to the component x1、y1Generating an updated component x2、y2(step 204) and according to the updated orthogonal component y2Outputs a rotation direction signal d2To phase accumulation circuit 17 (step 206) and so on. In other words, in the (k +1) th iteration, the rotation direction determining circuit 12 determines the rotation direction according to the component xk、ykGenerating an updated component xk+1、yk+1And based on the updated orthogonal component yk+1Outputs a rotation direction signal dk+1To phase accumulation circuit 17. Finally, the phase accumulation circuit 17 is based on a plurality of rotation direction signals d0~dk+1Calculating an input signal s0The phase information p (step 208).
Referring to fig. 3, fig. 3 is a detailed block diagram of the rotation direction determining circuit 12 according to the embodiment of the present invention. In one embodiment, the rotation direction determining circuit 12 includes a register circuit 13, component updating circuits 14 and 15, and a rotation direction output circuit 16. The register circuit 13 includes registers 131 and 132 for storing the component xk、yk(ii) a The component update circuits 14, 15 are based on the component xk、ykAnd a rotation direction signal dkRespectively generating updated components xk+1、yk+1And respectively outputs the updated components xk+1、yk+1To registers 131, 132; the rotation direction output circuit 16 is coupled to the register 132 according to the quadrature component y stored in the register 132k+1Generating a rotation direction signal dk+1. For example, registers 131, 132 store component x, respectively0、y0The rotation direction output circuit 16 is based on the orthogonal component y stored in the register 132 at this time0Outputs a rotation direction signal d0. Then, in the first iteration, the component update circuits 14, 15 update the components x according to the components x0、y0And a rotation direction signal d0Respectively generating updated components x1、y1And respectively outputs the updated components x1、y1To registers 131, 132, thenThe rotation direction output circuit 16 is based on the orthogonal component y stored in the register 132 at this time1Outputs a rotation direction signal d1. Then, in the second iteration, the component update circuits 14, 15 update the components according to the component x1、y1And a rotation direction signal d1Respectively generating updated components x2、y2And respectively outputs the updated components x2、y2To registers 131, 132, and then rotation direction output circuit 16 according to the orthogonal component y stored in register 132 at this time2Outputs a rotation direction signal d2And so on.
In one embodiment, in the (k +1) th iteration, the updated component xk+1、yk+1Can be represented by the following formulae (1.1) and (1.2):
xk+1=ax+dk·bx(1.1)
yk+1=ay-dk·by(1.2)
equations (1.1) and (1.2) may be implemented by component update circuits 14, 15, respectively, shown in fig. 1. As shown in FIG. 1, the component update circuit 14 includes intermediate value output circuits 140, 142 and an update circuit 144, the intermediate value output circuit 140 being based on the component xkOutput an intermediate value axThe intermediate value output circuit 142 is based on the component ykOutput an intermediate value bxThe update circuit 144 updates the value according to the intermediate value ax、bxAnd a rotation direction signal dkGenerating an updated component xk+1. Similarly, the component update circuit 15 includes intermediate value output circuits 150, 152 and an update circuit 154, the intermediate value output circuit 150 being based on the component ykOutput an intermediate value ayThe intermediate value output circuit 152 is based on the component xkOutput an intermediate value byThe update circuit 154 updates the value according to the intermediate value ay、byAnd a rotation direction signal dkGenerating an updated component yk+1
In one embodiment, the median value a of equations (1.1) and (1.2)x=xk、bx=2-k·yk、ay=yk、by=2-k·xkUpdated component xk+1、yk+1It can be represented by the following formulas (2.1) and (2.2):
xk+1=xk+dk·2-k·yk(2.1)
yk+1=yk-dk·2-k·xk(2.2)
updated component x of equations (2.1) and (2.2)k+1、yk+1Respectively, is a signal sk=xk+j·ykRotate
Figure BDA0001803749410000051
Figure BDA0001803749410000052
To sk+1=xk+1+j·yk+1After, rotating the after signal sk+1The in-phase component and the quadrature component of (d), and the rotation direction thereof is determined by a rotation direction signal dkDetermine when d iskWhen +1, the direction of rotation is clockwise, when dkWhen the value is-1, the rotating direction is anticlockwise. In one embodiment, the rotation direction output circuit 16 may be a Sign Function (Sign Function) unit, when the component y iskWhen greater than 0, the rotating direction signal dkIs + 1; when component ykWhen less than 0, the rotation direction signal dkIs-1. K is an iteration parameter related to the number of iterations (rotations), for example, K is 0 when corresponding to the first iteration (rotation); corresponding to the second iteration (rotation), k is 1, and so on.
Equations (2.1) and (2.2) can be respectively realized by the component update circuits 44 and 45 in a rotation direction determination circuit 42 shown in fig. 4, and the component update circuit 44 includes intermediate value output circuits 440 and 442 and an update circuit 444. Intermediate value output circuit 440 outputs component x directlykTo output an intermediate value ax=xkThe middle value output circuit 442 can be implemented by a right shifter, which converts the component ykIs shifted to the right by k bits to output an intermediate value bx=2-k·ykThe refresh circuit 444 may be implemented by an adderImplementation, controlled by a rotation direction signal dkTo a isxAnd bxAdding or subtracting to produce an updated component xk+1. The component update circuit 45 comprises intermediate value output circuits 450, 452 and an update circuit 454, the intermediate value output circuit 450 outputting the component ykTo output an intermediate value ay=ykThe middle value output circuit 452 may be implemented by a right shifter to convert the component x into a digital signalkShifted to the right by k bits to output an intermediate value by=2-k·xkThe refresh circuit 454 can be implemented by an adder controlled by the rotation direction signal dkTo a isyAnd byAdding or subtracting to produce an updated component yk+1
It is noted, however, that the intermediate value ay、byIs used for calculating and determining a rotation direction signal dk+1Of (a) orthogonal component yk+1Due to b of formula (2.1)y=2-k·xkComponent x as the number of iterations increaseskThe bit shifted to the right will increase, resulting in an intermediate value byMost or all of the valid Bits (Significant Bits) are lost, and therefore the rotating direction signal dk+1The correct rotation direction cannot be reflected, resulting in a decrease in the accuracy of the coordinate rotation number calculator 40.
To solve this problem, in another embodiment of the present invention, the equal sign of the formula (2.2) is multiplied by 2 simultaneously on both sideskThe following formula (3) can be obtained:
2k·yk+1=2k·yk-dk·xk(3)
then let y'k=2k-1·ykY'k+1=2k·yk+1And substituting it into equations (2.1) and (3) can yield equations (4.1) and (4.2), respectively, as follows:
xk+1=xk+dk·2-(2k-1)·y’k(4.1)
y’k+1=2·y’k-dk·xk(4.2)
the formulas (4.1) and (4.2) can be respectivelyThis is realized by the component updating circuits 54 and 55 and a division circuit 58 of a rotation direction judging circuit 52 shown in fig. 5. As shown in fig. 5, the divider circuit 58 is coupled to the register 532 for dividing the input signal s0Of (a) orthogonal component y0Divided by 2 to give the quadrature component y'0And outputs a quadrature component y'0In the register 532, in practice, the divider circuit 58 can be implemented by a right shifter, which shifts the quadrature component y0Shifted to the right by 1 bit to output a quadrature component y'0=2-1·y0. The component update circuit 54 includes intermediate value output circuits 540 and 542 and an update circuit 544, the intermediate value output circuit 540 directly outputs the component xkTo output an intermediate value ax=xkIntermediate value output circuit 542 may be implemented by a shifter, converting component y'kShifting (2k-1) bits to output an intermediate value bx=2-(2k-1)·y’kThe refresh circuit 544 can be implemented by an adder controlled by the rotation direction signal dkTo a isxAnd bxAdding or subtracting to produce an updated component xk+1. Component update circuit 55 includes intermediate value output circuits 550, 552 and an update circuit 554, intermediate value output circuit 550 being implemented by a left shifter, which will be the component y'kLeft shifted by 1 bit to output an intermediate value ay=2·y’kThe intermediate value output circuit 552 directly outputs the component xkTo output an intermediate value by=xkThe update circuit 554 can be implemented by an adder controlled by the rotation direction signal dkTo a isyAnd byAdded or subtracted to produce an updated component y'k+1
For example, divide circuit 58 divides y0Is divided by 2 to give y'0And outputs y'0To register 532, registers 531, 532 store component x, respectively0、y’0The rotational direction output circuit 56 is based on the quadrature component y 'stored in the register 532 at this time'0Outputs a rotation direction signal d0. Then, in the first iteration, the component update circuits 54, 55 update the components according to the component x0、y’0And a rotation direction signal d0Respectively generating updated components x1、y’1And respectively outputs the updated components x1、y’1To registers 531, 532; then, the rotation direction output circuit 56 outputs a current value based on the quadrature component y 'stored in the register 532 at that time'1Outputs a rotation direction signal d1. Then, in the second iteration, the component update circuits 54, 55 update the components according to the component x1、y’1And a rotation direction signal d1Respectively generating updated components x2、y’2And respectively outputs the updated components x2、y’2To the registers 531, 532, the rotation direction output circuit 56 follows the quadrature component y 'stored in the register 532 at that time'2Outputs a rotation direction signal d2And so on. Notably, due to y'k=2k-1·ykOf quadrature component y'kAnd ykAre the same, so the rotary direction output circuit 56 depends on the quadrature component y'kThe outputted rotation direction signal dkWill be associated with the rotational direction output circuit 46 according to the orthogonal component ykThe outputted rotation direction signal dkAnd (5) the consistency is achieved.
The median value a of the formulae (4.1) and (4.2) compared with the formulae (1.1) and (1.2)x=xk、bx=2-(2k-1)·y’k、ay=2·y’k、by=xk. Notably, the intermediate value ay、byIs used for calculating and determining a rotation direction signal dk+1Of quadrature component y'k+1Due to a of formula (4.2)y=2·y’k、by=xkMiddle value of ayIs not less than component y'kMiddle value byNot less than component xkThus, even after several iterations, the intermediate value ay、byWithout losing any valid bit, which can effectively avoid the rotation direction signal dk+1The problem of correct rotation direction cannot be reflected, and the accuracy of the coordinate rotation digital calculator 50 is greatly improved.
Referring to fig. 6, fig. 6 is a detailed block diagram of a phase accumulation circuit 17 according to an embodiment of the invention. In one embodiment, the rotating phase accumulation circuit 17 includes a memory 170, a lookup table 172, and an accumulator 174. The memory 170 stores a plurality of angle values
Figure BDA0001803749410000081
A look-up table of a plurality of angle values
Figure BDA0001803749410000082
Respectively corresponding to a plurality of iteration parameters k, wherein
Figure BDA0001803749410000083
For example, the look-up table may be table I as follows:
TABLE I
Figure BDA0001803749410000084
In this embodiment, Table I contains 16 sets of angle values
Figure BDA0001803749410000085
The values of the iteration parameter k are 0-15, but the invention is not limited thereto, and the number of the angle values in the comparison table can be adjusted according to the actual situation. The lookup circuit 172 can access the memory 170 for lookup according to the iteration parameter k to output an angle value
Figure BDA0001803749410000086
The accumulator 174 can be responsive to the rotation direction signal dkAnd angle value
Figure BDA0001803749410000087
Performing an accumulation operation of the following equation (5):
Figure BDA0001803749410000088
wherein, thetakTo the phase value before accumulation, θk+1Is accumulatedThe phase value. For example, the accumulator 174 may include a register 1740 and an adder 1742, the register 1740 storing the initial phase value θ0In one embodiment, θ00. When the iteration parameter k is 0, the lut 172 outputs an iteration parameter k corresponding to 0
Figure BDA0001803749410000091
To the adder 1722, the adder 1722 generates the rotation direction signal d according to the rotation direction signal0Initial phase value theta0Plus or minus
Figure BDA0001803749410000092
To generate
Figure BDA0001803749410000093
And output theta1To register 1720; when k is equal to 1, the lut 172 outputs an iterative parameter k equal to 1
Figure BDA0001803749410000094
To the adder 1742, the adder 1742 generates the rotation direction signal d according to the rotation direction signal1Initial phase value theta1Plus or minus
Figure BDA0001803749410000095
To generate
Figure BDA0001803749410000096
And output theta2To the register 1740 and so on until the accumulation number reaches a predetermined number, for example, k is 15, the phase accumulation circuit 17 outputs the accumulated phase value θk+1As an input signal s0The phase value theta. For example, when k is 15, the phase accumulation circuit 17 outputs an accumulated phase value θ16As an input signal s0The phase value theta.
However, in the phase accumulation circuit 17, a plurality of angle values
Figure BDA0001803749410000097
Is of the floating-point data type, and therefore adder 1742 in accumulator 174 is the addition of the floating-point data typeThe circuit of the method is complex. To simplify the circuit complexity of the accumulator, in another embodiment, a plurality of angle values
Figure BDA0001803749410000098
The adder in the accumulator may be an integer adder that can only handle the addition of integer type data, in other words, the integer adder cannot handle the addition of floating point type data.
Referring to fig. 7, fig. 7 is a detailed block diagram of a phase accumulation circuit 77 according to another embodiment of the present invention. The phase accumulation circuit 77 includes a memory 770, a lookup circuit 772, an integer accumulator 774 and a conversion circuit 776. The memory 770 stores a plurality of Phase Mapping values (Phase Mapping values) MkA plurality of phase mapping values MkCorresponding to a plurality of iteration parameters k, respectively, in one embodiment, the phase mapping value MkAnd angle value
Figure BDA0001803749410000099
Can have
Figure BDA00018037494100000910
In which
Figure BDA00018037494100000911
Figure BDA00018037494100000912
[·]Represents a rounding operator, and N is a mapping factor. In one embodiment, the mapping factor N may be determined according to the frequency f, the time unit t, and the resolution adjustment factor R. In one embodiment, the mapping factor
Figure BDA00018037494100000913
For example, at a frequency f of 1812MHz and a time unit t of 20 femtoseconds (i.e. 10)-15Second), resolution adjustment factor R is 8, and in this case, mapping factor N is 613.196, and the look-up table can be as follows:
TABLE II
Figure BDA00018037494100000914
Figure BDA0001803749410000101
In this embodiment, Table II includes 16 sets of phase map values MkThe values of the iteration parameter k are 0-15, but the invention is not limited thereto, and the number of the phase mapping values in the lookup table II can be adjusted according to the actual situation. The lut 772 accesses the memory 770 for lut according to the iteration parameter k to output the phase mapping value Mk. The accumulator 774 can be responsive to the rotation direction signal dkAnd a phase mapping value MkPerforming an accumulation operation of the following equation (6):
Qk+1=Qk+dk·Mk(6)
wherein Q iskFor phase-mapped values before accumulation, Qk+1The accumulated phase map values. For example, the accumulator 774 may include a register 7740 and an integer adder 7742, the register 7740 storing the initial phase map Q0In one embodiment, Q00. When the iteration parameter k is 0, the table look-up circuit 772 outputs M according to the result that k is 0027594 to an integer adder 7742, the integer adder 7742 based on the rotation direction signal d0Mapping the initial phase to a value Q0Plus or minus M0To generate Q1=Q0+d0·M0And output Q1To register 7740; when the iteration parameter k is 1, the lut 772 outputs M according to k being 1116290 to an integer adder 7742, the integer adder 7742 based on the rotation direction signal d1Initial phase value Q1Plus or minus M1To generate Q2=Q1+d1·M1And output Q2To the register 7740 and so on until the number of accumulations reaches a predetermined number, e.g., k 15, the accumulator 774 outputs an accumulated phase mapValue Qk+1As an input signal s0The phase map value Q. For example, when k is 15, the phase accumulation circuit 77 outputs an accumulated phase value Q16As an input signal s0The phase map value Q. Then, the converting circuit 776 may convert the phase mapping value Q into a phase value θ according to the mapping factor N, for example, the converting circuit 776 may divide the phase mapping value Q by the mapping factor N to obtain the phase value θ ═ Q/N. In another embodiment, the phase accumulating circuit of the present invention may not include the converting circuit 776, and directly outputs the input signal s0As the input signal s0The phase information p.
In summary, the present invention can avoid the disadvantage of the prior art that the resolution/accuracy is reduced because the rotation direction signal cannot reflect the correct rotation direction due to the operation of using the shifter to move to the right. By using the component updating circuit, the coordinate rotation digital calculator can achieve better resolution/accuracy. In addition, the phase accumulation circuit stores the phase mapping value of the integer data type, and has the advantage of simplifying an adder in the accumulator.
The above-mentioned embodiments are merely preferred embodiments of the present invention, and all equivalent changes and modifications made by the claims of the present invention should be covered by the scope of the present invention.

Claims (14)

1. A Coordinate Rotation Digital Computer (CORDIC), comprising:
a rotation direction determining circuit for generating an updated second component according to a first component of a signal in a first dimension and a second component in a second dimension, and outputting a rotation direction signal according to the updated second component, comprising:
a register circuit for recording the first component and the second component;
a second component update circuit for generating the updated second component according to the first component and the second component, comprising:
a first intermediate value output circuit for outputting a first intermediate value according to the first component, wherein the first intermediate value is not smaller than the first component;
a second intermediate value output circuit for outputting a second intermediate value according to the second component; and
an update circuit for calculating the updated second component according to the first intermediate value and the second intermediate value;
a rotation direction output circuit for outputting the rotation direction signal according to the updated second component; and
a phase accumulation circuit for calculating a phase information according to the rotation direction signal.
2. The coordinate rotation numerical calculator of claim 1 wherein the second intermediate value is greater than the second component.
3. The coordinate rotation numerical calculator of claim 1 wherein the first intermediate value is equal to the first component.
4. The coordinate rotation numerical calculator of claim 3 wherein the second intermediate value is 2 times the second component.
5. The coordinate-rotation numerical calculator of claim 4 wherein the second intermediate value output circuit comprises a shifter for outputting the second intermediate value by shifting the second component by 1 bit to the left.
6. The coordinate rotation digital calculator of claim 1 wherein the phase accumulation circuit comprises:
a memory, storing a plurality of Phase Mapping values (Phase Mapping values) respectively corresponding to a plurality of iteration parameters, wherein the plurality of Phase Mapping values are all in integer data type;
a table look-up circuit for looking up a table according to an iteration parameter and outputting a phase mapping value; and
an integer accumulator, which performs an accumulation operation according to the phase mapping value and the rotation direction signal to generate a signal phase mapping value and outputs the signal phase information as the signal phase mapping value.
7. The coordinate rotation digital calculator of claim 6 wherein the phase accumulation circuit further comprises:
and the conversion circuit is used for converting the signal phase mapping value into a signal phase value and outputting the signal phase information as the signal phase value.
8. A coordinate rotation digital calculation method is applied to a coordinate rotation digital calculator and comprises the following steps:
generating an updated second component according to a first component of a signal in a first dimension and a second component of the signal in a second dimension, and outputting a rotation direction signal according to the updated second component; and
calculating a signal phase information of the signal according to the rotation direction signal;
wherein the step of generating the updated second component according to the first component and the second component comprises:
outputting a first intermediate value according to the first component, wherein the first intermediate value is not smaller than the first component;
outputting a second intermediate value according to the second component;
calculating the updated second component according to the first intermediate value, the second intermediate value and the second component; and
and outputting the rotation direction signal according to the updated second component.
9. The method of claim 8, wherein the second intermediate value is greater than the second component.
10. The method of claim 8, wherein the first intermediate value is equal to the first component.
11. The method of claim 10, wherein the second intermediate value is 2 times the second component.
12. The method of claim 11, wherein outputting a second intermediate value based on the second component comprises:
and utilizing a shifter to shift the second component by 1 bit to the left so as to output the second intermediate value.
13. The method of claim 8, wherein the step of calculating the phase information of the signal based on the rotation direction signal comprises:
storing a plurality of Phase Mapping values (Phase Mapping values) in a memory, wherein the Phase Mapping values respectively correspond to a plurality of iterative parameters, and the Phase Mapping values are all in an integer data type;
performing table look-up according to an iteration parameter to output a phase mapping value; and
and performing an accumulation operation according to the phase mapping value and the rotation direction signal to generate a signal phase mapping value, and outputting the signal phase information as the signal phase mapping value.
14. The method of claim 13 wherein the step of calculating a signal phase of the signal based on the rotational direction signal further comprises:
converting the signal phase mapping value into a signal phase value, and outputting the signal phase information as the signal phase value.
CN201811088431.2A 2018-09-18 2018-09-18 Coordinate rotation digital calculator and method Pending CN110908633A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811088431.2A CN110908633A (en) 2018-09-18 2018-09-18 Coordinate rotation digital calculator and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811088431.2A CN110908633A (en) 2018-09-18 2018-09-18 Coordinate rotation digital calculator and method

Publications (1)

Publication Number Publication Date
CN110908633A true CN110908633A (en) 2020-03-24

Family

ID=69812906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811088431.2A Pending CN110908633A (en) 2018-09-18 2018-09-18 Coordinate rotation digital calculator and method

Country Status (1)

Country Link
CN (1) CN110908633A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110225222A1 (en) * 2010-03-15 2011-09-15 Integrated Device Technology, Inc. Methods and apparatuses for cordic processing
CN106027045A (en) * 2016-05-23 2016-10-12 西安电子科技大学昆山创新研究院 Direct digital frequency synthesizer based on improved CORDIC algorithm

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110225222A1 (en) * 2010-03-15 2011-09-15 Integrated Device Technology, Inc. Methods and apparatuses for cordic processing
CN106027045A (en) * 2016-05-23 2016-10-12 西安电子科技大学昆山创新研究院 Direct digital frequency synthesizer based on improved CORDIC algorithm

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BINGUANGMING: "CORDIC 算法", 《HTTPS://WENKU.BAIDU.COM/VIEW/6C623AA8910EF12D2BF9E732.HTML》 *

Similar Documents

Publication Publication Date Title
KR920010183B1 (en) Reciprocal number calculating circuit wit rom table
TW202109319A (en) Curve function device and operation method thereof
US9851947B2 (en) Arithmetic processing method and arithmetic processor having improved fixed-point error
JPH05241794A (en) Device for approximating transcendental function and its method
US20080208945A1 (en) Method to compute an approximation to the reciprocal of the square root of a floating point number in ieee format
CN108228136B (en) Logarithmic function calculation method and device based on optimization lookup table method
US4899302A (en) Arithmetic unit for inverse trigonometric function
US8868633B2 (en) Method and circuitry for square root determination
US5268857A (en) Device and method for approximating the square root of a number
CN110908633A (en) Coordinate rotation digital calculator and method
CN113411088B (en) I/Q imbalance calibration method and device for zero intermediate frequency wireless transmitter
KR100403374B1 (en) Table Lookup Based Phase Calculator with Normalization of Input Operands for High-Speed Communication
TW202011176A (en) Coordinate rotation digital computer and method using the same
US20070127596A1 (en) Apparatus for calculating phase using binary search
JP3015011B1 (en) Sine / cosine operation circuit
US7403966B2 (en) Hardware for performing an arithmetic function
US20090089349A1 (en) Angle Computation Method and Related Circuit
CN117573069B (en) CORDIC algorithm chip
CN113127802B (en) Complex logarithm implementation method, device and equipment based on CORDIC algorithm and computer storage medium
US5684730A (en) Booth multiplier for trigonometric functions
JP2945003B1 (en) Arc tangent operation circuit
JP3390599B2 (en) Divider
Mohan et al. Scaling, base extension, sign detection and comparison in RNS
JPH10283165A (en) Arithmetic unit and arithmetic method
TWI420325B (en) Sine/cosine value generation apparatus

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: 20200324

WD01 Invention patent application deemed withdrawn after publication