view branches/carfac_cpp/src/Ear.cpp @ 665:d0ff15c36828

Turn the AGC coeffs inside out: array of structs instead of a struct of little arrays. In C++ use a vector<AGC_coeffs> for this; each of 4 stages has an entry; many fewer places need to do indexing by stage, and this removes the temptation to use little eigen arrays for the 4 stages. Also latest version of experimental log-lag SAI hacks.
author dicklyon@google.com
date Tue, 21 May 2013 04:24:05 +0000
parents f3dde307f4b8
children
line wrap: on
line source
/*
 * Ear.cpp
 *
 *  Created on: 16 maj 2012
 *      Author: ulha
 */

#include "Ear.h"
#include "CAR.h"
#include "IHC.h"
#include "AGC.h"

Ear::Ear(CAR_parameters* car_params, IHC_parameters* ihc_params, AGC_parameters* agc_params, FloatArray pole_freqs, int n_ch, float fs){
  car_params_ = *car_params;
  ihc_params_ = *ihc_params;
  agc_params_ = *agc_params;

  car_coeffs_p_ = new CAR_coefficients(&car_params_, fs, pole_freqs);
  ihc_coeffs_p_ = new IHC_coefficients(&ihc_params_, fs, n_ch);
  agc_coeffs_p_ = new AGC_coefficients(&agc_params_, fs, n_ch);
}