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
CPFSK demodulation and synchronization
Started by ●December 2, 2010
Reply by ●December 3, 20102010-12-03
On Dec 2, 12:34�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 lotThe 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