Main Content


Convert from hertz to equivalent rectangular bandwidth (ERB) scale



erb = hz2erb(hz) converts values in hertz to values on the ERB frequency scale.


collapse all

Set two bounding frequencies in Hz and then convert them to the ERB scale.

b = hz2erb([20,8000]);

Generate a row vector of 32 values uniformly spaced on the ERB scale.

erbVect = linspace(b(1),b(2),32);

Convert the row vector of values into equivalent frequencies in Hz.

hzVect = erb2hz(erbVect);

Plot the two vectors for comparison. As ERB values increase linearly, Hz values increase exponentially.

title('ERB vs Hz')
grid on

Input Arguments

collapse all

Input frequency in Hz, specified as a scalar, vector, matrix, or multidimensional array.

Data Types: single | double

Output Arguments

collapse all

Output frequency on the ERB scale, returned as a scalar, vector, matrix, or multidimensional array the same size as hz.

Data Types: single | double


The frequency conversion from Hz to the ERB scale uses the following formula:



[1] Glasberg, Brian R., and Brian C. J. Moore. "Derivation of Auditory Filter Shapes from Notched-Noise Data." Hearing Research. Vol. 47, Issues 1–2, 1990, pp. 103–138.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2019a