• How to use Average of 50 waveforms each 10 ms in DPO 71604C scope

    Hello everyone;

    Currently, I am utilizing a DPO71604C Digital Phosphor Oscilloscope for the detection of ultra-wideband pulses. The signal I am working with is a periodic sinusoidal waveform with a repetition period of 51.2 nanoseconds (ns), continuously generated using an FPGA board. In my setup, one half of this generated signal serves as a trigger signal (in channel 1 of the oscilloscope), while the other half is subsequently acquired using the DPO71604C oscilloscope (via channel 2 of the oscilloscope).

    The primary function of the oscilloscope in this setup is to acquire 50 pulses (2560 samples for each pulse), sampled at 50 GHz, perform the averaging of 50 pulses, store the result of the averaging in the scope memory, and repeat this process (reception and averaging of 50 pulses) every 10 ms for a total of 500 repetitions. After the oscilloscope automatically stops, the stored data in the memory will be transferred to a computer via an Ethernet connection.<br> <br> Despite my efforts to achieve this functionality by combining the Average mode, holdoff function, and fast frame function, the operation is not performing as expected. Additionally, I have experimented with combining Trigger A and Trigger B (using time or events) without success.

    I would greatly appreciate any programming assistance or guidance you could provide to help resolve this issue. Attached to this thread, you will find the MATLAB program that I have attempted to use.

    thank you all for your attention,

    your help will be so appreciated

  • How to use Average mode wit Hold-off mode in DPO 71604C scope

    Hello everyone,

    I am currently programming my scope using MATLAB software. I am aiming to implement the Average mode to perform averaging on my input signal, utilizing 16 waveforms (equivalent to 16 acquisitions = 16 triggering), and store the resulting waveform in the memory. I intend to interrupt this process with a holdoff of 100 ms and then repeat it. This entire process should be repeated 500 times.

    Despite my attempts to program this using Fast Frame, I encountered issues. Below is a snippet of my source code. If anyone can assist me in identifying and resolving the error, I would greatly appreciate it.

    Thank you in advance for your help

    % __________________ Fast Frame  ______________________________
    fwrite(instrument,'ACQuire:MODe AVErage');
    fprintf(instrument,'ACQuire:NUMAVg 16') ; 
    fprintf(instrument,'HORIZONTAL:FASTFRAME:STATE 1');
    fprintf(instrument,'HORizontal:FASTframe:COUNt 500);
    fprintf(instrument,'HORizontal:FASTframe:SEQuence FIRst'); 
    fprintf(instrument,'HORizontal:FASTframe:SUMFrame NONe'); 
    % ____________________________ Trigger A ____________________________
    fprintf(instrument,'TRIGger:A:MODe NORMal');
    fprintf(instrument,'TRIGger:A:EDGE:SOUrce CH1');
    fprintf(instrument,'TRIGger:A:EDGE:SLOpe: RISe');  
    fprintf(instrument,'TRIGger:A:LEVel:CH1 20e-3'); 
    fprintf(instrument,'TRIGger:A:HOLDoff:BY TIMe');
    fprintf(instrument,'TRIGger:A:HOLDoff:TIMe 100e-3');