• 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.