Posted Fri, 07 Jun 2024 09:55:11 GMT by Davini, Stefano
I would like to use a MSO64 to acquire the average spectrum of a device.
I am using LabVIEW 2021 and the Tektronix MSO5X Series.lvlib library.

The core of the code is shown in the snippet in attachment:

After initialization and clean, I successfully recall the setup file measurement for the measurement, with Spectrum View, which is correctly displayed in the oscilloscope screen.
Then the code attempts to read a single waveform using the Tektronix MSO5X Series.lvlib::Read (Single Waveform).vi.
The input "Channel" is the one which is formatted into the string :DATa:ENCdg RIBinary;:DATa:SOUrce %s;
If the input is CH1 I can successfully read the waveform trace.
However, if the input is CH1_SV_AVErage, the oscilloscope raises an error

Error -1073807339 occurred at VISA Read in Tektronix MSO5X Series.lvlib:Fetch (Waveform).vi->Tektronix MSO5X Series.lvlib:Read (Single Waveform).vi->Main.vi

Possible reason(s):

Instrument reports:
221,"Settings conflict; Waveform not available; :WFMOutpre:XZEro?;:WFMOutpre:XINcr?;:WFMOutpre:YMUlt?;:WFMOutpre:YOFf?;:WFMOutpre:YZEro?
420,"Query UNTERMINATED"
0,"No events to report - queue empty"


Note however, that the oscilloscope is triggering (the "Spectrum" trace updates).
Even using channel CH1_SV_NORMAL returns the same error.

Can you suggest some action to diagnose the error source?
Thanks a lot.
Posted Fri, 07 Jun 2024 10:00:38 GMT by Davini, Stefano

I attach the oscilloscope screenshot, in case it could be helpful.

Posted Fri, 07 Jun 2024 10:58:51 GMT by Davini, Stefano
Some updates;
A query to :DATa:SOUrce:AVAILable?; returned that the correct channel name is CH1_SV_AVERAGE (all uppercase).

Using the correct channel name and "highlighting the execution" (meaning slowing down the program) the Read (Single Waveform).vi was able to return a subset of the data.

However, the data have no sense: while the oscilloscope Spectrum View trace displays a smooth decreasing shape between - 130 dB, to - 150 dBm, with some localized spikes up to -110 dBm (see picture in the previous post), the data returned are just scattered between 100 and -150.

I attached a screenshot with a graph of the data and a table of the first entries.
My suspect is that the Tektronix MSO5X Series.lvlib::Read (Single Waveform).vi is wrongly decoding the data returned by the oscilloscope, perhaps mistakenly using the same decoding of the time-domain waveform.
Posted Mon, 10 Jun 2024 11:46:00 GMT by Davini, Stefano

Indeed, the Tektronix MSO5X Series.lvlib::Read (Single Waveform).vi is not supporting the Spectum View acquisitions, therefore providing the wrong decoding of the binary data.

Instead than inquiring ENCDG or BN_FMT parameter for the decoding, the vi choose the decoding based on the DATa:SOUrce argument provided.

However, the CH<x>_SV or CH<x>_SV_AVE cases are not treated at all, therefore the channel is interpreted as a CH<x> with integer encoding.

It is a bit of a shame that the Tektronix MSO5X Series LabView library is so poorly scalable.

Ultimately, I was able to correctly decode the data by writing my own LabView code following the programmer manual.

To Tektroniks people: if you claim that with your oscilloscope "measuring a spectrum has never been so easy", you should consider to add examples to read Spectrum View acquisitions in binary format in the next revision of the programming manual.

You must be signed in to post in this forum.