A New Method To implement CORDIC Algorithm
Document Sample


A New Method To implement CORDIC Algorithm
KHARRAT M. W., LOULOU M., MASMOUDI N., KAMOUN L.
Laboratoire d’Electronique et des Technologies de l'Information LETI.
Ecole Nationale d'Ing nieurs de Sfax
B.P. W 3038 SFAX TUNISIE
T l : 216 4 27 40 88 Fax : 216 4 27 55 95
Email: Nouri.Masmoudi@enis.rnu.tn
----------------------------------------------------------------------------------------------------------------
Abstract : Where i = 1.
In this paper we present an op timisation ( e
After n-1) iterations the basic quations of
of CORDIC algorithm im
plementation, CORDIC system become:
which mainly offers a silicon area xn=K1 {x0 cos( )+y0 sin( )}
occupation reduction and gives good yn=K1 {y0 cos( )–x0 sin( )}
precision in calculating trigonometric
functions such as sine and cosine function. c
The onventional CORDIC algorithm s i
To alid the new v method, an f
presented by the bloc diagram of igure 1
implementation f angle o decomposition and the ngle adecomposition equation is
equation sing FPGA u technology is presented by bloc diagram of figure 2.
presented. This approach shows a
considerable surface reduction and good X0 Y0
precision for calculation resolution less than
20 bits.
I. Introduction 0 A/S 0 A/S
The CORDIC algorithm was proposed in
1959 by J. E. Volder [1] to facilitate X1 Y12-1 X12-1 Y1
trigonometric numerical calculations uch s
as vector otations.r CORDIC algorithm 1 A/S 1 A/S
o
permit resolution f arithmetic function
such Kalman Filter and Discrete Fourrier
a
Transform [3,4,5]. The lgorithm describes
p
how a rotation resented by equation [1] Xn-1 Yn-12-n+1 Xn-12-n+1 Yn-1
b e
could e xecuted by finite number of
elementary rotations called micro-rotations. n-1
A/S
n-1
A/S
The CORDIC algorithm described by
Volder using Walther hypothesis [3,4] is
presented by the following set of equations: Xn Yn
Fig.1. Bloc diagram of CORDIC algorithm
x i +1 = x i i yi 2 i
CORDIC algorithm continues to interest
y i +1 = y i + i x i 2 i (1) researchers dealing with applications
demanding rapidity, minimum area nd a
i +1 = i i .a tan 2
i
precision.
1
Concerning the truncated algorithm, the
0 idea is based on it
that first erations in
Atan2-0 conventional algorithm have the most
0 considerably contribution the
t
calculations. In fact he micro-rotation
angle i ecreases d progressively when
A/S 0
n
iterations increases, then we ca replace the
Atan2-1 1
it
last erations by a full rotation around a
1 reduced angle obtained by executing a fixed
number of pure rotations. This transaction
reduces execution time nd surface a
A/S 1 occupation to the detriment of precision.
a
For those lgorithm he problemt of
performances still waits to be optimised. To
Atan2-n+1 remedy this inconvenience we propose a
n-2
n-2
new method to erforming angle p
decomposition.
A/S n-2 III. New Method
n-1 n-1
c
We onsider the number which is
n-1
presented in b inary by the vector 0, 1, …,
n-1 = 0, 1, …, n-1 (see figure 2) where
Fig.2. Bloc diagram of angle decomposition 0 is the LSB of and, i represents the
sign of ith iteration angle.
Let's note that CORDIC algorithm converge
In the section f
2 this opaper, we present in ]- /2, /2[ interval and that trigonometric
t
already used methods to opimise CORDIC functions are symmetric, so ur study o
algorithm, which are mainly the merged becomes limited to [0, /2[ interval.
and truncated algorithms. The new method
By plotting the number versus for
is described in section 3.
different bit number n, we note that he t
corresponding curve is linear by interval as
II. Optimised method to implementing shown in figure 3.
CORDIC algorithm
Furthermore by plotting -C0=f( ) on the
In previous works it was demonstrated same plot of =f( ) we notice that the curve
that CORDIC algorithm could b optimised
e =f( ) is formed by four segments rights in
in area nd in execution time. We refer to
a the same way slope than - C0=f( )
two methods known as merged and /4 /2
truncated algorithm [2,3,4]. The merged 0
algorithm s based i on
combining two
iterations into on
ly one, which make a
reduction of iteration number.
a
The dditions number used in this - /4
algorithm s identicali o conventional t C0
t a
algorithm[ ] buhalf of those dditions are
performed on(n-i) bits where i corresponds
to ith iteration, then we gain in surface
occupation but we loose in execution time. - /2
Fig. 3. = f( ) resolution 32 bits
2
G1 = 9+ 8+ 7+ 6( 5+ 4( 3+ 2+ 1 0))
-C0
G2 = 9+ 8+ 7 6( 5+ 4+ 3( 2+ 1))
G3 = 9+ 8( 7+ 6)
0 A1 A2= /4 A3 /2
P1 = 9 8 7( 6+ 5( 4+ 3 2 1))
=f( )
P2 = 9 8( 7+ 6+ 5 4( 3+ 2 1 0))
P3= 9 8 7 6
C3
S 0 = M2
- /4 S 1 = M3 + M1 M2
C2 S2 = S3 = S5 = M3
C0
S 4 = M2 + M3
-C0 = f( )
S 6 = M3
S7 = S8 = 1
C1 S9 = 0
- /2
For resolutions higher than a 10,
o
generalisation f equations must be done
and for resolution lesser than an 10
Fig. 4. ( -C0)= f( ), et = f( ), adaptation of those equations is necessary.
Once the onstants C0,C1,C2 and C3 are
c n-1..0
determined, the variation domains of are n-1
known and value will be deducted from
the following equations:
< -A3
< -A2
< -A1
0< <A1 = - C0
> A3
> A2
> A1
A1< <A2 = - (C0-C1)
A2< <A3 = - (C0-C1-C2)
P3 P2 P1 G3 G2 G1
A3< < /2 = - (C0-C1-C2-C3)
-A1< <0 = + C0
- A 2< <-A1 = + (C0-C1) MUX
-A3< <-A2 = + (C0-C1-C2)
- /2< <-A3 = + (C0-C1-C2-C3) M3 M2 M1
The numerical values of A1, A2, A3, C0
C0,C1,C2 and C3 are: Or C0 - C1
A1 = 0,3217468 rd Or C0 - C1 - C2
A2 = 0,7853965 rd Or C0 - C1 - C2 - C3
A3 = 1,2490463 rd
S n-1..0
C0 = 1,8273468 rd
C1 = 0,01025 rd
C2 = 0,063961 rd
C3 = 0,01025 rd A/S
The new architecture is presented by
diagram flow of figure 5 in which equations
are performed for 10 bits number ( = 9…0). 0..n-1
Figure 5: New architecture
3
IV. Implementations and Performances reduction and p
recision amelioration
compared to conventional algorithm.
Figure 6 shows that he tproposed method CLB number
make better precision compared to 500
conventional m e
ethod and for r solution less
than Of
its. 20 course, bthe proposed CORDIC Method
400
solution could ebimproved by formulating
for resolutions higher than 20 bits.
300
c
The hoice is guided by reprinting with
more segments than reviously, which p New method
allows best precision to the detriment of 200
area.
a
By implementing the ngle decomposition 100
equation in FPGA technology, we poof that
area measured in CLB number is lowered 0
c
compared to the onventional algorithm 8 16 24 32
(figure7) and the latency time or execution Resolution in bits
f
time (delay) or the new method is lowered
compared to the onventional Figure 7: CLB c
Number versus bit number
algorithm(figure 8).
delay time(ns)
Precision in %
10
Conventional of CORDIC
Conventional CORDIC
1
0,1
0,01
New method
0,001
0,0001
New method
0,0000 1
0,0000 01
8 16 24 32
Bit Number Figure 8: delay time
Figure :6. Precision versus of bit number for =45
References
[1] VOLDER, « The CORDIC trigonometric
V. Conclusion computing technique. » IRE Trans.on Electronic
Computers. Vol.EC-8.no.3,pp.330-334,Sep. 1959.
In this paper, we proposed an op timisation [2] GHARIANI Moez. « Int gration lectronique de
of the CORDIC algorithm im plementation. la Transformation de Park en technologie FPGA
The optimisation mainly reside in the Application : V hicule Electrique ». DEA
implementation f angle o decomposition d’Electronique de l’ENIS SFAX D embre 1997.
h i
equation, which as a great nfluence on [3 ] J. S. WALTER. The unified algorithm for
performances (area, precision and rapidity). elementary functions. In. Proc. AFIAPS Spring joint
An implementation f the so-called o Computing Conf. Volume 38, pp 379, 385 1971.
equation in FPGA technology is performed
to alid the method and shows urface s
v [ 4] Merged CORDIC Algorithm IEEE Transaction
on Computer Vol C 29 pp 946 – 950 1990.
4
Related docs
Get documents about "