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.