discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] two possible bugs in qpsk receiving with GNU radio


From: Zenny Zhang
Subject: [Discuss-gnuradio] two possible bugs in qpsk receiving with GNU radio
Date: Thu, 19 Jun 2008 12:52:41 -0400

I was working on qpsk receiving with GNU radio and I was wondering if
these are something we should change.

1.      The qpsk constellation in the current code seems to be (1,0),
(0,1j), (-1,0), (0,-1j). Should it be rotated by 45 degrees?

2.      I understand that in the current mpsk_receiver_cc block, qpsk
decisions are obtained by calling the generic decision function.I just
want to mention, in case anyone wants to use the  decision_qpsk
function,  that it has bug in it and will never return decision 0.
unsigned int
gr_mpsk_receiver_cc::decision_qpsk(gr_complex sample) const
{
  unsigned int index = 0;

  // Implements a simple slicer function
  if((sample.real() < 0) && (sample.imag() > 0))
    index = 1;
  else if((sample.real() < 0) && (sample.imag() < 0))
    index = 2;
  //bug here begin
  else
    index = 3;
  //bug here end
  // fixed begin
  else if((sample.real() > 0) && (sample.imag() < 0))
    index = 3;
  // fixed end

  return index;
}

Also, this qpsk decision function is using the rotated constellation.


I actually copied the original mpsk_receiver_cc code and modified it
to rotate the constellation and it works fine.

Zenny




reply via email to

[Prev in Thread] Current Thread [Next in Thread]