changeset 541:da49bc37a6dd

(none)
author Ulf.Hammarqvist@gmail.com
date Wed, 28 Mar 2012 17:20:06 +0000
parents 0972b3161871
children 5f1f55b23301
files branches/carfac_cpp/src/AGC.cpp branches/carfac_cpp/src/AGC.h branches/carfac_cpp/src/CAR.cpp branches/carfac_cpp/src/CAR.h branches/carfac_cpp/src/CARFAC.cpp branches/carfac_cpp/src/CARFAC_common_typedefs.h branches/carfac_cpp/src/IHC.cpp branches/carfac_cpp/src/IHC.h
diffstat 8 files changed, 45 insertions(+), 52 deletions(-) [+]
line wrap: on
line diff
--- a/branches/carfac_cpp/src/AGC.cpp	Wed Mar 28 16:44:46 2012 +0000
+++ b/branches/carfac_cpp/src/AGC.cpp	Wed Mar 28 17:20:06 2012 +0000
@@ -1,16 +1,5 @@
 #include "AGC.h"
 
-AGC_parameters::AGC_parameters() {
-	// TODO Auto-generated constructor stub
-
-}
-
-AGC_parameters::~AGC_parameters() {
-	// TODO Auto-generated destructor stub
-}
-
-//
-
 AGC_coefficients::AGC_coefficients() {
 	// TODO Auto-generated constructor stub
 
--- a/branches/carfac_cpp/src/AGC.h	Wed Mar 28 16:44:46 2012 +0000
+++ b/branches/carfac_cpp/src/AGC.h	Wed Mar 28 17:20:06 2012 +0000
@@ -5,10 +5,20 @@
 
 class AGC_parameters {
 public:
-	AGC_parameters();
-	virtual ~AGC_parameters();
+	AGC_parameters(){
+		n_stages = 4; // redundant?
+//		time_constants = {1, 4, 16, 64};
+		AGC_stage_gain = 2;
+//		decimation = {8, 2, 2, 2};
+//		AGC1_scales = {1.0, 1.4,  2.0, 2.8};
+//		AGC2_scales = {1.6, 2.25, 3.2, 4.5};
+		detect_scale = 0.25;
+		AGC_mix_coeff = 0.5;
+	}
 
-	float n_stages;
+	virtual ~AGC_parameters(){}
+
+	int n_stages;
 	FloatArray time_constants;
 	float AGC_stage_gain;
 	FloatArray decimation;
--- a/branches/carfac_cpp/src/CAR.cpp	Wed Mar 28 16:44:46 2012 +0000
+++ b/branches/carfac_cpp/src/CAR.cpp	Wed Mar 28 17:20:06 2012 +0000
@@ -1,18 +1,8 @@
 #include "CAR.h"
 #include "CARFAC_common_typedefs.h"
 
-CAR_parameters::CAR_parameters() {
-	// Default arguments goes here
-}
-
-CAR_parameters::~CAR_parameters() {
-	// TODO Auto-generated destructor stub
-}
-
-// -- //
-
 CAR_coefficients::CAR_coefficients(CAR_parameters* CAR_params, float fs, FloatArray pole_freqs) {
-	// TODO Auto-generated constructor stub
+	// TODO stuff goes here
 }
 
 CAR_coefficients::~CAR_coefficients() {
--- a/branches/carfac_cpp/src/CAR.h	Wed Mar 28 16:44:46 2012 +0000
+++ b/branches/carfac_cpp/src/CAR.h	Wed Mar 28 17:20:06 2012 +0000
@@ -1,19 +1,24 @@
-/*
- * CAR.h
- *
- *  Created on: 24 mar 2012
- *      Author: ulha
- */
-
 #ifndef CAR_H_
 #define CAR_H_
 
 #include "CARFAC_common_typedefs.h"
+#include <math.h>
 
 class CAR_parameters {
 public:
-	CAR_parameters();
-	virtual ~CAR_parameters();
+	CAR_parameters(){
+		velocity_scale = 0.2;
+		v_offset = 0.01;
+		v2_corner = 0.2;
+		v_damp_max = 0.01;
+		min_zeta = 0.10;
+		first_pole_theta = 0.085*PI;
+		zero_ratio = sqrt(2);
+		high_f_damping_compression = 0.5;
+		ERB_per_step = 0.5;
+		min_pole_Hz = 30;
+	}
+	virtual ~CAR_parameters(){}
 
 	float velocity_scale;
 	float v_offset;
--- a/branches/carfac_cpp/src/CARFAC.cpp	Wed Mar 28 16:44:46 2012 +0000
+++ b/branches/carfac_cpp/src/CARFAC.cpp	Wed Mar 28 17:20:06 2012 +0000
@@ -12,14 +12,15 @@
 		float ERB_break_freq = DEFAULT_ERB_break_freq,
 		float ERB_Q = DEFAULT_ERB_Q){
 
+	// for now, design is to take ownership. Preferences? Make copies, call by value, etc?
 	CAR_params = _CAR_params;
 	IHC_params = _IHC_params;
 	AGC_params = _AGC_params;
 
-	FloatArray pole_freqs; //TODO: do it, or push it down to CAR_coefficients level instead
+	FloatArray pole_freqs; //TODO: do it
 	CAR_coeffs = new CAR_coefficients(CAR_params, fs, pole_freqs);
 
-	// etc ...
+	// etc ... lots of it
 }
 
 CARFAC::~CARFAC() {
--- a/branches/carfac_cpp/src/CARFAC_common_typedefs.h	Wed Mar 28 16:44:46 2012 +0000
+++ b/branches/carfac_cpp/src/CARFAC_common_typedefs.h	Wed Mar 28 17:20:06 2012 +0000
@@ -5,8 +5,10 @@
 
 typedef std::vector<float> FloatArray;
 
-#define DEFAULT_ERB_break_freq 165.3
-#define DEFAULT_ERB_Q 1000/(24.7*4.37)
-#define DEFAULT_FS 22050
+const double DEFAULT_ERB_break_freq = 165.3;
+const double DEFAULT_ERB_Q = 1000/(24.7*4.37);
+const double DEFAULT_FS = 22050;
+
+const double PI = 3.1415926;
 
 #endif /* CARFAC_COMMON_TYPEDEFS_H_ */
--- a/branches/carfac_cpp/src/IHC.cpp	Wed Mar 28 16:44:46 2012 +0000
+++ b/branches/carfac_cpp/src/IHC.cpp	Wed Mar 28 17:20:06 2012 +0000
@@ -1,16 +1,5 @@
 #include "IHC.h"
 
-IHC_parameters::IHC_parameters() {
-	// TODO Auto-generated constructor stub
-
-}
-
-IHC_parameters::~IHC_parameters() {
-	// TODO Auto-generated destructor stub
-}
-
-//
-
 IHC_coefficients::IHC_coefficients() {
 	// TODO Auto-generated constructor stub
 
--- a/branches/carfac_cpp/src/IHC.h	Wed Mar 28 16:44:46 2012 +0000
+++ b/branches/carfac_cpp/src/IHC.h	Wed Mar 28 17:20:06 2012 +0000
@@ -4,8 +4,15 @@
 // not sure how to best deal with the "three style" IHC - ulha
 class IHC_parameters {
 public:
-	IHC_parameters();
-	virtual ~IHC_parameters();
+	IHC_parameters()
+	{
+		tau_lpf = 0.000080;
+		tau1_out = 0.020;
+		tau1_in = 0.020;
+		tau2_out = 0.005;
+		tau2_in = 0.005;
+	}
+	virtual ~IHC_parameters(){}
 
 	float tau_lpf;
 	float tau1_out;