From Saturday, Nov 23rd 7:00 PM CST - Sunday, Nov 24th 7:45 AM CST, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

USRP Software Radio

cancel
Showing results for 
Search instead for 
Did you mean: 

Question About TDM Transmit VI for NI USRP (NI Community Example)

Hello,

 

I reviewed TDM Transmit VI for NI USRP from here ( https://decibel.ni.com/content/docs/DOC-23677) From there I downloaded TDMA_External Ref and PPS.vi. I couldn't understand this vi from document. On vi there are unused blocks . For example Queue USRP 1 ve Queue USRP2 blocks are unused on vi, but  event structures goes on run by testing this unused blocks there. [ testing Queue USRP 1 Value Change and Queue USRP 2 Value Change]   I'm confused really. Would anyone explain this vi exactly?? I'm thinking to adapt  this program to my study. Also I have asked for my study here:https://forums.ni.com/t5/USRP-Software-Radio/Time-Division-Multiplexing-TDM-Using-USRP-2943s-with/td...  Is this TDMA_External Ref and PPS.vi useful for my study?

 

Best Regards...

0 Kudos
Message 1 of 12
(4,438 Views)

Hello,

 

The controls on the front panel you mention (Enqueue USRP 1&2) do not have to be directly wired in the LabVIEW code to provide functionality.  The LabVIEW event structure in this program will execute the code within the structure only when one of the Enqueue buttons has changed value (value change event).  So basically, the top loop waits until one of the two buttons is pressed or ten seconds has passed (timeout case), and then executes the code associated with which event happened.  You can find much more information regarding event structures and there use on the web, here is one such resource:

 

http://www.ni.com/white-paper/3331/en/

 

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

Jon F.
Technical Support Engineer
National Instruments
0 Kudos
Message 2 of 12
(4,396 Views)

Thanks for your help, I will review again example program. I will try to implement my own vi after that

0 Kudos
Message 3 of 12
(4,390 Views)

I have two 2943R USRP.  One of them is trasmitter another is receiver. I wonder about time division multiplexing on USRPs. How could I implement like this system? On the first time slot Trasmitter USRP's channel 0 will send signal , receiver USRP channel 0 will get the signal, on the second time slot Trasmitter USRP's channel 1 will send signal ,  receiver USRP channel 0 will get the signal again. This process will goes on in order. So I was trying to adapt  from  https://decibel.ni.com/content/docs/DOC-23677 TDMA-External Ref and PPS.vi  for USRP 2943R. Tx Part and Rx parts are present on attachments. I can send signals But Rx part are not able to fetch signal from IQ Graphics , I can see always zero signal. Could you help me please? Where is my fault on vis???

Download All
0 Kudos
Message 4 of 12
(4,365 Views)

I looked through your VIs and I think that your timing may be a little off.  You are setting the USRP board time to 0 in both the Tx and Rx VIs.  This will cause this operation to happen on both calls, and I think you are probably missing the transmitted data because you start the acquisition at the incorrect time.  Try setting the time to 0 only in Tx or Rx (whichever VI you start first), and make sure that the start times make sense for both VIs.  From my understanding, you want Tx(ch0) and Rx(ch0) to start at the same time, and Tx(ch1) to occur some time 'x' after.  Set Tx and Rx(ch0) start time to some whole seconds value (giving yourself enough time to start both VIs before the whole seconds value elapses!), and then the start time for Tx(ch1) will be [whole seconds value + x].

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

Jon F.
Technical Support Engineer
National Instruments
0 Kudos
Message 5 of 12
(4,332 Views)

Hi Jon F.

 

First of all thanks for your reply,

 

I tried your suggestments but unfortunately receiver part couldn't fetch any signal.  Tx(ch0) send signal to Rx(ch0) during 1 second. After that Tx(ch1) send signal to Rx(ch0) during 1 second.  I adjusted Tx(ch0) and Rx(ch0) start trigger time to 2 seconds . Beacuse of Tx( ch1) sending signal 1 second after Tx(ch0) , I choosed Tx(Ch1) start trigger time 3 seconds.  So 'x' time you mentioned, I specifed as 1 second. Is there any other faults on this vis?  I'm really confused.Would you please review my vis please??

 

Best Regards.

0 Kudos
Message 6 of 12
(4,317 Views)

How do you have the signals connected?  Are you using cables or antennae?  As a check, I ran the Finite Sync Tx and Rx examples in this way, only setting the time to zero on one of the VIs and setting a start time for both to be 5 whole seconds.  Doing this, I was able to detect my tranmitted signal.  Can you try something similar?

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

Jon F.
Technical Support Engineer
National Instruments
0 Kudos
Message 7 of 12
(4,301 Views)

Hi Jon F.,

 


@Air_Frantz wrote:

How do you have the signals connected?  Are you using cables or antennae?  

Of course I have antennas. I have no PXI for synchronization aim. I didn't use  SMA  cable connections.  I used internal source for synchronization.

 

 You mentioned as:



@Air_Frantz wrote:
As a check, I ran the Finite Sync Tx and Rx examples in this way

I  have NI Labview 2014 usrp example present on attachments. After your message, I tried this examples,  I used reference clock source and timebase source as internal . I pushed the button " Basis Time Syncronous to Timebase clock" while vis are running.  

 

You said as:

 


@Air_Frantz wrote:

 setting the time to zero on one of the VIs and setting a start time for both to be 5 whole seconds.

Thus ,I aimed to run Tx before Rx. So  I did Tx Start trigger time 0 second, Rx Start Trigger time 2 whole second. Basis Time input of set time block for both vi, I set 5 whole seconds. Unfortunately, I can't see similar graphics on Tx and Rx's I/Q Graphs. Did you use this examples? Do you send me your example program? If examples of your and mine are same, would you explain Finit Sync briefly? For synchronization, is PXI obligation for trigging  RefIn and PPSIn inputs of USRP RIOs  to product  sync clock generation?? For this purposes, Do I use internal clock source??

 

Thanks for your help

 

 

Download All
0 Kudos
Message 8 of 12
(4,287 Views)

I think the issue is what you are setting your basis time to be.  When you set the basis time, we are resetting the onboard timekeeper to the value specified.  So in your case, you set the time to 5 seconds.  The timekeeper immediately starts counting up from this value.  Your start times of 0 and 2 seconds then would never be realized, as the timekeeper is counting up from 5!

 

For conceptual purposes, set the basis time to 0 and start both Tx and Rx at the same time.  Make sure this time is far enough in the future to start both VIs before the time elapses (If Tx and Rx start times are both 1 sec, you would have to click 'run' on both VIs before one second elapses).

 

Here's what I see when I do this:

 

TxFinite.PNGRxFinite.PNG

 

As you can see, I was able to detect the 25kHz tone generated (as well as some extra samples because the Tx and Rx number of samples did not match).

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

Jon F.
Technical Support Engineer
National Instruments
0 Kudos
Message 9 of 12
(4,275 Views)

Hello Jon F,

 

Thanks for your help. My vis  are running  different from yours unfortunately . I choosed parameters as you except for carrier frequency. Because ISM band 915 Mhz have beeen using only Regions 2 ( including USA) . I choosed 2,4GHz carrier frequency for usage worldwide. Why is it runnig different? Another question why do you choose antenna gain low like  0 and 1 ?  

 

My screenshot are present below :

 

Tx_Sync.JPGTx_Sync.JPG

 

 

0 Kudos
Message 10 of 12
(4,264 Views)