Forums

CPFSK demodulation and synchronization

Started by gobruins December 2, 2010
I am trying to build a binary CPFSK demodulator with self synchronization.
Modulation index is not fixed. I kind of prefer coherent demodulation, but
not sure how to do the synchronization.

The following is some understandings I have during the literature survey, I
appreciate if I can get some comment on my understandings.

1. One type of coherent demodulation I know of is ZCD based and using
Viterbi algorithm for symbol detection, but the Viterbi algorithm
computation complexity increases rapidly if modulation index h is a
rational number h=p/q, and when q is big. Say if h=0.3, then the trellis
diagram involves 20 states.

2. Another technique is correlation receiver as stated in the paper
"Coherent and Noncoherent detection of CPFSK" by William P. OSBORNE. If I
observe 3-5 bit symbol period, seems I can obtain near-optimum BER
performance. But I am not sure how to do timing and carrier synchronization
in this case. Can anyone help me on this?

3. I also tried to use a Costas loop to lock to the carrier and timing.
What I did is compute the derivative of the phase of the incoming signal,
and tried to use a Gardner timing error detector to sync the timing as
mentioned in this thread:
http://www.dsprelated.com/showmessage/125137/1.php
But when I observe the derivative of the phase it is very noisy even when
EbNo=20dB. 
So I wonder what BER performance I am going to get using this method.
Can this synchronization technique be used with the correlation receiver in
2?

Thanks. a lot
 
On Dec 2, 12:34&#2013266080;pm, "gobruins" <chunmei.kang@n_o_s_p_a_m.gmail.com>
wrote:
> I am trying to build a binary CPFSK demodulator with self synchronization. > Modulation index is not fixed. I kind of prefer coherent demodulation, but > not sure how to do the synchronization. > > The following is some understandings I have during the literature survey, I > appreciate if I can get some comment on my understandings. > > 1. One type of coherent demodulation I know of is ZCD based and using > Viterbi algorithm for symbol detection, but the Viterbi algorithm > computation complexity increases rapidly if modulation index h is a > rational number h=p/q, and when q is big. Say if h=0.3, then the trellis > diagram involves 20 states. > > 2. Another technique is correlation receiver as stated in the paper > "Coherent and Noncoherent detection of CPFSK" by William P. OSBORNE. If I > observe 3-5 bit symbol period, seems I can obtain near-optimum BER > performance. But I am not sure how to do timing and carrier synchronization > in this case. Can anyone help me on this? > > 3. I also tried to use a Costas loop to lock to the carrier and timing. > What I did is compute the derivative of the phase of the incoming signal, > and tried to use a Gardner timing error detector to sync the timing as > mentioned in this thread:http://www.dsprelated.com/showmessage/125137/1.php > But when I observe the derivative of the phase it is very noisy even when > EbNo=20dB. > So I wonder what BER performance I am going to get using this method. > Can this synchronization technique be used with the correlation receiver in > 2? > > Thanks. a lot
The Osborne & Luntz noncoherent, multi-bit sequence correlation approach is a good one provided that the frequency error is much smaller than the baud rate. You don't have to recover the phase at all, you can recover the timing after correlation, BER performance approaches coherent as the sequence length gets long, and you get soft decisions for the FEC decoder. I recommend considering it if you've got the horsepower. John