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