discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Problem with Differential PSK


From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] Problem with Differential PSK
Date: Wed, 25 Jul 2007 00:01:28 +0100
User-agent: Thunderbird 1.5.0.12 (X11/20070604)

Christian Sokolowski wrote:
> Hi all,
>
> I use differential PSK with up to 4 bits per symbol. I tested transmission as 
> a simulation modelling the channel with AWGN noise and phase rotation. So 
> far, simulation works perfect (100% packets will be received correct) with 
> all modulation orders using Costas Loop for phase recovery and 
> Mueller&Mueller for clock recovery at the receiver. 
>
> Problems occur when switching to the USRP board. I use Flex 2400 and TX and 
> RX 
> antennas are close to each other (near perfect propagation channel). In very 
> few cases (~5%) the receiver recovers the signal and correct packets will be 
> received. In most runs, no packet is received. Until now, I do not know if 
> the problem is due to some saturation effects (too high transmission power at 
> the amplifier) or if parameters of Costas Loop, Automatic Gain Control and 
> Mueller&Mueller clock recovery are set properly. I played with all those 
> parameters a lot, but without success. Can someone help?
>
> In general: Does Costas Loop need to be modified when differential PSK is 
> used? I read in the forum that the order needs to be 2 for BPSK and order 4 
> used for QPSK in the block gr.costas_loop_cc(..., order)? What is the 
> purpose? 
>
> If someone is interested, you can try with the following source code. I 
> appreciate any comments.
> http://www.mobnets.rwth-aachen.de/~ade/cso/DPSK_code.zip
>
> the block "howto_psk_packet_sink.cc" is necessary to detect packets after 
> differential decoding at the receiver. One byte contains 1 to 4 bits ( which 
> is the symbol) depending on the modulation order.
>
> psk.py is extended to use 16PSK.

We have blocks that do DBPSK and DQPSK already (D8PSK sort of, but it's
over-the-air operation is flaky). Check them out in
gnuradio-core/src/python/gnuradio/blksimpl or you have use
gnuradio-examples/python/digital/benchmark_tx.py -m [dbpsk, dqpsk] to
run the transmitter. These should give you some help about the
parameters used in the phase/frequency/timing sync block.


Tom





reply via email to

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