Professional Documents
Culture Documents
Abstract--This paper is focused on the implementation of CO- the paper. To cover all aspects is beyound the scope of this
ordinate Rotation Digital Ccomputer (CORDIC) algorithm in paper.
wireless Local Area Network (WLAN) receiver. The primary
task is to create a VHDL description for CORDIC vector
rotation algorithm. The basic work has been carried out in
MATLAB. The VHDL implementation of the CORDIC
II. Block diagram of CORDIC
algorithm is based on the results obtained from the MATLAB’s Figure 1 represents the block diagram of conventional
simulation environment. The main task is to make the CORDIC algorithm , based on ripple carry adders or sub
calculated angle value point the vector to the same constellation
tractors
point, not to nearest one. This is the cause that determines the
required accuracy of the angle calculation. It takes the closest
vectors in the signal constellation as input. CORDIC moduld to
which the calculated angle is given as input to comput the sine
and cosine functions using Simulink. Last Step includes the
analysis of CORDIC algorithm using VHDL and the simulation
results.
I INTRODUCTION
The COordinate Rotation DIgital Computer
algorithm was developed by Volder in 1959.[1] Additional
theoratical work has been carried by Walther[2] in 1971. All
trigonometric functions can be computed using vector
rotation. It rotates the vector, step−by−step, with a given
angle. Additional theoretical work has been done by Walther
in 1971. The main principle of CORDIC are calculations
based on shift−registers and adders instead of
multiplications, what saves much hardware resources.
CORDIC is used for polar to rectangular and rectangular to
polar conversions and also for calculation of trigonometric
functions, vector magnitude and in some transformations, Figure.1 Block diagram of CORDIC [3]
like discrete Fourier transform (DFT) or discrete cosine
transform (DCT). In particular case, the CORDIC algorithm An adder/subtractor (A/S), depending on a selection input,
is used in Wireless Local Area Network (WLAN) by performs an addition or a subtraction. This input indicates
receivers. whether an operand is negative. The basic cell of A/S is
This paper is organized in five sections. Section II decomposed by two functions with 4 bits input each. One of
contains the block diagram of CORDIC algorithm, it‟s them is for calculating the output and another to transmit the
architecture. Section III includes the OFDM Based WLAN carry. According to this an N−bit A/S can fit in (2N+1)/2
transmitter design to generate the phase angle. CORDIC CLBs (configurable logic block). The additional half CLB is
moduld to which the calculated angle theta is given as input required for introducing the least significant bit (LSB) one in
to comput the sine and cosine functions using Simulink with case of the substraction. The critical path here is indicated by
related CORDIC equations. Section IV deals with the the ripple carry propagation and the routing delay of the A/S
varification process in which 2QN format data has been wire. This net has a fan−out of 2N in this case. It decreases
varified whether CORDIC module analysed in VHDL the performance of the circuit and it is the main disadvantage
producing the same length of data. Section V includes the of conventional CORDIC implementations. As the solution
simulation results. Few important aspects are highlighted in to this, redundant arithmetic could be used to increase the
speed of the CORDIC. Implementation avoids the carry
propagation from the LSB to the most significant bit (MSB),
due to its carry−free property. Redundant arithmetic is good
to accelerate those operations, which have a long propagation
delay. On the other hand redundant arithmetic also has some
disadvantages. For example, it is impossible to detect the
sign of a redundant number without checking all the digits
which expects a propagation from the MSB to the LSB.
Another problem, that the redundant arithmetic uses digit set
{−1,0,1}, and needs more hardware resources to execute
simple tasks, than the conventional one which uses digit set
{−1,1}. According to results of the research, the redundant
arithmetic is more accurate, but it needs much more
hardware than the conventional arithmetic and for this reason
conventional arithmetic has been used in this work. [3] Figure. 3 CORDIC module to implement Sine and Cosine
Similar kind of functionalities (MATLAB Design)
III OFDM Based WLAN Transmitter Above figure 3 shows the CORDIC module for Sine and
cosine functions using Embedded MATLAB function block.
The CORDIC module has set with inbuilt sine and cosine
functions and processed with standard reference sine and sine
signals and compaired. In the output it is clear that the nature
of sine and cosine signals are near about same. Thus we have
varified the performance of prepared CORDIC module with
standard
The basic equations for vector rotation are
x „ = cos(θ)[x-ytan(θ)]
y „ = cos(θ)[y+xtan(θ)]
θ=Rotation angle. (1)
where x and y are original coordinates before rotation and x‟
Figure 2. OFDM based WLAN Transmitter and y‟ are the coordinates after rotation. This equatationcan
Figure 2 shows the Orthogonal Frequency Division be simplified by assuming that the tangent is a power of 2.
Multiplexing (OFDM) based Wirless LAN transmitter
designed in MATLAB simulink . The basic objective is to tan(θ) = + 2(-n) (2)
provide the angle theta to the CORDIC block for further Then any angle of rotation can be obtained by performing
processing. The signal coming from multipath fadding and successive smaller rotations. This assumption help us to
Added White Gaussian Nnoise (AWGN) has magnitude and write equation (1) in the form of iterative operations.
phase. The magnitude is terminated and the angle theta is Xn+1 = Kn [xn-yndn 2(-n)]
provided in the form of .mat file which is interm connected Yn+1 = Kn [yn+xndn 2(-n)]
to the next CORDIC environment shown in Figure 2. The Zn+1 = zn –dnatan 2(-n) ________
data source used here is Bernoulli Binary source which is Kn = cos(atan 2-n)) = 1 + √1+ 2(-2n)
connected to RS encoder for encoding the generated signal. Dn=+1 (3)
The modulation technique used here is Quadrature Phase These equations can be used in two different modes: rotation
shift Keying (QPSK) and mapping is done. The cyclic prefix mode and vector mode. In rotation mode, the input vector
is added with the signal. Training bits are inserted in training rotates by a specific angle. In vector mode, the input vector
block which is next converted from parallel to serial data. rotates to the x axis. [5]
This data is given to multipath fadding channel along with In rotation mode the following equations are used:
AWGN.[4]
Xn+1 = Kn [xn – yndn 2(-n)]
Yn+1 = Kn[yn + xndn 2(-n)]
Zn+1 = zn – dnatan2 (-n)]
Dn=-1 if zn<0,+1otherwise (4)
Result after n iterations can be given as
Xn = Gn[x0cos(θ0) – y0 sine(θ0)]
Yn = Gn [y0cos (θ0) + x0 sine(θ0)]
θn =0 ________
Gn = √1+ 2- 2n (5)
Where G is constant and approaches to 1.647 when n
approaches to infinity.
In vector mode the following equations are used:
Xn+1 = Kn [n –yndn 2 (-n)]
Yn+1 = Kn [yn + xndn 2(-n)]
Zn+1 = zn- dn.atan2(-n)
dn=+1,if yn<0, -1 otherwise (6)
results after n iterations can be given as
xn = Gn√ x02 + y02
yn = 0
θn = θ0 + atan (y0/x0)
Gn=√1+ 2(-2n) (7)
SB D8 D7 D6 D5 D4 D3 D2 D1
+1 0 0 1 0 0 0 0 0 0
-1 1 1 1 0 0 0 0 0 0
+pi 0 1 1 0 0 1 0 0 1
-pi 1 0 0 1 1 0 1 1 1
^ binary
point
CONCLUSION
ABOUT AUTHOR(S)