# Applying A-weighting

I want to calculate the loudness of a given signal and I've come across this thread. I'm slightly confused about the A-Weighting aspect of it. I can't post images, but I think this site has the formula I need. (Wa = 10log...)

What I don't understand is how to actually use it in my program. If the f stands for frequency, then presumably I can hardcode the values since they will remain constant. If that is the case, how do I apply Wa to my sample values and what values do I use? Do I calculate the power spectrum to get WINDOW_SIZE/2 values and multiply each value in the frequency band with relevant precalculated Wa value or is that the wrong way of doing it? Thank you in advance.

• Thanks, I'm understanding it a bit better. In your Parseval example, is rms_flat the RMS equation (SQRT(x1^2 + x2^2...xn^2/n)) and what's the difference between rms_flat of the signal and rms_flat of the FFT? – TryNCode Oct 13 '11 at 14:45
• @ExpAns: Yes, rms_flat() is just sqrt(mean(absolute(a)**2)). The /n is on the outside. The RMS value of the signal and FFT are the same except for a scaling factor. – endolith Oct 13 '11 at 15:53