Prev: Wavelets
From: Sonali Agarwal on 13 Aug 2010 05:10 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
From: John on 13 Aug 2010 10:04 On Aug 13, 5:10 am, Sonali Agarwal <sonali...(a)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
From: Tim Wescott on 13 Aug 2010 12:21 On 08/13/2010 07:04 AM, John wrote: > On Aug 13, 5:10 am, Sonali Agarwal<sonali...(a)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
From: Tim Wescott on 13 Aug 2010 12:21 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. Read this, too, there may be some nuggets you can use: http://www.wescottdesign.com/articles/MSK/mskTop.html. -- 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
From: Eric Jacobsen on 13 Aug 2010 12:34
On Fri, 13 Aug 2010 07:04:40 -0700 (PDT), John <sampson164(a)gmail.com> wrote: >On Aug 13, 5:10=A0am, Sonali Agarwal <sonali...(a)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 |