discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] atsc_cpll finally works


From: Charles Swiger
Subject: Re: [Discuss-gnuradio] atsc_cpll finally works
Date: Fri, 23 May 2008 06:28:16 -0400

On Thu, 2008-05-22 at 22:53 -0400, Achilleas Anastasopoulos wrote:
> Chuck,
> 
> I have a question regarding the comment you made in an earlier email on 
> the subject:
> 
> You said:
> -------------
> Now my question: Is it possible to tune the usrp so the carrier is at
> +.31 Mhz ? (band center at 3, from -.2 to 6.2Mhz?)  Then we could run
> the cpll at 6.4 or 8Msps and get another big performance boost, maybe.
> Right now the pll at 19.2 Mhz (6.4 * 3) is an expensive part. Eric, I
> guess the bit timing loop would work at 24Mhz (8 * 3).
> -------------
> 
> I don't see where the 19.2 MHz figure comes about...
> 

> So the signal u(t) needs to be sampled at 6 Complex-Msps, which is what 
> you do (sampling it at 6.4 Complex-Msps, or as Eric wants at 8 
> complex-Msps).
> 
> Now my understanding is that you need to upsample u(t) by a factor of 2
> (in software, ie, making it a 12.8 Complex-Msps signal) and then
> run on it the complex pll where the nominal VCO frequency is
> fsym/4 = 2.69MHz.
> The "out" signal of the cPLL will be the real signal x(t) sampled at
> 12.8 Msps which is fine since this is the original 8-PAM signal after 
> Nyquist sampling.
> 
> So, what is the 19.2 MHz frequency you are referring to?
> The way I see it the cPLL works at 12.8 complex-Msps.

Yes, 12.8 or 16Msps would be perfect for the pll - however the next
stage is a 'bit timing loop' (atsc.bit_timing_loop) which uses
'atsci_sssr' (symbol sync and segment recovery) which uses an
interpolator (gri_mmse_fir_interpolator - 'minimal mean square error')
which, for reason unknown to me, requires the
nominal_raio_of_rx_clock_to_symbol_freq (~10.76M) to be greater than
1.8.  I relaxed that just a bit to get by with a slightly lower sample
rate of 19.2  (19.2/10.76 ~= 1.7844) which was easy to get from 6.4Msps
which is easy to get from the usrp. It would be nice to be able to
cheaply upsample from 12.8(16) to 19.2(24)Msps somehow.   The mmse
interpolator notes says:

 * This implements a Mininum Mean Squared Error interpolator with 8
taps.
 * It is suitable for signals where the bandwidth of interest B =
1/(4*Ts)
 * Where Ts is the time between samples.

That looks like your fsym/4. B = 3.2Mhz at 12.8Msps, and 4.8Mhz at
19.2Msps - I'm not sure what that means ;)   Will the bit_timing_loop
work at 12.8(16)Msps input to recover the 10.76M symbols-per-second?
It's magic to me.


--Chuck






reply via email to

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