Одновременно Получите и Сгенерируйте Периодические Формы волны с помощью Digilent® Analog Discovery™

В этом примере показано, как использовать канал функционального преобразователя, чтобы сгенерировать синусоидальную функциональную форму волны на 1 кГц и данные записи одновременно, с помощью аналоговых входов. Область значений выходного напряжения исходящего сигнала-5.0 к +5.0 вольтам. Этот пример использует основанный на сеансе интерфейс с Аналоговым оборудованием Открытия Digilent.

Создайте сеанс с устройством Digilent

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

s = daq.createSession('digilent')
s = 

Data acquisition session using Digilent Inc. hardware:
   Will run for 1 second (10000 scans) at 10000 scans/second.
   No channels have been added.
   

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

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

fgenCh = addFunctionGeneratorChannel(s, 'AD1', 1, 'Sine')
fgenCh = 

Data acquisition sine waveform generator '1' on device 'AD1':

          Phase: 0
          Range: -5.0 to +5.0 Volts
 TerminalConfig: SingleEnded
           Gain: 1
         Offset: 0
      Frequency: 4096
   WaveformType: Sine
 FrequencyLimit: [0.0001 25000000.0]
           Name: ''
             ID: '1'
         Device: [1x1 daq.di.DeviceInfo]
MeasurementType: 'Sine'


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

Установите усиление канала на 5 (устанавливает амплитуду синусоиды к 5 В). Сохраните настройку усиления к переменной, для того, чтобы установить оси.

gain = 5;
fgenCh.Gain = gain;

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

fgenCh.Frequency = 1000;

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

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

aiCh = addAnalogInputChannel(s, 'AD1', 1, 'Voltage')
aiCh = 

Data acquisition analog input voltage channel '1' on device 'AD1':

       Coupling: DC
 TerminalConfig: Differential
          Range: -25 to +25 Volts
           Name: ''
             ID: '1'
         Device: [1x1 daq.di.DeviceInfo]
MeasurementType: 'Voltage'


Свойства Set Session

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

s.Rate = 100 * fgenCh.Frequency;
s.DurationInSeconds = 1;

Сгенерируйте текущие данные и запишите вход одновременно

[data, timestamps] = startForeground(s);

Отобразите результаты

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

Для просмотра документации необходимо авторизоваться на сайте