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

Этот пример показывает вам, как получить данные о напряжении на уровне 300 кГц. Входная форма волны является синусоидой (10 Гц, 2 Vpp) обеспеченный внешним функциональным преобразователем.

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

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

daqlist("digilent")
dq = daq("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]


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.

ch_in = addinput(dq, "AD1", "1", "Voltage");

Установите свойства DataAcquisition и канала

Установите уровень захвата на 300 кГц и динамический диапазон входящего сигнала к-2.5 к 2,5 вольтам.

ch_in.Name = "AD1_1_in"
rate = 300e3;
dq.Rate = rate;
ch_in.Range = [-2.5 2.5];
ch_in = 

    Index    Type    Device    Channel    Measurement Type          Range              Name   
    _____    ____    ______    _______    ________________    __________________    __________

      1      "ai"    "AD1"       "1"      "Voltage (Diff)"    "-25 to +25 Volts"    "AD1_1_in"

Получите одну выборку

Получите один скан по требованию, отобразив данные и инициируйте время.

[singleReading, startTime] = read(dq)
singleReading =

  timetable

    Time     AD1_1_in
    _____    ________

    0 sec    -0.37211


startTime = 

  datetime

   21-Nov-2019 16:56:50.631

Получите данные с меткой времени

Получите набор синхронизированных данных в течение одной секунды.

[data, startTime] = read(dq, seconds(1));

Отобразите полученные данные на графике

plot(data.Time, data.AD1_1_in);
xlabel('Time (s)');
ylabel('Voltage (V)');
title(['Clocked Data Triggered on: ' datestr(startTime)]);