MATLAB: Oscilloscope (plotting)
-
Moku:Go
Moku:Go General Moku:Go Arbitrary Waveform Generator Moku:Go Data Logger Moku:Go Digital Filter Box Moku:Go FIR Filter Builder Moku:Go Frequency Response Analyzer Moku:Go Logic Analyzer & Pattern Generator Moku:Go Oscilloscope & Voltmeter Moku:Go PID Controller Moku:Go Spectrum Analyzer Moku:Go Waveform Generator Moku:Go Power Supplies Moku:Go Lock-in Amplifier Moku:Go Time & Frequency Analyzer Moku:Go Laser Lock Box Moku:Go Phasemeter
-
Moku:Lab
Moku:Lab General Moku:Lab Arbitrary Waveform Generator Moku:Lab Data Logger Moku:Lab Digital Filter Box Moku:Lab FIR Filter Builder Moku:Lab Frequency Response Analyzer Moku:Lab Laser Lock Box Moku:Lab Lock-in Amplifier Moku:Lab Oscilloscope Moku:Lab Phasemeter Moku:Lab PID Controller Moku:Lab Spectrum Analyzer Moku:Lab Time & Frequency Analyzer Moku:Lab Waveform Generator Moku:Lab Logic Analyzer/Pattern Generator
-
Moku:Pro
Moku:Pro General Moku:Pro Arbitrary Waveform Generator Moku:Pro Data Logger Moku:Pro Frequency Response Analyzer Moku:Pro Oscilloscope Moku:Pro PID Controller Moku:Pro Spectrum Analyzer Moku:Pro Waveform Generator Moku:Pro Lock-in Amplifier Moku:Pro Laser Lock Box Moku:Pro Digital Filter Box Moku:Pro FIR Filter Builder Moku:Pro Phasemeter Moku:Pro Multi-instrument Mode Moku:Pro Logic Analyzer/Pattern Generator Moku:Pro Time & Frequency Analyzer
- Python API
- MATLAB API
- Arbitrary Waveform Generator
- Data Logger
- Digital Filter Box
- FIR Filter Builder
- Frequency Response Analyzer
- Laser Lock Box
- Lock-in Amplifier
- Oscilloscope
- Phasemeter
- PID Controller
- Spectrum Analyzer
- Time & Frequency Analyzer
- Waveform Generator
- Logic Analyzer & Pattern Generator
- Multi Instrument Mode
- Moku Cloud Compile
- Moku general
- LabVIEW
- mokucli
Example MATLAB script to implement the Oscilloscope (plotting)
For more MATLAB examples, please refer to this link.
%% Plotting Oscilloscope Example
%
% This example demonstrates how you can configure the Oscilloscope instrument,
% and view triggered time-voltage data frames in real-time.
%
% (c) 2024 Liquid Instruments Pty. Ltd.
%
%% Connect to your Moku
% Connect to your Moku by its IP address.
i = MokuOscilloscope('192.168.###.###');
try
%% Configure the instrument
% Configure the frontend
% Channel 1 DC coupled, 10Vpp range
i.set_frontend(1, '1MOhm', 'DC', '10Vpp');
% Channel 2 DC coupled, 50Vpp range
i.set_frontend(2, '1MOhm', 'DC', '10Vpp');
% Configure the trigger conditions
% Trigger on input Channel 1, rising edge, 0V
i.set_trigger('type',"Edge", 'source',"Input1", 'level',0);
% View +- 1 ms i.e. trigger in the centre
i.set_timebase(-1e-3,1e-3);
% Generate a sine wave on Output 1
% 0.5Vpp, 10kHz, 0V offset
i.generate_waveform(1, 'Sine', 'amplitude',0.5, 'frequency', 10e3);
% Generate a square wave on Output 2
% 1Vpp, 20kHz, 0V offset, 50% duty cycle
i.generate_waveform(2, 'Square', 'amplitude',1, 'frequency',20e3, 'duty', 50);
% Set the data source of Channel 1 to be Input 1
i.set_source(1,'Input1');
% Set the data source of Channel 2 to Input 2
i.set_source(2,'Input2');
%% Set up plots
% Get initial data to set up plots
data = i.get_data();
% Set up the plots
figure
lh = plot(data.time, data.ch1, data.time, data.ch2);
xlabel(gca,'Time (sec)')
ylabel(gca,'Amplitude (V)')
%% Receive and plot new data frames
while 1
data = i.get_data();
set(lh(1),'XData',data.time,'YData',data.ch1);
set(lh(2),'XData',data.time,'YData',data.ch2);
axis tight
pause(0.1)
end
catch ME
% End the current connection session with your Moku
i.relinquish_ownership();
rethrow(ME)
end
i.relinquish_ownership();