Sei sulla pagina 1di 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/280684504

FPGA Implementation of an IF Sampled FM Receiver

Conference Paper · December 2004

CITATION READS
1 291

2 authors, including:

B. Egg

10 PUBLICATIONS   25 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Multirate Signal Processing for SDR and CR View project

All content following this page was uploaded by B. Egg on 04 August 2015.

The user has requested enhancement of the downloaded file.


FPGA Implementation of an IF Sampled FM Receiver

Benjamin Egg fred harris Chris Dick


San Diego State University CUBIC Signal Processing Chair DSP Chief Architect
San Diego College of Engineering Signal Processing Group
CA 92182 San Diego State University Xilinx
San Diego CA 95124
CA 92182

Abstract: This paper describes the hardware and This paper documents a case study on the FPGA im-
digital signal processing algorithms applied to the task plementation of an FM receiver. One requirement of
of implementing an FPGA-based commercial FM band the implementation is to minimize the content of ana-
receiver. Analog signal conditioning is limited to a sin- log signal processing employed in the system. To this
gle band pass filter, a programmable gain amplifier end, the analog processing is limited to a single band-
and high speed analog-to-digital converter. The re- pass filter, programmable gain amplifier and a high-
maining signal processing required of the radio, such speed analog-to-digital converter (ADC).
as spectral translation, channel filtering, FM demodula-
tion, and stereo separation, are performed in the digital The paper is organized as follows. Since our objective
domain using signal processing techniques imple- is to demodulate commercial FM broadcasts, we start
mented on the FPGA. We describe how multirate sig- by describing the frequency floorplan of the commer-
nal processing techniques are applied efficiently to cial FM band. Next, the receiver architecture is de-
perform the required processing tasks. fined. The signal processing datapath that performs
channelization, automatic gain control (AGC), de-
modulation and stereo separation is then described.
1 Introduction Finally, conclusions are drawn

Field programmable gate arrays (FPGAs) [5][6][7] are


being increasingly employed in digital communication
2 The FM Radio Band
equipment. These devices have been successfully
used for some years now to resource the demanding In the United States, the FM radio band spans 88.1 to
arithmetic requirements of the signal processing func- 108.1 MHz. Channels occupying this band are allo-
tions used in, for example, a digital radio physical layer cated 200 KHz bandwidth. Standard practice assigns
sub-system. FPGAs are commonly used for digital up- adjacent frequency channels to different geographical
and down-conversion, spectrum channelization using locations to simplify the task of separating neighboring
polyphase transform filter banks, various types of channels. If a given location has a channel centered at
modulation and demodulation, adaptive equalization, 90.1 MHz, then in this region, the nearest channels are
and for space-time coding. They are also used for separated by at least 400 kHz. In heavily populated
baseband processing in many systems, implementing areas, in the spectral sense, it may not be possible to
a range of channel coding functions that span common sustain this frequency staggering, and the 200 kHz
concatenated codes through to high-data rate (>100 bandwidth requirement may need to be strictly en-
Mbps) advanced Turbo convolutional codes (TCC), forced. Each channel must be sufficiently attenuated at
Turbo product codes (TPC) and low density parity its band edges as to not interfere with neighboring
check codes (LDPC). channels.

In many application spaces there are requirements for The next section in the paper describes our intermedi-
highly flexible radio systems that can accommodate ate-frequency (IF) sampled receiver architecture that
many tens of waveforms. For example, many of the performs channel access without the need of an ana-
radios in the joint tactical radio system (JTRS) [1] suite log heterodyne to down convert the spectrum to base-
of systems must support wideband OFDM-based band.
modulation, narrowband quadrature amplitude modu-
lation (QAM), right through to ubiquitous non-coherent
frequency modulation (FM), in addition to many other
waveforms. There are a number of references in the
literature that report on the FPGA implementation of
narrowband [2][3] and multicarrier OFDM systems [4].
3 Radio System
3.1 Receiver Architecture

Current generation communication systems tend to


