XC886/888CLM
CORDIC Coprocessor
User’s Manual
11-5
V1.3, 2010-02
CORDIC Coprocessor, V 1.2.1
11.2.4
CORDIC Coprocessor Operating Modes
gives an overview of the CORDIC Coprocessor operating modes. In this
table,
X
,
Y
and
Z
represent the initial data, while
X
final
,
Y
final
and
Z
final
represent the final
result data when all processing is complete and BSY is no longer active.
The CORDIC equations are:
x
i+1
=
x
i
-
m
·
d
i
·
y
i
· 2
-i
(11.4)
y
i+1
=
y
i
+
d
i
·
x
i
· 2
-i
(11.5)
z
i+1
=
z
i
-
d
i
·
e
i
(11.6)
Table 11-2
CORDIC Coprocessor Operating Modes and Corresponding Result
Data
Function
Rotation Mode
Vectoring Mode
d
i
= sign (
z
i
),
z
i
→
0
d
i
= -sign (
y
i
),
y
i
→
0
Circular
m
= 1
e
i
= atan(2
-i
)
X
final
= K[
X
cos(
Z
) -
Y
sin(
Z
)] / MPS
Y
final
= K[
Y
cos(
Z
) +
X
sin(
Z
)] / MPS
Z
final
= 0
where K
≈
1.64676
X
final
= K sqrt(
X
2
+
Y
2
) / MPS
Y
final
= 0
Z
final
=
Z
+ atan(
Y
/
X
)
where K
≈
1.64676
For solving cos(
Z
) and sin(
Z
), set
X
= 1 / K,
Y
= 0.
Useful domain: Full range of
X
,
Y
and
Z
supported due to pre-
processing logic.
For solving magnitude of vector
(sqrt(x
2
+y
2
)), set
X
= x / K,
Y
= y / K.
Useful domain: Full range of
X
and
Y
supported due to pre- and post-
processing logic.
For solving atan(
Y
/
X
), set
Z
= 0.
Useful domain: Full range of
X
and
Y
, except
X
= 0.
Relationships:
tan(v) = sin(v) / cos(v)
Relationships:
acos(w) = atan[sqrt(1-w
2
) / w]
asin(w) = atan[w / sqrt(1-w
2
)]
Linear
m
= 0
e
i
= 2
-i
X
final
=
X
/ MPS
Y
final
= [
Y
+
X
Z
] / MPS
Z
final
= 0
X
final
=
X
/ MPS
Y
final
= 0
Z
final
=
Z
+
Y
/
X
For solving
X
·
Z
, set
Y
= 0.
Useful domain: |
Z
|
≤
2.
For solving ratio
Y
/
X
, set
Z
= 0.
Useful domain: |
Y
/
X
|
≤
2,
X
> 0.
*