Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

lpc

Los coeficientes de filtro de predicción lineal

Descripción

ejemplo

[a,g] = lpc(x,p) encuentra los coeficientes de un predictor lineal de orden TH, un filtro FIR que predice el valor actual de la serie temporal con valores reales basándose en muestras pasadas.px La función también devuelve, la varianza del error de predicción.g Si es una matriz, la función trata cada columna como un canal independiente.x

Ejemplos

contraer todo

Estimar una serie de datos utilizando un predictor de reenvío de tercer orden. Compare la estimación con la señal original.

En primer lugar, cree los datos de señal como la salida de un proceso autorregresivo (AR) impulsado por el ruido Gaussiano blanco normalizado. Utilice las últimas 4096 muestras de la salida del proceso de AR para evitar transitorios de inicio.

noise = randn(50000,1); x = filter(1,[1 1/2 1/3 1/4],noise); x = x(end-4096+1:end);

Calcule los coeficientes predictores y la señal estimada.

a = lpc(x,3); est_x = filter([0 -a(2:end)],1,x);

Compare la señal pronosticada con la señal original trazando las últimas 100 muestras de cada una.

plot(1:100,x(end-100+1:end),1:100,est_x(end-100+1:end),'--') grid xlabel('Sample Number') ylabel('Amplitude') legend('Original signal','LPC estimate')

Calcule el error de predicción y la secuencia de autocorrelación del error de predicción. Trace la autocorrelación. El error de predicción es aproximadamente el ruido Gaussiano blanco, como se esperaba para un proceso de entrada de AR de tercer orden.

e = x-est_x; [acs,lags] = xcorr(e,'coeff');  plot(lags,acs) grid xlabel('Lags') ylabel('Normalized Autocorrelation') ylim([-0.1 1.1])

Argumentos de entrada

contraer todo

Array de entrada, especificado como vector o matriz. Si es una matriz, la función trata cada columna como un canal independiente.x

Orden polinómico del filtro de predicción, especificado como un entero positivo. debe ser menor o igual a la longitud de.px

Argumentos de salida

contraer todo

Coeficientes predictores lineales, devueltos como un vector de fila o una matriz. Los coeficientes relacionan las muestras pasadas del valor actual:px

x^(n)=a(2)x(n1)a(3)x(n2)a(p+1)x(np).

Varianza de error de predicción, devuelta como un escalar o vector.

Más acerca de

contraer todo

Error de predicción

El error de predicción, (), se puede ver como la salida del filtro de error de predicción (), dondeenAz

  • () es el predictor lineal óptimo.Hz

  • () es la señal de entrada.xn

  • x^(n) es la señal pronosticada.

Algoritmos

determina los coeficientes de un predictor lineal de avance minimizando el error de predicción en el sentido de mínimos cuadrados.lpc Tiene aplicaciones en diseño de filtros y codificación de voz.

utiliza el método de autocorrelación de modelado autorregresivo (AR) para encontrar los coeficientes de filtro.lpc El filtro generado podría no modelar el proceso exactamente, incluso si la secuencia de datos es realmente un proceso de AR del orden correcto, porque el método de autocorrelación implícitamente Windows los datos. En otras palabras, el método asume que las muestras de señal más allá de la longitud de son 0.x

calcula la solución de mínimos cuadrados paralpc Xa = bDónde

X=[x(1)00x(2)x(1)x(2)0x(m)x(1)0x(m)x(2)00x(m)],a=[1a(2)a(p+1)],b=[100],

y es la longitud de.mx Resolviendo el problema de mínimos cuadrados usando las ecuaciones normales XHXa=XHb conduce a las ecuaciones de Yule-Walker

[r(1)r(2)r(p)r(2)r(1)r(2)r(p)r(2)r(1)][a(2)a(3)a(p+1)]=[r(2)r(3)r(p+1)],

donde (1) (2)...  (+ 1) es una estimación de autocorrelación para el uso calculado.r = [rrrp]xxcorr El algoritmo Levinson-Durbin (ver) resuelve las ecuaciones de Yule-Walker enlevinson O(p2) Flop.

Referencias

[1] Jackson, L. B. Digital Filters and Signal Processing. 2nd Edition. Boston: Kluwer Academic Publishers, 1989, pp. 255–257.

Consulte también

| | | |

Introducido antes de R2006a