You are on page 1of 5

2015 International Conference on Information Processing (ICIP)

Vishwakarma Institute of Technology. Dec 16-19, 2015

Realization of Cordic Algorithm in DDS


Novel Approch towards Digital Modulators in MATLAB and VHDL

Miss. Prajakta J. Katkar Dr.Yogesh S. Angal


Department of Electronics and Telecommunication Department of Electronics and Telecommunication
JSPM’s BSIOTR COE, Wagholi. JSPM’s BSIOTR COE, Wagholi
Pune, India Pune, India
Prajaktakatkar1@gmail.com yogeshangal@yahoo.co.in

Abstract— CORDIC (CO-ordinate Rotation Digital In this paper Section II, covers the basic concepts of CORDIC
Computer) algorithm is the most important solution for realizing Algorithm, Section III presents the Communication system
the different digital modulation schemes. Modulation is the method using CORDIC Algorithm. In Section IV the results are
of varying the carrier signal according to the amplitude of the discussed and conclusion is given in Section V.
modulating signal. The CORDIC algorithm is used in the rotation
Acknowledgment is given in section VI.
mode. This mode is used for converting polar coordinates to
rectangular. This paper shows that how to use CORDIC algorithm II. BASIC CONCEPTS OF CORDIC ALGORITHM
in implementing the different digital modulation techniques in
MATLAB realization and VHDL implementation. In that MATLAB Easy way to understand the use the CORDIC
realization of ASK, FSK and PSK with VHDL realization of BPSK, algorithm in the implementation of digital intermediate
QPSK and-QAM modulation. Here we use the software defined frequency (IF) communications systems, CORDIC is
radio concept i.e. we can use a single kit for different modulation presented with three inputs X0, Y0, and Z0 and three outputs
techniques by changing only software part without replacing the XN, YN, and ZN .
hardware. The main concept used here is the direct digital synthesis
To implement different digital communication a
(DDS) is the method of generating waveforms in digital domain.
generic scheme which shows how to use rotational mode
Keywords—CORDIC Algorithm, DDS, Communication CORDIC. The scheme is composed of an RM CORDIC where
Systems, PSK, ASK, FSK, QPSK, BPSK,-QAM. signals I and Q are connected into X0 and Y0inputs, and the
phase term q connected into Z0 input is ș= (™(Fc + Fm) + ࢥm) *
I. INTRODUCTION ɉ
The process of generating sine waveforms directly in
The Coordinate Rotation Digital Computer the digital domain is direct digital synthesis. It consists of a
(CORDIC) was introduced in 1959 by Volder. The rotation of phase accumulator and a phase-to-waveform converter. By an
a two-dimensional vector using only add and shift operations
RM-CORDIC the phase-to-waveform converter could be
are computes iteratively . CORDIC has been used for
realized. The sine and cosine waveforms are obtained
hardware implementations. CORDIC-based architectures are a
very good alternative to conventional add and multiply respectively by the CORDIC outputs YN and XN .
hardware. CORDIC algorithm is used for implementing
different digital modulation schemes as phase shift keying, Instead of perfect rotation CORDIC computes a
amplitude shift keying, 4-qam shift keying, frequency shift pseudo-rotation of a two-dimensional vector. i.e. The original
keying, binary phase shift keying, 16-qam shift keying, vector is rotated by an angle q, and its magnitude is increased
quadrature shift keying etc. These all modulation schemes are by a constant factor K.
realized in MATLAB as well as in VHDL. Here in this paper
amplitude shift keying, phase shift keying, frequency shift III. COMMUNICATION SYSTEM USING CORDIC
keying use MATLAB realization and , binary phase shift ALGORITHM
keying, 4-qam shift keying quadrature shift keying use the
VHDL realization. By using this algorithm we can able to A. DIRECT DIGITAL SYNTHESIS
minimize the hardware requirement i.e. we can change the DDS is a method to generate waveforms directly in
functionality of a single hardware with varying the only the digital domain. The target waveforms in communication
software part. systems are the sine and cosine ones. A DDS is the
combination of a phase accumulator and a phase-to amplitude
converter, as shown in Fig. 2. In a conventional DDS based on
lookup tables (LUTs) the phase accumulator is an integer N-
bit accumulator, whose output directly addresses the LUT
where the amplitude values of sine or cosine waves are stored.
The maximum value of the accumulator (2N–1) represents the

