From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

RF Measurement Devices

cancel
Showing results for 
Search instead for 
Did you mean: 

Host-based streaming in VST

Solved!
Go to solution

Hello,

 

I am trying to stream an arb. waveform from RFIN to RFOUT on the VST (PXIe 5644R) using RFSA/RFSG.

 

Attached you'll find a test VI (that currently does not work).

 

I'm currently stuck with the TX part (the RX part is quite similar to what we're used to do on a USRP):

* RFSG streaming (as documented in the API) is not supported on the VST (I guess the VST has its own way to do it)

* The IDL 2012 provides an example however since we are running LV2013, we have no way to install IDL 2012

 

Any help/hint much appreciated 🙂

 

Note: we're trying currently to stick to host based streaming, i.e., streaming "a la" USRP.

 

Best wishes

Laurent

0 Kudos
Message 1 of 17
(7,799 Views)

Laurent,

 


@lf_fr wrote:

 

I'm currently stuck with the TX part (the RX part is quite similar to what we're used to do on a USRP):

* RFSG streaming (as documented in the API) is not supported on the VST (I guess the VST has its own way to do it)

* The IDL 2012 provides an example however since we are running LV2013, we have no way to install IDL 2012


You are correct that RFSG streaming is currently not supported on the VST. I can tell you there are plans to support it, but it is still not clear which future release will support it. It is good to hear of customers having the need for it, as that helps us prioritize it against other features.

In spite of that, last August we released VST IDL support for LV 2013. You can find the installer here:

 

http://www.ni.com/download/ni-pxie-5644r5645r5646r-instrument-design-libraries-13.0/4222/en/

 

This IDL installer ships with a Sample Project called VST Streaming, which you can use as a starting point for streaming RF In to RF Out. You can refer to the VST Getting Started Guide for more details.

 

Hope this helps.

 

JMota

Message 2 of 17
(7,794 Views)

Dear JMota,

 

Thanks for the link to the IDL for LV2013, this is really what we needed !

 

 

Best wishes

Laurent

0 Kudos
Message 3 of 17
(7,791 Views)

Excellent. You're welcome.

0 Kudos
Message 4 of 17
(7,782 Views)

We've achieved some progress starting from the host streaming example shipped with the IDL 2013.

 

Attached to this post, a new VI called InOut that basically streams from the IN to the OUT using a queue as go between. 

 (sorry for not attaching the host streaming sample project which is too large for the forum)

 

We noticed that despite similar IQ rates for IN and OUT, OUT streams at a faster speed (roughly 16%).

This is witnessed by the queue level monitored in the VI that decreases as soon as the OUT part of VI gets into action.

Any idea ?

Thanks !

L

0 Kudos
Message 5 of 17
(7,780 Views)
Solution
Accepted by topic author lf_fr

Can you explain what do you mean by OUT streams at a faster speed?   Is OUT underflowing? Is IN overflowing?  Do you think the IQ rates are actually different even though you are using the same ones?

 

I haven't run the VST Streaming sample project in a while, but I remember noticing the calls in the "Input/Output Stream Check Status" VIs to "RF In/Out Check Status" VIs causing the streams to run considerably slower than what the PXIe bus can handle. Depending upon your applicaiton, you might be able to defer those calls until you are done to do a sanity check or just reduce the frequency they are called.

Message 6 of 17
(7,757 Views)

JMota a écrit :

Can you explain what do you mean by OUT streams at a faster speed?   Is OUT underflowing? Is IN overflowing?  Do you think the IQ rates are actually different even though you are using the same ones?

 

I haven't run the VST Streaming sample project in a while, but I remember noticing the calls in the "Input/Output Stream Check Status" VIs to "RF In/Out Check Status" VIs causing the streams to run considerably slower than what the PXIe bus can handle. Depending upon your applicaiton, you might be able to defer those calls until you are done to do a sanity check or just reduce the frequency they are called.


First of all, thanks for your time.

 

Next :

 

* OUT is underflowing once its input queue (which is fed by the IN process) is empty.

* Yes both use the same IQ rate but in order to achieve an equilibrium between IN and OUT we have to decrease OUT I/Q rate by circa 17 %

 

And finally: you got it right: the check status calls are guilty.

 

Thanks !

L

 

 

0 Kudos
Message 7 of 17
(7,751 Views)

Sounds like you figured out a way to get both of your streams running with no problems (or at least less problems). Good to hear that.

 

Would you mind explaining how did you fix it? Also, what kind of IQ rates were/are you using?

 

Thanks.

0 Kudos
Message 8 of 17
(7,745 Views)

I removed the "check status" VIs (both for RX and TX)  and that fixed the problem.

I still have to do a more extensive testing but an IQ rate up to 10.240 MS/s worked.

 

With the check status VIs, IQ rates from 30 KS/s to 1.024 MS/s were triggering the TX underflow

(the higher the IQ rate, the quicker the occurence of underflow).

 

I'll get back to you with more details - not before a week :-(.

 

Best wishes

L

0 Kudos
Message 9 of 17
(7,741 Views)

Hello,

 

We are trying to receive a continuous signal on the VST input and then stream it to the output with the IDL 2013 (vi attached to this post). We noticed a problem: the number of frames received is smaller than it should be. For example: in 5 minutes, with a I/Q rate of 1.024Msample/s, frame size = 1000 samples, we should receive 307200 frames (1.024M * 5 * 60 / 1000). But in simulations, we received only 288695 frames (6.4% lower). If we increase the frame size (100 000 samples/frame), the gap is smaller (0.1%) but still not 0.

 

Because of this, on the transmitter side, the output signal (with the same I/Q rate) is not anymore "continuous".

 

Note: I've tried to receive the input signal with the RFSA, the gap is almost 0 but we cannot stream the received signal back. A mix between the RFSA as receiver and stream IDL as transmitter does not work.

 

Do you have any idea how we can fix this ?

 

Best wishes,

HC

0 Kudos
Message 10 of 17
(7,674 Views)