From: kadhiem_ayob on
Hi All,

I am developing a carrier tracking module for 16QAM receiver based on
Costas loop on an fpga platform. Tracking works well on either side of zero
frequency and over zero if crossing rate is several seconds or minutes
apart.
However it loses lock and relocks if zero crossing rate is few seconds
apart.
Is this acceptable to an average RF expectations or do you think I can
improve on it.

Regards

kadhiem

---------------------------------------
Posted through http://www.FPGARelated.com
From: kadhiem_ayob on
To further explain my problem:

I use an NCO to generate stimulus of cos/sin pair, multiply with the QAM
i/q symbols...then track the carrier as I change the NCO frequency in
steps.

When crossing zero frequency, tracking manages first few crosses then may
fail but relocks. Looking at the waveforms at zero crossing point, I get
into some doubts about my understanding in principle. I know we can get
negative frequency from positive frequency by inverting the sine wave or by
reading the LUT in reverse time. These two ways are not identical at the
crossing point. My tracking is based on reversing LUT for -f and so is my
NCO.
With reverse LUT reading, I notice that phase can suffer variation at the
crossing; for example if I hit the mid-poit of a symmetrical section of
waves then read back to get -f then the continuity looks best. At other
extreme I could be before the peak of cosine only to reverse back leading
to anything between 0 ~ 360 phase variation of negative pair with respect
to positive pair.
The question is how can I expect tracking not to fail with such phase
variation. Or in other words; how does a real RF upconverter/downconverter
link final frequency cross the zero and how to model it best?

Regards

kadhiem


---------------------------------------
Posted through http://www.FPGARelated.com
From: kadhiem_ayob on
I believe I finally sorted out the issue thanks to Matlab.

A LUT based approach for frquency synthesis is ok for positive or negative
frequency synthesis. However it is very glitchy at zero cross over. The
right model is to generate 2 frequencies(one drifting down, the other up so
that they criss-cross). The two frequency sources are then multiplied
together to produce proper vector for zero crossing.

Regards

kadhiem

---------------------------------------
Posted through http://www.FPGARelated.com
From: glen herrmannsfeldt on
kadhiem_ayob <kadhiem_ayob(a)n_o_s_p_a_m.n_o_s_p_a_m.yahoo.co.uk> wrote:
> I believe I finally sorted out the issue thanks to Matlab.

> A LUT based approach for frquency synthesis is ok for positive or negative
> frequency synthesis. However it is very glitchy at zero cross over. The
> right model is to generate 2 frequencies(one drifting down, the other up so
> that they criss-cross). The two frequency sources are then multiplied
> together to produce proper vector for zero crossing.

Reminds me of an HP signal generator, I believe 3325B, which uses
a combination of frequency generators and mixers to generate the
range of frequencies from 1uHz to 20.999999999 MHz.

I used to know more of the details about how it works, but part
rembering and part looking on the web, it generates 30MHz more than
the desired frequency, and then mixes down for the resulting output.

-- glen