On Fri, 13 Aug 2010 19:04:44 -0700 (PDT), John <sampson164@gmail.com>
wrote:

>On Aug 13, 12:34=A0pm, eric.jacob...@ieee.org (Eric Jacobsen) wrote:
>> On Fri, 13 Aug 2010 07:04:40 -0700 (PDT), John <sampson...@gmail.com>
>> wrote:
>>
>> >On Aug 13, 5:10=3DA0am, Sonali Agarwal <sonali...@gmail.com> wrote:
>> >> Hello,
>> >> =3DA0 =3DA0i want do do carrier recovery using costas loop(BPSK based)=
> for
>> >> coherent demodulation of GMSK. Has anybody tried it? If =3DA0yes, plea=
>se
>> >> help me out.
>>
>> >> Thanks and Regards,
>> >> Sonali
>>
>> >The standard Costas loop will not work for MSK because the phase
>> >rotates by pi/2 radians within each symbol. I am sure some regulars
>> >here will point to toward a couple of approaches to the problem.
>>
>> >John
>>
>> If you remove the 1/2 symbol offset in the channels prior to the phase
>> detector a Costas Loop works just fine.
>>
>> Eric Jacobsen
>> Minister of Algorithms
>> Abineau Communicationshttp://www.abineau.com
>
>For MSK, the standard BPSK Costas loop requires a third multiplicative
>term in the usual I*Q phase detector: I*Q*(Rb/2) where Rb/2 is half-
>rate recovered bit clock. The math will show you why this is required.
>In practice it can be tricky to make it work well.
>
>John

As Doug mentioned, MSK is essentially OQPSK with a funny pulse shape.
It is pretty easy to demodulator MSK/CPM/CQPSK/TFM/etc., etc., with an
OQPSK demodulator, as I described. Remove the 1/2 symbol delay
before the phase detector.
It's been implemented that way successfully hundreds of times over, by
me and many others, with no loss of performance.
Eric Jacobsen
Minister of Algorithms
Abineau Communications
http://www.abineau.com

Reply by John●August 13, 20102010-08-13

On Aug 13, 12:34�pm, eric.jacob...@ieee.org (Eric Jacobsen) wrote:

> On Fri, 13 Aug 2010 07:04:40 -0700 (PDT), John <sampson...@gmail.com>
> wrote:
>
> >On Aug 13, 5:10=A0am, Sonali Agarwal <sonali...@gmail.com> wrote:
> >> Hello,
> >> =A0 =A0i want do do carrier recovery using costas loop(BPSK based) for
> >> coherent demodulation of GMSK. Has anybody tried it? If =A0yes, please
> >> help me out.
>
> >> Thanks and Regards,
> >> Sonali
>
> >The standard Costas loop will not work for MSK because the phase
> >rotates by pi/2 radians within each symbol. I am sure some regulars
> >here will point to toward a couple of approaches to the problem.
>
> >John
>
> If you remove the 1/2 symbol offset in the channels prior to the phase
> detector a Costas Loop works just fine.
>
> Eric Jacobsen
> Minister of Algorithms
> Abineau Communicationshttp://www.abineau.com

For MSK, the standard BPSK Costas loop requires a third multiplicative
term in the usual I*Q phase detector: I*Q*(Rb/2) where Rb/2 is half-
rate recovered bit clock. The math will show you why this is required.
In practice it can be tricky to make it work well.
John

Reply by Doug●August 13, 20102010-08-13

On Aug 13, 5:10�am, Sonali Agarwal <sonali...@gmail.com> wrote:

> Hello,
> � �i want do do carrier recovery using costas loop(BPSK based) for
> coherent demodulation of GMSK. Has anybody tried it? If �yes, please
> help me out.
>
> Thanks and Regards,
> Sonali

You can demodulate it the same as if it were an OQPSK signal. Just
configure the matched filter to match the first pulse of Laurent's
decomposition and the rest is identical to OQPSK.
-Doug

Reply by Eric Jacobsen●August 13, 20102010-08-13

