CORDIC-based phase angle
theta = cordicangle(c)
theta = cordicangle(c,niters)
returns
the phase angles, in radians, of matrix theta
= cordicangle(c
)c
, which
contains complex elements.
performs theta
= cordicangle(c
,niters
)niters
iterations
of the algorithm.
|
Matrix of complex numbers |
|
|
|
|
Phase angle for double-valued input and for fixed-point-valued input.
dblRandomVals = complex(rand(5,4), rand(5,4)); theta_dbl_ref = angle(dblRandomVals); theta_dbl_cdc = cordicangle(dblRandomVals) fxpRandomVals = fi(dblRandomVals); theta_fxp_cdc = cordicangle(fxpRandomVals) theta_dbl_cdc = 1.0422 1.0987 1.2536 0.6122 0.5893 0.8874 0.3580 0.2020 0.5840 0.2113 0.8933 0.6355 0.7212 0.2074 0.9820 0.8110 1.3640 0.3288 1.4434 1.1291 theta_fxp_cdc = 1.0422 1.0989 1.2534 0.6123 0.5894 0.8872 0.3579 0.2019 0.5840 0.2112 0.8931 0.6357 0.7212 0.2075 0.9819 0.8110 1.3640 0.3289 1.4434 1.1289 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 13
[1] Volder, JE. “The CORDIC Trigonometric Computing Technique.” IRE Transactions on Electronic Computers. Vol. EC-8, September 1959, pp. 330–334.
[2] Andraka, R. “A survey of CORDIC algorithm for FPGA based computers.” Proceedings of the 1998 ACM/SIGDA sixth international symposium on Field programmable gate arrays. Feb. 22–24, 1998, pp. 191–200.
[3] Walther, J.S. “A Unified Algorithm for Elementary Functions.” Hewlett-Packard Company, Palo Alto. Spring Joint Computer Conference, 1971, pp. 379–386. (from the collection of the Computer History Museum). www.computer.org/csdl/proceedings/afips/1971/5077/00/50770379.pdf
[4] Schelin, Charles W. “Calculator Function Approximation.” The American Mathematical Monthly. Vol. 90, No. 5, May 1983, pp. 317–325.