digitize early in the signal flow path. The earlier a sig-
nal is digitized, the less susceptible it is to impairments Figure 3. Receiver architecture with digitization at RF.
introduced by analog variants that degrade signal in-
tegrity. In particular, analog quadrature mixers intro-
duce gain and phase imbalances that vary as a func-
tion of time and temperature. Analog systems can only
achieve balance within 1%, a level insufficient for high
performance radio systems. First generation digital
radios operate at a low sample rate and digitize a
down converted and baseband filtered signal as
shown in Figure 1. Figure 2 is a second generation
architecture with the sampling process relocated from
baseband to the IF strip. The (analog) down-converted
signal is digitized with the final channel selection per-
formed in the digital domain using a digital down-
converter (DDC). In third generation radios like that
illustrated Figure 3, the sampler is located as close as
possible to the antenna. There are minimal analog
components employed in the system with all of the
processing being performed by more cost effective
digital techniques.

Analog Analog Analog Digital


Image Reject Analog Analog Mixers Low Pass Base Band
Band Pass Mixer Band Pass
ADC
Base
A Band
Proc
ADC Figure 4. RF-sampled receiver card.
RF IF
VCO π/2 fs
Tune
Osc
Clock 3.2 Analog Front-End

The hardware platform constructed for this project is


shown in Figure 3. The antenna output is first condi-
Figure 1. Early generation receiver employing analog down- tioned by an analog anti-aliasing filter. This 5-pole el-
conversion and baseband sampling.
liptic filter is designed to attenuate all frequencies out-
side the FM spectrum of 88.1 to 108.1 MHz by 60 dB.
Analog Digital Digital Digital Following the analog filter is a series cascade of digi-
Image Reject Analog Analog Multipliers Low Pass Base Band
Band Pass Mixer Band Pass tally controlled amplifiers that provide gain to ensure
Base
that the full dynamic range of an 8-bit, 80 MSample/s
A ADC k:1 Band analog-to-digital converter is utilized. The digitized
Proc
K fs
data is supplied directly to the FPGA that performs all
RF IF the digital signal processing. Additional inputs to the
VCO Clock
π/2
Tune FPGA are 4 user I/O switches that control the signal
DDS gain from the antenna and provide FM channel selec-
tion. Several status light emitting diodes (LEDs) dis-
play channel number and the analog AGC gain setting.
Two digital-to-analog (DACs) convert the demodulated
Figure 2. IF sampled receiver – one or two stages of analog data to a stereo output audio signal. A liquid crystal
down-conversion followed by digitization and digital down
display (LCD) is provided to visualize the spectrum of
conversion are typically employed in these designs.
the FM band or to observe the spectrum of a single
FM channel.
3.3 The FPGA Signal Processor frequency, f + c = 98.1 MHz to 18.1 MHz. Similarly, the
negative spectrum aliases from -98.1 MHZ to a -18.1
All of the receiver signal processing is performed by a MHz. The controlled aliasing effectively replaces the
Xilinx VirtexTM series field programmable gate array analog down-conversion of a standard analog re-
(FPGA) [5]. The FPGA is in fact a massively parallel ceiver.
processor, some might argue the first commercially
Analog IF Filter Spectrum
successful massively parallel machine. The vast array First Alias First Alias of Analog Input
of multipliers (444 in a XC2VP100 [5] device) are eas-
ily deployed to service the concurrent aspects of a ....
complex signal processing system [8]. Computation is
...
f
only one aspect of the problem, storage and band- -1.25 fs -fs -0.25 fs -0.25 fs 0 0.25 fs 0.75 fs fs 1.25 fs 2.75 fs 2 fs 2.25 fs 2.75 fs
-80 MHz -20 MHz 20 Mhz 80 Mhz 160 MHz
width to memory are key factors that define the overall
compute capability of a signal processing system.
Supporting the computational structures implemented Zeroth
-First +First +Second +Third
Nyquist Zone
using the multiplier fabric and logic cell array [5] is a Nyquist Zone (Primary Strip)
Nyquist Zone Nyquist Zone Nyquist....
highly parallel memory sub-system. Associated with
each multiplier on the device is an 18x18 kbit dual port
memory structure. Capable of delivering 36 bits of data Figure 5. Bandpass sampling the FM radio band. The 80
on each clock cycle, the theoretical peak memory read MHz system sample rate aliases the required spectral region
bandwidth of a device running at 300 MHz is to baseband.
36x444x300e6 = 4.8 Terabits per second.
4.2 Spectrum Channelization
New generation FPGAs like the Virtex-4 [6] family offer
a domain optimized approach to system design. For Now that the FM radio band has been spectrally relo-
example, the SX variant of the Virtex-4 family is opti- cated to a low frequency digital IF, the next task is to
mized for signal processing. With a high ratio of DSP isolate the FM radio channel of interest via spectral de-
processing tiles and memory blocks to logic elements, multiplexing using a channelizer. The de-multiplexed
the Virtex-4 SX devices provide extremely high per- channel will subsequently be handed off to the FM
formance in a cost effective form factor. Each DSP tile discriminator for demodulation.
in a Virtex-4 FPGA implements an 18x18 multiply-
accumulate (MAC) at a rate of 500 MHz. With signifi- The bandwidth of a single channel is less than 200
cantly higher DSP bandwidth at much reduced power kHz which we choose to sample at a 400 KHz rate.
consumption of the Virtex-II Pro devices, the SX family The higher rate permits a wider transition bandwidth in
offers unprecedented performance per dollar of any the channelizer’s filter, which in turn allows us to de-
FPGA on the market. sign a digital filter with reduced number of taps. The
input signal sample rate is 80 MHz. However, the out-
Our radio card is populated with a Virtex-II XC2V2000 put sample rate required to satisfy the Nyquist rate of
FPGA [7]. This device offers 56 18x18 embedded mul- the down-sampled channel will be 400 kHz. We can,
tipliers and 10,752 logic slices. and should reduce the sample rate as we reduce the
bandwidth of the signal. The ratio of input to output
4 Signal Processing Datapath sample rates is 80e6/400e6 = 200. The allowable tran-
sition bandwidth of the channelizer filter is 200 kHz.
4.1 Band-pass Sampling The length of a FIR filter can be estimated from the
ratio of the sample rate to transition bandwidth, cou-
pled with the required out-of-band attenuation. A 1091-
Bandpass sampling is employed in our radio. Using tap will satisfy these requirements. It is useful to have
this approach the ADC sample rate is selected to sup- a filter length evenly divisible by the sample rate
port the double sided bandwidth of the input signal. In change of 200 and so a 1200-tap filter was selected.
this case. The entire 20 MHz FM radio spectrum is to The increased filter length provides additional attenua-
be digitized, so the sample rate must be at least 40 tion.
MHz. If the sampling frequency is carefully selected,
the aliasing caused by under-sampling will cause the The data delivered by the analog-to-digital converter is
spectrum of interest to alias, or fold, to a new center heterodyned to baseband via a quadrature mixer. The
frequency close to baseband. A sample rate of 80 complex baseband time series requires two low pass
MHz was selected for the receiver. Figure 4 depicts filters to perform the bandwidth reduction and sample
how the radio’s sample rate of 80 MHz causes the rate adjustment. Figure 6 shows this aspect of the
positive frequency spectrum to alias from its center
datapath. A 200-phase polyphase filter is used to gen- Mixer I/Q Samples
Finite State Machine

