В этом примере показано, как получать и отображать данные о звуковом давлении с микрофона массива PCB ® IEPE, Model 130E20. Датчик регистрирует звуковое давление, создаваемое камертоном на частоте Middle C (261,626 Гц).
Чтобы обнаружить устройство, поддерживающее измерения микрофона, обратитесь к устройству в таблице, возвращенной daqlist команда. В этом примере микрофон подключен к каналу 0 устройства National Instruments ® NI 9234 на корпусе CompactDAQ NI cDAQ-9178 с идентификатором cDAQ1Mod3.
d = daqlist("ni")
d =
12×4 table
DeviceID Description Model DeviceInfo
___________ __________________________________ _____________ ____________________
"cDAQ1Mod1" "National Instruments NI 9205" "NI 9205" [1×1 daq.DeviceInfo]
"cDAQ1Mod2" "National Instruments NI 9263" "NI 9263" [1×1 daq.DeviceInfo]
"cDAQ1Mod3" "National Instruments NI 9234" "NI 9234" [1×1 daq.DeviceInfo]
"cDAQ1Mod4" "National Instruments NI 9201" "NI 9201" [1×1 daq.DeviceInfo]
"cDAQ1Mod5" "National Instruments NI 9402" "NI 9402" [1×1 daq.DeviceInfo]
"cDAQ1Mod6" "National Instruments NI 9213" "NI 9213" [1×1 daq.DeviceInfo]
"cDAQ1Mod7" "National Instruments NI 9219" "NI 9219" [1×1 daq.DeviceInfo]
"cDAQ1Mod8" "National Instruments NI 9265" "NI 9265" [1×1 daq.DeviceInfo]
"Dev1" "National Instruments PCIe-6363" "PCIe-6363" [1×1 daq.DeviceInfo]
"Dev2" "National Instruments NI ELVIS II" "NI ELVIS II" [1×1 daq.DeviceInfo]
"Dev3" "National Instruments PCIe-6363" "PCIe-6363" [1×1 daq.DeviceInfo]
"Dev4" "National Instruments PCIe-6363" "PCIe-6363" [1×1 daq.DeviceInfo]
deviceInfo = d{3, "DeviceInfo"}
deviceInfo =
ni: National Instruments NI 9234 (Device ID: 'cDAQ1Mod3')
Analog input 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'.
Создание DataAcquisition и добавление канала с помощью Microphone тип измерения.
dq = daq("ni"); ch = addinput(dq, "cDAQ1Mod3", "ai0", "Microphone");
Установка канала микрофона Sensitivity к значению, указанному в листе технических данных датчика. Для этого датчика, Sensitivity значение равно 0,037 Вольт/Паскаль. Проверьте свойства канала, чтобы увидеть изменения в конфигурации устройства.
ch.Sensitivity = 0.037; ch
ch =
Index Type Device Channel Measurement Type Range Name
_____ ____ ___________ _______ ___________________ ______________________ _______________
1 "ai" "cDAQ1Mod3" "ai0" "Microphone (Diff)" "-200 to +200 Pascals" "cDAQ1Mod3_ai0"
Установите скорость поиска 51200 сканирований в секунду, а затем используйте read для получения четырех секунд данных.
dq.Rate = 51200; tt = read(dq, seconds(4)); t = tt.Time; data = tt.cDAQ1Mod3_ai0;
Использовать audioplayer для воспроизведения полученного сигнала микрофона
p = audioplayer(data, dq.Rate); play(p);
Анализ данных во временной области
plot(t, data);
ylabel('Sound Pressure (pascals)');

Анализ данных в частотной области
Использовать fft и следующие параметры для вычисления одностороннего амплитудного спектра поступающих данных:
Рассчитать длину сигнала (количество выборок или записей в таблице)
Вычислить nfft
Расчет амплитуды и частоты
len = height(tt); nfft = 2^nextpow2(len); y = fft(data,nfft)/len; f = dq.Rate/2*linspace(0,1,nfft/2+1); A = 2*abs(y(1:nfft/2+1));
Постройте график одностороннего амплитудного спектра
plot(f,A); xlim([0 1000]); xlabel('Frequency (Hz)'); ylabel('Amplitude');

На графике показан всплеск при 261,626 Гц. Это соответствует частоте камертона.