Forum: GNU Radio Bug in mspk_receiver_cc?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
A725014f091bcd9e8ff16e9f2a0d7e20?d=identicon&s=25 Stefan Brüns (Guest)
on 2009-03-06 18:30
(Received via mailing list)
there seems to be a bug in the costas loop. As far as I understand, in
case of
nonzero carrier offset, each incoming sample should be rotated with a
linear
increasing phasor (assuming a constant offset). This is done with the
following code:

void
gr_mpsk_receiver_cc::mm_sampler(symbol) {
  d_phase += d_freq;
  nco = gr_expj(d_phase+d_theta);
  sample = nco*symbol;
}

This looks fine so far for me (although I dont understand why theta is
added
every time, and not once in the initialization of d_phase ...), but
there is
also the following:

void
gr_mpsk_receiver_cc::phase_error_tracking(sample) {
...
  d_phase += d_freq + d_alpha*phase_error;
...
}

So d_phase gets incremented by d_freq on every incoming sample, and once
every
symbol.

Any comments, is this actually a bug?

Stefan

--
Stefan Brüns  /  Bergstraße 21  /  52062 Aachen
mailto:lurch at gmx.li  http://www.kawo1.rwth-aachen.de/~lurchi/
   phone: +49 241 53809034     mobile: +49 151 50412019
D0072e69d706bb3ca211d33a1b536e2c?d=identicon&s=25 Johnathan Corgan (Guest)
on 2009-03-30 02:23
(Received via mailing list)
On Fri, Mar 6, 2009 at 10:29 AM, Stefan
Brüns<stefan.bruens@rwth-aachen.de> wrote:

> So d_phase gets incremented by d_freq on every incoming sample, and once every
> symbol.
>
> Any comments, is this actually a bug?

Yes.  Your fix was applied to the trunk today as r10702.

Thanks!

Johnathan
This topic is locked and can not be replied to.