USRP Software Radio

cancel
Showing results for 
Search instead for 
Did you mean: 

How to use NI USRP2920 to modulate and demodulate signal?

Hi,

 

I've bought two NI USRP2920s and setup a system to modulate and demodulate some signals such as BPSK, QPSK, OQPSK, ...

I use "niUSRP EX PSK Tx.vi" and "niUSRP EX PSK Rx.vi" example files on USRP Examples directory. The ".. Tx.vi" run on one USRP 2920 and "... Rx.vi" run on the another with some parameters IQ sampling rate, frequency, filter, symbol rate, PSK format are same.

 

On "... Tx.vi", the "bit stream type" is "Read from file" and use file "PN_Sequence_09.txt" from "C:\Program Files\National Instruments\LabVIEW 2011\examples\Modulation\FGEN examples".

On "... Rx.vi", the some code with function save output  bit tream from demodulation block to file.

Two USRP2020s are directly connecting by a cable.

 

After that, I found that the data from Rx different with Tx.

 

Could you help me to sovle this problem, please?

 

Best Regards.

 

Luong Tan Phong

0 Kudos
Message 1 of 13
(8,023 Views)

HI Luong,

 

I have some questions about your setup.  

 

1.  When you say they are connected directly by a cable, which cable?  Is it a MIMO cable?  

2.  Are you sharing a sample clock between the 2?  (Ref in)

3.  Are you sharing a clock source between the 2 PPS in lines?

4.  When you say that the data is different, how is it different?  Do you see completely different bits between the two?  Or are they just offset?  

 

If you could let me know a bit more about your set up and the results you are seeing I'll be able to better help you troubleshoot this issues that you are seeing.

Sarah Yost
Senior Product Marketing Manager
0 Kudos
Message 2 of 13
(8,016 Views)

Hi Sarah Y,

Thank you for your reply.

1. I use a cable (MCX cable) to directly connect two WBX daughter boards (TX/RX - TX/RX).
2. I don't share a sample clock between 2 USRP. On each USRP has 1 module GPSDO and I'm setting to they (USRPs) use extenal reference clock form GPSDO.
3. I don't share a clock source between the 2 PPS in line.
4. The "PN_Sequence_09.txt" has 512 bit data. I use bitview program to show the data after demodulation. I think that if the data after demodulation is correctly, the bitview will show the data with columns is all 1 or 0. My bitview program don't show that.

 

Could you help me, please?

 

Best Regards.

 

Luong Tan Phong

0 Kudos
Message 3 of 13
(8,012 Views)

Hello -

 

When I open the PSK Tx and Rx VI's on my system I noticed two things that may be affecting you.  First, the Tx Gain is set to 0.  You may find it necessary to increase this to sustain a link.  Secondly, and perhaps most importantly the Symbol Rate [symbols/sec] is different between the Tx VI (25k) and Rx Vi (50k).  I recommend setting them both to the same number.

 

On the transmitter, symbol rate is calculated and it's value is shown on an indicator.  On the receiver, the control should be set to the same symbol rate as is shown on the transmitter.

 

Best Regards,

Erik

0 Kudos
Message 4 of 13
(8,010 Views)

Hi,

 

I've set (on Tx and Rx vi):

- The Gain is set to 0.

- The sampling rate is 200k

- The symbols rate is 25k

- The sample per symbol is 8.

 

Best Regards,

 

Phong

0 Kudos
Message 5 of 13
(8,008 Views)

Hello -

 

If the VIs are still not working can you please share screen shots or error messages that you see when you run the VIs?

 

Best Regards,

Erik

0 Kudos
Message 6 of 13
(8,006 Views)

Hi,

 

The VIs don'f have any error messages. The constellation and eye diagrams (I've added eye diagram block) seem very good.

 

I'll post the demodulation screen image later (My VIs is on other labtop, but I don't have it now).

 

Best Regards,

 

Phong

0 Kudos
Message 7 of 13
(8,003 Views)

Hi,

 

I post my Rx.vi and demodulation sreen.

 

Could you see and help me to solve the problem, please?

 

Best regards,

 

Phong

Download All
0 Kudos
Message 8 of 13
(7,995 Views)

Hi Luong,

 

Do you have an example of what the demodulated bits look like that makes you think that they are incorrect?  Based on the constellation plot and eye diagram that you posted, this data looks correct.

 

Also looking at your code, it seems like you are doing a lot of processing in the same loop that you are doing your read in.  Are you familiar with the producer consumer architecture?  I would recommend using this 2 loop structure to better optimize your code.  That way all of the processing is handled in a separate loop from your read and your read can occur more quickly.  Here is a link to a tutorial about producer consumer loops:

 

http://zone.ni.com/devzone/cda/tut/p/id/3023

 

Let me know what the demodulated bit stream looks like so I can better help to troubleshoot this.

Sarah Yost
Senior Product Marketing Manager
0 Kudos
Message 9 of 13
(7,989 Views)

Hi Sarah Y,

 

Thank you for your advice. I've modified my source to use the producer consumer architecture. The constellation plot and eye diagram look correct but the demodulated bit stream seems the previous.

 

I post the VI and some images of them.

 

Could you tell me how to solve this, please?

 

Best regards,

 

LTP

Download All
0 Kudos
Message 10 of 13
(7,981 Views)