Professional Documents
Culture Documents
CORDIC Based Universal Modulator: Prof. B Venkatramani
CORDIC Based Universal Modulator: Prof. B Venkatramani
Abstract— In the literature, different architectures have been hardware extensive architecture used for obtaining sine and
proposed for FPGA implementation of Universal Modulator. The cosine of angles. In [7], a Mux based CORDIC architecture
Look up table (LUT) technique is one way of realizing universal has been proposed to obtain the sine and cosine of angles
modulator. In this paper, a pipelined CORDIC using 2 stages of which is less complex in terms of hardware utilization but
Multiplexer is proposed for efficient realization of universal
suffers with same delay as that of [1]. In [8] the pipelined
modulator. For the purpose of comparison, this universal
modulator is implemented on Spartan 3E FPGA and its approach for Mux based CORDIC was proposed to obtain the
performance is compared with that of unrolled CORDIC which sine and cosine of angles with an improvement in area and
uses only shifters and adders and unpipelined Multiplexer based delay characteristics. The objective of this paper is to extend
CORDIC. The Universal Modulator is used for realizing the scheme proposed in [3] for the implementation of CORDIC
Amplitude, Frequency and Phase Modulation. From the based universal modulator on Spartan 3E FPGA. Its
implementation, it is found that the pipelined multiplexer based performance is studied by realizing amplitude, frequency and
Modulator is 5% more area efficient and 4 % more speed phase modulation schemes.
efficient than unrolled CORDIC
Index Terms—FPGA, Universal Modulator, CORDIC The paper has been organized in the following sections:
Section II gives an overview of the CORDIC Algorithm.
Section III describes working of CORDIC as Universal
I. INTRODUCTION Modulator. Section IV gives the details of CORDIC
The Coordinate Rotation Digital Computer (CORDIC) architectures used in implementation of universal modulator.
algorithm is an iterative algorithm based on Section V presents the hardware implementation details of
trigonometrical/geometrical formulae which was proposed by universal modulator. Section VI tabulates the results Section
Jack E. Volder [1] in 1959 and later improved by Walther and VII presents the conclusion.
others [2]. It has already been shown that CORDIC
II. CORDIC ALGORITHM
architectures are attractive alternate to conventional multiply,
division, shift and add operations [1]. The CORDIC A. Introduction
architectures are widely used in different Communication
subsystems like Digital Frequency Synthesizers, The CORDIC algorithm provides an iterative method of
Synchronizers, Amplitude Modulation, Frequency Modulation, performing vector rotations by arbitrary angles using shifts and
Phase Modulation, Amplitude Shift Keying, Frequency Shift adds [1]. In the rotation mode, CORDIC is used for converting
Keying, Phase Shift Keying [3], up/down converters, mixers one vector in rectangular form to another vector in rectangular
etc. The same approach of using CORDIC as modulator has form. In the vector mode, it converts a vector in rectangular
been used for Quadrature Amplitude Modulation (QAM)[4] form to polar form.
and multicarrier QAM [5] [6] which uses LUT for the B. Rotation Mode of CORDIC
realization. The advantage of using CORDIC as modulator The CORDIC algorithm for this mode is derived
over Look up table ROM is that CORDIC directly generates from the general rotation transform
sine and cosine wave rather than using phase to amplitude
converter. The CORDIC approach for modulator is more
afn = ain cos φ − bin sin φ (1)
preferred due to its better phase resolution, high precision,
cheaper hardware cost, flexibility and performance.
bfn = bin cos φ + ain sin φ (2)
A number of CORDIC architectures have been reported in
the literature for realizing universal modulator. Unrolled Which rotates a vector in a Cartesian plane by an angle φ to
CORDIC architecture proposed by Jack E. Volder [1] is a another vector with the coordinates . The rotation may be
978-1-4799-2291-8/14/$31.00©2014 IEEE
achieved by performing a series of successively smaller smaller and smaller. We may terminate the iteration when the
elementary rotations φ 1, φ 2.........φ n such that φ = ∑ φ i Fig 1. −1 −i
difference between tan (2 ) becomes very small for some
I
shows the case where a rotation of a vector of magnitude 1 by value of N. The remaining angle by which the vector needs to
an angle φ is achieved using three elementary rotations be rotated after the completion of i iterations is indicated by
φ 1, φ 2.φ 3 the parameter zi + 1 defined by equation
(a2,b2)
zi + 1 = zi − φ i (10)
φ2
φ is considered to be positive when the rotation
i
φ1
required is anticlockwise and is negative Otherwise to
φ0
approximate an arbitrary angle using φ i of the form
−1 −i
tan (2 ) , φ may have to be chosen to be negative for some
i
a b The various inputs to the system are xin, yin, which is used
(a ,b ) = (
N N
, ) (9) for realizing amplitude modulation, ∆r for frequency
∏ ∏ cos φ
fn fn
cos φ modulation and φ(t) for phase modulation
By performing the division by cos φ together for all the N i For amplitude modulation (xin, yin φ) is chosen as (1,0,0)
iterations by dividing the value of (aN,bN) by ∏ cos φ i . and the ∆r is constant then the unmodulated carriers sinωt and
cosωt is obtained as the output. When modulated carriers is
Further, the value of φ i for i =1, 2,.. N is chosen such that tan
required, the modulating signals are applied at xin and yin
φ i is 2 -i.
• δ1 is negative
a1 3a
a 2 = a1 + = (18)
2 2
a1 a
b 2 = a1 − =
2 2
Thus the Stage 2 can be replaced with the two multiplexers
Fig. 2 Universal Modulator with the crosswise interchanged values which are shown
above. The output of stage 3 can be gives as:
For implementing phase modulation in the universal
modulator yin is chosen as (0, 0) with xin as constant and ∆r is • δ1 is +ve and δ2 is +ve
constant φ is variable b 2 a 3a a
a3 = a 2 − = − = (19)
4 2 8 8
IV. CORDIC ARCHITECTURES a 2 3a a 13a
b3 = b 2 + = + =
There are different types of architectures available for 4 2 8 8
CORDIC each having some tradeoff between speed and the
area. However for implementation of UM three architectures • δ1 is -ve and δ2 is +ve
have been considered namely:
b 2 3a a 11a
a3 = a 2 − = − = (20)
• Unrolled CORDIC 4 2 8 8
• Mux Based Unpipelined CORDIC a 2 a 3a 7a
• Mux based Pipelined CORDIC b3 = b 2 + = + =
4 2 8 8
Unrolled CORDIC: An 8 stage CORDIC is implemented for
universal modulator. All coefficients are taken to be 16 bit
wide. As shown in Fig.3, the architecture comprises of adders/ • δ1 is +ve and δ2 is -ve
subtractors and shifters [1]. In the uppermost adder/ subtractors
an angle is computed for each iteration. The middle and b 2 a 3a 7 a
a3 = a 2 + = + = (21)
bottommost adder is used for the evaluation of cosine and sine. 4 2 8 8
The initial value of a- vector and b-vector is chosen to be (1/R) a 2 3a a 11a
and 0. For each stage of iterations the new values of vectors are b3 = b 2 − = − =
4 2 8 8
found to converge towards desired angle. Besides this, there is
crosswise addition or subtraction based on angle evaluated in
the previous iteration of preceding stage. This crosswise • δ1 is -ve and δ2 is -ve
addition or subtraction is represented by sign bit $(\delta)$. The
value of sign bit depends upon the value of z vector evaluated b 2 3a a 13a
a3 = a 2 + = + = (22)
in the preceding stage. 4 2 8 8
a 2 a 3a a
Mux Based Unpipelined CORDIC: A new 8 Stage CORDIC b3 = b 2 − = − =
4 2 8 8
architecture has been proposed in [7] which have been found to
be less complex in terms of hardware. The architecture starts
with same set of initial vectors a and b with same initial value Mux Based Pipelined CORDIC: This architecture involves
as (1/R) and 0. With these initial values, the output from first two level pipelining of Mux based CORDIC [8] used for
stage is given as: universal modulator. For the purpose of implementation 16 bit
a1 = a = (1/R) (15) wide coefficients are used for FPGA implementation. This
architecture involves registers being inserted between the
b1 = a (16)
succeeding stages. Due to inclusion of pipeline registers the
area of the architecture increases with the increase of operating
The output from second stage can be given as: frequency. The pipelined registers are inserted after the Stage 4
and Stage 7 as shown in figure 4.
• δ1 is positive
VI. RESULTS