On Fri, 13 Aug 2010 07:04:40 -0700 (PDT), John <sampson164@gmail.com>
wrote:

>On Aug 13, 5:10=A0am, Sonali Agarwal <sonali...@gmail.com> wrote:
>> Hello,
>> =A0 =A0i want do do carrier recovery using costas loop(BPSK based) for
>> coherent demodulation of GMSK. Has anybody tried it? If =A0yes, please
>> help me out.
>>
>> Thanks and Regards,
>> Sonali
>
>The standard Costas loop will not work for MSK because the phase
>rotates by pi/2 radians within each symbol. I am sure some regulars
>here will point to toward a couple of approaches to the problem.
>
>John

If you remove the 1/2 symbol offset in the channels prior to the phase
detector a Costas Loop works just fine.
Eric Jacobsen
Minister of Algorithms
Abineau Communications
http://www.abineau.com

Reply by Tim Wescott●August 13, 20102010-08-13

On 08/13/2010 07:04 AM, John wrote:

> On Aug 13, 5:10 am, Sonali Agarwal<sonali...@gmail.com> wrote:
>> Hello,
>> i want do do carrier recovery using costas loop(BPSK based) for
>> coherent demodulation of GMSK. Has anybody tried it? If yes, please
>> help me out.
>>
>> Thanks and Regards,
>> Sonali
>
> The standard Costas loop will not work for MSK because the phase
> rotates by pi/2 radians within each symbol. I am sure some regulars
> here will point to toward a couple of approaches to the problem.

You can do a Costas loop with MSK -- I know, because I've done it.
Unfortunately I did it over 20 years ago, so the only detail that I
remember is that with high noise and a low sampling rate the variant of
the Costas loop that I was using tends to acquire a bias in the phase
error that overwhelms the actual signal. So I ended up using a
square-and-filter loop instead.
One of the first two references in this bibliography has some pointers
to using a Costas loop with MSK:
http://www.wescottdesign.com/articles/MSK/page_81.html. But I can't
remember if it just says "use a Costas loop" or if it actually details
its use.
If you take a real MSK signal and square it, you get two distinct tones
centered at twice the carrier frequency, with each tone spaced 1/2 the
bit rate away from the center. You can phase lock to these tones, then
divide by two, and get a really nice lock for both the bit clock and the
carrier. I don't know how this would work for GMSK -- you'd have to
play with it a bit. I also don't know how this would work for an I/Q
signal -- you'd have to think about how to do the squaring operation
such that your result was sensible.
I used this "square and filter" approach when I did that project; the
next time I needed to demodulate GMSK I was doing it in batches in
Scilab, and I used an algorithm that's sort of a sad mutant offspring of
the Costas loop that only makes sense when you're demodulating GMSK long
after the fact with a processor that has an excess of computational
power in a project environment that puts far more stress on controlling
engineering cost vs. controlling receiver cost.
--
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html

Reply by Tim Wescott●August 13, 20102010-08-13

On 08/13/2010 02:10 AM, Sonali Agarwal wrote:

> Hello,
> i want do do carrier recovery using costas loop(BPSK based) for
> coherent demodulation of GMSK. Has anybody tried it? If yes, please
> help me out.

On Aug 13, 5:10�am, Sonali Agarwal <sonali...@gmail.com> wrote:

> Hello,
> � �i want do do carrier recovery using costas loop(BPSK based) for
> coherent demodulation of GMSK. Has anybody tried it? If �yes, please
> help me out.
>
> Thanks and Regards,
> Sonali

The standard Costas loop will not work for MSK because the phase
rotates by pi/2 radians within each symbol. I am sure some regulars
here will point to toward a couple of approaches to the problem.
John

Reply by Sonali Agarwal●August 13, 20102010-08-13

Hello,
i want do do carrier recovery using costas loop(BPSK based) for
coherent demodulation of GMSK. Has anybody tried it? If yes, please
help me out.
Thanks and Regards,
Sonali