Mercurial > hg > aimc
changeset 547:cffa9e98eb45
stubbed CAR_coefficients constructor
author | Ulf.Hammarqvist@gmail.com |
---|---|
date | Sat, 31 Mar 2012 18:15:17 +0000 |
parents | e5ae2ed4249c |
children | ff12d0432d9c |
files | branches/carfac_cpp/src/CAR.cpp branches/carfac_cpp/src/CAR.h branches/carfac_cpp/src/CARFAC.cpp branches/carfac_cpp/src/CARFAC.h |
diffstat | 4 files changed, 30 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/branches/carfac_cpp/src/CAR.cpp Sat Mar 31 17:36:22 2012 +0000 +++ b/branches/carfac_cpp/src/CAR.cpp Sat Mar 31 18:15:17 2012 +0000 @@ -1,9 +1,27 @@ #include "CAR.h" #include "CARFAC_common.h" +#include <cmath> -CAR_coefficients::CAR_coefficients(CAR_parameters* CAR_params, float fs, +CAR_coefficients::CAR_coefficients(CAR_parameters* car_params, float fs, FloatArray pole_freqs){ - // TODO stuff goes here + + // initialisation of the FloatArray coefficients, if needed. + + float f = pow(car_params->zero_ratio_, 2) + 1; + + FloatArray theta = pole_freqs; + FloatArray c0 = pole_freqs; + FloatArray a0 = pole_freqs; + + // temp until we get eigen in + for(float i=0; i<theta.size(); i++){ + theta[i] *= (2*kPi*fs); // scalar mult. + c0[i] = sin(theta[i]); + a0[i] = cos(theta[i]); + } + + // etc + } CAR_coefficients::~CAR_coefficients(){
--- a/branches/carfac_cpp/src/CAR.h Sat Mar 31 17:36:22 2012 +0000 +++ b/branches/carfac_cpp/src/CAR.h Sat Mar 31 18:15:17 2012 +0000 @@ -40,6 +40,13 @@ public: CAR_coefficients(CAR_parameters*, float, FloatArray); virtual ~CAR_coefficients(); + + FloatArray r1_coeffs; + FloatArray a0_coeffs; + FloatArray c0_coeffs; + FloatArray h_coeffs; + FloatArray g0_coeffs; + private: CAR_coefficients(); };
--- a/branches/carfac_cpp/src/CARFAC.cpp Sat Mar 31 17:36:22 2012 +0000 +++ b/branches/carfac_cpp/src/CARFAC.cpp Sat Mar 31 18:15:17 2012 +0000 @@ -21,11 +21,11 @@ float pole_hz = car_params->first_pole_theta_* fs / (2*kPi); while (pole_hz > car_params->min_pole_hz_){ - pole_freqs_.push_back(pole_hz); // STL specific + pole_freqs_.push_back(pole_hz); // TODO: STL specific pole_hz = pole_hz - car_params->erb_per_step_ * ERB_Hz(pole_hz, erb_break_freq, erb_q); } - n_ch_ = pole_freqs_.size(); // STL specific + n_ch_ = pole_freqs_.size(); max_channels_per_octave_ = log(2) / log(pole_freqs_[0]/pole_freqs_[1]);
--- a/branches/carfac_cpp/src/CARFAC.h Sat Mar 31 17:36:22 2012 +0000 +++ b/branches/carfac_cpp/src/CARFAC.h Sat Mar 31 18:15:17 2012 +0000 @@ -13,7 +13,7 @@ public: CARFAC(int, CAR_parameters*, IHC_parameters*, AGC_parameters*, float, float); virtual ~CARFAC(); - static float ERB_Hz(float,float,float); + static float ERB_Hz(float, float, float); float fs_; float max_channels_per_octave_;