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

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

Создайте сеанс приобретения Digilent

s = daq.createSession('digilent');

Используйте daq.getdevices, чтобы обнаружить доступные устройства Digilent.

Создайте канал генерации функции формы волны с WaveformType Arbitrary.

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

Data acquisition arbirtray 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.0 25000000.0]
               Name: ''
                 ID: '1'
             Device: [1x1 daq.di.DeviceInfo]
    MeasurementType: 'Voltage'

Установите buffer size на 4096 и установите канал неоднократно генерировать форму волны от содержимого буфера. Канал выходные параметры для постоянного числа времен по пробелу буфера.

buffersize = 4096;
len = buffersize + 1;

f0 = 1;
f1 = 1 * f0;
f3 = 3 * f0;
f5 = 5 * f0;

waveform  = sin(linspace(0, 2*pi*f1, len)) + ...
            sin(linspace(0, 2*pi*f3, len)) + ...
            sin(linspace(0, 2*pi*f5, len));

waveform = 5*waveform./max(abs(waveform));
waveform(end) = [];

Установите WaveformData канала к waveform.

fgenCh.WaveformData = waveform;

Установите частоту канала к 100 KHz.

fgenCh.Frequency = 100e3;

Установите длительность сеанса на 5 секунд и сгенерируйте текущие данные.

s.DurationInSeconds = 5;
startForeground(s);
Для просмотра документации необходимо авторизоваться на сайте