Db20Approx
Overview
Converts from linear units to decibels using a fast approximation
Discussion
Converts from linear units to decibels (db20) using a polynomial approximation. The function uses a 3rd order polynomial and the maximum error over the entire input range is 0.003 dB.
Module Pack
Standard
ClassID
classID = 73
Type Definition
typedef struct _ModuleDb20Approx
{
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
} ModuleDb20ApproxClass;
Pins
Input Pins
| Name | in |
| Description | Input signal |
| Data type | float |
| Channel range | Unrestricted |
| Block size range | Unrestricted |
| Sample rate range | Unrestricted |
| Complex support | Real |
Output Pins
| Name | out |
| Description | Output signal |
| Data Type | float |
Matlab Usage
File Name: db20_approx_module.m
M=db20_approx_module(NAME)
Creates an Audio Weaver module that computes the function 20*log10(abs(x))
using a polynomial approximation. This converts from linear units to decibels.
The approximation is accurate to 7.984884e-003 dB.
NAME - name of the module.
Copyright (c) 2026 DSP Concepts, Inc.