erate the filtered 400 kHz complex output time series. Regressor vector Address Coefficient Address

Each filter phase consists of 1200/200 = 6 filter taps.


R0 C0 R1 C1 R2 C2 R3 C3 R4 C4 R5 C5

H0(z)

H1(z)
cos(θ0n) I(n) Rm = Regressor Vector Memory Bank m I/Q Baseband Stream
H2(z)
Cm = Filter Coefficient Memory Bank m

H199(z)
Digitized Figure 7. Polyphase filter architecture – I-channel only. The
Input receiver uses the above structure to process the mixer out-
Data put. A separate filter is used for the I and Q streams. 12
H0(z) FPGA embedded multipliers are deployed in total – 6 each
for the I and Q phases. During each clock cycle an I/Q out-
H1(z) put sample is generated.
-sin(θ0n) Q(n) The FPGA is clocked at the ADC sample rate of 80
H2(z)
MHz. Counting the two multiplications in the mixer, the
arithmetic performance of the channel selection and
H199(z) filtering is

2N × 14
N × 400
N e3 = 1.12e9
Figure 6. Receiver front-end, showing quadrature mixer and
Complex Mixer+Filter MPYs Output Rate
polyphase filter channelizer.

which is in excess of 1 billion operations/second. This


The input heterodyne is straightforward to implement level of performance is achieved using only a small
in the FPGA. The multipliers in Figure 6 map directly to fraction of the available FPGA resources.
the embedded multipliers in the FPGA. A simple table
lookup approach is used to generate the heterodyning 4.3 Digital AGC
signal. Independent 6-tap convolution engines are
used to process the in-phase (I) and quadrature (Q)
mixer outputs. Figure 7 exposes some implementation Each selected channel will have varying power levels
details of the polyphase filter. A fully parallel 6-tap filter due to distance, transmitter power, and other vari-
is used for each of the I and Q signal phases. This ables. An automatic-gain-control (AGC) function is
requires a total of 12 embedded multipliers. The down- implemented to optimize channel power and ensure
converted input samples are written into block memory that the full dynamic range of the receiver datapath is
[7]. Each MAC engine, of which there are 6 in each of utilized. The digital AGC control signal is obtained by
the I and Q processors, is allocated its own block averaging the instantaneous magnitude M(n) (Eq. (1))
memory storage, so 12 block memories are required in of the complex signal.
total. The filter coefficients for each MAC engine are
also stored in block memory. 12 block memories are M ( n) = I 2 ( n) + Q 2 ( n) (1)
used for this purpose – one block being associated
with each of the 12 MAC engines in the complex filter. Preferring not to perform the square root function, nor
Further architecture optimization could actually reduce the squaring operations, a simple linear approximation
the block memory requirements. Considering only one provides a close approximation to M(n) with both re-
phase of the filter, on each processing clock cycle, 6 duced arithmetic complexity and hardware require-
regressor vector values and the corresponding 6 coef- ments. The approximation used in the design is shown
ficient values are read from memory and supplied to in Eq. (2)
the 6-MAC filter structure. A total of 200 clock cycles
are employed to produce the final filtered and down- M (n) ≈ 0.915 ⋅ L( n) + 0.415 ⋅ S (n) (2)
sampled output sample. A simple combining tree and
accumulator structure is used to sum the outputs of
where L(n) and S(n) represent the larger and smaller
the 6-MAC processors in each filter.
magnitudes of the complex I/Q sample respectively.
The magnitude error from this magnitude approxima-
tion is less than 5% for a sine wave input.
4.4 FM Demodulation Pilot Sub-carrier

