How to calculate decibel from maxAmplitude, I wrote an android application to get maxAmplitude at regular interval, I need to show the o/p to the user in decibels.
            Asked
            
        
        
            Active
            
        
            Viewed 3.1k times
        
    2 Answers
11
            Decibels are a relative unit, they express the power of your signal relative to some reference power.
If you are working with amplitudes, then the formula is:
power_db = 20 * log10(amp / amp_ref);
(See http://en.wikipedia.org/wiki/Decibel#Field_quantities).
Note also that maximum amplitude is not usually a very good indicator of loudness (or even of power). More typically, you should measure the RMS power of your signal, and convert that to dB instead.
        Oliver Charlesworth
        
- 267,707
 - 33
 - 569
 - 680
 
- 
                    3what's amp_ref in this formula? – Sharjeel Sep 23 '11 at 00:47
 - 
                    2@Sharj: Your reference amplitude. Decibels are a relative unit, not absolute. They express a ratio relative to some reference level. It's up to you to choose a reference level. – Oliver Charlesworth Sep 23 '11 at 10:59
 - 
                    1If the units are amplitudes the multiplier is 20. If the units are power the multiplier is 10. – user207421 Oct 23 '14 at 08:16
 - 
                    1@Sharj: One example of reference level is the peak signal amplitude of 0.447V used in consumer electronics, see https://en.wikipedia.org/wiki/Line_level. Therefore, -6dB decrease is equivalent to a decrease by 2 in the signal amplitude. – Alexander Jun 28 '18 at 07:29
 - 
                    @Alexander:i m trying to generate tone in decibels by giving mobile MediaPlayer volume or amplitude, is it possible? – rashmi sm Feb 28 '19 at 13:13
 - 
                    here I am calculating db=(int) (20 * Math.log(((double) maxAmplitude) / 32767d)) – Sumit Sep 21 '21 at 11:19
 
7
            
            
        Regular phone microphones aren't calibrated to measure absolute loudness, so it's not possible without also having a sound meter to initially calibrate the phone. As Oli mentions, you may be able to calculate a relative change in loudness, but I expect you want to replicate a real sound level meter.
        Nick
        
- 11,475
 - 1
 - 36
 - 47