Good Morning!
I am new in signal processing and I am trying to do a work in noise control of an electronic steering lock device (ESL). My aim is to calculate the loudness (Zwicker Method- ISO 532 B) of this device. To do so, first I need to obtain the 1/3 octave spectrum of a time signal that I measure with a microphone. The problem is I keep getting negative values in $\textrm{dB}$ for the 1/3 Octave bands after filtering the signal in the time domain to obtain the spectrum. I will explain here the procedure I have used and hope that anyone sees what I am doing wrong. Thanks in advance.
I have done the following procedure by now:
Sampled the noise signal (impulsive noise) by using a microphone and a data logger (to record the data), which has a sample frequency of $50\textrm{ kHz}$. Then, after this step I have a Curve that it is Amplitude ($\textrm{dBA}$) vs. time ($\textrm{s}$), as shown below. Once the ($\textrm{dBA}$) value of a sound level meter is calculated by: $$10\log_{10}\left( \dfrac{p^2}{p_0^2} \right)$$ where $p_0$ is $2\cdot 10^{-6}\textrm{ Pa}$. I am able to evaluate the pressure variation ($\textrm{ Pa}$) vs. time and use it as INPUT of the 1/3 Octave filters.
I get the vector INPUT (with $250000$ points of pressure ($\textrm{ Pa}$)-measurements of $5\textrm{ s}$) and use a function in MATLAB, in order to filter the signal in each each 1/3 octave band.
Then, the program calculates the RMS value of the OUTPUT (after filtering). And this is the value that represents each frequency band.
Finally, I use the same expression used before to calculate the Magnitude in $\textrm{ dB}$ for each 1/3 Octave band. $10\log_{10}\left( \dfrac{p^2}{p_0^2} \right)$, where $p_0$ is $2\cdot 10^{-6}\textrm{ Pa}$.
The thing is the obtained 1/3 Octave is lower then $0\textrm{ dB}$ and this doesn't make sense once I can hear the noise when I run the device, moreover it doesn't make sense to calculate the loudness following the ISO 532 B if we have negative third octave bands. It seems like the pressure that I have in time domain that is higher then the reference pressure somehow is attenuated and gets lower than the reference pressure after filtering.
Does anybody know what I am doing wrong?