High-speed ADC combines with FPGA to enable single

Transcription

High-speed ADC combines with FPGA to enable single
Software Radio
High-speed ADC combines with FPGA to
enable single-slot SDR solutions
The software-defined radio (SDR) concept has enabled designers to reinvigorate classical
designs in a compact form. One of the areas where SDR-based designs have immense
advantage is in the development of multichannel receivers. This article describes an example
implementation that can handle an FM bandwidth of 300 kHz having a 40 kHz message
bandwidth and 105 kHz FM deviation. The implementation presented easily handles a wide
range of applications including sonobuoy and tactical communication applications.
By Angsuman Rudra and Alexis Bose
Classic designs are being migrated to SDR-based implementation, and requirements for reconfigurability, space and size reduction
are becoming crucial. SDR offers the most benefit in multichannel
scenarios where high-speed signal-processing modules can process
multiple channels without duplication of expensive processing modules. FPGAs are also playing a significant role for baseband processing and offer reconfigurability and space saving that is crucial for a
variety of applications. This multichannel receiver can be used as, for
example, a sonobuoy receiver, a tactical communication receiver or a
next-generation wireless communication receiver. The FPGA-based
implementation allows the user to reconfigure the same hardware into
System description
The entire multichannel receiver can be delivered in a single-slot
implementation with capacity to spare as shown in Figure 1. The singleslot receiver comprises two PMC modules: a high-speed ADC module
with 16 digital downconverters (DDC) [ICS-554] and a FPGA-based
PMC module [ICS-1580]. The ICS-554 allows the user to digitize up
to four IF signals and digitally tune up to 16 frequency-division multiplexed (FDM) channels. The DDCs in the ICS-554 are programmed
for a decimation factor of 64, which produces a complex output data
rate of 1.5625 Msamples/s at a 100 MHz ADC sampling rate. Note
that the data rate is four times higher than the Nyquist data rate of
390 ksamples/s (complex) for a 300 kHz RF bandwidth. These FDM
channels (FM-modulated complex baseband signal) are then sent to
the ICS-1580 module for FM demodulation (Figure 2). For ease of
implementation, the 16-channel FM demodulator is implemented as
two eight-channel demodulators.
The FM demodulation process can be characterized as:
m(t) = d(Φ)/dt, where phi is the phase of the received signal.
With a complex baseband representation (I, Q), Φ = atan(Q/I).
Substituting this in the equation above and expanding out d(atan(Q/I)),
the baseband message signal may be recovered as:
(I*dQ – QdI)/(I^2 + Q^2).
This is the heart of the FM demodulation function implemented in
FPGA as shown in Figure 3. The automatic scaling function ensures
that the output of the divider is a full-scale 16-bit number. This produces near full-scale baseband output for a wide range of RF signal
power, in effect implementing a digital automatic gain control (AGC)
functionality. The various settings are summarized in Table 1.
ADC 1
ADC 4
DDC 1
DDC 16
PMC: ICS-554
FPGA
8-ch FM
demod
8-ch FM
demod
PCI interface
Market needs
multiple profiles, resulting in significant space savings for multimode
applications. Moreover, logistics support and spare parts inventory
are greatly reduced.
Data format
igh-speed analog to digital converters (ADC) and large fieldprogrammable gate arrays (FPGA) have allowed designers to
design compact solutions that were unthinkable a few years ago.
This article discusses how a 16-channel frequency modulation (FM)
demodulator operating in the intermediate frequency (IF) region may
be implemented in a single slot, and builds on two articles previously
published in RF Design[1,2]. The system implemented here is capable
of digitally tuning to 16 separate FM bands, downconverting the signal
to produce complex baseband outputs and performing a multichannel
FM demodulation in a FPGA core.
This article describes an example implementation that can handle an
FM bandwidth of 300 kHz. This supports an FM with 40 kHz message
bandwidth and 105 kHz FM deviation. The implementation presented
here easily handles a wide range of applications including sonobuoy
and tactical communication applications. The 16-channel demodulator
is implemented in a modular fashion as two eight-channel demodulator
blocks. The eight-channel FM demodulator uses less than than 4700
slices, seven 18 x 18 multipliers and 16 18 kbit random access memory
(RAM) blocks found in a Xilinx FPGA[3].
Data format
H
PMC: ICS-1580
To host
Figure 1. Multichannel IF receiver in a single slot.
46
Figure 2. A 16-channel FM demodulator describes the system block
diagram.
www.rfdesign.com
April 2006
I*dQ - Q*dI
I
16
Q
16
I +Q
2
2
2 n (I*dQ - Q*dI)
32
32
Automatic scaling
Ch 1
Ch 2
Ch 3
Ch 4
Ch 5
Ch 6
Ch 7
Ch 8
32
÷
32
2 (-m) * (I 2 + Q 2 )
16
Decimate by 16,
361-tap MAC
FIR (8-ch)
1.5625
Msps/ch
97.65 ksps/ch
x 8 channels
16
To PCI interface
Figure 3. An eight-channel FM demodulator module implemented in FPGA.
Output Data Rate
ADC Sampling Rate
100 MHz
DDC Decimation Factor
64
DDC Programmable Filter
17%
DDC RF Bandwidth
265 kHz
1.5625 Msamples/s
(complex)
Digital Phase Discriminator
1.5625 Msamples/s per
channel (real)
Decimating MAC FIR Filter
(Decimation = 16)
97.65 ksamples/s
(real) per channel
Table 1. Summary of the settings.
A detailed description of the hardware used and the various
functional blocks programmed in the FPGA follows.
Hardware modules
The ICS-554 and the ICS-1580 PMC modules that enable the build
up of the system are described here.
 ICS-554. A four-input high-speed ADC card capable of
