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

Coeficientes de filtro de predicción lineal

Descripción

ejemplo

[a,g] = lpc(x,p) encuentra los coeficientes de un predictor lineal de la orden de la misma, un filtro FIR que predice el valor actual de la serie temporal de valor real basado 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

Calcule 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 autoregresivo (AR) impulsado por el ruido gaussiano blanco normalizado. Utilice las últimas 4096 muestras de la salida del proceso de realidad aumentada 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);

Calcular los coeficientes del predictor 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')

Calcular el error de predicción y la secuencia de autocorrelación del error de predicción. Trazar la autocorrelación. El error de predicción es aproximadamente ruido gaussiano blanco, como se esperaba para un proceso de entrada 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

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

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

Argumentos de salida

contraer todo

Coeficientes de predictor lineal, devueltos como un vector de fila o una matriz. Los coeficientes relacionan las muestras pasadas con el 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 escalar o vectorial.

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 hacia delante minimizando el error de predicción en el sentido de mínimos cuadrados.lpc Tiene aplicaciones en el diseño de filtros y codificación de voz.

utiliza el método de autocorrelación de modelado autoregresivo (AR) para encontrar los coeficientes de filtro.lpc Es posible que el filtro generado no modele el proceso exactamente, incluso si la secuencia de datos es realmente un proceso de realidad AR del orden correcto, porque el método de autocorrelación controla implícitamente 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 Resolver el problema de los mínimos cuadrados utilizando las ecuaciones normales XHXa=XHb conduce a las ecuaciones 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 computado utilizando .r = [rrrp]xxcorr El algoritmo Levinson-Durbin (ver ) resuelve las ecuaciones 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