LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to display a correct impulse response of VNA 8753ES in Labview 8.5.1

Hi guys,

 

I am trying to display a correct impulse response in Labview . The attachment is the VI code I used and its block diagram. This VI code performs the transfer function in the front panel when the time domain switch is off. This part is correct. When I displayed the impulse response with the XYgraph.vi, I got a problem.

For example, in the frequency domain, The initial conditions of the VNA were:

meas: S21

start: 1GHz

stop:5GHz

points: 1601

In the time domain, I should get the impulse response with the total length 400ns (1/((stop-start)/(points-1))). Without setting the range of impulse response, the default start and stop points are -20ns and 20ns respectively. Thus, I set the start point at 0s and the stop point at 400ns. However, the result only showed me 320ns. I found the problem is that when the time domain switch is on, Labview ignore the frequency start point and assume it is equal to 0 Hz. The calculation of the total length of the impulse response became (1/((stop - 0Hz)/(points-1)). I will appreciate that if you give me some suggestions to fix this problem. Thank you.

Download All
0 Kudos
Message 1 of 5
(3,280 Views)
I think what I said was not 100% correct. Labview didn't ignore the frequency start point and assume it is 0Hz. VNA did calculation part and Labview just collected the data and displayed it. I was operating VNA without using Labview and the result in the VNA screen was coorect. My problem is the Labview coding problem.
0 Kudos
Message 2 of 5
(3,269 Views)

Hi,

 

First, when posting a sample VI, please just post the portion of the VI that is giving you problems.  If you have a sample set of data too, that would be helpful.  Lastly, keep in mind that if you are using an instrument driver, then most likely other users won't have those VIs so some description would be helpful.

 

From what I understand about your post, the data in the cluster is correct, but the graph is not what you expect, is that correct?  From the code it was difficult to tell what you were plotting against what.  Where do the time/data points come from? You should also consider using a chart instead of a graph, since charts have history, and graphs will only "remember" what is currently showing

Marti C
Applications Engineer
National Instruments
NI Medical
0 Kudos
Message 3 of 5
(3,248 Views)

Hi Marti,

 

Thank you for your advise. You are correct. The data in the cluster is correct, but the graph is not what I expect.

 

I already modified the Vi I used. I hope it is easy to understand this time. Please refer to the attached files. In 16362testing.vi, I use a case structure to decide whether the instrument running in time or in frequency domain. When the time domain switch is off, start and stop frequencies are inquired respectively so that each frequency point in X axis can be calculated. When the switch is on, each time point can be acquired.

 

However, I only consider the start time is at 0 s and the stop time is the length of one time period of an impulse response. I know this is not good approach. If I change start and stop time to some arbitrary numbers, the time axis will be wrong. For example, Assuming that frequency bandwidth from 1-4 GHz with 1601 points, based on the calculation in the VNA, one time period is equal to 533 ns (=1/((4 GHz -1 GHz)/(1601 - 1))). If I decide to show the impulse response from 0s - 400ns, I will get wrong time axis because the time interval is calculated by ((400ns - 0s)/(1600 - 1)). Do you have any suggestions??

 

By the way, would you please give some examples using chart, instead of XY graph?

0 Kudos
Message 4 of 5
(3,222 Views)
A chart can accept just a plain array of data and the X-axis of the chart will be the indecies of the array.  If you want to be able to have control of the X-axis, you can use a waveform data type.  You can insert an array into the build waveform.vi and then concurrently import the t0 of the x-axis along with the dt for each index of the array.  The attached example should help, but if you need a more complexed example, check out http://decibel.ni.com/content/docs/DOC-9065 and that should give you more instruction.
National Instruments
Applications Engineer
0 Kudos
Message 5 of 5
(3,203 Views)