Contenuto principale

Questa pagina è stata tradotta con la traduzione automatica. Fai clic qui per vedere l'ultima versione in inglese.

allanvar

Descrizione

La varianza di Allan viene utilizzata per misurare la stabilità della frequenza di oscillazione per una sequenza di dati nel dominio del tempo. Può essere utilizzato anche per determinare il rumore intrinseco di un sistema in funzione del tempo medio. La serie temporale media τ può essere specificata come τ = m/fs . Qui fs è la frequenza di campionamento dei dati e m è un elenco di fattori di media crescente (come 1, 2, 4, 8, …).

[avar,tau] = allanvar(Omega) restituisce la varianza di Allan avar in funzione del tempo medio tau. Il tempo medio predefinito tau è una sequenza di ottave data come (1, 2, ..., 2floor{log2[(N-1)/2]}), dove N è il numero di campioni in Omega. Se Omega è specificato come matrice, allanvar opera sulle colonne di omega.

[avar,tau] = allanvar(Omega,m) restituisce la varianza di Allan avar per valori specifici di tau definiti da m. Poiché si presume che la frequenza predefinita fs sia 1, l'output tau è esattamente lo stesso di m.

[avar,tau] = allanvar(Omega,ptStr) imposta il fattore di media m sulla specifica del punto specificato, ptStr. Poiché la frequenza predefinita fs è 1, l'output tau è esattamente uguale a m specificato. ptStr può essere specificato come 'octave' o 'decade'.

[avar,tau] = allanvar(___,fs) consente anche di fornire la frequenza di campionamento fs dei dati di input omega in Hz. Questo parametro di input può essere utilizzato con una qualsiasi delle sintassi precedenti.

esempio

Esempi

comprimi tutto

Carica i dati del giroscopio da un file MAT, inclusa la frequenza di campionamento dei dati in Hz. Calcola la varianza di Allan.

load('LoggedSingleAxisGyroscope','omega','Fs')
[avar,tau] = allanvar(omega,'octave',Fs);

Rappresentare graficamente la varianza di Allan su un grafico loglog.

loglog(tau,avar)
xlabel('\tau')
ylabel('\sigma^2(\tau)')
title('Allan Variance')
grid on

Figure contains an axes object. The axes object with title Allan Variance, xlabel tau, ylabel sigma Squared baseline ( tau ) contains an object of type line.

Genera rumore giroscopico campione, inclusi movimento casuale angolare e movimento casuale della velocità.

numSamples = 1e6;
Fs = 100;
nStd = 1e-3;
kStd = 1e-7;
nNoise = nStd.*randn(numSamples,1);
kNoise = kStd.*cumsum(randn(numSamples,1));
omega = nNoise+kNoise;

Calcola la deviazione di Allan per valori specifici di m=τ . La deviazione di Allan è la radice quadrata della varianza di Allan.

m = 2.^(9:18);
[avar,tau] = allanvar(omega,m,Fs);
adev = sqrt(avar);

Rappresentare graficamente la deviazione di Allan su un grafico loglog.

loglog(tau,adev)
xlabel('\tau')
ylabel('\sigma(\tau)')
title('Allan Deviation')
grid on

Figure contains an axes object. The axes object with title Allan Deviation, xlabel tau, ylabel sigma ( tau ) contains an object of type line.

Argomenti di input

comprimi tutto

Dati di input specificati come vettore N per 1 o matrice N per M. N è il numero di campioni e M è il numero di set di campioni. Se specificato come matrice, allanvar opera sulle colonne di Omega.

Tipi di dati: single | double

Fattore di media, specificato come uno scalare o un vettore con valori interi crescenti inferiori a (N-1)/2, dove N è il numero di campioni in Omega.

Tipi di dati: single | double

Specificazione del punto di m, specificato come 'octave' o 'decade'. In base al valore di ptStr, m è specificato come segue:

  • Se ptStr è specificato come 'octave', m è:

    [20,21...2log2(N12)]

  • Se ptStr è specificato come 'decade', m è:

    [100,101...10log10(N12)]

N è il numero di campioni in Omega .

Frequenza di base dei dati di input, Omega, in Hz, specificata come scalare positivo.

Tipi di dati: single | double

Argomenti di output

comprimi tutto

Varianza di Allan dei dati di input in tau, restituita come vettore o matrice.

Tempo medio della varianza di Allan, restituito come vettore o matrice.

Cronologia versioni

Introdotto in R2019a

Vedi anche

|