An FPGA-Based Software Defined Radio Platform For The 24GHz ISM Band
An FPGA-Based Software Defined Radio Platform For The 24GHz ISM Band
An FPGA-Based Software Defined Radio Platform For The 24GHz ISM Band
Abstract-A prototype of a Software Defined Radio (SDR) The two receivers can work concurrently or can be loaded
platform has been successfully designed and tested (through reconfiguration) at run time. As can be seen from
implementing a reconfigurable IEEE 802.11 and ZigBee Fig. 1 the 802.1 lb channel has a bandwidth of about 22MHz,
receiver. The system exploits the reconfiguration capability of while the ZigBee signal occupies a bandwidth of about
an FPGA for implementing a number of receiver 2MHz and has far less stringent requirements in term of RF
configurations that share the same RF front-end. stage linearity, noise and sensitivity. For this reason the
Configurations can be switched at run time, or can share the 802.1 lb RF front-end can be used for both the standard.
available logic and radio resource.
< 22 KIV P
radio device without physically modifying the hardware. Figure 1. The three 802.11 and the sixteen 802.15.4 orthogonal channel
This implies the possibility of changing coding scheme, and their respective allocation and bandwidth.
modulation, bandwidth and channel access techniques. This The following sections (from II to IV) will describe in
can be done by using a suitable RF stage and a detail the system hardware, architecture and implementation
reprogrammable or reconfigurable hardware in the baseband of the two receiver respectively. Section V presents the
processing and medium access control sections. An implementation results, and finally in Section VI some
implementation of such a system can be really challenging, conclusions are drown.
since all the described elements are very complex to design
and implement, and usually require a great quantity of logic
resources or extremely fast (and costly) Digital Signal II. SDR PLATFORM HARDWARE
Processors. For this reason only a reconfigurable fabric (in The SDR platform is composed by a 2.4GHz RF chain, a
the widest connotation of the term) and a dedicated Field Programmable Gate Array, capable of implementing
implementation can achieve the result. either a BaseBand Processor or some test an measurement
In this work we present a first attempt to realize an SDR instruments, and an host computer used to control and
platform suitable for implementing and testing configure the whole system (Fig. 2).
reconfigurable wireless architectures working in the
unlicensed 2.4GHz Industrial, Scientific, and Medical (ISM)
band. The proposed system employs a commercial 802.1 lb
RF stage and an FPGA used to implement different receivers
baseband and Medium Access Control (MAC) architectures,
and to experiment different solution to the reconfiguration
problems. The system can also be used as a low level
channel sniffer to deeply analyze interactions between the
MAC and Physical (PHY) level, and protocol
interoperability and compliance issues for different standards
[2]. As will be described in the following, in order to test the AID & DI T host
feasibility of this approach an IEEE 802.11 [3] and an IEEE Antenna ~~~Convertr
802.15.4 [4] (also known as "ZigBee") receiver were Figure 2. Picture of the SDR prototype.
implemented.
in case of 802.11 signals and 11 samples per chip for ZigBee 0 ---------- -------------- I----------------
signals.
1.52 63 1.54 1.55 156 1.57 1.58 1.69 1.6 1.61 162
Q Channel
0 -------------- I--------------- I--------------------------------
1.52
L
53 L
1.54 L
1.55
L
156 L
1.57 1.58L L
1.59 15 1.51
L
162 L
baseband processor/MAC and/or custom measurement
instruments. The board has also 1MB of external SRAM )o
with 1Ons access time, that can be used to store sampled ------- -------
--------- -
------------------------------
----------- --
74
function. The Costas loop is preceded by a 22:1 The phase increment signal (AO, shown in Fig. 7) could
downsampler synchronized with the bit timing reference be used to reconstruct the transmitted chips, while its zero
signal. This makes the loop behavior much more robust with crossings can be used as a timing reference (the minimum
respect to noise, since it will operate mainly on significant period between two zero crossing is half the chip time). In
data samples. As can be seen from Fig. 5 this process is quite this case however both these steps are not necessary. In fact,
effective, since a very noisy 2Mbps signal has been instead of correlating the received chips with the spreading
successfully de-rotated. codes, it is possible to generate a new set of codes that can be
directly used with the AO signal (Table I).
After this process a differential decoding removes the
remaining 900 or 1800 phase ambiguity. Digital data are then
descrambled and decoded, and the CCITT CRC-16 is TABLE I. SPREADING CODES USED FOR A® SIGNAL
computed over the data belonging to the physical header. Data Chip values
Finally data are passed to the MAC or to an external host for Symbols (cO, cl... c31)
further processing. 0000 00111111000100001010001100100110
0010 01100011111100010000101000110010
IV. ZIGBEE RECEIVER ARCHITECTURE 0100 00100110001111110001000010100011
0110 00110010011000111111000100001010
The IEEE 802.15.4 standard employs an Offset-QPSK 1000 10100011001001100011111100010000
(O-QPSK) modulation with an half sine pulse shaping 1010 00001010001100100110001111110001
(similar to the Minimum Shift Keying modulation). A DSSS 1100 00010000101000110010011000111111
spreading is obtained by using 16 quasi-orthogonal codes, 1110 11110001000010100011001001100011
each composed by 32 chip and encoding 4 data bits (see [4]). 0001 11000000111011110101110011011001
The chipping rate is 2Mcps and the data rate obtained is 0011 10011100000011101111010111001101
0101 11011001110000001110111101011100
250Kbps. Each 32 bit code is divided in two 16 bit sub-codes 0111 11001101100111000000111011110101
that are separately modulated and mapped to the I and Q 1001 01011100110110011100000011101111
channel (Fig. 6). 1011 11110101110011011001110000001110
1101 11101111010111001101100111000000
-1- 2T, 1111 00001110111101011100110110011100
I -Ph ase r, t C, C30
0-Phase C- C C31 It has been found that these codes retain the properties of
the original codes, i.e. they can be obtained from a single
Time
code through rotation and inversion. These properties
Figure 6. ZigBee O-QPSK modulation scheme. simplifies the realization of the correlator block, that can be
implemented as a bit correlator in which all the 16 code
A number of receiver architecture has been proposed to words (obtained through a bit rotation) are serially checked
demodulate signals with similar characteristics [9]. However within a code period (i.e. 32 chip). The code found to have
these usually need to perform expensive processing steps (in the maximum correlation value is selected by a biggest
term of silicon area and number of gates) requiring for picker. The outputs of this process are the decoded 4 data
example a pulse shape matched filter, and a carrier recovery bits (Fig. 8). The correlator is also used to acquire the timing
loop for the coherent demodulation. The signals obtained and phase reference during the reception of each frame
have to be yet de-spreaded using 16 parallel 32 chip preamble. These information are provided to the following
correlators. processing element.
In order to make the implementation as compact and
efficient as possible, a dedicated architecture was used. This
is based on a non-coherent receiver algorithm and a special
correlation and synchronization block.
This technique exploits the phase continuity of an
O-QPSK signal with half sine pulse shaping. Tracking the
phase change of the received signal it is possible to obtain
information about the transmitted chips and their timing. In
particular the circuit follows the direction of rotation of the
incoming signal vector (I+jQ), and its changes using the
following expression, derived from the Costas loop error Figure 7. The upper figure shows the AO signal obtained for an incoming
term for QPSK signals: ZigBee signal. This periodical pattern refers to the sequence of four "OxOO"
bytes of the preamble that is used for bit timing synchronization.
AO sgn(Q) -aQ sgn(I)
aJt aJt The last block is represented by the frame processing
logic, that decodes the data fields to send them to the MAC
75
or host. A schematic overview of the ZigBee baseband is the two. In this case the configuration switch is done by a
showed in Fig. 9. software running on the host PC that sends the chosen
bitstream through the parallel port when desired. A complete
It has to be noted that the first processing element reconfiguration can be carried out in less than 3 seconds, but
consists in an 1MHz low-pass filter used to reduces signal this time can be dramatically reduced (to some milliseconds)
noise and co-channel interferences. using other configuration methods, such as partial
DaliiLiXZ z xwI configuration or slave parallel download. More research has
to be done aimed to exploit the partial and run time
reconfiguration possibility of the FPGA [11]. This will allow
extremely short context switch among different standards
and a more efficient resource utilization.
VI. CONCLUSIONS
A fully functional prototype of a Software Defined Radio
has been realized. The platform has been successfully used to
implement a reconfigurable 802.11 /ZigBee receiver. Thanks
to its deep flexibility the platform has been also used to test
new reconfigurable wireless receiver architectures, and to
perform a low level monitoring of the 2.4GHz ISM band
Figure 8. ZigBee bit correlator and symbol evaluation block. addressing protocol interoperability and compliance issues.
Other modulation schemes (such as Cypress WirelessUSBW
V. BASEBAND PROCESSORS IMPLEMENTATION and Bluetooth) can be easily implemented as well and
integrated with a MIAC processor, further expanding the
All the digital signal processing elements required to possibilities. Future studies will be directed toward the use of
demodulate the 802.11 and the ZigBee signals were partial reconfiguration and the use of modular and
implemented into the FPGA. The two baseband architectures configurable processing elements.
were designed using Matlab and Simulink for system level
simulation and optimization, and then ANSI C, VHDL and
ModelSim for the RTL description, simulation and REFERENCES
implementation. For both architecture a 6 bit fixed point [1] W. H. W. Tuttlebee: "Software-Defined Radio: Facets of a
representation was used. Developing Technology", IEEE Personal Communications, April
1999.
[2] A. Di Stefano, et al., "On the Fidelity of IEEE 802.11 Commercial
From ADC Low Pass O-QPSK & Cards", IEEE Wireless Internet Conference 2005, July 2005,
Filter Demodulator Bit Timing Budapest.
Q [3] IEEE Std 802.11, Wireless LAN Medium Access Control (MAC) and
Physical Layer (PHY) Specifications, Institute of Electrical and
Electronic Engineers, November, 1997.
~~~~Frame
AGC AGO Processing [4] IEEE Std 802.15.4, Wireless Medium Access Control (MAC) and
Physical Layer (PHY) Specifications for Low-Rate Wireless Personal
Area Networks (LR-WPANs), Institute of Electrical and Electronic
To Transceiver Engineers, October, 2003.
Gain Control To MAC
[5] Maxim Co. "MAX2820 - 2.4GHz 802.1 lb Zero-IF Transceivers"
Figure 9. ZigBee baseband architecture. datasheet, Jan. 2004.
[6] W. S. Chen, F. M. Hsieh: "A Broadband Design for a Printed
The design was implemented in a Xilinx Spartan3-200 Isosceles Triangular Slot Antenna for Wireless Communications",
Microwave Journal, July 2005.
FPGA [10], obtaining the following occupation: the 802.11
[7] D. N. Green, "Lock-In, Tracking, And Acquisition of AGC-Aided
configuration required about 613 slices of 1920 (310%) plus 4 Phase-Locked Loops", IEEE Transactions On Circuits And System,
embedded multipliers (6x6 bit), while the ZigBee Vol. Cas-32, No. 6, June, 1985.
configuration required less than 200 slices (about 10%). The [8] M. K. Simon, "Tracking Performance of Costas Loop with Hard-
sine and cosine lookup table for the Costas loop used 64 Limited In-Phase Channel", IEEE Trans. on communications, Vol.
values (6 bit) to encode a quarter of a sinusoid. The master Com-26, April, 1978.
clock used is 44MHz and 22MHz for the 802.11 and the [9] Pasupathy, S.: "Minimum shift keying: A spectrally efficient
ZigBee configuration respectively. The 22MHz frequency modulation", IEEE Communications Magazine, vol. 17, issue 4, Jul.
was directly used in both configurations as sampling 1979.
frequency, since both the architectures have no need for [10] Xilinx Co., "Spartan-3 FPGA Family: Functional Description",
sample synchronization. Thanks to their modest resource datasheet, Aug. 2004.
[11] Xilinx Corp., "Two Flows for Partial Reconfiguration: Module Based
occupation, both configurations can reside inside the FPGA or Difference Based", application note, Sept. 2004.
and work concurrently sharing the same RF path, but a
dynamic reconfiguration can be also used to switch between
76