One on the nasty side-effects of overclocking is that all the fans we add are very, very noisy. For many of us, it becomes an obsession to buy quiet fans and hard drives. We pad fans and buy sound-absorbing materials to dampen vibrations. And yet at the end of the day, it’s difficult to determine just how loud a computer is. It doesn’t help that sound levels (measured in decibels) don’t add linearly.
Most of us know that if you have two sources of noise which are equally loud, then together they are approximately 3 dBA louder, regardless of how loud they are individually. For example, if you have two birds chirping at 40 dBA, then together, they’re 43 dBA, and not 80 dBA.
Now, suppose you have three birds. How do you compute the sound level? What are 43 dBA and 40 dBA together? How do you add in the 70 dBA vacuum cleaner in the hallway? And here’s where the 3 dBA trick loses its usefulness.
Enter the definition of decibels:
A decibel, at any weighting (e.g., A-weighted decibels are dBA, C-weighted are dBC, ), is the logarithm (base 10) of a ratio of sound pressure levels. We define:
where Pr is a reference pressure level, which is the lowest pressure level the human ear can detect (at a particular frequency.) Notice that if P = P_r, then dBA = 10 log (1) = 0, that is, at the threshold of hearing, the sound level is 0, just as we’d expect. Really, though, it’s not the values of P and Pr that matter individually, but rather their ratio.
Using the definition for an Algorithm:
So, for two sound sources at a similar frequency, we can get somewhere. For each given sound level in dBA, (or any weighting), if we set Pr = 1, we can back-calculate P. (P is scaled by Pr.) For example,
let us suppose that two fans have identical sound levels dBA1 and dBA2 = dBA. Then we calculate:
For multiple sound sources, then, we generalize to the following algorithm:
Throwing in the fan Speeds:
It would also be nice to model the sound levels if the fan speeds are reduced, say, to 60% of their original speed. If we had a nice plot of the sound pressure levels versus fan speed in RPM, along with the rated 100% RPM level, we could do this nicely.
However, there are very few fan manufacturers that do this. So, we’ll have to make due and approximate with the two data points we have: dBA at 100% and 0 dBA at 0%. So, if you want to, you can try to approximate the fan speeds linearly by multiplying the dBA times a percentage before back-calculating the sound pressures.
From what I’ve seen for the variable speeds fans by Thermaltake, Enermax, and others (for dBA vs. fan speed in RPM’s), the chart actually is roughly linear, although with a differing slope. Here’s an example:
Recall also that the fan speed is roughly linear with RPM’s.
I have written this algorithm into a C++ program, called sound.exe (57k) (for DOS/Windows – if you use linux, let me know.) For usage, just double-click on the program. For help, type sound h
Some final notes:
As noted before, this algorithm is most accurate (exact) for sound sources at or near the same frequency (Due to the weighting of differing frequencies in the standard A-weighting.) Scaling the fan noise level by its speed is a crude approximation and should be taken with a grain of salt.
This level only takes into account the official sound levels of each fan, and doesn’t account for, say, hard drive vibration, case vibration, etc. However, if those sound sources are eliminated by some means or another, the estimate becomes more accurate. I hope you find this program useful!