discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] USRP: is performance degradation of PSK OK?


From: Alick Zhao
Subject: Re: [Discuss-gnuradio] USRP: is performance degradation of PSK OK?
Date: Wed, 25 Apr 2012 12:01:33 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120329 Thunderbird/11.0.1

On Tue, 24 Apr 2012 07:52:09 -0700, Nick Foster wrote:

> On Tue, Apr 24, 2012 at 5:13 AM, Alick Zhao <address@hidden> wrote:
> 
>> Hi list,
>>
>> I am experimenting with narrowband benchmark_tx/rx in real indoor air
>> interface. The software is GNU Radio 3.5.3.2 and the hardware available
>> is USRP with RFX2400 daughter boards.
>>
>> When I use gmsk modulation to transmit and receive, the performance is
>> quite good - very few packets are lost or received wrongly. However,
>> with dbpsk, I find the performance is quite degraded. I have not seen
>> better results than the case with (ok, rx, total) is about (407, 470,
>> 666), which means no more than 2/3 of the packets can be received.
>> Besides, I got some OOO in the receiver side and this tell me overrun
>> happens. This is also not the case with gmsk. The current bitrate is
>> 125kHz and samples per symbol is set to 2, and I find this results in
>> the lowest sample rate for USRP. So it is impossible to lower down the
>> sample rate :(
>>
>> Is the performance degradation with psk normal? Does anyone experience
>> the same issue? Can it be improved in some way? One labmate told me that
>> he once worked with GNU Radio 3.2 and the same hardware but he didn't
>> see such performance with psk. So is the new UHD interface/driver
>> related?
>>
> 
> Alick,
> 
> You will have to instrument your flowgraph in order to find out. Add file
> sinks to different stages in the transmitter and receiver to verify that
> the data looks as expected. You can use MATLAB or Octave to visualize the
> data. There are scripts in gnuradio-core/src/utils which will aid you in
> loading sample data into MATLAB. Verify that the frequency offset is within
> bounds and being handled appropriately. Verify that clock recovery is
> keeping a lock on the incoming data.
> 
> --n

Thanks Nick for your guidance, but I am not sure how much offset in
freq/timing is within bounds. Could you give some empirical value or
something?

I now add some code into benchmark_rx.py to make it output freq
offset, timing offset just as digital_bert_rx.py does. Here is a snip of
the output of one run with tx freq 2.4400065G, rx freq 2.44G, dbpsk
mod/demod, two USRPs ~3m apart. (I attach the full log if it helps.)

H: 0.17e(j6.39deg)  Freq. Offset:    82 Hz  Timing Offset:    26936.2 ppm
H: 0.20e(j-15.52deg)  Freq. Offset:    56 Hz  Timing Offset:    32088.3 ppm
H: 0.21e(j-73.59deg)  Freq. Offset:   108 Hz  Timing Offset:   -12522.0 ppm
H: 0.22e(j62.82deg)  Freq. Offset:   117 Hz  Timing Offset:   -57538.1 ppm
H: 0.22e(j62.82deg)  Freq. Offset:   -18 Hz  Timing Offset:   -24022.2 ppm
H: 0.22e(j-41.16deg)  Freq. Offset:  -289 Hz  Timing Offset:    28046.4 ppm
H: 0.14e(j44.06deg)  Freq. Offset:  -278 Hz  Timing Offset:    62429.5 ppm
H: 0.14e(j44.06deg)  Freq. Offset:   -52 Hz  Timing Offset:     6915.0 ppm
H: 0.20e(j-15.17deg)  Freq. Offset:   -23 Hz  Timing Offset:   -11427.6 ppm

You can see that the freq offsets are mostly less than some hundred Hz,
and timing offsets are mostly at 10^5 ppm. Also the signs of offsets
look random. Is this OK or not? The packet number of (ok, rx, total) is
(230, 338, 666) in this run.

PS: The H is the estimated channel (I hope it will be). It won't make
sense if the freq/timing is not locked.

alick

Attachment: rx_chn_est.log
Description: Text Data


reply via email to

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