Going With The FLO...
Qualcomm MediaFLO that is


Introduction:

MediaFLO is a service for broadcasting digital television content to mobile devices (in car receivers, mobile phones, etc) that is in the process of being deployed across the U.S. on former analog television channel 55 (716-722MHz).  This signal is already being transmitted in some markets that do not have active TV broadcasting in this frequency slot.  The data stream itself consists of approximately ten different television programs at a resolution appropriate for smaller screens (much less than HDTV).

This page examines the technical feasibility of using USRP hardware equipped with a TVRX daughterboard and GNU Radio to receive MediaFLO data.  This is primarily a learning exercise to see what issues may be encountered with large bandwidth & high data rate OFDM systems. 
The techniques are expected to be somewhat applicable to other OFDM projects such as Ibiquity HD Radio, Digital Radio Mondiale (DRM), DAB, et cetera.  Consequently we have stopped work at the point of receiving the raw physical layer data stream.  Besides... most of the actual application data should be encrypted since this is a subscription service.

A thorough and accessible MediaFLO technical description is provided in Qualcomm's online resources.  This document covers literally everything you need to know to roll your own MediaFLO receiver.

A competing ICO S-Band DVB-SH system is in the initial stages of deployment.  These types of services aim to at least partly fill the gap created by the ATSC digital television standard which is not suitable for mobile environments.


MediaFLO with the USRP & GNU Radio:

A USRP equipped with a TVRX daughterboard was tuned to the center frequency of 719MHz and a FPGA decimation rate of 10 was selected to adequately sample the entire 6MHz channel with some extra margin.  The computer therefore receives a data stream representing a 6.4MHz spectrum slice.  Since MediaFLO requires a 5.55MHz FFT rate the input signal must be resampled to a 5.55MHz rate.

Time synchronization is achieved by looking for the cyclic prefix maximum correlation peak.  In this system the cyclic prefix represents the last 1/8th of the 4096 point OFDM symbols; therefore we cross correlate 512 samples with the data stream 4096 points further down to locate the start of the OFDM symbol.  With all overhead and guard times we end up with OFDM symbols appearing at a 1355Hz rate.

At this point we use the phase difference between the cyclic prefix and the nominally identical tail end of the OFDM symbol to estimate the TVRX local oscillator frequency drift during the symbol period.  We approximate the drift as linear and correct for this effect since leaving this step out produces a noticeable performance degradation.
  Empirical observations show that the TVRX local oscillator can drift several hundred Hertz during the reception of a single OFDM single (time period a little under one millisecond).

At this point we are now ready to take an FFT of the OFDM symbol and see if we are recovering any data by plotting the magnitude response:

Media FLO Symbol, Magnitude Only

We immediately observe the magnitude splitting into three bands which is characteristic of the 16QAM data symbols.  The QPSK pilot symbols fall on a single magnitude band as expected.  Ideally the magnitude response should be flat but since this is not the case some further investigation is warranted.  It is suspected the USRP FPGA filtering and/or TVRX frequency response may play a role here.  This could account for why the frequency response has fallen ~3dB towards the band edges.  We also see some slight disturbances around FFT bins 750 and 3250 which also need to be clarified.

The guard symbols can be used to help center the FFT exactly by ensuring the guards on both edges are about equal in size.  We will still have the issue of not being able to center the TVRX directly on the center of the OFDM symbol frequency which is somewhat of a problem since the very center symbol is unusable because it represents the DC term.  But this can probably be worked around with the error correction.

Undeterred we plunge straight ahead and recover the raw stream by using the QPSK pilots as references.  We note that each OFDM symbol is subject to a scrambling sequence which includes not only the data but the pilots too!  And the scrambling is a function of factors such as the OFDM position in a frame, ID codes, etc.  This means the scrambling sequence changes for each successive OFDM symbol.  Luckily everything is laid out in Qualcomm's MediaFLO description;  we know we worked things out correctly when something like the following constellation diagram pops out:

Recovered MediFLO Symbol Constellation

Most points are tightly clustered and clearly would be correctly detected.  The outliers are from around
FFT bins 750 and 3250 which spoil what otherwise would have been complete and utter perfection.


Conclusions:

The USRP + TVRX Daughterboard + GNU Radio looks promising for MediaFLO style OFDM systems.

The TVRX local oscillator phase noise produced noticeable but manageable effects.
Some issues with the system frequency response need to be characterized.



Some comments on the USRP TVRX daughterboard phase noise:

Here we do some back of the envelope TVRX phase noise calculations.  Since the TVRX is based on a Temics Microtune 4937 cable modem tuner we find the following:

From 4937 Datasheet: UHF Band
Typical Downstream Phase Noise Characteristics
Offset from carrier
1 kHz
10 kHz
100 kHz
Phase Noise
-58 dBc/Hz
-85 dBc/Hz -103 dBc/Hz

Approximating the phase noise at a -20dB/decade dropoff over a 6MHz bandwidth we can estimate the residual RMS FM deviation at possibly a few kHz worst case.  This isn't quite as bad as it seems since we can take care of fixed frequency offsets.  In fact we are more interested in a different metric: namely what is the change in local oscillator frequency over the time span span required to transmit one OFDM symbol?  Empirically this appears to be no higher than ± several hundred Hertz which is within one OFDM spacing (1355 Hz) and thus can be managed.

We note the typical Microtune 4937 VHF-Low performance is roughly 10dBc/Hz better which makes life nicer for applications such as FM band HDRadio.



What Was Marketing Thinking?

FLO stands for "Forward Link Only".  This is easy to confuse with some of the more popularly known FLOs.  In the public interest we offer the following helpful guide:

Type of FLO
Targeted Body Part
FLOnase
Nasal Area (Allergy symptoms)
FLOmax
Prostate gland
FLOwbie
Head (Excess hair)
MediaFLO
Brain (Try turning the TV off and do something like reading a book!)



Back to radiorausch home page for more low SNR web pages