lpccheck
Functions
-
int main(int argc, char *argv[])
lpccheck [ option ] [ infile ]
-m int
order of linear predictive coefficients \((0 \le M)\)
-e int
warning type
0
no warning1
output index2
output index and exit immediately
-r double
margin \((0 < \delta < 1)\)
-x
perform modification
infile str
double-type LPC coefficients
stdout
double-type modified LPC coefficients
- Parameters:
argc – [in] Number of arguments.
argv – [in] Argument vector.
- Returns:
0 on success, 1 on failure.
-
class LinearPredictiveCoefficientsStabilityCheck
Check stability of linear predictive coefficients and modify them.
The input is the \(M\)-th order LPC:
\[ \begin{array}{cccc} K, & a(1), & \ldots, & a(M), \end{array} \]and the output is the modified \(M\)-th order LPC:\[ \begin{array}{cccc} K, & a'(1), & \ldots, & a'(M). \end{array} \]The LPC \(a(\cdot)\) are stable if the PARCOR coefficients \(k(\cdot)\) satisfy the following condition:\[ k(m) \le 1.0 - \delta \]where \(\delta\) is a small positive value.Public Functions
-
LinearPredictiveCoefficientsStabilityCheck(int num_order, double margin)
- Parameters:
num_order – [in] Order of LPC, \(M\).
margin – [in] Margin in PARCOR domain, \(\delta\).
-
inline int GetNumOrder() const
- Returns:
Order of coefficients.
-
inline double GetMargin() const
- Returns:
Margin.
-
inline bool IsValid() const
- Returns:
True if this object is valid.
-
bool Run(const std::vector<double> &linear_predictive_coefficients, std::vector<double> *modified_linear_predictive_coefficients, bool *is_stable, LinearPredictiveCoefficientsStabilityCheck::Buffer *buffer) const
- Parameters:
linear_predictive_coefficients – [in] \(M\)-th order LPC.
modified_linear_predictive_coefficients – [out] Modified \(M\)-th order LPC (optional).
is_stable – [out] True if the given coefficients are stable.
buffer – [out] Buffer.
- Returns:
True on success, false on failure.
-
bool Run(std::vector<double> *input_and_output, bool *is_stable, LinearPredictiveCoefficientsStabilityCheck::Buffer *buffer) const
- Parameters:
input_and_output – [inout] \(M\)-th order coefficients.
is_stable – [out] True if the given coefficients are stable.
buffer – [out] Buffer.
- Returns:
True on success, false on failure.
-
class Buffer
-
LinearPredictiveCoefficientsStabilityCheck(int num_order, double margin)