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

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