В этом примере показано, как использовать функциональный канал генерации на сеансе, чтобы сгенерировать произвольную функцию формы волны на частоте на 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);