-
RE: MSO64 Transfering average Spectrum (LabView)
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.
-
RE: MSO64 Transfering average Spectrum (LabView)
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. -
RE: MSO64 Transfering average Spectrum (LabView)
I attach the oscilloscope screenshot, in case it could be helpful.
-
MSO64 Transfering average Spectrum (LabView)
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.