On Tue, Apr 27, 2010 at 11:49 AM, marcin_w <mwie9...@uni.sydney.edu.au> wrote:
>
> Hi All,
>
> I have been battling with this for the last week and still have not found a
> solution.
>
> I've include some more info for anyone who can help.
>>   Does anyone have any idea what is going wrong here?
>>   I've included my python source code below:


1) To be honest, your code is really hard to read, which is the reason
I didn't originally reply to your question.  I started to look through
to make sure your blocks and connections were set up correctly, but
it's just a big mess.

2) There is a DQPSK implementation in the gnuradio blks2 source,
search the repository for it, there is a transmitter and a receiver.

3) I would guess your problem has to do with incorrectly applying the
differential coding, since you get a unique stream of symbols in each
of your four cases:
108d - 1h 2h 3h 0h
177d - 2h 3h 0h 1h
27d   - 0h 1h 2h 3h
198d - 3h 0h 1h 2h

Notice that the difference is the same in each of these cases:
(previous+1) % 4.  This comes from the phase ambiguities in the costas
loop, it locks on to wherever.  That's why the differential coding is
used.  You can confirm this by sending something that's not an even
distribution of symbols.  For example, send: 92d - (1h 1h 3h 0h) = (+1
+0 +2 +1) and I bet you'll get back four different values just like
you do now:
(1h 1h 3h 0h) = (+x +0 +2 +1)
(2h 2h 0h 1h) = (+x +0 +2 +1)
(3h 3h 1h 2h) = (+x +0 +2 +1)
(0h 0h 2h 3h) = (+x +0 +2 +1)


Jason


_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to