This widget could not be displayed.

Dynamic Signal Acquisition

cancel
Showing results for 
Search instead for 
Did you mean: 

automatic low frequency with labview 2010 and agilent 35670a

Solved!
Go to solution

Hi,

 

I'm working on automating low frequency measurement from a agilent 35670A. I currently did a program that allows some measurement with FFt averaging given a start frequency and frequenct bandwidth, see picture attached, but I"m trying to do power spectrum measurement using this VI ( ), but unfortunately I can't seem to find how I convert a signal from my block diagram below in order to feed the input X signal of the power spectrum VI above, any hint or help will be appreciated.

 

0 Kudos
Message 1 of 56
(11,497 Views)

Hi er_10_1999, 

 

I'm not sure what VI you're using to do the power spectrum measurements, it didn't show up correctly in your last post. But from the image attached, it doesn't look like you're reading any data back from the instrument. The instrument driver comes with a handful of examples that show how to get data from the instrument into LabVIEW in several formats, just navigate to c:\program files (x86)\national instruments\labview 2010\instr.lib\35670a\ and open the lvproj file to have access to these examples. 

 

Once you are able to get the data back into LabVIEW, there is an express VI that you can use to do power spectrum analysis titled Power Spectrum.vi. 

 

One other helpful resource for instrument drivers is the tree.vi VI that is included in the palette for the instrument driver. This VI displays a list of everything included in the driver, so you can see all of the available functionality in a single place. It would be a good starting point for you. 

 

Please let me know if there is anything else we can do to help!

 

National Instruments
Staff Certification Engineer
0 Kudos
Message 2 of 56
(11,487 Views)

Hi ,

 

thank you for the help, i've used a VI to obtain the data, but it is not what I want. It is providing the Y data value of the coordinate system, which is still not what I'm looking for. I've find the VI to compute the power spectral density, but I don't know how to use it, because as input this VI request a scaled signal, and I don't know how to obtain a scaled signal, I've looked at the SVL scale volatage to EU VI, still can't figure out which signal to connect as input, since all the VI I'm using in my program takes as input the VISA resource name.

Basically, all I want is to have my program to measure the power spectral density of noise in transistor, for the moment I'm testing the program with a 100 ohm resistor just for the sake of making sure that it does measure the noise, but I'm still trying to figure how to make insert the SFVA power spetral density VI in my program.

Any hint or help will be appreciated.

 

Thanks

 

 

0 Kudos
Message 3 of 56
(11,310 Views)

Hi, 

 

From looking at your program, it looks like you are using the FFT onboard the 35670a to calculate the PSD. 

 

From the context help of the Data Coord Trans Data.vi in the driver that is giving you the y-axis data values: 

 

The Y-axis data is returned in a 2D array. When "Trace" data is requested, with the "Data Value" control, the first column of the array will contain the trace Y-axis data. If "Waterfall" data is requested each column will represent an individual trace of a waterfall diagram.

 

Therefore the first column is the numeric values of each bin of the PSD. You can then use the X-Axis Data Values from the same VI to complete the graph.

 

You can then plot the data using an x-y graph like this:

 

XYgraph.png

Trevor B.
PSE
National Instruments
0 Kudos
Message 4 of 56
(11,279 Views)

Thanks for the information,

 

Finally after reviewing my program, I noticed that it wasn't reading anything from the 100 ohm resistor connected to channel 1 on the Agilent 35670A, because I ran the program with and wihtout the resistor connected, and I get the same vlaues.

Just to be more precise, what I was trying to achieve with my program, is to automate the setting needed to perform power spectral density of white noise from a 100 ohm resistor connected to channel 1 of the Agilent 35670A. In my program I used the "labview  Agilent 35670A drivers feature" in order to reproduce the following manual setting on Agilent 35670A:

- channel 1 measurement

- FFT analysis

- Overload rejection ON

- Hanning mode for windowing

- Frequency start and end

- number of averaging

- Power sepctral density

 

Therefore I connected the "mode", "channel measurement", "frequency FFT", "averaging FFT", "trace coordinate", "data coordinate" VI's, thinking it will configure the Agilent 35670A to measure the noise from, but unfortunately it is not doing it.

My current assumption now is that I need to connect "mode", "channel measurement", "frequency FFT", "averaging FFT" Agilent 356701A VI's in order to set the FFT analysis mode, Overload rejection ON, Frequency start and end, number of averaging. However, which VI feature do I use to read measurement from the 100 ohm resistor connected to channel 1 of the Agilent 35670A ?

