exponenta event banner

Получение и анализ данных о звуковом давлении с микрофона IEPE

В этом примере показано, как получать и отображать данные о звуковом давлении с микрофона массива 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 Гц. Это соответствует частоте камертона.