Начинающий, сгенерировав данные с аналоговым открытием Digilent

Этот пример показывает вам, как сгенерировать данные о напряжении на уровне 300 кГц.

Устройства открытия

Узнайте устройства Digilent, соединенные к вашей системе с помощью daqlist

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]

Создайте DataAcquisition для устройства Digilent

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

Добавьте канал аналогового выхода

Добавьте канал аналогового выхода с ID устройства AD1 и ID канала 1. Установите тип измерения на Voltage. По умолчанию область значений напряжения выходного сигнала-5.0 к +5.0 вольтам.

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"

Сгенерируйте одну выборку

Сгенерируйте один скан по требованию.

outVal = 2;
write(dq, outVal);

Установите свойства DataAcquisition и задайте Выходную форму волны

Установите выходную частоту развертки на 300 кГц.

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)';

Сгенерируйте данные

write(dq, output);