This is a pre-purchase question. I would like to use RS & Boom for measuring infrasounds produced by wind turbines and I wonder if you can easy display values in dBL (linear decibels) using the device. Thanks.
Sorry but I don’t think there is any such thing as linear decibels. The decibel is, by definition, a logarithmic metric.
You probably want to convert RBoom’s raw readings to Sound Pressure Level (SPL) - which is commonly based on 20 micropascals being the 0 dB reference point. The readings would be stated as dB (over a frequency range). It may also be dBZ (Z indicating unweighted readings or “zero-weighting”).
The RBoom has a sensitivity of 56000 “counts” per Pascal (if I recall). This is at some nominal frequency like 4 Hz. The magnitude and phase angle of the response changes with frequency, particularly at the extreme low end where the signal is electronically “boosted”.
There are some math gymnastics required to convert the SWARM readings to DB over an entire spectrum from say 0.08 Hz to ~44 Hz using information found in the spec sheets. If you need to do this, I am sure folks on the forum here can point you to the necessary conversion routine.
FWIW: I see a noise floor of about 1000 counts RMS on a very quiet night. Without fussing with the instrument response, you can calculate that this is approximately 30 dB SPL. Under these conditions, that 1000 counts is mostly self-noise of the RBoom. (I have argued in the past that this high number of counts for noise floor wastes a lot of storage space, but RS was not convinced).
I have a conventional sound meter (20-20,000 Hz) which has a minimum range of 30-60 dBA. It will indicate down to 27 dBA. So you might argue that the RB noise floor is similar to a sound meter - just a much lower frequency range!
Here - I found the spec sheets:
Specifications for: Raspberry Boom V4+ and SnB V2+ (raspberryshake.org)
Well, actually there is. It’s called dBL o dBLin. It’s described in documents such like these:
Open Government of Alberta about Environmental Impact Assessment
dBL or dBLin – decibel, linear: the logarithmic units associated with a sound pressure
level, where the sound pressure signal is unfiltered, and represents the full spectrum of
and also as a basis for correct measurement of Low Frequency Noise on human health
We are in danger of confusion from poor terminology. I’ve had a look at the PDF documents you’ve posted so let me clarify (if I can).
All decibels are logarithmic as Ken has stated, but dBL has no WEIGHTING applied. dBA for example has a weighting applied to adjust the frequency response to mimic the human ear so that the same dBA at different frequencies sound the same loudness to the human ear. The documents you refer to seem to use the terms weighting and filter interchangably. Normal practice in seismology and related fields is to refer to filters as a limit in bandwidth of the signal (i.e. low pass, highpass or bandpass).
A RS&B can produce the UNWEIGHTED decibels (dBL if you like) you require up to a maximum frequency of 50Hz. For example, refer to the latest version of the python report here:
Note that while developing this report some errors were found in the Raspberry Shake and Boom Manual which has since been corrected. The code for converting counts to Pascals and Pascals to dB are detailed there as well.
The only concern I would raise - again this is purely based on terminology - is that the dBL definition clearly states “unfiltered, and represents the full spectrum of incoming noise”. If this means no weighting, and no missing frequencies from the available bandwidth, then everything is fine. If the “full spectrum” means the full spectrum of human hearing (20Hz to 20,000Hz) then clearly infrasound (<20Hz) does not apply and RS&B data does not apply as the RS&B is limited to <50Hz. This might seem pedantic, but if the reason for you wanting the data is, or turns into, a legal one, this will become a legal point of debate IMO so expect that one. ;o)
Hello cemprotecta, and welcome to our community!
What an interesting discussion came out of this topic; I personally learned a lot about all that has been talked about.
To answer your question, all our Shakes output is in raw
Counts, a unitless number that is essentially an analogue for the amount of voltage on the circuit of the given channel at the given time. (IRIS: Frequently Answered Question).
As sheeny has also stated, it is possible to convert those raw numbers into more “usable” units of measurement, and we have a basic code here (Developer’s corner — Instructions on Setting Up Your Raspberry Shake) that he has helped adjust to output both Pascals and dB (SPL - Convert pascal [Pa] to sound pressure level in decibels [dB SPL] • Sound Pressure Level (SPL) Converter • Acoustics — Sound • Compact Calculator • Online Unit Converters).
You can take this as a starting point or reference guide and adapt it to suit your needs, producing the data that you are looking for.
My recent adventures in noise measurement use the term dBZ for unweighted.
You will find the international standard (excluding Canada?) IEC-61672 prefers the term dBZ
Using linear and dB in the same phrase is really confusing
Since you mention converting numbers
I need some help - (actually should be on the Shake side of things).
If I wish to get a vibration number called Peak Particle Velocity, how do I process the RShake output to get that? This will be only in the vertical, or z-direction, of course. PPV seems to be the parameter that regulatory authorities want in assessing vibration,
Is it enough to just read the top of the trace and find the highest value in the time sample?
In that case, this one is about 350 micro-meters/sec or 0.0134 inches per second.
Is any filtering required? Can we say this covers the frequency range from 0.1 to 50 Hz or some such range?
A job I have done three years ago can be of help, here: GitHub - raspishake/peak-particle-velocity: Raspberry Shake Peak Particle Velocity (PPV) calculation script
This Python code (requires a Linux/Windows environment with Anaconda) will calculate the PPV values for any Shake in any timeframe. It is set for an RS3D, but it can be easily adapted to suit other models.
To obtain a usable value, it is not sufficient to read the maximum values on a waveform portion, and the following formula has to be applied to calculate PPV:
PPV (mm/s) = 2 · pi · f · data · 1000
pi: is the usual pi (3.14159...) f: is the data collection frequency (in Hz). 100 for our current Shake models, 50 for the first ones (SHZ) data: is what the Shake has recorded, detrended, with response removed, and, if needed, filtered
You can find more here: https://www.castlegroup.co.uk/ground-vibration/
The code will probably need some tuning and polishing as it is a bit old, but it should provide a good starting point.
I had Anaconda on my old PC. Time to install it on this new one I guess …
No problem at all, you’re welcome.