Main Content

allanvar

説明

アラン分散は、時間領域でデータ シーケンスの発振の周波数安定性を測定するために使用されます。また、システムの内部ノイズを平均化時間の関数として特定するためにも使用できます。平均化時系列 τ は τ = m/fs として指定できます。ここで、fs はデータのサンプリング周波数で、m は昇順の平均化係数のリスト (1, 2, 4, 8, … など) です。

[avar,tau] = allanvar(Omega) は、平均化時間 tau の関数としてアラン分散 avar を返します。既定の平均化時間 tau は、(1, 2, ..., 2floor{log2[(N-1)/2]}) として与えられるオクターブ シーケンスです。ここで N は Omega のサンプル数です。Omega が行列として指定される場合、allanvaromega の列で動作します。

[avar,tau] = allanvar(Omega,m) は、m で定義された tau の特定の値に対してアラン分散 avar を返します。既定の周波数 fs は 1 と仮定されるため、出力 taum と完全に同じです。

[avar,tau] = allanvar(Omega,ptStr) は平均化係数 m を指定された点の仕様 ptStr に設定します。既定の周波数 fs は 1 であるため、出力 tau は指定された m と完全に同じです。ptStr'octave' または 'decade' として指定できます。

[avar,tau] = allanvar(___,fs) では、入力データ omega のサンプリング周波数 fs を Hz 単位で指定することもできます。入力パラメーターは前のどの構文でも使用できます。

すべて折りたたむ

データのサンプル レート (Hz 単位) を含むジャイロスコープ データを MAT ファイルから読み込みます。アラン分散を計算します。

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

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.

角度のランダム ウォークとレートのランダム ウォークを含む、サンプル ジャイロスコープのノイズを生成します。

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

m=τ の特定の値におけるアラン偏差を計算します。アラン偏差はアラン分散の平方根です。

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

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.

入力引数

すべて折りたたむ

N 行 1 列のベクトルまたは N 行 M 列の行列として指定された入力データ。N はサンプル数、M はサンプル セットの数です。行列として指定される場合、allanvarOmega の列で動作します。

データ型: single | double

平均化係数。(N-1)/2 未満の昇順の整数値をもつスカラーまたはベクトルとして指定します。ここで N は Omega のサンプル数です。

データ型: single | double

m の点の仕様。'octave' または 'decade' として指定します。ptStr の値に基づいて、m は次のように指定されます。

  • ptStr'octave' として指定された場合、m は次のようになります。

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

  • ptStr'decade' として指定された場合、m は次のようになります。

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

N は Omega のサンプル数です。

入力データ Omega の基本的な周波数 (Hz 単位)。正のスカラーとして指定します。

データ型: single | double

出力引数

すべて折りたたむ

tau における入力データのアラン分散。ベクトルまたは行列として返されます。

アラン分散の平均化時間。ベクトルまたは行列として返されます。

バージョン履歴

R2019a で導入