17 #include "spectrumsolver.h"
22 template <
class Context>
28 virtual void genSpectrum(
const std::vector<std::complex<double> >& memin, std::vector<std::complex<double> >& memout,
29 int t0,
double tol, FFT::twindowfunc windowfunc,
double windowlength);
32 double arIC(
double sigma2,
int p,
int t) {
33 return m_funcARIC(-0.5 * t * log(sigma2), p + 1, t);
37 const std::vector<std::complex<double> >& memin,
const shared_ptr<Context> &context) = 0;
39 virtual void step(
const shared_ptr<Context> &context) = 0;
40 std::deque<shared_ptr<Context> > m_contexts;
42 const tfuncIC m_funcARIC;
48 std::vector<std::complex<double> > a;
55 MEMBurgContext(
const MEMBurgContext &c) :
ARContext(c), eta(c.eta), epsilon(c.epsilon) {}
56 std::vector<std::complex<double> > eta, epsilon;
67 const std::vector<std::complex<double> >& memin,
const shared_ptr<MEMBurgContext> &context);
68 virtual void step(
const shared_ptr<MEMBurgContext> &context);
81 const std::vector<std::complex<double> >& memin,
const shared_ptr<ARContext> &context);
82 virtual void step(
const shared_ptr<ARContext> &context);
85 std::vector<std::complex<double> >
m_rx;