В этом примере показано, как получить и отобразить данные о звуковом давлении из микрофона PCB® IEPE массивов, Модели 130E20. Датчик записывает звуковое давление, сгенерированное камертоном в середину C частота (на 261,626 Гц).
Чтобы обнаружить устройство, которое поддерживает Микрофоны, кликните по имени устройства в списке в Командном окне или получите доступ к устройству в массиве, возвращенном daq.getDevices команда. В данном примере микрофон соединяется на канале 0 из устройства National Instruments® 9234 на шасси NI cDAQ-9174 CompactDAQ с ID cDAQ1Mod3.
devices = daq.getDevices devices(3)
devices =
Data acquisition devices:
index Vendor Device ID Description
----- ------ --------- --------------------------------
1 ni cDAQ1Mod1 National Instruments NI 9205
2 ni cDAQ1Mod2 National Instruments NI 9263
3 ni cDAQ1Mod3 National Instruments NI 9234
4 ni cDAQ1Mod4 National Instruments NI 9201
5 ni cDAQ1Mod5 National Instruments NI 9402
6 ni cDAQ1Mod6 National Instruments NI 9213
7 ni cDAQ1Mod7 National Instruments NI 9219
8 ni cDAQ1Mod8 National Instruments NI 9265
9 ni Dev1 National Instruments PCIe-6363
10 ni Dev2 National Instruments NI ELVIS II
ans =
ni: National Instruments NI 9234 (Device ID: 'cDAQ1Mod3')
Analog input subsystem supports:
-5.0 to +5.0 Volts range
Rates from 1000.0 to 51200.0 scans/sec
4 channels ('ai0','ai1','ai2','ai3')
'Voltage','Accelerometer','Microphone','IEPE' measurement types
This module is in slot 3 of the 'cDAQ-9178' chassis with the name 'cDAQ1'.
Создайте сеанс и добавьте канал с Microphone тип измерения.
s = daq.createSession('ni'); addAnalogInputChannel(s,'cDAQ1Mod3', 0, 'Microphone');
Установите Sensitivity микрофона к значению, заданному в таблице данных датчика. Для этого датчика, Sensitivity значение составляет 0,037 вольт/Паскаль. Исследуйте свойства канала видеть конфигурацию устройства изменений.
s.Channels.Sensitivity = 0.037; s.Channels
ans =
Data acquisition analog input microphone channel 'ai0' on device 'cDAQ1Mod3':
Sensitivity: 0.037
MaxSoundPressureLevel: 136
ExcitationCurrent: 0.001
ExcitationSource: None
Coupling: DC
TerminalConfig: Differential
Range: -200 to +200 Pascals
Name: ''
ID: 'ai0'
Device: [1x1 daq.ni.CompactDAQModule]
MeasurementType: 'Microphone'
ADCTimingMode: ''
Установите длительность на 4 секунды и уровень к 51 200 сканированиям в секунду и запустите приобретение.
s.DurationInSeconds = 4; s.Rate = 51200; [data,time] = s.startForeground();
Используйте audioplayer воспроизводить приобретение
p = audioplayer(data, s.Rate); play(p);
Исследуйте данные во временном интервале
plot(time,data) xlabel('Time (secs)'); ylabel('Sound Pressure (pascals)');

Исследуйте данные в частотном диапазоне
Используйте fft и следующие параметры, чтобы вычислить односторонний амплитудный спектр входящих данных:
Вычислите длину сигнала
Вычислите nfft
Вычислите амплитуду и частоту
length = double(s.NumberOfScans); nfft = 2^nextpow2(length); y = fft(data,nfft)/length; frequency = s.Rate/2*linspace(0,1,nfft/2+1); amplitude = 2*abs(y(1:nfft/2+1));
Постройте односторонний амплитудный спектр
plot(frequency,amplitude); xlim([0 1000]); xlabel('Frequency (Hz)'); ylabel('Amplitude');

Заметьте, что график показывает скачок на уровне 261,626 Гц. Это совпадает с частотой камертона.