discuss-gnuradio
[Top][All Lists]
Advanced

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

[Discuss-gnuradio] Help: CIR measurement problems using usrp_sounder.py


From: Rickard Radio
Subject: [Discuss-gnuradio] Help: CIR measurement problems using usrp_sounder.py
Date: Sat, 28 May 2011 02:09:06 +0200

Dear all,

I have been trying using the usrp_sounder.py script for measuring the channel impulse response (CIR), but without success. 

Q: - Have anyone succeeded? Does the FPGA-based script work as advertised?

Here is what I got:
Firstly, making a "loopback" test worked great
> usrp_sounder.py   -g 50 -f 2.45e9 -d 12 -t -r -l -v  -F loopback.log

followed by plotting the recorded CIR-values in Matlab:
>> loopback = read_complex_binary('loopback.log',inf);
>> plot(abs(loopback)) 

This results in a nice looking "impulse-train", i.e., one strong impulse followed by near zero correlation values until the next PN-sequence frame (4095 values per 12-bit PN-period).
So far, so good!

However, when I try to send from one USRP with RFX2400 and receive with another (same setup) I do not get a representative output (I believe!). Distance between USRPs is about 10m, and placed in different rooms (with wooden walls).
Rx> usrp_sounder.py -g 50 -f 2.45e9 -r -v  -F CIRtest.log
Tx> usrp_sounder.py  -f 2.45e9 -t -v  

In this case I only see when plotting a continuous almost "random" sequence with relatively low but uniform max-amplitude, but no distinctive strong correlation peaks at all ?!?
I do not understand why!?  Although the USRP to USRP distance is relatively short  (~10m) I would then expect a similar CIR-response as in the loopback test. That is, my expectation was not just one but a few relatively strong impulses, the rest of the long PN-period filled with much weaker background correlation noise. But I don't get any strong correlation-peaks at all !  Not a single one that is well above the uniform bg correlation noise.
Q: - Can anyone explain this result??

It can not depend on a too weak received signal, since I tested to monitor it using the "ursp_fft.py" with the same UHDgain (= 50). In this case I can clearly see the broadband PN-signal in the frequency domain, well above the noise-floor (some 15-20 dB). Furthermore,  by turning on and off the PN-sequence transmitter during CIR-recording, I can also clearly notice a corresponding variation in the received signal strength when plotting in Matlab afterwards - but not a single distinctive peak at all !?!? Again just the uniform background correlation noise! Hmmm, why this then?!

Q: - Have anyone had success with the "usrp_sounder.py" script?
Q: - Does it work as advertised, or what can my problem be?

I know it doesn't contain synchronization, so the CIR's should "roll" between PN-periods, but that is not the problem here, since I get no peaks?!

Help me get nice strong peaks, please!

Glad for any advice!

/ Rickard


Below a summary of how I used the "ursp_sounder.py" script:

Loopback:
> usrp_sounder.py   -g 50 -f 2.45e9 -d 12 -t -r -l -v  -F loopback.log
Using PN code degree of 12 length 4095
Logging impulse records to file:  loopback.log
Using smoothing alpha of 1.0
Setting PN code degree to 12
Enabling digital loopback.
Enabling transmitter.
gr_buffer::allocate_buffer: warning: tried to allocate
   4 items of size 32760. Due to alignment requirements
   512 were allocated.  If this isn't OK, consider padding
   your structure to a power-of-two bytes.
   On this platform, our allocation granularity is 4096 bytes.
gr_buffer::allocate_buffer: warning: tried to allocate
   4 items of size 32760. Due to alignment requirements
   512 were allocated.  If this isn't OK, consider padding
   your structure to a power-of-two bytes.
   On this platform, our allocation granularity is 4096 bytes.
Enter CTRL-C to stop.

Q: -- Is it normal behaviour with the buffer-allocation warning above (I get it all the time when receiving, depending on the PN code length) ?

Receiver:
Rx > usrp_sounder.py -g 50 -f 2.45e9 -r -v  -F CIRtest.log
Using PN code degree of 12 length 4095
Sounding frequency range is 2.434G to 2.466G
Logging impulse records to file:  CIRtest.log
Using Flex 2400 Rx MIMO B for sounder receiver.
Setting receiver gain to 50.0
Using smoothing alpha of 1.0
Setting receiver frequency to 2.45G
Setting PN code degree to 12
Disabling digital loopback.
gr_buffer::allocate_buffer: warning: tried to allocate
   4 items of size 32760. Due to alignment requirements
   512 were allocated.  If this isn't OK, consider padding
   your structure to a power-of-two bytes.
   On this platform, our allocation granularity is 4096 bytes.
gr_buffer::allocate_buffer: warning: tried to allocate
   4 items of size 32760. Due to alignment requirements
   512 were allocated.  If this isn't OK, consider padding
   your structure to a power-of-two bytes.
   On this platform, our allocation granularity is 4096 bytes.
Enter CTRL-C to stop.

Transmitter:
Tx > usrp_sounder.py  -f 2.45e9 -t -v
Using PN code degree of 12 length 4095
Sounding frequency range is 2.434G to 2.466G
Using Flex 2400 Tx MIMO B for sounder transmitter.
Setting transmitter frequency to 2.45G
Setting PN code degree to 12
Disabling digital loopback.
Enabling transmitter.
Press return to exit.

followed by plotting the recorded data in Matlab as shown above.

reply via email to

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