Low SNR PLL
Low SNR PLL
(OP)
I need to develop a digital phaselock loop to track a very low SNR quadraphase signal. The Esym/No is around 0.5 dB and there is a lot of doppler (1kHz/sec change for a 32 ksym/sec modulation rate). I have seen smoothers and Kalman-type approaches and they are pretty complicated and I need to put several of these demods in my receiver to handle multiple received signals from different users.
I am about 1.5 dB below where a reqular Costas-type PI Loop fails, so I am sure I need to increase my loop SNR by using memory (like a smoother) but want a simple approach that will let me open up my loop bandwidth and still track well.
Any suggestions??
I am about 1.5 dB below where a reqular Costas-type PI Loop fails, so I am sure I need to increase my loop SNR by using memory (like a smoother) but want a simple approach that will let me open up my loop bandwidth and still track well.
Any suggestions??
RE: Low SNR PLL
Good Luck!
John Solar
RE: Low SNR PLL
Phase detector is just Err = Q*sgn(I) - I*sgn(Q) which is the maximum likelihood solution for QPSK. The fundamental problem is that you would like to average to get a lot of noise rejection into the loop. The issue is averaging implies delay, which is always bad in a feedback loop. Smoothers tend to average the PLL output {NCO output to rotate the signal after the loop filter (which follows the phase detector which generates the error signal)}. The ML solutions tend to try brute-force approaches {try every freq/phase combinations and use logic to select the "correct" one to use as the error signal into a loop designed to track particular Doppler characteristics (order of the response)}. Using decoded data in our case has way to much delay to train the loop.
Turns out the extended kalman isn't that great. Solved problem by recycling training symbols from a preamble by using a delay line to effectively recycle preamble data after the nondelayed data is used to estimate timing, phase,frequency to steer the loop in the right direction (no costas loss due to known data), and then since the phase and freq are very good at the start of the random data portion the loop can handle it.
The smoothers I discovered don't help with loss-of-lock problems, they just improve jitter and are actually applied in a savitsky-golay configuration to the NCO output controlling th phase rotator which is smoothed and then a secondary path derotates on the smoothed NCO output with appropriate delay to account for the smoother observation delay. Raising the order of the loop from 2 to 3 also helps quite a bit under high Doppler rates.
I find the Kalman type solutions will just converge to the best PLL loop filter coefficients--which are a function of SNR only. The Kalman doesn't care about what the input signal looks like at all and in fact is not really adaptive at all (unless you adapt the P-matrix which has SNR info in it). Kalman approaches seem to be good in these one dimensional signals only when they can be applied linearly (like for timing recovery) where there really is no nonlinearity and you don't need to do the extended variation.
The smart move is to introduce Pilot symbols with a density that allows for traditional loop structures and doesn't waste too much BW/Energy by keeping the ratio of symbols dedicated to training small. (maybe by puncturing the coding to allow the punctured outputs to be dedicated to pilot symbols).
Can't use Cray's to demodulate signals yet!!
Thanks
RE: Low SNR PLL
johnwiss,
Good work. The recycled preamble sound like the key to your innovation. Averaging (of any sort, Kalman or otherwise) does not really help when you are below threshold (the point where the output SNR drops drastically with dropping input SNR). The cycle slips averaged give bad data. So finding a way to identify the cycle slips is the key. In an FM demodulator (PLL etc), the literature warns against this. Unfortunately, I have not seen many ways of actually doing much about it. Keeping a pilot tone of some sort does address the problem. Do you have control over the format? If so, you have the keys to solving the problem. A warning though. The voice guys did not like the puncturing (flag stealing) in GSM. If you can add the overhead and not actually steal, you might be better off. If you have a final phase (not sine wave phase, but last step in the modulation process) of CDMA like chopping you could use that as your pilot. The 3G/GSM world is doing that quite well. But they have the best experts around the world thinking about all the details.
Good Luck!
Best Regards,
John Solar