Information Technology Reference
In-Depth Information
But, this approximation imposes a restriction on the allowed values of iterations
i
as:
6.906 ⁄
For 16 bit word length, the initial value of
i
required for maintaining the accuracy
of the calculations comes out to be 2. It divides the coordinate space into eight equal
sectors, each of 45 degrees. The RoC becomes 0 to π/4 which is extended through
quadrant mapping to entire coordinate space.
CORDIC equation for the above approximation reduces to:
21
1
33
21
1
33
For Cartesian to spherical conversion, CORDIC is to be operated in vectoring
mode. X, Y and Z are given as input and r,
θ
and
Φ
are computed as per the
conversion equations:
/
The Pseudo code for the proposed Converter is:
Input: X, Y, Z
Output: r,
θ
,
Φ
Begin
Step 1: Identify and map the sector and quadrant of the input of the
vector.
Step 2: Initialize i = 2; v = word length w;
Step 3: Rotate the vector and compute its next iterative value.
Step 4: If MSB of Yi = 1; r
temp1
= 0; i = i+1;
Else r
temp1
= 1;
i = i+1; go to step 3,
Step 5: Repeat until (i <= word length)
Step 6: Store value of r
temp1
as θ
, and repeat step 1 to 5 with X
temp1
and Z.
Step 7: Out X
temp2
as r, r
temp1
as θ
and r
temp2
as
Φ
.
Step 8: Restart with new data in pipeline.
End
Scaling factor generated using this algorithm is 1 and hence does not require any
pre or post processing circuitry for scaling factor correction which otherwise becomes