USRP Software Radio

cancel
Showing results for 
Search instead for 
Did you mean: 

USRP RIO tx rx sync

Solved!
Go to solution

Hi all,

 

I would like to replicate the example of TX, RX Synchronization (https://decibel.ni.com/content/docs/DOC-36069), with the “Simple NI-USRP Streaming” sample project, (Full duplex streaming VI). However, I cannot sync the generation with the acquisition.

 

I am using the following HW configurations:

 

NI USRP-2950R.

PCIe x4 connection to the host PC.

0 Kudos
Message 1 of 11
(8,783 Views)

Razaq,

 

Specifically, what kind of trouble are you encountering when trying to implement the linked example?  It's worth noting that you will see a 2-4us delay caused by analog filtering as described in this thread:

 

http://forums.ni.com/t5/USRP-Software-Radio/TX-RX-synchronization-in-the-same-vi/td-p/2782336

------------------------------------------------------------------------------------------

Jon F.
Technical Support Engineer
National Instruments
0 Kudos
Message 2 of 11
(8,745 Views)

Hello,

 

The linked example works perfectly, I actually turned it into continuous Gen/Acq. 

 

I would like to do the same thing, but with using  “Simple NI-USRP Streaming” sample project that comes with NI USRP 14.0. I don't think that I can use the linked code "TX-RX-synchronization-in-the-same-vi" if I want to use LV FPGA for custom DSP.

 

original.png 

 

The issue with using "Full Duplex Streaming (Host)" VI is that I cannot make the generation and acquisition synchronized. I dont know how to trigger the two processes at the same time (I tried using software and external triggering, but it is not happening for me). 

 

Thank you for the reply.

0 Kudos
Message 3 of 11
(8,742 Views)

Hey Razaq,

 

Looking at the Full Duplex Streaming vi, it looks to be set up by default to synchronize the start triggers for generation and acquisition.  The generation is software triggered (immediate Tx), and then the acquisition is set to trigger off of the generation trigger.  This flow should start both the generation and acquisition at the same time.  What kind of behavior are you seeing when runnin this vi?

------------------------------------------------------------------------------------------

Jon F.
Technical Support Engineer
National Instruments
0 Kudos
Message 4 of 11
(8,724 Views)

Hello Jon,

 

I am continuously generating a delayed sinewave similar to the one in the picture (I don't have a screen-shot of the actual VI that I'm using at the moment).

 

fp.png

 

I should receive the signal with a fixed delay in each fetch (continuous Acquisition) IF the Gen/Acq are syncronized. However, the delay is randomly changing in different Rx fetches, which indecates to me that the Gen/Acq aren't triggered at the same time.

 

The block diagram of the VI looks logical to me for performing the simultaneous Gen/Acq triggering, but I don't know why it isn't happening.

 

Thank you in advance Jon. 

0 Kudos
Message 5 of 11
(8,721 Views)

Hello Razaq

 

At this point we should clarify what level of synchronization you need.

 

Please check this forum, the 3rd post for instance.

 

Regards

Frank R.

0 Kudos
Message 6 of 11
(8,703 Views)

Hello Frank,

 

Since I’m using one USRP RIO device for TX and RX, the two channels are frequency synchronized (I’m assuming their PLLs are locked to the same 10 MHz REF).

 

My application requires time synchronization, which the “configure trigger.vi” can provide.

 

pic1.png

 

hlp.PNG

 

However, I cannot use this function in the “Full Duplex Streaming.vi” because the VI uses the USRP-RIO APIs instead of the niUSRP driver. There are similar functions in the USRP RIO driver, but they are not doing the trick.

 

I really hope that I’m explaining my problem clearly.

 

Thanks

0 Kudos
Message 7 of 11
(8,698 Views)

Dear Razaq,


Did you solve this problem? I am also facing the same problem. I need both frequency and timing synchronization. By using REF IN option for RX you can make the two radios frequency synchronous.
But I can't do the same setting in timing synchronization, there are several options that are not clear to me like immediate and software and .... .
Another problem is the PPS out of USRP. When I check the PPS out signal of USRP, it is always zero. Therefore there is no way to use PPS out one USRP for timing synchronization.
I think, we need to have two modification: 1) enabling PPS out of USRP. 2) make other radio use this signal.
I will be great, if you can share your last status about this problem. I really want to solve this problem.

0 Kudos
Message 8 of 11
(7,354 Views)
Solution
Accepted by topic author Razaq

Razaq,

 

With the USRP RIO Simple Streaming sample project, the easiest way to have the Rx and Tx trigger at the same time is to set either Rx or Tx's Start Trigger to be the opposite. In the image below, Tx's Start Trigger is configured to Rx Start Trigger. This means that when the Rx start trigger fires, the Tx start trigger will also fire.

 

 

fdx triggering.png

 

 

 

Does this solve your problem?

Message 9 of 11
(7,319 Views)

Hello,

 

I configured the TX start trigger as RX-start trigger, and it worked.

 

when I first tried this, it was with USRP 14.0 driver (the first driver version with USRP-RIO), and it did not work (although the triggering logic in the code seemed fine). And when I upgraded to newer versions of the driver (now USRP 15) it wored perfectly, so I assumed it is a bug in the old driver version.

 

Thank you for your reply.

0 Kudos
Message 10 of 11
(7,312 Views)