Demodulating an FM signal is performed as the de- L+R L-R


rivative of the arc-tangent of the ordered pair formed at
15 kHz 19 kHz 38 kHz
the output of the polyphase filter. Rather than perform- 23 kHz 53 kHz
ing the arc-tangent and then performing the derivative, L = Left channel audio
we can form the derivative directly from the Quadra- R = Right channel audio
ture components without need for explicitly computing Figure 9. Broadcast FM stereo encoding.
arc-tangent. This is shown in Eq. (3).
• •
• I (n) Q (n) − Q (n) I (n)
φ ( nT ) = (3) The commercial FM format is designed to provide ste-
I (n) 2 + Q (n) 2 reo signals to receivers designed for stereo reception

and to provide a mono audio for non-stereo receivers.
The resulting value, φ (nT ) , represents the derivative
The stereo components are added (L+R) and placed
of the phase of the FM modulated signal, and supplies at baseband for use in non-stereo receivers. A stereo
the required modulation waveform information. The receiver also extracts the second signal containing (L-
hardware implementation of the discriminator is illus- R) from which the two separate components (L and R)
trated in Figure 8. The derivative filter has an odd are formed as a sum and difference as shown in Eq.
number of weights and the filtering operation per- (4).
formed in the differentiator block provides a valid de-
rivative after of an input sample delay of [N-1]/2 sam- [ L + R ](n) + [ L − R ](n) = 2 L(n)
ples. Due to the filter delay before a valid derivative is (4)
available, the raw input data must also be suitable de- [ L + R ](n) − [ L − R ](n) = 2 R (n)
layed in order to maintain proper time alignment. Pre-
ferring not to perform the divide operation, the de- The demodulation of the double sideband suppressed
nominator of [9], which is a scaling factor, can be ig- carrier (DSB-SC) (L-R) signal is accomplished by a
nored if the incoming signal is relatively constant. heterodyne to baseband. The coherent local oscillator
required for the demodulation is obtained from the ac-
I(n-(N-1)/2) companying 19 kHz pilot signal. This pilot signal is
isolated by a band pass filter and is frequency doubled
. to form the required 38 kHz reference required to
I(n)
I(n) Digital Differentiator down-convert the (L-R) signal. The delay inserted by
the low pass filtering of the down converted (L-R) sig-
nal precisely matches the delay inserted by the same
low pass filter inserted by the filter processing the
Q(n) Digital Differentiator . (L+R) signal.
Q(n)
Standard FIR filters can be used to perform all the fil-
Q(n-(N-1)/2) tering needed for the stereo separation. Polyphase
filter structures lend themselves well to perform these
operations with a remarkable workload reduction.
Figure 8. FM discriminator.
The complete radio design occupies 2,226 logic slices,
25 block memories and 29 multipliers. With additional
work to increase resource sharing the block memory
4.5 Stereo Separation and multiplier requirements could be reduced.