978-1-4673-7758-4/15/$31.00 ©2015 IEEE 355


phase 2 of the sine or cosine wave. When it is incremented frequency fc, through the XN output. An FSK signal can be
by a fixed value, the accumulator generates a ramp signal. generated with the scheme of Fig. 3 if the frequency
modulator signals is fm = m(n), the carrier frequency is a fixed
value fc, the terms Øm, and Q are zero and the X0 input is I =
The CORDIC algorithm in RM can behave as a 1/K. The FSK signal (s (n) = cos (fc × ʌ × n + (™m (n)) × ʌ)) is
phase-to-amplitude converter that directly generates sine and also obtained by the output XN. In an ASK, PSK, or FSK
cosine waveforms. With respect to LUT based methods the modulator, it is required to up-sample the base-band
main advantage of using CORDIC-based DDS is that it can modulator signal m(n) up to the sampling rate (fs) of the
achieve both high precision with lower hardware cost AND CORDIC processor and DAC. As this signal usually is a
high phase resolution. The difference between CORDIC- narrow band one, a Cascade-Integrator- Comb filter (CIC) is a
based DDS and LUT methods is that the phase accumulator very low hardware cost solution to perform this task [9].
generates an integer value that addresses an LUT in the LUT-
based method, while it generates an angle in CORDIC-based IV. RESULTS AND DISCUSION
DDS.
To generate sine and cosine waveforms of a digital A. SIMULATION IN MATLAB
frequency fc with the scheme based on CORDIC of Fig. 3, the
parameters fm, ࢥm, and Q must be zero and I = 1/K. The The results into waveform are obtained in matlab
oscillation frequency is controlled by giving a fixed value to simulation. The modulating signal is 1001010101
fc. In such a case CORDIC generates directly the cosine and
sine waveforms (si (n) = cos (fc. ʌ n) and sq (n) = sin (fc. ʌ .n))
through XN and YN outputs, respectively. The maximum
synthesized frequency is obtained by taking the value fc = 1
(which is equivalent to analog frequency of fs/2); and the
minimum frequency is achieved with fc = 2–(N–1), where N is
the word-length of the accumulator [6-7].

Fig. 3 ASK modulated output

Fig. 1 Generic scheme to use CORDIC in Rotation Mode. Select the mode ASK =1we get the ASK output

Phase Phase to
Accumulator Amplitude

Fig. 2 Block Diagram of DDS

B. FREQUENCY, PHASE AND AMPLITUDE


MODULATORS
The CORDIC scheme of Fig. 3 can be used to
directly generate in the digital domain at IF the binary
modulations ASK, PSK, and FSK.
The CORDIC scheme of Fig. 3 can be used to
directly generate in the digital domain at IF the binary
modulations ASK, PSK, and FSK [8]. Considering m (n) as
Fig. 4 FSK modulated output
the modulator signal, ASK can be implemented by choosing in
Fig. 3 carrier IF fc, using the input Xo as modulator signal I =
Select the mode FSK =1we get the FSK output.
m (n)/K, and leaving to zero fm, Øm, and Q. In such a case the
ASK signal (s (n) = m (n) × cos (fc × ʌ × n)) is generated
through XN CORDIC output. If PM is desired, the terms fm and
Q of Fig. 3 are zeroed, the input Xo is fixed to I = 1/K, and the
phase modulator signal is Øm = m (n). Then the PM signal (s
(n) = cos (fc × ʌ × n + m (n) × ʌ)) is obtained with a carrier

356
Fig. 5 PSK modulated output

Select the mode PSK =1we get the PSK output

