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