wolffd@0: function cfArray = ERBSpace(lowFreq, highFreq, N) wolffd@0: % function cfArray = ERBSpace(lowFreq, highFreq, N) wolffd@0: % This function computes an array of N frequencies uniformly spaced between wolffd@0: % highFreq and lowFreq on an ERB scale. N is set to 100 if not specified. wolffd@0: % wolffd@0: % See also linspace, logspace, MakeERBCoeffs, MakeERBFilters. wolffd@0: % wolffd@0: % For a definition of ERB, see Moore, B. C. J., and Glasberg, B. R. (1983). wolffd@0: % "Suggested formulae for calculating auditory-filter bandwidths and wolffd@0: % excitation patterns," J. Acoust. Soc. Am. 74, 750-753. wolffd@0: wolffd@0: if nargin < 1 wolffd@0: lowFreq = 100; wolffd@0: end wolffd@0: wolffd@0: if nargin < 2 wolffd@0: highFreq = 44100/4; wolffd@0: end wolffd@0: wolffd@0: if nargin < 3 wolffd@0: N = 100; wolffd@0: end wolffd@0: wolffd@0: % Change the following three parameters if you wish to use a different wolffd@0: % ERB scale. Must change in MakeERBCoeffs too. wolffd@0: EarQ = 9.26449; % Glasberg and Moore Parameters wolffd@0: minBW = 24.7; wolffd@0: order = 1; wolffd@0: wolffd@0: % All of the followFreqing expressions are derived in Apple TR #35, "An wolffd@0: % Efficient Implementation of the Patterson-Holdsworth Cochlear wolffd@0: % Filter Bank." See pages 33-34. wolffd@0: cfArray = -(EarQ*minBW) + exp((1:N)'*(-log(highFreq + EarQ*minBW) + ... wolffd@0: log(lowFreq + EarQ*minBW))/N) * (highFreq + EarQ*minBW); wolffd@0: