Main Content

Getting Started Generating Data with Digilent Analog Discovery

This example shows you how to generate voltage data at a rate of 300 kHz.

Discovery Devices

Discover Digilent devices connected to your system usingdaqlist

daqlist("digilent")
ans = 1×4 table DeviceID Description Model DeviceInfo ________ _____________________________________________ ____________________ _______________________ "AD1" "Digilent Inc. Analog Discovery 2 Kit Rev. C" "Analog Discovery 2" [1×1 daq.di.DeviceInfo]

Create a DataAcquisition for a Digilent Device

dq = daq("digilent")
dq = DataAcquisition using Digilent Inc. hardware: Running: 0 Rate: 10000 NumScansAvailable: 0 NumScansAcquired: 0 NumScansQueued: 0 NumScansOutputByHardware: 0 RateLimit: [] Show channels Show properties and methods

Add an Analog Output Channel

Add an analog output channel with device IDAD1and channel ID1. Set the measurement type toVoltage. By default, the voltage range of the output signal is -5.0 to +5.0 volts.

ch_out = addoutput(dq,"AD1","1","Voltage"); ch_out.Name ="AD1_1_out"
ch_out = Index Type Device Channel Measurement Type Range Name _____ ____ ______ _______ _____________________ ____________________ ___________ 1 "ao" "AD1" "1" "Voltage (SingleEnd)" "-5.0 to +5.0 Volts" "AD1_1_out"

生成一个样本

Generate a single scan on-demand.

outVal = 2; write(dq, outVal);

Set DataAcquisition Properties and Define the Output Waveform

Set the output scan rate to 300 kHz.

rate = 300e3; dq.Rate = rate;% Generate a 10 Hz sine-wave for half a second. The length of the% output waveform and the specified output rate define the duration of% the waveform (totalduration = numscans / rate).f = 10; totalduration = 1; n = totalduration * rate; t = (1:n)/rate; output = sin(2*pi*f*t)';

Generate Data

write(dq, output);