- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Posted 04-01-2008 12:41 PM
(6312 views)
I presently have a SAS dataset of audiograms with a numeric var named SPL. It contains values which represent sound pressure levels measured in decibels (dBSPL). I need to convert the values of SPL to sound pressure measured in Pa (Pascal) or uP (micropascals) and store the converted values for future analysis. Any idea how to help this novice do this in SAS?
Thanks
Thanks
3 REPLIES 3
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
I found this bye google searching the internet for
convert dbspl to pascal units
"'Pa' is the abbreviation for Pascal, which is a unit of pressure that is equivalent to 93.9794 dB SPL (Sound Pressure Level)."
so, the SAS statement is
Pa=93.9794*;
If you need to know how to save a pemanent SAS dataset, you probably need a short cours e on introductory SAS. Cody's book might be useful there.
convert dbspl to pascal units
"'Pa' is the abbreviation for Pascal, which is a unit of pressure that is equivalent to 93.9794 dB SPL (Sound Pressure Level)."
so, the SAS statement is
Pa=93.9794*
If you need to know how to save a pemanent SAS dataset, you probably need a short cours e on introductory SAS. Cody's book might be useful there.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Unfortunately its not that simple. This is decibled sound pressure with a reference pressure of 0.00002Pa, it is not a simple multiplicative conversion factor.
dbSPL = 20 * LOG10(Pa/0.00002)
So the conversion is going to be
X = Pressure in Pa
Y = Presseure in dbSPL
Y=20*LOG10(X/0.00002)
Y/20 = LOG10(X/0.00002)
10^(Y/20)=X/0.00002
X = 0.00002 * 10^(Y/20)
Or in SAS Functions
X = 0.00002 * (10**(Y/20))
Ike Eisenhauer
Message was edited by: WDEisenhauer
dbSPL = 20 * LOG10(Pa/0.00002)
So the conversion is going to be
X = Pressure in Pa
Y = Presseure in dbSPL
Y=20*LOG10(X/0.00002)
Y/20 = LOG10(X/0.00002)
10^(Y/20)=X/0.00002
X = 0.00002 * 10^(Y/20)
Or in SAS Functions
X = 0.00002 * (10**(Y/20))
Ike Eisenhauer
Message was edited by: WDEisenhauer
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Thanks! I actually had the conversion coded as:
X = 20*(10**(Y/20))/1000000;
Same result, but your's looks cleaner.
X = 20*(10**(Y/20))/1000000;
Same result, but your's looks cleaner.