sampling at rates up to 105 MHz. Up to 16 onboard narrowband
digital tuners enable users to implement a compact multichannel
receiver solution. The maximum bandwidth per channel is 2.5 MHz
for the 16 narrowband channels. Multiple channels may be combined
to provide up to four channels at 10 MHz each. The onboard DDCs
allow the user to digitally downconvert the signal and reduce the
effective data rate for each channel. Digital tuning is achieved by
writing a tuning word for the numerically controlled oscillator
(NCO). Digital retuning is thus an extremely fast process and enables
the receiver to serve as a very fast frequency-hopped system. More
information regarding the ICS-554 is available from[4].
 ICS-1580. A PMC module with a Virtex-II Pro device
(XC2VP70). The FPGA is directly connected to 64 Mbytes of
synchronous dynamic random access memory (SDRAM) arranged
as four independent banks and 16 Mbytes of QDR-II SRAM arranged
as four independent banks. Four multi-Gigabit Tx/Rx links from
the FPGA are available on the front panel and enable high-speed
data movement in a multiboard scenario. This would allow multiple
ICS-1580s to be interconnected to increase effective FPGA resources.
The 64 user I/O lines of the PMC module are also connected to
the FPGA and are used to transfer data from the ICS-554 to this module.
More information regarding the ICS-554 is available from[5].
Digital phase discriminator
This block is the heart of the FM demodulation process and is
implementing the differentiation of the phase of the received signal.
The DDCs produce a complex baseband (I,Q) representation of the
received signal. The implementation of the (I*dQ – QdI)/(I^2 + Q^2)
is carried out in two steps. In the first step, the numerator (I*dQ – QdI)
and the denominator (I^2 + Q^2) are first computed. The differentiation
48
function is approximated by the difference operator. Thus:
dI = I(n) –I(n-1) & dQ = Q(n) – Q(n-1). After algebraic manipulation the numerator becomes:
I(n-1) * Q(n) – I(n) * Q (n-1).
The denominator is calculated in a straightforward fashion. The
multipliers are implemented using the 18 x 18 hardware multipliers available in the Xilinx FPGA. The division is performed using
a Xilinx LogiCORE divider block. The availability of dividers that
can be easily and economically implemented in a FPGA has made
possible implementation of a much wider variety of DSP algorithms
in FPGA. A fixed point divider is implemented in this example.
The design targets a system with approximately 300 kHz RF
bandwidth with about 40 kHz baseband signal bandwidth. Thus,
an FM system with 105 kHz frequency deviation and 40 kHz message
bandwidth will be easily accommodated as the bandwidth of such
a system is about 290 kHz (= 2*(105+40)). The Nyquist data rate
for carrying this bandwidth is about 390 ksamples/s (complex), which
translates to a DDC decimation of 256 at a 100 MHz sampling rate.
However, at this reduced sampling rate, the approximation of the
differentiation reduces the distortion performance. To alleviate the
problem, a 4x oversampling ratio has been selected as compared with
the Nyquist rate.
Baseband filter
The output of the phase discriminator is the baseband message
signal (40 kHz bandwidth in this example). However, the output
data rate is about 1.56 MHz, which is much more than required.
Having a very high data rate causes an undue burden on the host
system, which has to transfer and process the data. To reduce the
data rate, a decimating multiply-accumulate (MAC) low-pass finite
impulse response (FIR) filter is used. The decimation factor for the
FIR is chosen to be 16, which produces a baseband data rate of
97.65 kHz, sufficient to handle the message bandwidth of 40 kHz.
The low-pass FIR has a passband of 42 kHz and a stopband of
48 kHz. As the input data rate (1.56 Msamples/s per channel) is
significantly lower than the 100 MHz clock used in the FPGA
fabric, multichannel operation is possible without consuming
additional FPGA resources.
FPGA implementation and occupancy
FM systems are typically narrowband applications. This allows
multichannel implementation in relatively small FPGAs. FPGAs
typically run at very high speed. In the example shown here, the
FPGA was a Xilinx Virtex II Pro device (XCV2P70) running at
100 MHz. The relative occupancy is shown in Table 2.
The compact design is achieved by running the FPGA at a much
higher frequency than the input data rate. Thus, the same resources
(multipliers, slices, etc.) may be used to process multiple channels.
This allows the developer to implement additional functionality in the
design. Other FPGAs are now available that run at faster clock rates
enabling more functionality to be packed in the same device.
www.rfdesign.com
April 2006
Used in 8-ch
FM demod
Percent Used
33,088
4700
14.2%
18 x 18 Multiplier
328
7
2.1%
18 kbit Block RAM
328
16
4.9%
Table. 2 Relative occupancy.
Multichannel IF receiver
Signal generator
-10
-20
-30
-40
-50
-60
PCI
FM at 21.4 MHz
105 kHz deviation
8 kHz message
FFT (Flattop Window) of Demod Signal
0
Amplitude (dB)
Slices
Total Available
-70
-80
0
Demod data
analysis (off-line)
5
10
15
20 25 30 35
Frequency (kHz)
40
45
50
Figure 5. Spectrum of the demodulated signal with IF input at –10 dB full
scale (dBFS) at the ADC.
Figure 4. Test setup for characterizing the system.
Distortion reduction
Performance characterization
The test setup used to characterize the multichannel receiver
is shown in Figure 4. The FM demod data is collected and a FFT
(using a flat-top window) is used to analyze the performance.
Figure 5 and Figure 6 show the performance at two input levels:
-10 dB and -20 dB below the full scale of the ADC input. The ADC
full-scale value is about 5 dBm. It can be seen from the plots that
the demodulated output signal level is preserved. The estimated
SINAD for the -10 dBFS input case (Figure 5) is 28.0 dB, while that
for the -20 dBFS input case is 23.2 dB.
-10
-20
Amplitude (dB)
The approximation dQ = Q(n) – Q(n-1) causes non-linear distortion.
A simple way has been used to reduce the distortion by oversampling
as described earlier. The higher complex baseband output data rate
from the DDCs allows greater granularity in the differentiation,
reducing the distortion. Software-based floating-point implementation
has shown that 4x oversampling (as compared with the Nyquist rate)
reduces the harmonic distortions by about 30 dB (compared to the
case when the outputs are at the Nyquist rate). Additional improvements
may be obtained with a higher oversampling factor.
FFT (Flattop Window) of Demod Signal
0
-30
-40
-50
-60
-70
-80
0
5
10
15
20 25 30 35
Frequency (kHz)
40
45
50
Figure 6. Spectrum of the demodulated signal with IF input at –20 dB full
scale (dBFS) at the ADC.
Conclusion
This article describes a single-slot multichannel receiver that is
ideal for multimode SDR-based reconfigurable solutions. As an
example, a multichannel FM demodulator core has been implemented
with extremely low FPGA resource utilization demonstrating the
power of today’s high-speed FPGA devices in communications
systems. RFD
References
1. RF Design, May 2004, “FPGA-based Application for Software
Radio,” Angsuman Rudra.
2. RF Design, July 2003, “Multichannel Multiband VHF Software
Radio-based Receiver Eliminates RF Downconversion,” Angsuman
Rudra.
3. Xilinx Virtex-II Pro Data Sheet (www.xilinx.com).
4. Tech Note No. 45: “ICS-554 4-Channel, 105 MHz ADC PMC
Module with DDCs, Xilinx FPGA and PCI 64/66 Interface” (http://
www.ics-ltd.com/TechNotes.cfm).
5. Tech Note No. 54: “The ICS-1580 FPGA DSP Board with
High-Speed Inputs in PMC Format,” (http://www.ics-ltd.com/TechNotes.cfm).
50
ABOUT THE AUTHORS
Angsuman Rudra obtained a B. Tech degree from IIT
Kharagpur in India in 1992, a Masters degree in Electronics
and Electrical Communications Engineering from Carleton
University in 1996, and an MBA from the University of
Ottawa in 2001. Previously with Nortel, he joined ICS
Sensor Processing in 2001, where he is currently director,
systems. He is a Professional Engineer in the state of Ontario
and a member of IEEE.
Alexis Bose holds a BASc in Systems Design Engineering
from the University of Waterloo. He has five years of
experience in software and hardware systems related to
communications, biomedical and defense. He joined ICS
Sensor Processing in 2003 as an FPGA systems engineer,
and has worked on numerous software-defined radio and
radar projects.
www.rfdesign.com
April 2006