Thanks a lot Tom for your help. I now understand how Costas loop operates.
After all the tests that I did following your suggestions I was able to find
the answer for a lot of my unanswered questions.

Thanks again,
Ali

On Wed, May 27, 2009 at 10:42 AM, Tom Lutz <[email protected]> wrote:

> > I am using Flex-2400 boards and the received signal is ideally at
> baseband
> > which in fact is not possible because, of various factors. Now, we have a
> > signal that has a center frequency 'fc' which is not 0Hz. Assuming the
> > costas to lock at this carrier I can achieve my goal. Isn't it right?
> >
>
> The Costas loop can lock to fc, and will output the original signal
> mixed with fc (i.e. your signal at baseband), so yes is the answer.
> It is worthwhile to look close at the secondary output of the Costas
> loop.  This output is the frequency the loop is locked to, in radians
> per sample.  If you take the real part of this output (the imaginary
> is just 0), and multiply it by sampling_frequency/(2*pi) and send it
> to the oscilloscope or other graphical sink, you can see what
> frequency, in Hertz, the loop is locked to.  Nominally, you can try
> alpha=0.01 and beta=alpha^2/4 for the phase and frequency gains,
> respectively.  Try things out in simulation first.
>
> > Can you also tell me how fmax and fmin are calculated? For example,
> dbpsk.py
> > has fmax=0.1 and fmin=-0.1. How do we get these?
> >
>
> Frequency (in radians per sample) = 2*pi*(frequency) / (sample rate),
> so if your carrier were 2MHz at a sampling rate of 6MHz, it would be
> 2*pi*2000000/6000000~=2.09
>
> fmax=0.1 and fmin=-0.1 means the loop is set to lock to 0Hz (DC), with
> a tolerance of +/- 0.1Radians/Sample.
>
> Pick some margin above and below based on expected drift (say, for
> example, 1.95MHz and 2.05MHz), and calculate similarly to get your
> fmin and fmax.  Given that dbpsk.py has fmax=0.1 and fmin=-0.1, I'm
> lead to believe that the costas loop can work at DC, in which case the
> frequency would be roughly 0 and the phase would adjust to compensate
> for error.
>
> I don't consider myself an authoritative source for this stuff, as I
> just started playing with it myself, but this should get you going at
> least.
>
> Tom
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [email protected]
> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to