Сгенерируйте стандартные периодические формы волны, используя Digilent Analog Discovery

Используйте каналы генератора функций, чтобы сгенерировать синусоидальную форму волны 1 кГц и записать данные одновременно, используя аналоговый входной канал.

Обнаружение цифровых устройств

Обнаружение устройств 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

Добавьте канал генератора функций

Добавьте канал генератора функций с идентификатором устройства AD1 и идентификатор канала 1. Установите тип формы волны равным Sine.

ch_fgen = addoutput(dq, "AD1", "1", "Sine");

Задание свойств канала

Установите коэффициент усиления канала равным 5 (устанавливает амплитуду синусоиды равной 5 В). Присвойте коэффициент усиления переменной.

ch_fgen.Name = "AD1_1_fgen"
gain = 5;
ch_fgen.Gain = gain;
ch_fgen = 

    Index     Type     Device    Channel    Measurement Type           Range                Name    
    _____    ______    ______    _______    ________________    ____________________    ____________

      1      "fgen"    "AD1"       "1"           "Sine"         "-5.0 to +5.0 Volts"    "AD1_1_fgen"

Установите частоту сигнала 1 кГц

ch_fgen.Frequency = 1000;

Добавление аналогового входного канала

Добавьте аналоговый входной канал с идентификатором устройства AD1 и идентификатор канала 1. Установите тип измерения равным Voltage.

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

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

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

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

Получите данные с более высокой частотой скана, чем самая высокая частота в сгенерированной форме волны.

dq.Rate = 100 * ch_fgen.Frequency;

Сгенерируйте периодическую форму волны и введите запись

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

Графические данные

period = 1/ch_fgen.Frequency;
plot(data.Time, data.AD1_1_in);
xlabel('Time in seconds');
ylabel('Voltage in volts');
title(['Period = ', num2str(period), ' seconds'])
xlim([seconds(0) seconds(5*period)]);
ylim([-gain gain]);