Hauptinhalt

Diese Seite wurde mithilfe maschineller Übersetzung übersetzt. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

allanvar

Beschreibung

Die Allan-Varianz wird verwendet, um die Frequenzstabilität von Schwingungen für eine Datenfolge im Zeitbereich zu messen. Darüber hinaus kann damit das Eigenrauschen eines Systems als Funktion der Mittelungszeit ermittelt werden. Die Mittelungszeitreihe τ kann als τ = m/fs angegeben werden. Hier ist fs die Abtastfrequenz der Daten und m eine Liste aufsteigender Mittelwertfaktoren (wie 1, 2, 4, 8, …).

[avar,tau] = allanvar(Omega) gibt die Allan-Varianz avar als Funktion der Mittelungszeit tau zurück. Die Standard-Mittelungszeit tau ist eine Oktavfolge, die als (1, 2, ..., 2floor{log2[(N-1)/2]}) angegeben ist, wobei N die Anzahl der Samples in Omega ist. Wenn Omega als Matrix angegeben ist, operiert allanvar über die Spalten von omega.

[avar,tau] = allanvar(Omega,m) gibt die Allan-Varianz avar für bestimmte Werte von tau zurück, die durch m definiert sind. Da die Standardfrequenz fs als 1 angenommen wird, ist die Ausgabe tau genau dieselbe wie m.

[avar,tau] = allanvar(Omega,ptStr) setzt den Mittelwertfaktor m auf die angegebene Punktspezifikation ptStr. Da die Standardfrequenz fs 1 ist, ist die Ausgabe tau genau gleich der angegebenen m. ptStr kann als 'octave' oder 'decade' angegeben werden.

[avar,tau] = allanvar(___,fs) ermöglicht Ihnen außerdem, die Abtastfrequenz fs der Eingabedaten omega in Hz anzugeben. Dieser Eingabeparameter kann mit jeder der vorherigen Syntaxen verwendet werden.

Beispiel

Beispiele

alle reduzieren

Laden Sie Gyroskopdaten aus einer MAT-Datei, einschließlich der Abtastrate der Daten in Hz. Berechnen Sie die Allan-Varianz.

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

Zeichnen Sie die Allan-Varianz in einem loglog-Diagramm auf.

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.

Generieren Sie ein Beispiel für Gyroskoprauschen, einschließlich Winkel-Irrfahrt und Raten-Irrfahrt.

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

Berechnen Sie die Allan-Abweichung bei bestimmten Werten von m=τ. Die Allan-Abweichung ist die Quadratwurzel der Allan-Varianz.

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

Zeichnen Sie die Allan-Abweichung in einem loglog-Diagramm auf.

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.

Eingabeargumente

alle reduzieren

Eingabedaten, angegeben als N-mal-1-Vektor oder als N-mal-M-Matrix. N ist die Anzahl der Samples und M die Anzahl der Sample-Sets. Wenn es als Matrix angegeben ist, operiert allanvar über die Spalten von Omega.

Datentypen: single | double

Mittelwertfaktor, angegeben als Skalar oder Vektor mit aufsteigenden ganzzahligen Werten kleiner als (N-1)/2, wobei N die Anzahl der Samples in Omega ist.

Datentypen: single | double

Punktspezifikation von m, angegeben als 'octave' oder 'decade'. Basierend auf dem Wert von ptStr wird m wie folgt angegeben:

  • Wenn ptStr als 'octave' angegeben wird, ist m:

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

  • Wenn ptStr als 'decade' angegeben wird, ist m:

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

N ist die Anzahl der Samples in Omega.

Grundfrequenz der Eingabedaten, Omega, in Hz, angegeben als positiver Skalar.

Datentypen: single | double

Ausgabeargumente

alle reduzieren

Alle Varianzen der Eingabedaten bei tau, zurückgegeben als Vektor oder Matrix.

Mittelungszeit der Allan-Varianz, zurückgegeben als Vektor oder Matrix.

Versionsverlauf

Eingeführt in R2019a

Siehe auch

|