Mercurial > hg > aimc
changeset 506:db0e5e86fddd
Update OHC_NLF parameterization and parameter values
author | dicklyon@google.com |
---|---|
date | Wed, 30 May 2012 20:49:47 +0000 |
parents | a0869cb1c99b |
children | 7cc44d4e9b86 |
files | matlab/bmm/carfac/CARFAC_Design.m matlab/bmm/carfac/CARFAC_Design_Doc.txt matlab/bmm/carfac/CARFAC_OHC_NLF.m |
diffstat | 3 files changed, 8 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/matlab/bmm/carfac/CARFAC_Design.m Thu May 24 22:26:56 2012 +0000 +++ b/matlab/bmm/carfac/CARFAC_Design.m Wed May 30 20:49:47 2012 +0000 @@ -52,9 +52,8 @@ if nargin < 3 CF_CAR_params = struct( ... - 'velocity_scale', 0.05, ... % for the velocity nonlinearity + 'velocity_scale', 0.1, ... % for the velocity nonlinearity 'v_offset', 0.04, ... % offset gives a quadratic part - 'v2_corner', 0.2, ... % corner for essential nonlin 'min_zeta', 0.10, ... % minimum damping factor in mid-freq channels 'max_zeta', 0.35, ... % maximum damping factor in mid-freq channels 'first_pole_theta', 0.85*pi, ... @@ -161,12 +160,11 @@ n_ch = length(pole_freqs); % the filter design coeffs: - +% scalars first: CAR_coeffs = struct( ... 'n_ch', n_ch, ... 'velocity_scale', CAR_params.velocity_scale, ... - 'v_offset', CAR_params.v_offset, ... - 'v2_corner', CAR_params.v2_corner ... + 'v_offset', CAR_params.v_offset ... ); % don't really need these zero arrays, but it's a clue to what fields
--- a/matlab/bmm/carfac/CARFAC_Design_Doc.txt Thu May 24 22:26:56 2012 +0000 +++ b/matlab/bmm/carfac/CARFAC_Design_Doc.txt Wed May 30 20:49:47 2012 +0000 @@ -1,6 +1,6 @@ CARFAC Design Doc by "Richard F. Lyon" <dicklyon@google.com> -updated 24 May 2012 +updated 24 May 2012 (v.237) The CAR-FAC (cascade of asymmetric resonators with fast-acting compression) is a cochlear model implemented as an efficient sound
--- a/matlab/bmm/carfac/CARFAC_OHC_NLF.m Thu May 24 22:26:56 2012 +0000 +++ b/matlab/bmm/carfac/CARFAC_OHC_NLF.m Wed May 30 20:49:47 2012 +0000 @@ -20,9 +20,9 @@ function nlf = CARFAC_OHC_NLF(velocities, CAR_coeffs) % function nlf = CARFAC_OHC_NLF(velocities, CAR_coeffs) % start with a quadratic nonlinear function, and limit it via a -% rational function; make the result go to zero a high +% rational function; make the result go to zero at high % absolute velocities, so it will do nothing there. -qnlf = ((velocities .* CAR_coeffs.velocity_scale) + ... - CAR_coeffs.v_offset) .^ 2; -nlf = 1 - qnlf ./ (CAR_coeffs.v2_corner + qnlf); +nlf = 1 ./ (1 + ... + (velocities * CAR_coeffs.velocity_scale + CAR_coeffs.v_offset) .^ 2 ); +