comparison branches/carfac_cpp/src/CARFAC.cpp @ 586:f3dde307f4b8

some refactoring
author Ulf.Hammarqvist@gmail.com
date Thu, 11 Oct 2012 20:55:03 +0000
parents 9c4c3675c3f8
children d59c0d65624b
comparison
equal deleted inserted replaced
585:b8a961149499 586:f3dde307f4b8
6 #include "AGC.h" 6 #include "AGC.h"
7 #include "Ear.h" 7 #include "Ear.h"
8 8
9 #include "CARFAC_common.h" 9 #include "CARFAC_common.h"
10 10
11 CARFAC::CARFAC(int fs = kDefaultFs, 11 CARFAC::CARFAC(int fs,
12 CAR_parameters* car_params = new CAR_parameters(), 12 CAR_parameters* car_params,
13 IHC_parameters* ihc_params = new IHC_parameters(), 13 IHC_parameters* ihc_params,
14 AGC_parameters* agc_params = new AGC_parameters(), 14 AGC_parameters* agc_params,
15 int n_ears = 1){ 15 int n_ears){
16 16
17 fs_ = fs; 17 fs_ = fs;
18 18
19 float pole_hz = car_params->first_pole_theta_* fs / (2*kPi); 19 float pole_hz = car_params->first_pole_theta_* fs / (2*kPi);
20 while (pole_hz > car_params->min_pole_hz_){ 20 while (pole_hz > car_params->min_pole_hz_){
25 } 25 }
26 n_ch_ = pole_freqs_.size(); 26 n_ch_ = pole_freqs_.size();
27 max_channels_per_octave_ = log(2) / log(pole_freqs_[0]/pole_freqs_[1]); 27 max_channels_per_octave_ = log(2) / log(pole_freqs_[0]/pole_freqs_[1]);
28 28
29 n_ears_ = n_ears; 29 n_ears_ = n_ears;
30 Ear* ear = new Ear(car_params, ihc_params, agc_params, pole_freqs_, n_ch_, fs); 30 Ear ear = Ear(car_params, ihc_params, agc_params, pole_freqs_, n_ch_, fs);
31 ears_.assign(n_ears_, *ear); 31 ears_.assign(n_ears_, ear);
32 } 32 }
33 33
34 float CARFAC::ERB_Hz(float cf_hz, float erb_break_freq, float erb_q){ 34 float CARFAC::ERB_Hz(float cf_hz, float erb_break_freq, float erb_q){
35 return (erb_break_freq + cf_hz) / erb_q; 35 return (erb_break_freq + cf_hz) / erb_q;
36 } 36 }
37
38 CARFAC::~CARFAC() {
39 //TODO: clean up
40 }