Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

aryule

Parámetros del modelo autorregresivo de todos los polos: método de Yule-Walker

Descripción

ejemplo

a = aryule(x,p) devuelve los parámetros autorregresivos (AR) normalizados correspondientes a un modelo de orden p para el arreglo de entrada x.

ejemplo

[a,e,rc] = aryule(x,p) también devuelve la varianza estimada, e, de la entrada de ruido blanco y los coeficientes de reflexión, rc.

Ejemplos

contraer todo

Utilice un vector de coeficientes polinómicos para generar un proceso AR(4) filtrando 1024 muestras de ruido blanco. Reinicie el generador de números aleatorios para obtener resultados reproducibles. Utilice el método de Yule-Walker para estimar los coeficientes.

rng default

A = [1 -2.7607 3.8106 -2.6535 0.9238];

y = filter(1,A,0.2*randn(1024,1));

arcoeffs = aryule(y,4)
arcoeffs = 1×5

    1.0000   -2.7262    3.7296   -2.5753    0.8927

Genere 50 realizaciones del proceso cambiando cada vez la varianza del ruido de entrada. Compare las varianzas estimadas por el método Yule-Walker con los valores reales.

nrealiz = 50;

noisestdz = rand(1,nrealiz)+0.5;

randnoise = randn(1024,nrealiz);
noisevar = zeros(1,nrealiz);

for k = 1:nrealiz
    y = filter(1,A,noisestdz(k) * randnoise(:,k));
    [arcoeffs,noisevar(k)] = aryule(y,4);
end

plot(noisestdz.^2,noisevar,'*')
title('Noise Variance')
xlabel('Input')
ylabel('Estimated')

Figure contains an axes object. The axes object with title Noise Variance, xlabel Input, ylabel Estimated contains a line object which displays its values using only markers.

Repita el procedimiento utilizando la sintaxis multicanal de la función.

Y = filter(1,A,noisestdz.*randnoise);

[coeffs,variances] = aryule(Y,4);

hold on
plot(noisestdz.^2,variances,'o')
hold off
legend('Single channel loop','Multichannel','Location','best')

Figure contains an axes object. The axes object with title Noise Variance, xlabel Input, ylabel Estimated contains 2 objects of type line. One or more of the lines displays its values using only markers These objects represent Single channel loop, Multichannel.

Utilice un vector de coeficientes polinómicos para generar un proceso AR(2) filtrando 1024 muestras de ruido blanco. Reinicie el generador de números aleatorios para obtener resultados reproducibles.

rng default

y = filter(1,[1 -0.75 0.5],0.2*randn(1024,1));

Utilice el método de Yule-Walker para ajustar un modelo AR(10) al proceso. Obtenga los coeficientes de reflexión como salida y represéntelos. Solo los dos primeros coeficientes se sitúan fuera de los límites de confianza del 95%, lo que indica que un modelo AR(10) sobrestima considerablemente la dependencia temporal de los datos. Para obtener más detalles, consulte AR Order Selection with Partial Autocorrelation Sequence.

[ar,nvar,rc] = aryule(y,10);

stem(rc)
xlim([0 11])
conf95 = sqrt(2)*erfinv(0.95)/sqrt(1024);
[X,Y] = ndgrid(xlim,conf95*[-1 1]);
hold on
plot(X,Y,'--r')
hold off
title('Reflection Coefficients')

Figure contains an axes object. The axes object with title Reflection Coefficients contains 3 objects of type stem, line.

Argumentos de entrada

contraer todo

Arreglo de entrada, especificado como vector o matriz.

Ejemplo: filter(1,[1 -0.75 0.5],0.2*randn(1024,1)) especifica un proceso autorregresivo de segundo orden.

Tipos de datos: single | double
Soporte de números complejos:

Orden del modelo, especificado como un escalar entero positivo. p debe ser menor que el número de elementos o filas de x.

Tipos de datos: single | double

Argumentos de salida

contraer todo

Parámetros autorregresivos normalizados devueltos como un vector o una matriz. Si x es una matriz, cada fila de a corresponde a una columna de x. a tiene p + 1 columnas y contiene los parámetros del sistema AR, A(z), en potencias descendentes de z.

Varianza de entrada de ruido blanco, devuelta como escalar o vector fila. Si x es una matriz, cada elemento de e corresponde a una columna de x.

Coeficientes de reflexión, devueltos como vector columna o matriz. Si x es una matriz, cada columna de rc corresponde a una columna de x. rc tiene p filas.

Más acerca de

contraer todo

Modelo AR(p)

En un modelo AR de orden p, la salida actual es una combinación lineal de las salidas p pasadas más una entrada de ruido blanco.

Las ponderaciones de las salidas p pasadas minimizan el error cuadrático medio de predicción de la autorregresión. Si y(n) es el valor actual de la salida y x(n) es una entrada de ruido blanco de media cero, el modelo AR(p) es

k=0pa(k)y(nk)=x(n).

Coeficientes de reflexión

Los coeficientes de reflexión son los coeficientes de autocorrelación parcial escalados por -1.

Los coeficientes de reflexión indican la dependencia temporal entre y(n) e y(nk) tras restar la predicción basada en las unidades de tiempo k – 1 intermedias.

Algoritmos

aryule utiliza la recursión de Levinson-Durbin sobre la estimación sesgada de la secuencia de autocorrelación de muestra para calcular los parámetros.

Referencias

[1] Hayes, Monson H. Statistical Digital Signal Processing and Modeling. New York: John Wiley & Sons, 1996.

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido antes de R2006a

Consulte también

| | | |