erb2hz

Convert from equivalent rectangular bandwidth (ERB) scale to hertz

Description

example

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

Examples

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.

plot(erbVect,hzVect,'o')
title('ERB vs Hz')
xlabel('ERB')
ylabel('Hz')
grid on Input Arguments

collapse all

Input frequency on the equivalent rectangular band (ERB) scale, specified as a scalar, vector, matrix, or multidimensional array.

Data Types: single | double

Output Arguments

collapse all

Output frequency in Hz, returned as a scalar, vector, matrix, or multidimensional array the same size as erb.

Data Types: single | double

Algorithms

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

$\begin{array}{l}hz=\frac{{10}^{\frac{erb}{A}}-1}{0.00437}\\ \text{where}\\ A=\frac{1000{\mathrm{log}}_{e}\left(10\right)}{\left(24.7\right)\left(4.37\right)}\end{array}$

 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.

Audio Toolbox Documentation Get trial now