discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] A little DQPSK demodulation progress and a questi


From: Eric Blossom
Subject: Re: [Discuss-gnuradio] A little DQPSK demodulation progress and a question
Date: Mon, 31 Mar 2003 13:37:56 -0800
User-agent: Mutt/1.4i

On Mon, Mar 31, 2003 at 08:30:11AM +0100, Ian Wraith wrote:
>  My next stage is to recover the symbol timing which isn't as easy as I
> first thought. My original idea was to sum the I squared and Q squared
> through a band pass filter at the symbol rate and the resulting waveform
> peaks would be the symbol timing. However if you look at this document ..
> 
> http://www-s.ti.com/sc/psheets/spra341/spra341.pdf
> 
> then go to figure 30 on page 38 you will see the author uses a much more
> complex method of symobol timing recovery using a PLL. Can anyone tell me
> why my original idea for timing recovery wouldn't work ? or suggest
> another method of doing this ?

Note that in the paper the sampling rate is 100kHz and the symbol
rate is 25 kHz (pg 21).  Very handy to have them related by a nice
integer multple.

In your case, they're not so nicely related.

In general, the problem is to construct a sequence of symbols in the
receiver that are synchronized with the transmitter.   There are
always a couple of unknowns: the actual transmitter symbol clock, and
the phase offset between the tx and rx clocks.

The PLL (or other control loop) is used to steer the "resampler" or
"interpolator" of the receiver.  The output (perhaps decimated) of the
control loop will be your best shot at the symbols.  You steer the
loop with some kind of error signal derived from an estimate of the
timing or timing delta.

Your mag squared idea will probably work to generate the error
signal.  The trick is then to use that error info to figure out when
to say "now" for the interpolator.

If you haven't already, it's probably worth taking a look at the
symbol timing recovery code in the ATSC receiver.  It takes in a
stream of samples at 20MS/second and outputs a stream of raw symbols
at 10.76MS/second.  Although the generation of the error signal will
be different, the basic control loop for the interpolator can probably
be the same.  See gnuradio/src/gnu/dtv/GrAtscBitTimingLoop2 or
GrAtscBitTimingLoop3.  Loop3 is what we actually ended up with, but it
depends on some characteristics that are unique to VSB-8.  Loop2 was
designed to be more generic. It's probably a better starting place.

An excellent, though pretty heavy going, textbook on this topic is 
"Digital Communication Receivers: Synchronization, Channel Estimation
and Signal Processing" by Meyr, Moeneclaey and Fechtel, ISBN 0-471-50275-8

Eric




reply via email to

[Prev in Thread] Current Thread [Next in Thread]