Ulf@477: #ifndef CARFAC_H_ Ulf@477: #define CARFAC_H_ Ulf@477: Ulf@477: #include "CAR.h" Ulf@477: #include "IHC.h" Ulf@477: #include "AGC.h" Ulf@477: Ulf@484: const double kDefaultErbBreakFreq = 165.3; Ulf@484: const double kDefaultErbQ = 1000/(24.7*4.37); Ulf@484: const double kDefaultFs = 22050; Ulf@484: Ulf@478: class CARFAC{ Ulf@477: public: Ulf@483: CARFAC(int, CAR_parameters*, IHC_parameters*, AGC_parameters*, float, float); Ulf@483: virtual ~CARFAC(); Ulf@484: static float ERB_Hz(float,float,float); Ulf@484: Ulf@484: float fs_; Ulf@484: float max_channels_per_octave_; Ulf@477: Ulf@483: CAR_coefficients* car_coeffs_; Ulf@483: CAR_parameters* car_params_; Ulf@477: Ulf@483: IHC_coefficients* ihc_coeffs_; Ulf@483: IHC_parameters* ihc_params_; Ulf@477: Ulf@484: int n_ch_; Ulf@484: FloatArray pole_freqs_; Ulf@484: Ulf@483: AGC_coefficients* agc_coeffs_; Ulf@483: AGC_parameters* agc_params_; Ulf@484: Ulf@484: int n_ears_; Ulf@477: }; Ulf@477: Ulf@477: #endif /* CARFAC_H_ */