B. SIMULATION IN VHDL
Fig. 6 ASK modulated output in VHDL simulation
The Digital modulation schemes such as frequency
shift keying (FSK), amplitude-shift keying (ASK), and phase- For FSK, the input and outputs are given bellow and are
shift keying (PSK), Quadrature amplitude modulation( QAM), clearly shown in figure 8.
Quadrature phase shift keying(QPSK), binary phase-shift Mode=001
keying (PSK), was designed separately using Xilinx ISE 13.2 Mode input= 0000 to 0001
and its simulated results are shown below. Input= 0000000000001111
Output= whenever binary 0000 to 0001 transition occurs the
Following figure shows the VHDL simulation of phase output gets changed.
ASK modulated signal. System is multimode system because Phase accumulator output= for input 15 its adds 15 in each
depending on different 3 bit modes selected any one of the clock cycle i.e. 15, 30, 45, 60 etc.
seven modulation technique is selects. This output given as an input to the Phase to amplitude
Mode input is 4 bit input, for binary 1 “0001” and for converter as Phase Output with delay of one clock cycle.
binary 0 “0000” is selected. Input is 16 bit. We can select any
input from 216=256 combinations. According to that we got
the 32 bit output. Phase accumulator adds the inputs at every
clock cycle. Phase output is delayed version of phase
accumulator.

For ASK, the input and outputs are given bellow


If we select,
Mode=000
Mode input= 0000 to 0001
Input= 0000000000001111 then obtained output is given as
follows
For binary 1 and 0 for binary 0.
Output= 16384
For input 15 its adds 15 in each clock cycle
Phase accumulator output= 15, 30, 45, 60 etc. Fig. 7 FSK modulated output in VHDL simulation

This output given as an input to the Phase to For BPSK, the input and outputs are given bellow and are
amplitude converter as Phase Output with delay of one clock clearly shown in figure 8.
cycle. Output of phase to amplitude converter is multiplied Mode=011
with amplitude modulation control and final output is Mode input= 0000 to 0001
obtained. Input= 0000000000001111
Output= whenever binary 0000 to 0001 transition occurs the
phase output gets changed.
When 0001 comes then 180º phase shift occurs.
Phase Output= (180º*216)/360º=32738. This is added with 30,
32738+30=32768 which is as shown in following figure.

357
When output changes from 0001 to 0000 phase output is same For 4-QAM, the input and outputs are given below and are
as output of phase accumulator with delay of one clock cycle. clearly shown in figure 8.
For input 15 its adds 15 in each clock cycle i.e. 15, 30, 45, 60 Mode=101
etc. This output given as an input to the Phase to amplitude Mode input= 0000 to 0001
converter as Phase Output with delay of one clock cycle. Input= 0000000000001111
Whenever output changes from 0000 to 0001 there is 45°
phase shift occurs.
Phase Output= (45º*216)/360º=8192. This is added with 15,
8192+15=8207 which is as shown in following figure.
Whenever output changes from 0001 to 0000 there is 135°
phase shift occurs.
Phase Output= (135º*216)/360º=24576. This is added with 30,
24576+30=24606 which is as shown in following figure. Then
24606 are added with 15, 24606+15=24621 and so on up to
Mode input is 0001.
Phase accumulator output= for input 15 its adds 15 in each
clock cycle i.e. 15, 30, 45, 60 etc.
This output given as an input to the Phase to amplitude
converter as Phase Output with delay of one clock cycle.

Fig. 8 BPSK modulated output in VHDL simulation

For QPSK, the input and outputs are given below and are
clearly shown in figure 8.
Mode=100
Mode input= 0000 to 0001
Input= 0000000000001111
Output= whenever binary 0000 to 0001 transition occurs the
phase output gets changed.
When 0001 comes then 45º phase shift occurs.
Phase Output= (45º*216)/360º=8192. This is added with 30,
8192+30=8222 which is as shown in following figure. Then
8222 is added with 15, 8222+15=8237 and so on up to Mode
input is 0001. Whenever it changes from 0001 to 0000 phase
output is same as output of phase accumulator with delay of
one clock cycle. Again when mode input changes from 0000 Fig. 9 4-QAM modulated output in VHDL simulation
to 0001, 45° phase shift occurs, due to that 8192 is added with
previous phase accumulator output. In following figure 8192 The design is interfaced with onboard LED display. The
is added with 150 to get 8342 as an output. This output given code was then successfully implemented on Spartan3E board
as an input to the Phase to amplitude converter as Phase after successful completion of translate, map, place and
Output with delay of one clock cycle. route processes. And the outputs can be viewed on LED
display.

Parameter ASK FSK BPSK QPSK 4-


s QAM
Mode 000 001 011 100 101
Amplitude 16384 NA NA NA 11585
Change
Frequency NA Doubles NA NA NA
Change
Phase NA NA 180 45 45
Change
Phase NA NA 32738 8192 24576
Output

Fig. 10 QPSK modulated output in VHDL simulation Table 1. Tabulated Form of Simulation waveforms

358
[8] J. Vankka, "Digital Modulator for Continuous Modulations with Slow
Frequency Hopping," IEEE Transactions on Vehicular Technology, vol.
46, pp. 933-940, Nov. 1997.
V. CONCLUSION [9] M. Kosunen, J. Vankka, M. Waltari, L. Sumanen, K. Koli, and K.
Halonen, "A CMOS Quadrature Baseband Frequency
Synthesizer/Modulator", Analog Integrated Circuits and Signal
Processing, Vol. 18, No. 1, pp. 55-67, Jan. 1999.
This paper gives the use of CORDIC algorithm for
[10] R.Andraka, “A survey of CORDIC algorithms for FPGA based
direct digital synthesis. This algorithm is a useful for computers, Proceedings of ACM/SIGDA sixth International Symposium
conversion of phase to sine amplitude. Through repeated shift- on field Programmable Gate Arrays”, 1998,pp.191-200
add operations CORDIC is implemented by a simple
hardware. This paper is highlighted on the Direct Digital
Synthesizer using CORDIC, with minimum area requirement
in FPGA to increase the speed. This paper reveals that how to
use the CORDIC algorithm to implement different
communications systems like ASK, PSK, FSK in MATLAB
and ASK, FSK, BPSK, QPSK, 4-QAM in VHDL etc digital
modulators using MATLAB and VHDL. Here by using only
variable software parameter settings the same hardware used
as different functional component.
VI. AUTHOR’S BIOGRAPHY

I.Prajakta J. Katkar
Qualification: M.E (VLSI & EMBEDDED SYSTEMS)
Address: Shivnagar,Baramati,Tal- Baramati, Dist- Pune
Mail ID: prajaktakatkar1@gmail.com

II. Yogesh S. Angal


Designation: Head of Department
Qualification: M.E (Instrumentation), D.B.M, PhD
(Instrumentation)
Experience: 19 yrs
Mail ID: hodetcbsiotr@gmail.com
Area of Interest: Speech Processing, Control Systems,
Digital Signal Processing, Industrial Automation,
Mechatronics.

REFERENCES

[1] J. E. Volder, “The CORDIC trigonometric computing technique,” IRE


Trans. Electronic Computing, volume EC-8, pp 330 – 334, 1959.
[2] Pramod K. Meher, Javier Valls,Tso-Bing Juang, K.
SridharanandKoushikMaharatna “50 Years of CORDIC: Algorithms,
Architectures, and Applications” Ieee Transactions On Circuits And
Systems—I: Regular Papers, Vol. 56, No. 9, pp 1893-1907.
[3] J. Valls, T. Sansaloni, A. Perez-Pascual, V. Torres, and V. Almenar,
“The use of CORDIC in software defined radios: A tutorial,” IEEE
Commun. Mag., vol. 44, no. 9, 2006.
[4] Y.H. Hu, “Pipelined CORDIC architecture for the implementation of
rotational based algorithm,” in Proceedings of the International
Symposium on VLSI Technology, Systems and Applications, p. 259, May
1985.
[5] J. E. Meggitt, “Pseudo division and pseudo multiplication processes,”
IBM Journal, vol. 6, no. 2, pp. 210–226, 1962.
[6] L. Cordesses, “Direct digital synthesis: A tool for periodic wave
generation.
[7] J. Vankka “Digital Synthesizers and Transmitters for Software Radio.”
Dordrecht, Netherlands: Springer, 2005.

359

You might also like