I was wondering how to do carrier synchronization for CPFSK signals? I want to decode the CPFSK signal by computing the phase difference. The shape of the phase difference is similar to the following plot |---| |---| fc+fd/2 - - -|- -| - | - | - - - fc ---| |---| |--- fc-fd/2 where fc is the carrier, fd is the peak frequency deviation. Before send this demodulated data into the soft slicer, I have to build the sample clock and recover the carrier frequency. I plan to use the Gardner (or similar) detector to do the timing synchronization. The input to the TED is just the phase difference as shown above. But I am not sure how to do the carrier synchronication. Can anyone point me a method how to do this? Thanks a lot!
carrier synchronization for CPFSK demodulation
Started by ●March 22, 2010
Reply by ●March 22, 20102010-03-22
On Mar 22, 1:20 pm, "gobruins" <chunmei.kang@n_o_s_p_a_m.gmail.com> wrote:> I was wondering how to do carrier synchronization for CPFSK signals? > > I want to decode the CPFSK signal by computing the phase difference. The > shape of the phase difference is similar to the following plot > |---| |---| fc+fd/2 > - - -|- -| - | - | - - - fc > ---| |---| |--- fc-fd/2 > > where fc is the carrier, fd is the peak frequency deviation. > > Before send this demodulated data into the soft slicer, I have to build the > sample clock and recover the carrier frequency. > > I plan to use the Gardner (or similar) detector to do the timing > synchronization. The input to the TED is just the phase difference as shown > above. > > But I am not sure how to do the carrier synchronication. Can > anyone point me a method how to do this? > > Thanks a lot!Search for "costas loop" if you must do coherent demodulation. If non- coherent (i.e., no carrier recovery needed) demodulation is adequate, search for "differential detector."
Reply by ●March 22, 20102010-03-22
>Search for "costas loop" if you must do coherent demodulation. If non- >coherent (i.e., no carrier recovery needed) demodulation is adequate, >search for "differential detector." >The reason I choose coherent demodulation is because I thought it has improved SNR performance than noncoherent demodulator, am I right on this? For my project the minimum SNR for detection is 3dB, does this limit my decision on choosing demodulator? any recommendation? If I use a Costas loop for the carrier recovery, what is the error signal feed into the loop? If it is the phase, the phase is 2*pi*fc*t+integral(m(t)), how do I remove integral(m(t))? That is the part confuses me, I definitely need some advise on that. Thank.
Reply by ●March 22, 20102010-03-22
On Mar 22, 5:05 pm, "gobruins" <chunmei.kang@n_o_s_p_a_m.gmail.com> wrote:> >Search for "costas loop" if you must do coherent demodulation. If non- > >coherent (i.e., no carrier recovery needed) demodulation is adequate, > >search for "differential detector." > > The reason I choose coherent demodulation is because I thought it has > improved SNR performance than noncoherent demodulator, am I right on this? > > For my project the minimum SNR for detection is 3dB, does this limit my > decision on choosing demodulator? any recommendation? > > If I use a Costas loop for the carrier recovery, what is the error signal > feed into the loop? If it is the phase, the phase > is 2*pi*fc*t+integral(m(t)), how do I remove integral(m(t))? That > is the part confuses me, I definitely need some advise on that. > > Thank.What BER do you expect at 3 dB SNR? There are a number of options, including multi-bit (sequence) detection. Look for this paper: Coherent and Noncoherent Detection of CPFSK, Osborne & Luntz Also the book Digital Phase Modulation by Sundberg is good, pretty much the bible on CPFSK. John
Reply by ●March 22, 20102010-03-22
>What BER do you expect at 3 dB SNR? > >There are a number of options, including multi-bit (sequence) >detection. Look for this paper: > >Coherent and Noncoherent Detection of CPFSK, Osborne & Luntz > >Also the book Digital Phase Modulation by Sundberg is good, pretty >much the bible on CPFSK. > >John >I do not know right now what BER I am expected, but I guess we want to approach as close as possible to the theoretical curve. I will take a look at the book you advised. I just tried some simulations with Matlab/Simulink, I am using discriminator method, w/o noise, it performs great, even with large carrier offset and timing offset. However, when I add noise, the performance degrades rapidly, and especially when modulation index h is small, say h=0.5. Can I say the discriminator method has good performance for passband demodulation with large frequency separation? In my case, I need to deal with also small h. My carrier fc=1KHz, Baud rate=50Hz, h=0.5 and other possible values, what demodulation technique should I use? I kind of still prefer using Costas loop, since it is going to be a nice fit to the PSK demodulator we developed earlier. I searched around this afternoon, but I am still not sure how I should use a PLL to recover the carrier. What should be the phase error? Once locked is my VCO output the demodulated signal or the carrier?
Reply by ●March 23, 20102010-03-23
On Mar 22, 8:38�pm, "gobruins" <chunmei.kang@n_o_s_p_a_m.gmail.com> wrote:> >What BER do you expect at 3 dB SNR? > > >There are a number of options, including multi-bit (sequence) > >detection. Look for this paper: > > >Coherent and Noncoherent Detection of CPFSK, Osborne & Luntz > > >Also the book Digital Phase Modulation by Sundberg is good, pretty > >much the bible on CPFSK. > > >John > > I do not know right now what BER I am expected, but I guess we want to > approach as close as possible to the theoretical curve. > > I will take a look at the book you advised. > > I just tried some simulations with Matlab/Simulink, I am using > discriminator method, w/o noise, it performs great, even with large carrier > offset and timing offset. However, when I add noise, the performance > degrades rapidly, and especially when modulation index h is small, say > h=0.5. > > Can I say the discriminator method has good performance for passband > demodulation with large frequency separation? > > In my case, I need to deal with also small h. My carrier fc=1KHz, Baud > rate=50Hz, h=0.5 and other possible values, what demodulation technique > should I use? > > I kind of still prefer using Costas loop, since it is going to be a nice > fit to the PSK demodulator we developed earlier. > > I searched around this afternoon, but I am still not sure how I should use > a PLL to recover the carrier. What should be the phase error? Once locked > is my VCO output the demodulated signal or the carrier?The phase error detector has to take into account the phase change over a bit period. For h = 0.5, the phase changes 90 degrees over a bit period. If you establish timing recovery first, then look at the phase change from the start of a bit to the middle of a bit. It should be +45 for positive frequency shift or -45 for negative frequency shift. By adding or subtracting 45, you can get a phase error for your PLL. John
Reply by ●March 23, 20102010-03-23
>The phase error detector has to take into account the phase change >over a bit period. For h =3D 0.5, the phase changes 90 degrees over a >bit period. If you establish timing recovery first, then look at the >phase change from the start of a bit to the middle of a bit. It should >be +45 for positive frequency shift or -45 for negative frequency >shift. By adding or subtracting 45, you can get a phase error for your >PLL. > >John >I see, now it is clear to me, thank you so much. And one more question, is there a 'universal' lower bound of BER for FSK and MSK? When I develop my PSK demodulator, I have a mathematical equations to compute the theoretical BER curve like: http://en.wikipedia.org/wiki/File:PSK_BER_curves.svg, so I compared my measurements with this curve to understand the performance my demodulator. Could you please point me some articles about CPFSK and MSK BER derivative? Thanks again!
Reply by ●March 23, 20102010-03-23
>The phase error detector has to take into account the phase change >over a bit period. For h =3D 0.5, the phase changes 90 degrees over a >bit period. If you establish timing recovery first, then look at the >phase change from the start of a bit to the middle of a bit. It should >be +45 for positive frequency shift or -45 for negative frequency >shift. By adding or subtracting 45, you can get a phase error for your >PLL. > >John >I see, now it is clear to me, thank you so much. And one more question, is there a 'universal' lower bound of BER for FSK and MSK? When I develop my PSK demodulator, I have a mathematical equations to compute the theoretical BER curve like: http://en.wikipedia.org/wiki/File:PSK_BER_curves.svg, so I compared my measurements with this curve to understand the performance my demodulator. Could you please point me some articles about CPFSK and MSK BER derivative? Thanks again!
Reply by ●March 23, 20102010-03-23
gobruins wrote:>> The phase error detector has to take into account the phase change >> over a bit period. For h =3D 0.5, the phase changes 90 degrees over a >> bit period. If you establish timing recovery first, then look at the >> phase change from the start of a bit to the middle of a bit. It should >> be +45 for positive frequency shift or -45 for negative frequency >> shift. By adding or subtracting 45, you can get a phase error for your >> PLL. >> >> John >> > > > I see, now it is clear to me, thank you so much. > > And one more question, is there a 'universal' lower bound of BER for FSK > and MSK? > > When I develop my PSK demodulator, I have a mathematical equations to > compute the theoretical BER curve like: > http://en.wikipedia.org/wiki/File:PSK_BER_curves.svg, so I compared my > measurements with this curve to understand the performance my demodulator. > > > Could you please point me some articles about CPFSK and MSK BER > derivative?Well, the most universal lower bound is 0.5 -- but I don't think that's what you meant. If you make some simplifying assumptions you can find an optimal detector, and it's BER vs. noise performance. I think this is what you meant. A good book on communications systems will get you those curves. For some modulation schemes and channels* the reality will closely reflect the theory; for other modulation schemes and channels** the math is simply intractable, and at best you can find bounds that you know you'll never approach. * E.g. MSK in a channel with Gaussian noise ** E.g. MSK in a channel with impulsive noise, or FM radio (with output SNR substituted for BER) in any noisy channel. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com