[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] USRP Synchronization
From: |
Eric Blossom |
Subject: |
Re: [Discuss-gnuradio] USRP Synchronization |
Date: |
Sat, 13 May 2006 10:12:41 -0700 |
User-agent: |
Mutt/1.5.9i |
On Fri, May 12, 2006 at 01:27:14PM -0700, John Gilmore wrote:
> > What you're describing is currently tough with the basic tx since it's
> > effectively "always on" once you fire it up. If you underrun, the
> > FPGA will continue transmitting the same value to the DAC (which has
> > the upconverter in it), thus even if you're "not transmitting", it's
> > highly likely that you really *are* still transmitting.
> > ...
> > * modify the FPGA code such that when the TX fifo is empty, you
> > ramp the value fed to the DAC down to zero over say 8 clocks.
>
> Why would it take 8 clocks? Surely the hardware could do the hard
> part (jam it to zero immediately) and the software could do the rest
> (if it needs to taper off over 8 clocks, end with the right samples).
Jamming it to zero creates a square wave, which in the frequency
domain is really ugly (infinite harmonics... Like bad CW key
shaping). Ramping it down avoids the problem. If we right shift by 2
(with proper handling of the -1 and -2 cases) every clock, after 8
clocks it'll be zero.
> Hmm, in fact, why is this a problem at all? Why can't the software
> ensure that the final sample before underrun is a zero? The hardware
> will then keep repeating this final sample forever.
With the current flow graph, it's *really* hard to do this. I would
have done it already otherwise ;) The input to the flow graph is data
to be modulated, the output is the stream of modulated samples.
There's no way simple/sane way to get the last samples to be zero --
it's FSK. This is part of the motivation for the m-block stuff. It
allows us to run the existing flow graph and then tweak/append to the
output.
> (I suppose this would be possible if you aren't using any of the
> upconverters -- but if the FPGA or the DAC is upconverting, then you
> have to jam a real zero, not an upconverted zero? Is this even
> possible?)
An upconverted zero is still a zero. The complex mag is zero, so
even though we're using the upconverter in the DAC, sending zeros will
work.
Eric