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

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

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

s = daq.createSession('digilent');

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

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

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);
Для просмотра документации необходимо авторизоваться на сайте