MATLAB: Arbitrary Waveform Generator
-
Moku:Go
Moku:Go Arbitrary Waveform Generator Moku:Go Data Logger 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 Digital Filter Box Moku:Go FIR Filter Builder Moku:Go Lock-in Amplifier Moku:Go General Moku:Go Logic Analyzer/Pattern Generator 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 Waveform Generator Moku:Lab Time & Frequency Analyzer Moku:Lab Logic Analyzer/Pattern Generator
-
Moku:Pro
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 Digital Filter Box Moku:Pro FIR Filter Builder Moku:Pro Phasemeter Moku:Pro Multi-instrument Mode Moku:Pro General 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
Example MATLAB script to implement the Arbitrary Waveform Generator
%% Arbitrary Waveform Generator Basic Example % % This example demonstrates how you can generate and output arbitrary % waveforms using the Arbitrary Waveform Generator instrument. % % (c) 2017 Liquid Instruments Pty. Ltd. % %% Prepare the waveforms % Prepare a square waveform to be generated t = linspace(0,1,100); square_wave = sign(sin(2*pi*t)); % Prepare a more interesting waveform to be generated (note that the points % must be normalized to range [-1,1]) not_square_wave = zeros(1,length(t)); for h=1:2:15 not_square_wave = not_square_wave + (4/pi*h)*cos(2*pi*h*t); end not_square_wave = not_square_wave / max(not_square_wave); %% Connect to your Moku ip = input('Please enter your Moku:Lab IP address: ', 's'); % Connect to your Moku and deploy the desired instrument m = MokuArbitraryWaveGen(ip); %% Configure the instrument % Load the waveforms to the device. This doesn't yet generate an output as % we haven't set the amplitude, frequency etc; this only defines the shape. m.write_lut(1, not_square_wave); m.write_lut(2, square_wave); % Generate the waveforms % We have configurable on-device linear interpolation between LUT points. % Normally interpolation is a good idea, but for sharp edges like square % waves it will improve jitter but reduce rise-time. Configure whatever's % suitable for your application. m.gen_waveform(1, 1e-6, 1.0, 'interpolation','true'); m.gen_waveform(2, 1e-6, 1.0, 'interpolation','true');