Reply by Tim Wescott 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
Reply by gobruins 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 gobruins 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 John March 23, 20102010-03-23
On Mar 22, 8:38&#4294967295;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 gobruins 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 John March 22, 20102010-03-22
On Mar 22, 5:05&nbsp;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?&#12288;If it is the phase&#65292;&#12288;the phase > is&#12288;&#65298;*&#65360;&#65353;*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 gobruins 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?&#12288;If it is the phase&#65292;&#12288;the phase is&#12288;&#65298;*&#65360;&#65353;*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 Darol Klawetter March 22, 20102010-03-22
On Mar 22, 1:20&nbsp;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 > &nbsp; &nbsp; &nbsp; |---| &nbsp; |---| &nbsp; &nbsp; &nbsp; fc+fd/2 > &nbsp;- - -|- -| - | - | - - - fc > &nbsp; &nbsp;---| &nbsp; |---| &nbsp; |--- &nbsp; &nbsp;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&#12288;&#65321;&#12288;&#65345;&#65357;&#12288;&#65358;&#65359;&#65364;&#12288;&#65363;&#65365;&#65362;&#65349;&#12288;&#65352;&#65359;&#65367;&#12288;&#65364;&#65359;&#12288;&#65348;&#65359;&#12288;&#65364;&#65352;&#65349;&#12288;&#65347;&#65345;&#65362;&#65362;&#65353;&#65349;&#65362;&#12288;&#65363;&#65369;&#65358;&#65347;&#65352;&#65362;&#65359;&#65358;&#65353;&#65347;&#65345;&#65364;&#65353;&#65359;&#65358;&#65294;&#12288;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 gobruins March 22, 20102010-03-22
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&#12288;&#65321;&#12288;&#65345;&#65357;&#12288;&#65358;&#65359;&#65364;&#12288;&#65363;&#65365;&#65362;&#65349;&#12288;&#65352;&#65359;&#65367;&#12288;&#65364;&#65359;&#12288;&#65348;&#65359;&#12288;&#65364;&#65352;&#65349;&#12288;&#65347;&#65345;&#65362;&#65362;&#65353;&#65349;&#65362;&#12288;&#65363;&#65369;&#65358;&#65347;&#65352;&#65362;&#65359;&#65358;&#65353;&#65347;&#65345;&#65364;&#65353;&#65359;&#65358;&#65294;&#12288;Can
anyone point me a method how to do this? 

Thanks a lot!