aryule
Parámetros del modelo autorregresivo de todos los polos: método de Yule-Walker
Descripción
Ejemplos
Estimación de parámetros mediante el método de Yule-Walker
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')
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')
Estimar el orden del modelo mediante la disminución de los coeficientes de reflexión
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')
Argumentos de entrada
x
— Arreglo de entrada
vector | matriz
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: Sí
p
— Orden del modelo
escalar entero positivo
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
a
— Parámetros autorregresivos normalizados
vector fila | matriz
e
— Varianza de entrada de ruido blanco
escalar | vector fila
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
.
Más acerca de
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
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(n – k) 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
Abrir ejemplo
Tiene una versión modificada de este ejemplo. ¿Desea abrir este ejemplo con sus modificaciones?
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)