Furthermore, I found the FFT power spectrum and PSD VI, that does compute the power spectrum density, however as mentioned before it requires as input a time signal, now in the labview Agilent 35670A drivers features I found some source VI, but they don't generates output signal that I could feed the FFT power spectrum and PSD VI.

 

I hope my explanation are not too much confusing. So waiting for any help or hint, thank you in advance

 

0 Kudos
Message 5 of 56
(11,276 Views)

Hi,

 

I've reviewed my program again, and I found one of the bug, I had wrongly set the parameter in the "conf trace 1 chan meas "(Agilent drivers VI) to "time" instead of   " power spectrum". I corrected it to set to "power spectrum" ( see attach image), and run the program in order to display X and Y axis values and unit in the front panel. The program works fines for the setting of frequency, X axis values ( it shows the frequency values and unit); however I noticed a problem in the Y axis, it displays values in "Vrms", whereas in computing power spectrum it should normally displays values in "Vrms^2/Hz", I tried to find a way to set Y axis unit to "Vrms^2/Hz" using 35670A drivers features, but I couldn't find any VI configuration that could set Y axis unit to "Vrms^2/Hz".


any hint or suggestion would be appreciated

 

0 Kudos
Message 6 of 56
(11,237 Views)

Hi,

 

Have you tried to configure the device manually and see what the units are listed as? I am curious is you mirror the selections you have made in software, you may be able to determine why you are not seeing what you expect.

 

You may also be able to take a look at the programming guide to determine why this behavior is happening: http://cp.literature.agilent.com/litweb/pdf/35670-90057.pdf

Trevor B.
PSE
National Instruments
0 Kudos
Message 7 of 56
(11,203 Views)

Hi Trevor,

 

Yes I've tried to configure the device manually, and when you configure the device for the measurement to be " power spectrum"  and configure the "trace coordinate" manually to select the Y-axis unit, the device shows you a list of different units ( V, V^2, V^2/Hz, V^2s/Hz), among which you select manually V^2/Hz, in order to have the device compute and display the power spectral density in V^2/Hz. Whereas in labview, when the " Conf trace 1 chan Meas " VI ( agilent 35670A drivers feature VI, see my program in attachment in my previous posting)  is set to "power spectrum", the Y-axis unit value read back from the device are in V.

In order to understand the problem, I tried running my program on one trace, and the manual setting on an other trace pn teh device, and I finally understood that the problem was that the " Conf trace 1 chan Meas " VI set on " power spectrum " only compute Y-axis value in V and doesn't give option (V, V^2, V^2/Hz, V^2s/Hz) for Y-unit, as it is in the device when doing manual setting.

My assumption is that whoever programmed the Agilent 35670A drivers features to compute " power spectrum" forgot to include choice for Y-axis unit among : V, V^2, V^2/Hz, V^2s/Hz.

Is there a way to get in touch with the Agilent 35670A drivers programmer, so I can discuss with them and find a way to have " Conf trace 1 chan Meas " VI set on " power spectrum " with V^2/Hz as Y-axis unit instead of V.

Furthermore, I"ve looked at the link you provided me with (http://cp.literature.agilent.com/litweb/pdf/35670-90057.pdf), it has relevant information, but doesn't completely address the issue I'm facing, since my program use mostly Agilent 35670A drivers features VI.

 

Thanks,

 

Eric

 

0 Kudos
Message 8 of 56
(11,144 Views)

Hi Eric, 

 

The Aglient drivers were written by Aglient, so you should be able to contact them through their support channels. I've had a look through the driver configuration VIs and I don't see any of them that would change the units of the data output, so you may be correct, and that is not supported by the driver. 

 

I was able to find some documentation on page E-1 (p732 of the PDF) of the manual that Trevor linked you to that covers setting the units of the device. You should be able to use this along with a VISA write node in LabVIEW to set the units pragmatically. 

 

Please let me know if you have any other questions!

National Instruments
Staff Certification Engineer
0 Kudos
Message 9 of 56
(11,118 Views)

Hi Nathanael,

 

Thank you for your advice, I'll get in touch with Agilent, and at the same time I'll try your approach with the VISA write node with the p732 information about setting unit device.

I also have another quick question, I was searching on the forum information about how I could write and plot the data on an excel file. Currently in my porgram, the data VI has the x and y value in 2D array each, with each index of x value corresponding to the associated y value at the same index. Is it possible to use VISA write to have the data saved on excel, and also plotted on excel ?

0 Kudos
Message 10 of 56
(11,096 Views)