From: Vladimir Vassilevsky on

"mizer03" <belet_mes(a)hotmail.com> wrote in message
news:7ZednZAi0aHpZBfanZ2dnUVZ_qSonZ2d(a)giganews.com...
> >
> >> I want to implement QPSK modulation in software. But i know that QPSK
> >> signals can only be detected coherently. i.e knowledge of the carrier
> >> frequency and phase is mandatory for correct detection.
> >
> >If you can tolerate the loss of 2...3dB, the QPSK can be demodulated
> >incoherently.
> >
> >> How is possible to
> >> recover the carrier synchronization in software? Is it possible to
> >> implement PLL for carrier recovery and synchronization using software?
> >
> >Everything is possible.
> >
> >Thanks for your reply, But my question was:
> 1. How is possible to recover the carrier using software?

Either a 4th power loop or decision directed. If the data is sufficiently
random, Costas loop would do, too.

> 2. Is there a code in c++/C# to implement PLL for carrier recovery,
> especially for QPSK detection?

It certainly is. But not for free.

Vladimir Vassilevsky
DSP and Mixed Signal Consultant
www.abvolt.com






From: glen herrmannsfeldt on

Someone wrote:

>I want to implement QPSK modulation in software. But i know that QPSK
>signals can only be detected coherently. i.e knowledge of the carrier
>frequency and phase is mandatory for correct detection.

The method I have seen described squares the signal which generates
peaks at the transitions. One can then run a PLL on the squared
signal and lock onto the frequency and phase.

A scrambler is usually used to generate a high level of phase
transitions. Decoding phase difference instead of absolute
phase also makes it easier.

-- glen

From: tony kirke on
On Jan 14, 6:10 am, "Vladimir Vassilevsky"
<antispam_bo...(a)hotmail.com> wrote:
> "mizer03" <belet_...(a)hotmail.com> wrote in message
>
> news:7ZednZAi0aHpZBfanZ2dnUVZ_qSonZ2d(a)giganews.com...
>
>
>
>
>
> > >> I want to implement QPSK modulation in software. But i know that QPSK
> > >> signals can only be detected coherently. i.e knowledge of the carrier
> > >> frequency and phase is mandatory for correct detection.
>
> > >If you can tolerate the loss of 2...3dB, the QPSK can be demodulated
> > >incoherently.
>
> > >> How is possible to
> > >> recover the carrier synchronization in software? Is it possible to
> > >> implement PLL for carrier recovery and synchronization using software?
>
> > >Everything is possible.
>
> > >Thanks for your reply, But my question was:
> > 1. How is possible to recover the carrier using software?
>
> Either a 4th power loop or decision directed. If the data is sufficiently
> random, Costas loop would do, too.
>
> > 2. Is there a code in c++/C# to implement PLL for carrier recovery,
> > especially for QPSK detection?
>
> It certainly is. But not for free.
>
> Vladimir Vassilevsky
> DSP and Mixed Signal Consultantwww.abvolt.com

Did you look at SPUC on sourceforge?