How to interpret dependency on order for 1/3-octave band filters in Matlab?

155 views Asked by At

I am trying to obtain a third-octave band representation of the frequency content of an acoustic signal, obtained by numerical simulation. The signal is the following:

enter image description here

The code I use (you can reproduce it by replacing P and t with other signals):



P  = PNL(:,3) ;               % Acoustic pressure signal
t  = timeWindow ;             % Time array

T  = t(end) - t(1) ;          % Signal duration
fs = length(t)/T ;            % = 98123 [Hz]

T0 = 1 ;                      % Reference duration of 1 [s]

filterOrder        = 6 ;

allANSIFrequencies = getANSICenterFrequencies(octaveFilter('FilterOrder', filterOrder, 'Bandwidth', '1/3 octave', 'SampleRate', fs));  

cf = allANSIFrequencies(19 : 50) ;  % Restricting the frequency range to [15 Hz - 20000 Hz]

for k = 1 : length(cf)

   octFilt = octaveFilter(cf(k), 'Bandwidth', '1/3 octave','SampleRate', fs, 'FilterOrder', filterOrder, 'Oversample', false);
    
   y = octFilt(P);

   Prms =  sqrt((1/T0) * trapz(t, y.^2)) ;   % Root mean square pressure level

   LE(k)    = 20 * log10(Prms/20e-6) ;       % [db] Sound Exposure Level
     
end

semilogx(cf, LE)
grid on
xlabel('Frequency (Hz)') ;
ylabel('L_{E} (dB)') ;
legend('Order 2', 'Order 4', 'Order 6', 'Order 12')

The frequency content I would expect based on experimental data is a mix of the results at different orders: up to 1000 [Hz] the levels from order 6 are correct, while from 1000 [Hz] onwards, it's the order 2 that describes best the frequency content.

enter image description here

I obtain very different results depending on the filter order I am using. To a certain degree that's normal. Higher orders should provide a sharper response of the filter, but I fail to interpret these results. The resolution of the signal under investigation should be high enough (98123 [Hz]). Any idea of what the issue could be?

Thank you in advance, I'd appreciate any insight on this!

0

There are 0 answers