c2mpir

Functions

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

c2mpir [ option ] [ infile ]

  • -m int

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

  • -M int

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

  • -l int

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

  • infile str

    • double-type cepstral coefficients

  • stdout

    • double-type minimum phase impulse response

Parameters:
  • argc[in] Number of arguments.

  • argv[in] Argument vector.

Returns:

0 on success, 1 on failure.

See also

c2acr mpir2c mgc2mgc

class CepstrumToMinimumPhaseImpulseResponse

Convert cepstrum to minimum phase impulse response.

The input is the \(M_1\)-th order cepstral coefficients:

\[ \begin{array}{cccc} c(0), & c(1), & \ldots, & c(M_1), \end{array} \]
and the output is the \(M_2\)-th order impulse response:
\[ \begin{array}{cccc} h(0), & h(1), & \ldots, & h(M_2). \end{array} \]
The truncated impulse response is obtained from the following recursion formula:
\[\begin{split} h(n) = \left\{ \begin{array}{ll} \exp c(0), & n = 0 \\ \displaystyle\sum_{k=1}^{n} \frac{k}{n} c(k) h(n-k). & n > 0 \end{array} \right. \end{split}\]

[1] A. V. Oppenheim and R. W. Schafer, “Discrete-time signal processing, 3rd edition,” Prentice-Hall Signal Processing Series, pp. 985-986, 2009.

Public Functions

CepstrumToMinimumPhaseImpulseResponse(int num_input_order, int num_output_order)
Parameters:
  • num_input_order[in] Order of cepstral coefficients, \(M_1\).

  • num_output_order[in] Order of impulse response, \(M_2\).

inline int GetNumInputOrder() const
Returns:

Order of cepstral coefficients.

inline int GetNumOutputOrder() const
Returns:

Order of impulse response.

inline bool IsValid() const
Returns:

True if this object is valid.

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

  • minimum_phase_impulse_response[out] \(M_2\)-th order impulse response.

Returns:

True on success, false on failure.