MATLAB: Does the DB function not return the proper power ratio in Signal Processing Toolbox

decibellogpower_conversion_controlpower_electronics_controlSignal Processing Toolbox

I expect DB to always be power ratio and not amplitude ratio. Hence, dB should equal 10*log10 (value) and not 20*log10(value) for amplitude to power conversion.

Best Answer

This bug has been fixed in Release 2007a (R2007a). For previous product releases, read below for any possible workarounds:
Generally for engineers of communications and electronics background, "dB" unit represents a ratio, for example, between input and output. On the other hand "dBm" unit represents a magnitude of power. However, in this case "dB" is used as a magnitude of power.
You can use the following syntax of the DB function as a workaround. If X is the value in question, use:
db(X,'power')
To get the 10*log10(X) instead of the 20*log10(X).