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;