CN110908633A - Coordinate rotation digital calculator and method - Google Patents
Coordinate rotation digital calculator and method Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/5446—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 using crossaddition algorithms, e.g. CORDIC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/4806—Computations with complex numbers
- G06F7/4818—Computations 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
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)
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 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 valuesA look-up table of a plurality of angle valuesRespectively corresponding to a plurality of iteration parameters k, whereinFor example, the look-up table may be table I as follows:
TABLE I
In this embodiment, Table I contains 16 sets of angle valuesThe 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 valueThe accumulator 174 can be responsive to the rotation direction signal dkAnd angle valuePerforming an accumulation operation of the following equation (5):
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 0To the adder 1722, the adder 1722 generates the rotation direction signal d according to the rotation direction signal0Initial phase value theta0Plus or minusTo generateAnd output theta1To register 1720; when k is equal to 1, the lut 172 outputs an iterative parameter k equal to 1To the adder 1742, the adder 1742 generates the rotation direction signal d according to the rotation direction signal1Initial phase value theta1Plus or minusTo generateAnd 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 valuesIs 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 valuesThe 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 valueCan haveIn which [·]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 factorFor 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
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.
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)
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 |
-
2018
- 2018-09-18 CN CN201811088431.2A patent/CN110908633A/en active Pending
Patent Citations (2)
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)
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 |