I'm trying to implement a BPSK demodulator in Matlab. Everything works fine as expected if my modulator & demodulator are at the exact same frequency. However if my modulator is off slightly, the phase rotates as expected. Does anybody have any papers or references for tracking this phase rotation, such that frequency offset doesn't kill my demodulator? Thanks,
phase tracking algorithm
Started by ●October 30, 2009
Reply by ●October 30, 20092009-10-30
>I'm trying to implement a BPSK demodulator in Matlab. Everything works >fine as expected if my modulator & demodulator are at the exact same >frequency. However if my modulator is off slightly, the phase rotatesas>expected. > >Does anybody have any papers or references for tracking this phase >rotation, such that frequency offset doesn't kill my demodulator? > >Thanks, > > >I should mention that the signal I want to track is already at baseband, so I'm not sure if a Costas loop is applicable??
Reply by ●October 30, 20092009-10-30
On Oct 30, 10:48�am, "rbb" <Rory.Bucha...@onsemi.com> wrote:> >I'm trying to implement a BPSK demodulator in Matlab. �Everything works > >fine as expected if my modulator & demodulator are at the exact same > >frequency. �However if my modulator is off slightly, the phase rotates > as > >expected. � > > >Does anybody have any papers or references for tracking this phase > >rotation, such that frequency offset doesn't kill my demodulator? > > >Thanks, > > I should mention that the signal I want to track is already at baseband, > so I'm not sure if a Costas loop is applicable??What you need depends on your situation. If you have good SNR and a constant frequency offset, you can square the signal to remove the modulation, locate the resulting constant frequency, and downmix the signal by half of that frequency to remove the offset (the offset gets doubled in the squaring operation). If the frequency offset isn't constant, then you can use a phase-locked loop; a Costas loop is typically used for BPSK demodulation, even at baseband. Jason
Reply by ●October 30, 20092009-10-30
>On Oct 30, 10:48=A0am, "rbb" <Rory.Bucha...@onsemi.com> wrote: >> >I'm trying to implement a BPSK demodulator in Matlab. =A0Everythingwork=>s >> >fine as expected if my modulator & demodulator are at the exact same >> >frequency. =A0However if my modulator is off slightly, the phaserotates>> as >> >expected. =A0 >> >> >Does anybody have any papers or references for tracking this phase >> >rotation, such that frequency offset doesn't kill my demodulator? >> >> >Thanks, >> >> I should mention that the signal I want to track is already atbaseband,>> so I'm not sure if a Costas loop is applicable?? > >What you need depends on your situation. If you have good SNR and a >constant frequency offset, you can square the signal to remove the >modulation, locate the resulting constant frequency, and downmix the >signal by half of that frequency to remove the offset (the offset gets >doubled in the squaring operation). If the frequency offset isn't >constant, then you can use a phase-locked loop; a Costas loop is >typically used for BPSK demodulation, even at baseband. > >Jason >The frequency offset won't be constant, and I want my SNR to approach the theoretical limit for BPSK. So it sounds like a Costas loop is the approach I should take? And the Costas loop will even work when the incoming signal is at baseband? Do you have any good reference papers?
Reply by ●October 31, 20092009-10-31
On Oct 30, 11:52=A0am, "rbb" <Rory.Bucha...@onsemi.com> wrote:> >On Oct 30, 10:48=3DA0am, "rbb" <Rory.Bucha...@onsemi.com> wrote: > >> >I'm trying to implement a BPSK demodulator in Matlab. =3DA0Everything > work=3D > >s > >> >fine as expected if my modulator & demodulator are at the exact same > >> >frequency. =3DA0However if my modulator is off slightly, the phase > rotates > >> as > >> >expected. =3DA0 > > >> >Does anybody have any papers or references for tracking this phase > >> >rotation, such that frequency offset doesn't kill my demodulator? > > >> >Thanks, > > >> I should mention that the signal I want to track is already at > baseband, > >> so I'm not sure if a Costas loop is applicable?? > > >What you need depends on your situation. If you have good SNR and a > >constant frequency offset, you can square the signal to remove the > >modulation, locate the resulting constant frequency, and downmix the > >signal by half of that frequency to remove the offset (the offset gets > >doubled in the squaring operation). If the frequency offset isn't > >constant, then you can use a phase-locked loop; a Costas loop is > >typically used for BPSK demodulation, even at baseband. > > >Jason > > The frequency offset won't be constant, and I want my SNR to approach the > theoretical limit for BPSK. =A0So it sounds like a Costas loop is the > approach I should take? =A0And the Costas loop will even work when the > incoming signal is at baseband? > Do you have any good reference papers?I've learned a lot from this data sheet: http://www.intersil.com/products/deviceinfo.asp?pn=3DHSP50210 John
Reply by ●November 1, 20092009-11-01
>On Oct 30, 11:52=A0am, "rbb" <Rory.Bucha...@onsemi.com> wrote: >> >On Oct 30, 10:48=3DA0am, "rbb" <Rory.Bucha...@onsemi.com> wrote: >> >> >I'm trying to implement a BPSK demodulator in Matlab.=3DA0Everything>> work=3D >> >s >> >> >fine as expected if my modulator & demodulator are at the exactsame>> >> >frequency. =3DA0However if my modulator is off slightly, the phase >> rotates >> >> as >> >> >expected. =3DA0 >> >> >> >Does anybody have any papers or references for tracking this phase >> >> >rotation, such that frequency offset doesn't kill my demodulator? >> >> >> >Thanks, >> >> >> I should mention that the signal I want to track is already at >> baseband, >> >> so I'm not sure if a Costas loop is applicable?? >> >> >What you need depends on your situation. If you have good SNR and a >> >constant frequency offset, you can square the signal to remove the >> >modulation, locate the resulting constant frequency, and downmix the >> >signal by half of that frequency to remove the offset (the offsetgets>> >doubled in the squaring operation). If the frequency offset isn't >> >constant, then you can use a phase-locked loop; a Costas loop is >> >typically used for BPSK demodulation, even at baseband. >> >> >Jason >> >> The frequency offset won't be constant, and I want my SNR to approachthe>> theoretical limit for BPSK. =A0So it sounds like a Costas loop is the >> approach I should take? =A0And the Costas loop will even work when the >> incoming signal is at baseband? >> Do you have any good reference papers? > >I've learned a lot from this data sheet: > >http://www.intersil.com/products/deviceinfo.asp?pn=3DHSP50210 > >John >Bad link???
Reply by ●November 1, 20092009-11-01
On Nov 1, 4:45 pm, "rbb" <Rory.Bucha...@onsemi.com> wrote:> >On Oct 30, 11:52=A0am, "rbb" <Rory.Bucha...@onsemi.com> wrote: > >> >On Oct 30, 10:48=3DA0am, "rbb" <Rory.Bucha...@onsemi.com> wrote: > >> >> >I'm trying to implement a BPSK demodulator in Matlab. > =3DA0Everything > >> work=3D > >> >s > >> >> >fine as expected if my modulator & demodulator are at the exact > same > >> >> >frequency. =3DA0However if my modulator is off slightly, the phase > >> rotates > >> >> as > >> >> >expected. =3DA0 > > >> >> >Does anybody have any papers or references for tracking this phase > >> >> >rotation, such that frequency offset doesn't kill my demodulator? > > >> >> >Thanks, > > >> >> I should mention that the signal I want to track is already at > >> baseband, > >> >> so I'm not sure if a Costas loop is applicable?? > > >> >What you need depends on your situation. If you have good SNR and a > >> >constant frequency offset, you can square the signal to remove the > >> >modulation, locate the resulting constant frequency, and downmix the > >> >signal by half of that frequency to remove the offset (the offset > gets > >> >doubled in the squaring operation). If the frequency offset isn't > >> >constant, then you can use a phase-locked loop; a Costas loop is > >> >typically used for BPSK demodulation, even at baseband. > > >> >Jason > > >> The frequency offset won't be constant, and I want my SNR to approach > the > >> theoretical limit for BPSK. =A0So it sounds like a Costas loop is the > >> approach I should take? =A0And the Costas loop will even work when the > >> incoming signal is at baseband? > >> Do you have any good reference papers? > > >I've learned a lot from this data sheet: > > >http://www.intersil.com/products/deviceinfo.asp?pn=3DHSP50210 > > >John > > Bad link???Select red highlighted "Data Sheets..." Select red highlighted "Digital Costas Loop" Dale B. Dalrymple
Reply by ●November 1, 20092009-11-01
On Sun, 01 Nov 2009 18:45:07 -0600, "rbb" <Rory.Buchanan@onsemi.com> wrote:>>On Oct 30, 11:52=A0am, "rbb" <Rory.Bucha...@onsemi.com> wrote: >>> >On Oct 30, 10:48=3DA0am, "rbb" <Rory.Bucha...@onsemi.com> wrote: >>> >> >I'm trying to implement a BPSK demodulator in Matlab. >=3DA0Everything >>> work=3D >>> >s >>> >> >fine as expected if my modulator & demodulator are at the exact >same >>> >> >frequency. =3DA0However if my modulator is off slightly, the phase >>> rotates >>> >> as >>> >> >expected. =3DA0 >>> >>> >> >Does anybody have any papers or references for tracking this phase >>> >> >rotation, such that frequency offset doesn't kill my demodulator? >>> >>> >> >Thanks, >>> >>> >> I should mention that the signal I want to track is already at >>> baseband, >>> >> so I'm not sure if a Costas loop is applicable?? >>> >>> >What you need depends on your situation. If you have good SNR and a >>> >constant frequency offset, you can square the signal to remove the >>> >modulation, locate the resulting constant frequency, and downmix the >>> >signal by half of that frequency to remove the offset (the offset >gets >>> >doubled in the squaring operation). If the frequency offset isn't >>> >constant, then you can use a phase-locked loop; a Costas loop is >>> >typically used for BPSK demodulation, even at baseband. >>> >>> >Jason >>> >>> The frequency offset won't be constant, and I want my SNR to approach >the >>> theoretical limit for BPSK. =A0So it sounds like a Costas loop is the >>> approach I should take? =A0And the Costas loop will even work when the >>> incoming signal is at baseband? >>> Do you have any good reference papers? >> >>I've learned a lot from this data sheet: >> >>http://www.intersil.com/products/deviceinfo.asp?pn=3DHSP50210 >> >>John >> > >Bad link???The correct link has no '3D' after the '=' sign. http://www.intersil.com/products/deviceinfo.asp?pn=HSP50210 -- Muzaffer Kal DSPIA INC. ASIC/FPGA Design Services http://www.dspia.com
Reply by ●November 1, 20092009-11-01
On Nov 1, 5:21 pm, Muzaffer Kal <k...@dspia.com> wrote:> On Sun, 01 Nov 2009 18:45:07 -0600, "rbb" <Rory.Bucha...@onsemi.com> > wrote: > > > > >>On Oct 30, 11:52=A0am, "rbb" <Rory.Bucha...@onsemi.com> wrote: > >>> >On Oct 30, 10:48=3DA0am, "rbb" <Rory.Bucha...@onsemi.com> wrote: > >>> >> >I'm trying to implement a BPSK demodulator in Matlab. > >=3DA0Everything > >>> work=3D > >>> >s > >>> >> >fine as expected if my modulator & demodulator are at the exact > >same > >>> >> >frequency. =3DA0However if my modulator is off slightly, the phase > >>> rotates > >>> >> as > >>> >> >expected. =3DA0 > > >>> >> >Does anybody have any papers or references for tracking this phase > >>> >> >rotation, such that frequency offset doesn't kill my demodulator? > > >>> >> >Thanks, > > >>> >> I should mention that the signal I want to track is already at > >>> baseband, > >>> >> so I'm not sure if a Costas loop is applicable?? > > >>> >What you need depends on your situation. If you have good SNR and a > >>> >constant frequency offset, you can square the signal to remove the > >>> >modulation, locate the resulting constant frequency, and downmix the > >>> >signal by half of that frequency to remove the offset (the offset > >gets > >>> >doubled in the squaring operation). If the frequency offset isn't > >>> >constant, then you can use a phase-locked loop; a Costas loop is > >>> >typically used for BPSK demodulation, even at baseband. > > >>> >Jason > > >>> The frequency offset won't be constant, and I want my SNR to approach > >the > >>> theoretical limit for BPSK. =A0So it sounds like a Costas loop is the > >>> approach I should take? =A0And the Costas loop will even work when the > >>> incoming signal is at baseband? > >>> Do you have any good reference papers? > > >>I've learned a lot from this data sheet: > > >>http://www.intersil.com/products/deviceinfo.asp?pn=3DHSP50210 > > >>John > > >Bad link??? > > The correct link has no '3D' after the '=' sign.http://www.intersil.com/products/deviceinfo.asp?pn=HSP50210 > -- > Muzaffer Kal > > DSPIA INC. > ASIC/FPGA Design Services > > http://www.dspia.comMaybe a newsreader situation. John's link appears the same to me as yours and takes me to the same page. No '3D' involved. Dale B. Dalrymple
Reply by ●November 3, 20092009-11-03
I really don't see how you can utilize a Costas loop if the incoming data is already at baseband. It makes sense if the incoming data is at IF, but I don't see how this could possibly work at baseband. So what options do I have... 1) Some other phase tracking algorithm that can work on baseband data 2) Re-Upconvert my baseband data to some IF (seems like a waste) 3) Or do the recovery pre-baseband down conversion. This would hamper my system, so I would prefer not to do it. 4) ??? I open to suggestions. I'd really be interested in #1 if anybody had any ideas.






