PSD to SPL Conversion

11 views (last 30 days)
Filipe Amaral
Filipe Amaral on 19 Sep 2015
Edited: per isakson on 28 Apr 2016
Hi everybody,
I want to convert some data from PSD, with unity [dB/Hz], for SPL, with unity [dB].
Let us say that my frequency vector is 'f = [500 525 575 675 825]', in [Hz], and my spectrum vector is = [80 79 78 77 76 75].
I know that 'SPL = 10*log10((p^2)/(p_{ref}^2))', with 'p' and 'p_{ref}' in [Pa] (Pascal).
To evaluate my PSD data I've done 'PSD = 10*log10(pi/(p_ref^2))', with 'pi' in [Pa^2/Hz] (data from my cross-spectrum matrix).
So how do I convert 'p' into 'pi' in a way to have my results in SPL? I know that it is not so simple as 'pi = p*deltaf', with 'deltaf' being the difference between neighbour frequencies (I've tried it and the results do not make any sense).
I appreciate if anybody could help.
Thanks!

Answers (0)

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!