tomwalters@0
|
1 /*
|
tomwalters@0
|
2 Copyright (c) Applied Psychology Unit, Medical Research Council. 1988, 1989
|
tomwalters@0
|
3 ===========================================================================
|
tomwalters@0
|
4
|
tomwalters@0
|
5 Permission to use, copy, modify, and distribute this software without fee
|
tomwalters@0
|
6 is hereby granted for research purposes, provided that this copyright
|
tomwalters@0
|
7 notice appears in all copies and in all supporting documentation, and that
|
tomwalters@0
|
8 the software is not redistributed for any fee (except for a nominal shipping
|
tomwalters@0
|
9 charge). Anyone wanting to incorporate all or part of this software in a
|
tomwalters@0
|
10 commercial product must obtain a license from the Medical Research Council.
|
tomwalters@0
|
11
|
tomwalters@0
|
12 The MRC makes no representations about the suitability of this
|
tomwalters@0
|
13 software for any purpose. It is provided "as is" without express or implied
|
tomwalters@0
|
14 warranty.
|
tomwalters@0
|
15
|
tomwalters@0
|
16 THE MRC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
tomwalters@0
|
17 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE
|
tomwalters@0
|
18 A.P.U. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
|
tomwalters@0
|
19 DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
|
tomwalters@0
|
20 AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
tomwalters@0
|
21 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
tomwalters@0
|
22 */
|
tomwalters@0
|
23
|
tomwalters@0
|
24 /*
|
tomwalters@0
|
25 Acknowledgment:
|
tomwalters@0
|
26 ==============
|
tomwalters@0
|
27
|
tomwalters@0
|
28 The source code provided in this file was originally developed by
|
tomwalters@0
|
29 Christian Giguere as part of a Ph.D degree at the Department of
|
tomwalters@0
|
30 Engineering of the University of Cambridge from April 1990 to
|
tomwalters@0
|
31 November 1993. The code was subsequently adapted under a grant
|
tomwalters@0
|
32 from the Hearing Research Trust for full compatibility with
|
tomwalters@0
|
33 AIM Release 6.15.
|
tomwalters@0
|
34
|
tomwalters@0
|
35 Christian Giguere 25/03/94
|
tomwalters@0
|
36
|
tomwalters@0
|
37 */
|
tomwalters@0
|
38
|
tomwalters@0
|
39 /*
|
tomwalters@0
|
40 ===========================================================
|
tomwalters@0
|
41 formulae_tl.c
|
tomwalters@0
|
42 ===========================================================
|
tomwalters@0
|
43
|
tomwalters@0
|
44 Supplements "formulae.c"
|
tomwalters@0
|
45 (for use with WDF-TLF cochlear filterbank)
|
tomwalters@0
|
46
|
tomwalters@0
|
47 Author : Christian Giguere
|
tomwalters@0
|
48 First written : 30th March, 1991
|
tomwalters@0
|
49 Last edited : 17th December, 1993
|
tomwalters@0
|
50
|
tomwalters@0
|
51 References:
|
tomwalters@0
|
52 (1) B.R.Glasberg and B.C.J.Moore (1990). Hear Res 47: 103-138.
|
tomwalters@0
|
53 (2) D.D.Greenwood (1990). JASA 87(6): 2592-2605.
|
tomwalters@0
|
54 ===========================================================
|
tomwalters@0
|
55 */
|
tomwalters@0
|
56
|
tomwalters@0
|
57
|
tomwalters@0
|
58 /***** includes *****/
|
tomwalters@0
|
59
|
tomwalters@0
|
60 #include <math.h>
|
tomwalters@0
|
61 #include "formulae_tl.h"
|
tomwalters@0
|
62
|
tomwalters@0
|
63 /***** functions *****/
|
tomwalters@0
|
64
|
tomwalters@0
|
65 /****************************************************************************
|
tomwalters@0
|
66 * name: comments:
|
tomwalters@0
|
67 *
|
tomwalters@0
|
68 * SetERBscaling() Stores a new value for the length of one critical-band
|
tomwalters@0
|
69 * unit, i.e. the distance along the basilar membrane
|
tomwalters@0
|
70 * corresponding to one critical band.
|
tomwalters@0
|
71 *
|
tomwalters@0
|
72 * Use:
|
tomwalters@0
|
73 * 0.89 mm for ERB function of Glasberg and Moore (1990)
|
tomwalters@0
|
74 * 1.00 mm for frequency-position function of Greenwood (1990)
|
tomwalters@0
|
75 *
|
tomwalters@0
|
76 * GetERBscaling() Returns the length of one critical-band unit.
|
tomwalters@0
|
77 ****************************************************************************/
|
tomwalters@0
|
78
|
tomwalters@0
|
79 static double mmperERB = 0.89 ; /* millimeters per critical band */
|
tomwalters@0
|
80 /* Default = 0.89 (ERB) */
|
tomwalters@0
|
81
|
tomwalters@0
|
82 void SetERBscaling( new_mmperERB )
|
tomwalters@0
|
83 double new_mmperERB ;
|
tomwalters@0
|
84 {
|
tomwalters@0
|
85 mmperERB = new_mmperERB ;
|
tomwalters@0
|
86
|
tomwalters@0
|
87 return ;
|
tomwalters@0
|
88 }
|
tomwalters@0
|
89
|
tomwalters@0
|
90
|
tomwalters@0
|
91 double GetERBscaling( )
|
tomwalters@0
|
92 {
|
tomwalters@0
|
93 return ( mmperERB ) ;
|
tomwalters@0
|
94 }
|
tomwalters@0
|
95
|