Wireless Sensor Network, 2010, 2, 18-30
doi:10.4236/wsn.2010.21003 anuary 2010 (http://www.SciRP.org/journal/wsn/).
Copyright © 2010 SciRes. WSN
Published Online J
VLSI Implementation for Low Noise Power Efficiency
Cellular Communication Systems
Rondia MACK, Maher RIZKALLA, Paul SALAMA, Mohamed EL-SHARKAWY
Department of Electrical and Computer Engineering, Indiana University Purdue University Indianapolis,
Indianapolis, USA
Email: {mrizkall, psalama}@iupui.edu
Received October 24, 2009; revised November 16, 2009; accepted November 25, 2009
Abstract
A low power model for Code Division Multiple Access (CDMA) based cellular communication system is
developed. The dynamic power is minimized by reducing the frequency of the Phase Lock Loop (PLL) after
lock is established. The paper addresses the feasibility of lowering the clock frequency of the processing unit
that models the PLL is addressed and modulator/demodulator functions of the system while maintaining
synchronization with the memory unit and other peripherals. The system is simulated with Matlab consider-
ing various Signal-to-Noise Ratios (SNR). For a given SNR, the minimum frequency required for the PLL to
maintain lock is determined. The Matlab file is translated to VHDL code, simulated and synthesized with
Mentor tools, and the layout then generated. Mach-Pa 5-V software system from Mentor tools is utilized to
estimate the power consumed by the simulated device. A Xilinx file is also generated and downloaded for
Field Programmable Gate Arrays (FPGA) implementation. A 50 MHz clock frequency of the processing unit
was first considered and then lowered to 20 MHz for the low power study. Lowering the base and clock fre-
quency resulted in near 30% reduction in power.
Keywords: Cellular Communication, CDMA, PLL, Harware, Xilinx, Matlab, Low Power
1. Introduction
Cellular phone systems require a large number of base
stations in each city regardless of the size. An average
large city can have hund reds of towers. In addition, each
carrier in each city also runs one central office called the
Mobile Telephone Switching Office (MTSO). This office
handles all of the cellular phone connections to the land-
based phone system and controls all of the base stations
in the region . An on-chip PLL (Phase Lock Loop ) gener-
ates the internal clock at one of 16 frequencies ranging
from 88 to 287 MHz based on a fixed 3.68 MHz input
clock [1]. It is a system requirement that the chip return
quickly from the idle state to normal operation with no
such constraint on returning from the sleep state. Based
on this determination and the 20 mW power budget in
Idle, it was concluded that when th e PLL power is below
2 mW then the PLL can run in Idle and remove the re-
quirements on the PLL lock time. Thus, there is need for
a very low power PLL dictated by the power budget in
Idle [2].
The TDA8012M is a low power PLL FM demodulator
for satellite TV receivers [3]. It supports low power be-
cause it has a sensitive PLL FM demodulator, and is used
for the second Intermediate Frequency (IF) filter in satel-
lite receivers. It also provides Automatic Gain Control
(AGC) and Automatic Frequency Control (AFC) outputs
that can be used to optimize the level and frequency of
the input signal. During the searching procedure, the
AFC output provides a signal which is used for carrier
detection, high input sensitivity, and balanced two-pin
Voltage Controlled Oscillator (VCO) and Carrier detec-
tor.
Low power filtering was researched b y the digit-serial
implementation method of all pass filter structure [4].
Also the general-order lossless and discrete integrator/
differentiator methods were involved. In low-power-
filter implementation, digit-serial computation showed to
be advantageous compared to bit-serial and parallel
arithmetic [5]. The digital-serial processing elements are
obtained using unfolding techniques. The implementa-
tion is compared to a corresponding wave digital (WD)
all pass filter implementation [6]. For low power con-
sumption, ASIC and FPGA design architectures were
R. MACK ET AL. 19
implemented for modulation/demodulation, Chebyshev
scheme was used for filtering, QPSK for transmission,
and CDMA/TDMA for channelization.
2. Approach
Power reduction techniques include pipelining, parallel-
ism, reducing clock cycles, and lowering the frequency
that will also raise the stability issue for several elec-
tronic components. In this paper, the PLL is one of the
main sources to reduce power in the cell phone system.
The values of I (t) and Q (t) represent the binary digits in
QPSK format. The Sinput values represent the modulated
output signal from the base station. Two mixers are
needed for the Q (t) and I (t) variables, where Q(t)=cos
(2ft+)Sinput, I(t)= )=cos(2ft+)Sinput Sinput; and mixer=
cos(2ft+)Sinput.
Several functions, such as the mixers in the demodu-
lator, will not need simulation through the whole cycle,
because the program is communicating or in phase with
the incoming signal close to 100%. The program is then
allowed to reduce its frequency by half the cycle to re-
ceive the full value of an incoming signal. The phase
angle depends on the PLL that is controlled by an enable
switch (when the Sinput is in phase). The Matlab algo-
rithm and VHDL codes give details on how the PLL was
implemented. The Matlab model for the demodulator and
PLL function are shown in Figure 1, and the frequency
lowering algorithm is given in Figure 2. The PLL will
force the frequency to be lowered based on when the
output signals of the demodulator can reach its maximum
value. This will cause the simulator to skip several vari-
ables when the demodulator reaches its value at a faster
pace before the end of each period.
if(sample == 1)
Idemod(t) = ampl*Ss1(t)*mixerI/longsample; %Ss1(t)*cos(2*pi*fc*gg);
Qdemod(t) = ampl*Ss1(t)*mixerQ/longsample; %-Ss1(t)*sin(2*pi*fc*gg);
else
Idemod(t) = ampl*Ss1(t)*mixerI/longsample + Idemod(t-1);
Qdemod(t) = ampl*Ss1(t)*mixerQ/longsample + Qdemod(t-1);
end
if((lock==0 )&&(sample == longsample)&&((((I(inc) == 1)&&(Idemod(t) >= .95))||
((I(inc) == -1)&&(Idemod(t) <= -.95)))&&(((Q(inc) == 1)&&(Qdemod(t) >= .95))||
((Q(inc) == -1)&&(Qdemod(t) <= -.95 )))))
lock = 1;
end
if((sampl e == long sample)&&(lo ck = = 0))
phasedemod=phasedemod + pi/64;
end
if(phasedemod >= 2*pi)
phasedemod = 0;
end
pLL(t)=phasedemod; % save the phase for plotting
sample = sample + 1;
if(sample > longsample)
sample = 1;
inc = inc + 1;
end
Figure 1. Matlab implementation of the Demodulator.
C
opyright © 2010 SciRes. WSN
R. MACK ET AL.
20
if((l > lon gsam)&(cycle == cycl et ot)&(lock == 1)&(phasec ount > corang))
breakm = br eakm*2; fprintf( 'max');
else if((l > longsam)&(cycle == cycletot)&(lock == 1 ) &(p hasecount <= corang1 ))
fprintf('min'); breakm = breakm/2;
end
end
if(breakm < 1)
breakm = 1;
else if(breakm > 4)
breakm = 4;
end
if(l == 1)
II(samp) = freqmultadj*sqrt(2)*y2(samp)*mixerI/longsam;
QQ(samp) = freqmultadj*sqrt(2)*y2(samp)*mixerQ/longsam;
else
II(samp) = freqmultadj*sqrt(2)*y2(samp)*mixerI/longsam+II(samp-1);
QQ(samp) = freqmultadj*sqrt(2)*y2(samp)*mixerQ/longsam+QQ(samp-1);
end
Figure 2. The frequency lowering algorithm.
Table 1. PC instruction commands.
Data from PC Commands
0001 ALU C= A – B
1001 ALU C= A + B
0010 ALU C= A AND B
0011 ALU C= A OR B
0101 ALU C= A
0110 ALU C= A mult B
0100 Jump back to Reg ister value
0101 write to memory
1000 A=mem(B)
1001 mem(B) = A
1010 If(Z/=0),PC=value
1011 If(Z=0),PC=value
1100 PC=value
1101 0000 A = B
1101 0010 A greater than B
Table 2. Floating numbers.
Significant bits 6 5 4 3 2 1 0
Decimals 1 .5 .25 .125 .0625 .03125 .0115625
Components such as adders/subtracters and multiplier
divider were added to perform the math functions for the
DSP chip. The ALU components, PC instruction, and
floating nu mbers are given in Tables 1–3.
Table 3. Add or subtract input command.
Add or SubtractZ = 1 if B > A ALU Operate most sign bit
A + B Null A + B Pos
-A + -B Null A + B Neg
A + -B 0 A – B Pos
A + -B 1 B – A Neg
-A + B 0 A – B Neg
-A + B 1 B – A Pos
A – B 0 A – B Pos
A – B 1 B – A Neg
A – -B NULL A + B Pos
-A – B NULL A + B Neg
-A – -B 0 A – B Neg
-A – -B 1 B – A Pos
3. Design
With increasing pipelining by N sections, the voltage
may be redu ced by V/N. The to tal power will b e reduced
byN2. Quadratic reduction in power consumption is one
advantage of increasing pipelining. Another advantage is
overhead that is typically much less than that of parallel-
ism. This means less hardware objects are needed for
pipelining compared to parallelism. There are disadvan-
tages when using pipelining. Not all algorithms or pro-
grams are recommended for pipelining. Adding a pipe-
line structure to a program usually increases the error in
Copyright © 2010 SciRes. WSN
R. MACK ET AL. 21
branching.
Figure 3 displays a block for a Xilinx board that is ca-
pable of handling small designs to perform the various
functions. It can perform the same tasks compared to an
ASIC design and can be developed at a quicker rate. This
Xilinx board was used to prove that the waveforms in
Matlab and VHDL are capable of simulating in real time.
Xilinx uses a different format to synthesize VHDL codes
compared to ASIC Implementation. There were RAM
and ROM chips that contain the same data information as
in VHDL codes that were used in the Xilinx dictionary.
This will save memory space inside the FPGA because
of the familiarity format of the memory design. Figure 4
displays a command file to synthesize some of the same
VHDL files that were synthesize in the ASIC design. To
simulate this command file a user needs to type in the
following command: fc2_shell –f cell16_xilinx. This
command will also assign the input and output pins to
the variable inside the main VHDL code. There were no
errors after the last command. The next was to simulate
the next command file in Figure 5. This file will create a
bit file to be downlo aded in to the FPGA unit. If no errors
have occurred then it will simulate the same way as it has
simulated in Mentor Graphics.
#!/bin/sh
PATH=$PATH:/export/eda/Xilinx/ise5/bin/sol
export PATH
LD_LIBRARY_PATH=/export/eda/xilinx/ise5/bin/sol
export LD_LIBRARY_PATH
XILINX=/export/eda/Xilinx/ise5
export XILINX
XIL_MAP_LOCWARN=””
Export XIL_MAP_LOCWARN
ngdbuild –p 2s30-5-tq144 cell16.edf
map –p 2s30-5- t q144 –o map.nc d cell16.ng d cell16. pcf
par –w –ol 2 –d 0 ma p. nc d cell 16.ngd cell16.pc f
trce ce l l 16.ngd.ncd cel l16.pcf –e 3 –o cel l 16.twr
bitgen –g StartupClk:JtagClk –l –w cell16.ngd.ncd
ngd2vhdl –w cell16.ngd cell16_xilinx.vhd
Figure 3. Xilinx FPGA board - XCQS30-TQ144. Figure 5. Command file for FPGAs unit.
create_project cell16_xilin x
add_file –library WORK-format VHDL cell16.vhd
add_file –library WORK-format VHDL dspmath.vhd
analyze_file –progress
create_chip –progress –name cell16 –target SPARTAN2 –device 2S3OTQ144
-spe e d -5 –fr e quency 50 –fas t –pr e s e r ve cell 16
curre nt_chi p ce ll16
set_pad_buffer BUFGP /cell16/clk set_pad_loc P91 /cell16/clk
set_pad_loc P93 /cell16/digitalout<7> set_pad_loc P95 /cell16/digitalout<6>
set_pad_loc P99 /cell16/digitalout<5> set_pad_loc P102 /cell16/digitalout<4>
set_pad_loc P112/cell16/digitalout<3> set_pad_loc P114 /cell16/digitalout<2>
set_ pad_lo c P117 /cell16/digitalout<1> set_pad_loc P120 /cell16/digitalou t<0>
set_pad_loc P80 /cell16/reset set_pad_loc P84 /cell16/button
set_pad_loc P59 /cell16/digitalin<1> set_pad_loc P57 /cell16/digitalin<0>
optimize_chip –name cell16-Optimized-progress
ex port_ch i p – d ir.
list_message
exit
Figure 4. Command file for synthesizes.
C
opyright © 2010 SciRes. WSN
R. MACK ET AL.
22
Figure 6. Xilinx input and output connect.
Figure 7. Transmitted output (Sout) with input (I mod, Q mod) at 200 Hz.
Figure 6 displays components for 8 switches, 8 LEDs,
4 buttons, and a seven-segment display. For this design
switches, LEDs, and buttons was able use to verify the
electronic components works. Switch(8) was used to
reset the FPGA microchip in the same way as it was go-
ing to be used in Mentor Graphics. Switch(1) and
switch(2) were used to input data for the modulation
function. They represented the signals digitalout (Qmod)
and digitalout1(Imod) respectively. The 8 LEDs, but-
ton(1), and switch(3) w ere used to represen t th e outpu t of
the demodulation function. When button (1) is equal to
zero(not pressed) it represents the first eight binary
numbers of the output signal. When it is equal to one it
represents the last eight binary numbers and LED(7) in-
dicate if Iout or Qout is positive or negative. Switch(3)
was used to indicate if the LEDs represent Iout or Qout.
If switch(3) is equal to one then it will represent Iout,
otherwise it will represent Qout. Button(2) was used to
display the output results from the LEDs at the end of
every period. All the input and output signals from the
Xilinx board match with the in put and output wavefo rms
from Mentor Graphics, while being tested for verifica-
tion. This proves that the microchip design would have
worked if it were processed on an ASIC design chip.
4. Results and Discussions
A modulator function was written in Matlab to support
the transmitter component. The QPSK method was used
to output the signal Sout(time). The Sout variable is an
analog signal that communicates through any base sta-
tion with other cell phones. Figures 7–9 display the in-
puts of the message codes with the output of the Sout
transmitter with a frequency of 200Hz. Notice how the
phase shifts in Sout(signal) when th e inputs, Q(t) and I(t),
change with respect to time. In Figure 10, the Q(demod)
and I(demod) represent signals from the demodulator
Copyright © 2010 SciRes. WSN
R. MACK ET AL. 23
Figure 8. Transmitted output (Sout) with inputs (I mod, Q mod) at 20, 000 Hz.
Figure 9. Transmitted output (Sout) with inputs (I mod, Q mod) at 2,000,000 Hz.
Figure 10. In phase demodulation function.
C
opyright © 2010 SciRes. WSN
R. MACK ET AL.
24
Figure 11. Out of phase demodulation function.
Figure 12. Searching the phase with a Phase Lock Loop.
Figure 13. Searching for the exact phase with the Phase Lock Loop.
Copyright © 2010 SciRes. WSN
R. MACK ET AL.
Copyright © 2010 SciRes. WSN
25
function or receiver component when all signals are in
phase. They determine whether the value of the code
messages is either a 1 or -1 by sloping to its maximum
value before the clock period starts over. Figure 11 dis-
plays the same waveforms when they are out of phase.
The Q(demod) and I(demod) do not reach their maxi-
mum value at the same time at the end of every clock
cycle. When this occurs the receiver is not detecting any
signal or the demodulation mixer is out of phase with the
incoming single (Sout).
There are several ways to implement the PLL function
inside the demodulato r, depending on the communication
software requirement. For this design the PLL is one of
the main sources to reduce power in the cell phone sys-
tem. Figure 12 displays w aveforms to show that once the
PLL is locked then the correct message symbol will be
decoded. Several times the mixer from the demodulator
can have the same phase with different amplitudes. Fig-
ure 13 displays that the Q(demod) and I(demod) reach
their maximum value but one or both values have the
wrong value as the message code (Imod, Qmod). Initially,
the electronic component inside the cell phone needs to
know what sequence of message code it is supposed to
receive before it freezes the PLL. The initial sequence
message codes vary, depending on the communication
network and the base station that will be described in the
next secti on.
Several filter functions was able to be tested to filter
out noise for modulation signals. Programs to generate
noise, such as white noise and fading noise (Rayleigh
and Rician noises), were written to create noise for out-
put modulated signals. The programs for filter functions
were proved effective, allowing that multiple cell phone
users to still communicate through the noise disturbance
in the incoming signal. There were several algorithms
that were developed to handle the type of noise to mini-
mize the error in the message codes. Figure 14 displays a
transmitter signal with two types of noise. A band pass
filter technique (Butterworth and Chebyshev) was used
to filter out white noise. The signal to noise ratio is a
major factor to filter out the unwanted magnitude of the
transmitted signal. Based on simulation comparisons, if
the noise amplitude is more than half the size of the
transmitted signal then there is a higher probability that
an error will occur compared to a lesser amplitude noise
signal. Figure 15 compares both of the filter functions
that were simulated in the compiler and in the program
algorithm to filter out the two frequencies that were out
of range for the band pass filter. The outputs from both
of the filter contain the same results after comparing
them. Figures 16 through 19 displays several filter results
that vary based on the maximum amplitude of white
noise. Notice that the lower SNR decrease the higher
probability that the receiver will not decode the mes-
sage’s incoming signals. Figure 20 shows that the mes-
sage code from CDMA that is capable of being demodu-
lated. (The Matlab implementation for this is given in
Figure 24). Figure 21 shows lowering the frequency.
Figure 22 gives the tested waveforms as simulated with
Mentor tools.
Another test sample was used to test the modulation
and demodulation process when they were initially out of
phase. This will cause the signal values of digitalout and
digitalout1 to not reach the maximum value of 1 or -1 at
the end of each period. In Figure 23 the maximum value
of the output at the end of each period have increased or
decreased because it tried to find the exact phase for the
Phase Lock Loop.
5. Conclusions
The tested waveforms that were viewed in Mentor
Graphics matches with all the waveforms in Matlab. This
means that the microprocessor is capable of performing
modulation and demodulation techniques with other
Figure 14. Noise waveforms. Figure 15. Comparison of filters’ performance.
R. MACK ET AL.
26
Figure 16. White noise 25% of message signal.
Figure 17. White noise 100% of message signal. Figure 18. White noise 200% of message signal.
Figure 19. White noise 400% of message signal.
Copyright © 2010 SciRes. WSN
R. MACK ET AL. 27
Figure 20. CDMA process in Matlab.
(a)
(b)
Figure 21. (a) Lower the frequency; (b) Lower the frequency with noise.
C
opyright © 2010 SciRes. WSN
R. MACK ET AL.
28
(a)
(b)
Figure 22. (a) Tested waveforms for the first two periods; (b) Tested waveform while lowering the frequency.
Copyright © 2010 SciRes. WSN
R. MACK ET AL.
Copyright © 2010 SciRes. WSN
29
Figure 23. Tested waveforms while out of phase.
Icdma(samp) = input1a*seqnum(sq); Qcdma(samp) = input1b*seqnum(sq);
Icdma2(samp) = input2a*seqnum2(sq); Qcdma2(samp) = input2b*seqnum2(sq);
Icdma3(samp) = input3a*seqnum3(sq); Qcdma3(samp) = input3b*seqnum3(sq);
Icdma4(samp) = input4a*seqnum4(sq); Qcdma4(samp) = input4b*seqnum4(sq);
Icdmat(samp) = Icdma(samp) + Icdma2(samp) + Icdma3(samp) + Icdma4(samp);
Qcdmat(samp) = Qcdma(samp) + Qcdma2(samp) + Qcdma3(samp) + Qcdma4(samp);
Ss1(samp) = Icdmat(samp)*cos(2*pi*freq*t+ phasein) + Qcdmat(samp)*sin(2*pi*freq*t+ phasein);
if(l > longsam)
times1(samp1) = t;
if(sq ~= 1)
IIz(samp1) = II(samp)*seqnum2(sq)+IIz(samp1-1);
QQz(samp1) = QQ(samp)*seqnum2(sq)+QQz(samp1-1);
else
IIz(samp1) = II(samp)*seqnum2(sq);
QQz(samp1) = QQ(samp)*seqnum2(sq);
end
if(sq == 6)
IIcdma(samp2)=IIz(samp1); QQcdma(samp2)=QQz(samp1);
times2(samp2)=t; samp2=samp2+1;
end
end
Figure 24. Matlab implementation of CDMA.
communications systems. Also, since the LEDs outputs
from Xilinx matches with the waveforms in Mentor Gra- phics ind icate that the Xilinx can be implemented as cell
phone microcontroller or a base station controller. The
R. MACK ET AL.
30
methods were the basic functions that all cellular phones
use for communication with the base station. There were
ideas that were created to adjust several algorithm func-
tions inside the DSP chip to save power. Lowering the
frequency is the main method that was developed to save
power in DSP chips compared to pipelin ing, parallelism,
and reducing several algorithms for several functions
such as the cos(x) and sin(x). There are several adjust-
ments that might not have been recognized to simulate
with the functions inside the main microchip controller.
This study proves that these functions work in three dif-
ferent real time compilers, which are Matlab, Mentor
Graphics, and Xilinx. This proves that these methods can
be developed in any type of microchip fabrication fac-
tory. The Mach-Pa compiler in Mentor Graphics proves
that if the frequency was lowered, it would automatically
save power compared to when it is higher. This has been
an interesting and challenging project to promote a better
understanding of how the communication process work-
ed with the base station and cell phones. Other compo-
nents to have a better internal knowledge of working
with the main microchip are the push buttons, screen
display, microphone, speaker, and antenna for every cell
phone.
6. References
[1] Montanaro, R. T. Witek, K. Anne, A. J. Black, E. M.
Cooper, D. W. Dobberpuhl, P. M. Donahue, J. Eno, W.
Hoeppner, D. Kruckemyer, T. H. Lee, P. C. M. Lin, L.
Madden, D. Murray, M. H. Pearce, S. Santhanam, K. J.
Snyder, R. Stehpany, and S. C. Thierauf, “A 160-MHz,
32-b, 0.5-W CMOS RISC microprocessor,” IEEE Journal
of Solid-State Circuits, Vol. 31, No. 11, pp. 1703–1714,
November 1996.
[2] F. M. Gardner, “Phaselock techniques,” 2nd Edition, John
Wiley and Sons, New York, NY, 1979.
[3] R. Philips, “Low power PLL FM demodulator for sat ellite
TV receivers, integrated circuits,” Trenton, NJ, 1996.
[4] M. Vesterbacka, “Digit-serial implementation of LDI/
LDD allpass filters,” Scottsdale, AZ, 2001.
[5] H. Ming, O. Vainio, and M. Renfors, “Digit-serial design
of a wave digital filter,” Proceedings of IEEE Instrumen-
tation and Measurement Technology Conference, Vol. 1,
pp. 542–545, 1999.
[6] A. Fettweis, H. Levin, and A. Sedlmeyer, “Wave digital
lattice filters,” International Journal of Circuit Theory and
Applications, Vol. 2, pp. 203–211, June 1974.
Copyright © 2010 SciRes. WSN