diff toolboxes/MIRtoolbox1.3.2/AuditoryToolbox/ERBSpace.m @ 0:e9a9cd732c1e tip

first hg version after svn
author wolffd
date Tue, 10 Feb 2015 15:05:51 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/toolboxes/MIRtoolbox1.3.2/AuditoryToolbox/ERBSpace.m	Tue Feb 10 15:05:51 2015 +0000
@@ -0,0 +1,35 @@
+function cfArray = ERBSpace(lowFreq, highFreq, N)
+% function cfArray = ERBSpace(lowFreq, highFreq, N)
+% This function computes an array of N frequencies uniformly spaced between
+% highFreq and lowFreq on an ERB scale.  N is set to 100 if not specified.
+%
+% See also linspace, logspace, MakeERBCoeffs, MakeERBFilters.
+%
+% For a definition of ERB, see Moore, B. C. J., and Glasberg, B. R. (1983).
+% "Suggested formulae for calculating auditory-filter bandwidths and
+% excitation patterns," J. Acoust. Soc. Am. 74, 750-753.
+
+if nargin < 1
+	lowFreq = 100;
+end
+
+if nargin < 2
+	highFreq = 44100/4;
+end
+
+if nargin < 3
+	N = 100;
+end
+
+% Change the following three parameters if you wish to use a different
+% ERB scale.  Must change in MakeERBCoeffs too.
+EarQ = 9.26449;				%  Glasberg and Moore Parameters
+minBW = 24.7;
+order = 1;
+
+% All of the followFreqing expressions are derived in Apple TR #35, "An
+% Efficient Implementation of the Patterson-Holdsworth Cochlear
+% Filter Bank."  See pages 33-34.
+cfArray = -(EarQ*minBW) + exp((1:N)'*(-log(highFreq + EarQ*minBW) + ...
+		log(lowFreq + EarQ*minBW))/N) * (highFreq + EarQ*minBW);
+