mpir2c

Functions

int main(int argc, char *argv[])

mpir2c [ option ] [ infile ]

  • -m int

    • order of impulse response \((0 \le M_1)\)

  • -l int

    • length of impulse response \((1 \le M_1 + 1)\)

  • -M int

    • order of cesptral coefficients \((0 \le M_2)\)

  • infile str

    • double-type minimum phase impulse response

  • stdout

    • double-type cepstral coefficients

Parameters
  • argc[in] Number of arguments.

  • argv[in] Argument vector.

Returns

0 on success, 1 on failure.

See also

c2mpir mgc2mgc

class MinimumPhaseImpulseResponseToCepstrum

Convert minimum phase impulse response to cepstrum.

The input is the \(M_1\)-th order impulse response:

\[ \begin{array}{cccc} h(0), & h(1), & \ldots, & h(M_1), \end{array} \]
and the output is the \(M_2\)-th order cepstral coefficients:
\[ \begin{array}{cccc} c(0), & c(1), & \ldots, & c(M_2). \end{array} \]
The conversion is based on a recursion formula.

Public Functions

MinimumPhaseImpulseResponseToCepstrum(int num_input_order, int num_output_order)
Parameters
  • num_input_order[in] Order of impulse response, \(M_1\).

  • num_output_order[in] Order of cepstral coefficients, \(M_2\).

inline int GetNumInputOrder() const
Returns

Order of impulse response.

inline int GetNumOutputOrder() const
Returns

Order of cepstral coefficients.

inline bool IsValid() const
Returns

True if this object is valid.

bool Run(const std::vector<double> &minimum_phase_impulse_response, std::vector<double> *cepstrum) const
Parameters
  • minimum_phase_impulse_response[in] \(M_1\)-th order impulse response.

  • cepstrum[out] \(M_2\)-th order cepstral coefficients.

Returns

True on success, false on failure.