I am trying to quantify the average differences between several impulse responses over the frequency range and over octave bands.
So, I am doing (in Matlab):
NFFT = 2^13;
x_fft(1:NFFT,:) = fft(IRs, NFFT);
spData = (abs(x_fft(1:NFFT/2, :))*2)/NFFT;
refPa = 2*1e-5;
R = nchoosek(1:size(spData,3), 2); % Calculate all possible combinations
aC = 0;
for idxNote = 1:size(R,1)
aC = aC +1;
diffsRows(aC ,:)=abs((20*log10(spData(:,R(idx ,1))/refPa)) - 20*log10(spData(:,R(idx ,2))/refPa));
end
semilogx(freqs,mean(diffsRows))
I can see in a paper that this has been done by filtering the impulse response with an octave band filter, then by calculating the "RMS levels in dB" for each band of the impulse responses (IRs) and subtracting the levels from the levels of a reference IR. I believe I am doing the same in my code (mine is over the whole frequency range).
Can be the RMS of an impulse response considered as its amplitude in the frequency domain?
Is this the correct way to go?
Thanks in advance for your help!