changeset 538:81b01c88a257

Skeleton draft of CARFAC classes.
author Ulf.Hammarqvist@gmail.com
date Wed, 28 Mar 2012 07:12:22 +0000
parents 43c5664a00ec
children 750075ee8e3a
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.h branches/carfac_cpp/src/CARFAC_common_typedefs.h branches/carfac_cpp/src/IHC.cpp branches/carfac_cpp/src/IHC.h
diffstat 9 files changed, 240 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/branches/carfac_cpp/src/AGC.cpp	Wed Mar 28 07:12:22 2012 +0000
@@ -0,0 +1,29 @@
+/*
+ * AGCparameters.cpp
+ *
+ *  Created on: 25 mar 2012
+ *      Author: ulha
+ */
+
+#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
+
+}
+
+AGC_coefficients::~AGC_coefficients() {
+	// TODO Auto-generated destructor stub
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/branches/carfac_cpp/src/AGC.h	Wed Mar 28 07:12:22 2012 +0000
@@ -0,0 +1,23 @@
+/*
+ * AGC.h
+ *
+ *  Created on: 25 mar 2012
+ *      Author: ulha
+ */
+
+#ifndef AGC_H_
+#define AGC_H_
+
+class AGC_parameters {
+public:
+	AGC_parameters();
+	virtual ~AGC_parameters();
+};
+
+class AGC_coefficients {
+public:
+	AGC_coefficients();
+	virtual ~AGC_coefficients();
+};
+
+#endif /* AGC_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/branches/carfac_cpp/src/CAR.cpp	Wed Mar 28 07:12:22 2012 +0000
@@ -0,0 +1,27 @@
+/*
+ * CAR.cpp
+ *
+ *  Created on: 24 mar 2012
+ *      Author: ulha
+ */
+
+#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
+}
+
+CAR_coefficients::~CAR_coefficients() {
+	// TODO Auto-generated destructor stub
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/branches/carfac_cpp/src/CAR.h	Wed Mar 28 07:12:22 2012 +0000
@@ -0,0 +1,26 @@
+/*
+ * CAR.h
+ *
+ *  Created on: 24 mar 2012
+ *      Author: ulha
+ */
+
+#ifndef CAR_H_
+#define CAR_H_
+
+#include "CARFAC_common_typedefs.h"
+
+class CAR_parameters {
+public:
+	CAR_parameters();
+	virtual ~CAR_parameters();
+};
+
+class CAR_coefficients{
+public:
+	CAR_coefficients(){}
+	CAR_coefficients(CAR_parameters, float, FloatArray);
+	virtual ~CAR_coefficients();
+};
+
+#endif /* CAR_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/branches/carfac_cpp/src/CARFAC.cpp	Wed Mar 28 07:12:22 2012 +0000
@@ -0,0 +1,34 @@
+/*
+ * CARFAC.cpp
+ *
+ *  Created on: 24 mar 2012
+ *      Author: ulha
+ */
+
+#include "CARFAC.h"
+#include "CAR.h"
+#include "IHC.h"
+#include "AGC.h"
+
+#include "CARFAC_common_typedefs.h"
+
+CARFAC::CARFAC(int fs = DEFAULT_FS,
+		CAR_parameters _CAR_params = CAR_parameters(),
+		IHC_parameters _IHC_params = IHC_parameters(),
+		AGC_parameters _AGC_params = AGC_parameters(),
+		float ERB_break_freq = DEFAULT_ERB_break_freq,
+		float ERB_Q = DEFAULT_ERB_Q){
+
+	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
+	CAR_coeffs = CAR_coefficients(CAR_params, fs, pole_freqs);
+
+	// etc ...
+}
+
+CARFAC::~CARFAC() {
+	// TODO Auto-generated destructor stub
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/branches/carfac_cpp/src/CARFAC.h	Wed Mar 28 07:12:22 2012 +0000
@@ -0,0 +1,30 @@
+/*
+ * CARFAC.h
+ *
+ *  Created on: 24 mar 2012
+ *      Author: ulha
+ */
+
+#ifndef CARFAC_H_
+#define CARFAC_H_
+
+#include "CAR.h"
+#include "IHC.h"
+#include "AGC.h"
+
+class CARFAC {
+public:
+	CARFAC(int, CAR_parameters, IHC_parameters, AGC_parameters, float, float);
+	virtual ~CARFAC();
+
+	CAR_coefficients CAR_coeffs;
+	CAR_parameters CAR_params;
+
+	IHC_coefficients IHC_coeffs;
+	IHC_parameters IHC_params;
+
+	AGC_coefficients AGC_coeffs;
+	AGC_parameters AGC_params;
+};
+
+#endif /* CARFAC_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/branches/carfac_cpp/src/CARFAC_common_typedefs.h	Wed Mar 28 07:12:22 2012 +0000
@@ -0,0 +1,20 @@
+/*
+ * CARFAC_common_typedefs.h
+ *
+ *  Created on: 25 mar 2012
+ *      Author: ulha
+ */
+
+#ifndef CARFAC_COMMON_TYPEDEFS_H_
+#define CARFAC_COMMON_TYPEDEFS_H_
+
+#include <vector>
+
+typedef std::vector<float> FloatArray;
+
+#define DEFAULT_ERB_break_freq 228.833
+#define DEFAULT_ERB_Q 9.2645
+
+#define DEFAULT_FS 44100
+
+#endif /* CARFAC_COMMON_TYPEDEFS_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/branches/carfac_cpp/src/IHC.cpp	Wed Mar 28 07:12:22 2012 +0000
@@ -0,0 +1,28 @@
+/*
+ * IHCparameters.cpp
+ *
+ *  Created on: 25 mar 2012
+ *      Author: ulha
+ */
+
+#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
+
+}
+
+IHC_coefficients::~IHC_coefficients() {
+	// TODO Auto-generated destructor stub
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/branches/carfac_cpp/src/IHC.h	Wed Mar 28 07:12:22 2012 +0000
@@ -0,0 +1,23 @@
+/*
+ * IHC.h
+ *
+ *  Created on: 25 mar 2012
+ *      Author: ulha
+ */
+
+#ifndef IHC_H_
+#define IHC_H_
+
+class IHC_parameters {
+public:
+	IHC_parameters();
+	virtual ~IHC_parameters();
+};
+
+class IHC_coefficients {
+public:
+	IHC_coefficients();
+	virtual ~IHC_coefficients();
+};
+
+#endif /* IHC_H_ */