# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

# dsp.LPCToLSF System object

Package: dsp

Convert linear prediction coefficients to line spectral frequencies

## Description

The LPCToLSF object converts linear prediction coefficients to line spectral frequencies.

To convert LPC to LSF:

1. Define and set up your LPC to LSF converter. See Construction.

2. Call step to convert LPC according to the properties of dsp.LPCToLSF. The behavior of step is specific to each object in the toolbox.

 Note:   Starting in R2016b, instead of using the step method to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example, y = step(obj,x) and y = obj(x) perform equivalent operations.

## Construction

lpc2lsf = dsp.LPCToLSF returns a System object, lpc2lsf, that converts linear prediction coefficients (LPCs) to line spectral frequencies (LSFs).

lpc2lsf = dsp.LPCToLSF('PropertyName',PropertyValue,...) returns an LPC to LSF System object, lpc2lsf, with each specified property set to the specified value.

## Properties

 NumCoarseGridPoints Number of coarse subintervals used for finding roots (LSP values) Specify the number of coarse subintervals, n, used for finding line spectral pairs (LSP) values as a positive scalar integer. LSPs, which are the roots of two particular polynomials related to the input LPC polynomial, always lie in the range (–1, 1). The System object finds these roots using the Chebyshev polynomial root finding method. To compute LSF outputs, the object computes the arc cosine of the LSPs, outputting values ranging from 0 to pi radians. The object divides the interval (–1, 1) into n subintervals and looks for roots in each subinterval. If you set n too small in relation to the LPC polynomial order, the object can fail to find some of the roots. The default is 64. This property is tunable. NumBisects Value of bisection refinement used for finding roots Specify the root bisection refinement value, k, used in the Chebyshev polynomial root finding method, where each line spectral pair (LSP) output is within $\frac{1}{\left(n\cdot {2}^{k}\right)}$ of the actual LSP value. Here n is the value of the NumCoarseGridPoints property, and the object searches a maximum of $k\cdot \left(n-1\right)$ points for finding the roots. You must set the NumBisects property value k, to a positive scalar integer. The default is 4. This property is tunable. ExceptionOutputPort Produces output with validity status of LSF output Set this property to true to return a second output that indicates whether the computed LSF values are valid. The output is a vector with a length equal to the number of channels. A logical value of 1 indicates valid output. A logical value of 0 indicates invalid output. The LSF outputs are invalid when the object fails to find all the LSF values or when the input LPCs are unstable. The default is false. OverwriteInvalidOutput Enable overwriting invalid output with previous output Specify the action that the System object should take for invalid LSF outputs. When you set this property to true, the object overwrites the invalid output with the previous output. When you set this property to false, the object does not take any action on invalid outputs and ignores the outputs. FirstOutputValuesSource Source of values for first output when output is invalid Specify the source of values for the first output when the output is invalid as Auto or Property. This property applies when you set the OverwriteInvalidOutput property to true. The default is Auto. When you set this property to Auto, the object uses a default value for the first output. The default value corresponds to the LSF representation of an allpass filter. FirstOutputValues Value of the first output Specify a numeric vector of LSF values for overwriting an invalid first output. The length of this vector must be one less than the length of the input LPC vector. For multichannel inputs, you can set this property to a matrix with the same number of channels as the input, or one vector that is applied to every channel. The default is an empty vector. This property applies when you set the OverwriteInvalidOutput property to true and the FirstOutputValuesSource property to Property. NonUnityFirstCoefficientAction Action to take when first LPC coefficient is not 1 Specify the action the object takes when the first coefficient of each channel of the LPC input is not 1 as Replace with 1 or Normalize. The default is Replace with 1.

## Methods

 reset Reset values for overwriting invalid outputs to their initial values step Convert LPC coefficients to line spectral frequencies
Common to All System Objects
clone

Create System object with same property values

getNumInputs

Expected number of inputs to a System object

getNumOutputs

Expected number of outputs of a System object

isLocked

Check locked states of a System object (logical)

release

Allow System object property value changes

## Examples

expand all

Note: This example runs only in R2016b or later. If you are using an earlier release, replace each call to the function with the equivalent step syntax. For example, myObject(x) becomes step(myObject,x).

Convert LPC to LSF coefficients

a = [1.0000 0.6149 0.9899 0.0000 0.0031 -0.0082]';
lpc2lsf = dsp.LPCToLSF;
y = lpc2lsf(a);
display(y);
y =

0.7842
1.5605
1.8776
1.8984
2.3593

## Algorithms

This object implements the algorithm, inputs, and outputs described on the LPC to LSF/LSP Conversion block reference page. The object properties correspond to the block parameters, except:

 There is no object property that corresponds to the Output block parameter. The object only supports LSF outputs in the range (0,$\prod$)

Watch now