A stereo FM channel consists of two sub channels,


one residing at baseband and the other offset on a 38
kHz sub-carrier - Figure 9. The two channels, denoted
5 Conclusion
L+R (sum of left (L) and right (R) audio) and L-R are
15 kHz audio signals. Potential revenue streams for communications service
suppliers based on new business models are driving
infrastructure equipment manufacturers to develop
new hardware platforms that provide unprecedented
performance. However, the performance aspects of
these new generation systems is only one component
of the very complex set of parameters that must be
considered when building new equipment. Time-to- [6] Virtex-4 FPGAs, Xilinx Inc.,
market pressure continues to increase, which in turn http://www.xilinx.com/xlnx/xil_prodcat_landingpag
impacts the device technologies that are used in new e.jsp?title=Virtex-4
generation communication equipment. In the past,
system designers may have looked to application spe- [7] Virtex-II Datasheet, Xilinx Inc.,
cific integrated circuits (ASIC) or DSP processor array http://www.xilinx.com/xlnx/xweb/xil_publications_di
solutions. ASIC-based designs are increasingly not play.jsp?category=/Data+Sheets/FPGA+Device+F
sustainable due to escalating non-recurring engineer- amilies/Virtex-II&iLanguageID=1
ing (NRE) costs associated with advanced 90 or 65
nm process nodes. DSP processor arrays are chal- [8] C. Dick, “The Platform FPGA: Enabling the
lenging due to problem partitioning, inter-processor Software Radio”, SDR’02, Software Defined
communication and software flow issues. New genera- Radio Technical Conference, 11-12 Novem-
tion field programmable gate arrays provide a silicon ber 2002, San Diego, CA.
platform for building state-of-the-art communication
systems. The FPGA s suitable for addressing the
physical layer and multi-media processing require-
ments, in addition to providing support, by way of em-
bedded processors, or running protocol stacks associ-
ated with broader system connectivity.

This paper provided an overview of an FPGA imple-


mentation of a FM receiver. While FM is a simple
waveform by today’s standards, it is nevertheless a
modulation scheme that needs to be supported in a
number of application segments, e.g. military commu-
nications. A perspective of the work presented in the
paper is as one possible radio personality of a soft-
ware defined radio system.

6 References
[1] The Joint Tactical Radio System (JTRS) Program,
http://jtrs.army.mil/

[2] C. Dick, f. harris and M. Rice, “FPGA Implementa-


tion of Carrier Phase Synchronization for QAM
Demodulators”, J. of VLSI Signal Processing,
Special Issue: Special Issue on Field Programma-
ble Logic, Eds., Roger Woods and Russ Tessier,
Kluwer Academic Publishers, pp. 57-71, Jan.
2004.

[3] C. Dick and f. harris, “FPGA QAM Demodulator


Design”, 12th International Conference on Field
Programmable Logic and Applications, September
2-4, 2002 Montpellier(La Grande-Motte), France.

[4] C. Dick and f. harris, “FPGA Implementation of an


OFDM PHY”, IEEE Thirty-Seventh Asilomar Con-
ference on Signals, Systems and Computers, Pa-
cific Grove, CA, Nov. 9-12, 2003.

[5] Virtex-II Pro Datasheet, Xilinx Inc.,


http://www.xilinx.com/xlnx/xweb/xil_publications_di
splay.jsp?category=Publications/FPGA+Device+F
amilies/Virtex-II+Pro&iLanguageID=1

View publication stats

Potrebbero piacerti anche