Mercurial > hg > aimc
diff matlab/bmm/carfac/CARFAC_Transfer_Functions.m @ 469:bc0618485ad4
reparameterize stage gain g and compressed damping with theta; interpolate g
author | dicklyon@google.com |
---|---|
date | Sun, 11 Mar 2012 00:31:57 +0000 |
parents | a2e184f0a7b4 |
children | 7ce064380002 |
line wrap: on
line diff
--- a/matlab/bmm/carfac/CARFAC_Transfer_Functions.m Sat Mar 10 06:22:56 2012 +0000 +++ b/matlab/bmm/carfac/CARFAC_Transfer_Functions.m Sun Mar 11 00:31:57 2012 +0000 @@ -97,25 +97,25 @@ coeffs = CF.filter_coeffs; min_zeta = CF.filter_params.min_zeta; -a0 = coeffs.a_coeffs; -c0 = coeffs.c_coeffs; +a0 = coeffs.a0_coeffs; +c0 = coeffs.c0_coeffs; +zr = coeffs.zr_coeffs; % get r, adapted if we have state: -r = coeffs.r_coeffs; +r = coeffs.r1_coeffs; if isfield(CF, 'filter_state') state = CF.filter_state; zB = state.zB_memory; % current extra damping - r = r - c0 .* zB; + r = r - zr .* zB; else zB = 0; end +g = CARFAC_Stage_g(coeffs, zB); a = a0 .* r; c = c0 .* r; r2 = r .* r; h = coeffs.h_coeffs; -g0 = coeffs.g_coeffs; -g = g0 .* (1 + coeffs.gr_coeffs .* (1 - r).^2); stage_denominators = [ones(n_ch, 1), -2 * a, r2]; stage_numerators = [g .* ones(n_ch, 1), g .* (-2 * a + h .* c), g .* r2];