Mercurial > hg > aimc
diff src/CAR.cpp @ 494:24828350536a carfac_cpp
Fixed the ERB_Hz default parameter bug also in c++
Introduced FloatMatrix to build on the concept of FloatArray typedef
author | Ulf.Hammarqvist@gmail.com |
---|---|
date | Sun, 08 Apr 2012 19:40:13 +0000 |
parents | 20de0b60b694 |
children | 83cd5bbf2a3e |
line wrap: on
line diff
--- a/src/CAR.cpp Sun Apr 08 14:28:55 2012 +0000 +++ b/src/CAR.cpp Sun Apr 08 19:40:13 2012 +0000 @@ -8,7 +8,7 @@ float f = pow(car_params->zero_ratio_, 2) + 1; - // TODO: dirty FloatArray initialisation. Redo this later + // TODO: dirty FloatArray initialization. r1_coeffs_= pole_freqs; a0_coeffs_= pole_freqs; c0_coeffs_= pole_freqs; @@ -31,8 +31,11 @@ x = theta[i]/kPi; zr_coeffs_[i] = kPi * (x - ff * x*x*x); - min_zeta_mod = (car_params->min_zeta_ + 0.25 * - (CARFAC::ERB_Hz(pole_freqs[i])/pole_freqs[i]-car_params->min_zeta_)); + min_zeta_mod = (car_params->min_zeta_ + 0.25 * (CARFAC::ERB_Hz( + pole_freqs[i], car_params->erb_break_freq_, + car_params->erb_q_) / pole_freqs[i] + - car_params->min_zeta_)); + r1_coeffs_[i] = 1-zr_coeffs_[i]*min_zeta_mod; h_coeffs_[i] = c0_coeffs_[i] * f;