spa
スペクトル解析を使用した固定の周波数分解能による周波数応答の推定
構文
説明
は、時間領域または周波数領域のデータ G = spa(data)data から、不確かさとノイズ スペクトルと共に周波数応答を推定します。
data には、時間領域または周波数領域の入出力データまたは時系列データが含まれます。data は、timetable、数値行列のコンマ区切りのペア、iddata オブジェクト、または複素数値を含むことができる idfrd オブジェクトの形式にすることができます。
data が時系列の場合、つまり入力が含まれない場合、spa(data) は不確かさと共に出力パワー スペクトルを返します。spa は、ハン ウィンドウを使用して、0 (この値は除く) から π までの等間隔な 128 個の周波数値でスペクトルを計算します。
data が timetable の形式の場合、最後の変数が単一の出力変数であるものと解釈されます。この解釈を変更するには、名前と値の引数 InputName および OutputName を使用します。
は、1 つ以上の名前と値の引数で指定された追加のモデル オプションを使用します。 sys = spa(___,Name,Value)
たとえば、sys = spa(data,'InputName',["u1","u3"],'OutputName',["y1","y4"]) を使用して入出力の信号変数名を指定します。
この構文では、前述の任意の入力引数の組み合わせで使用できます。
例
入力引数
名前と値の引数
出力引数
詳細
アルゴリズム
spa は、次の手順に従ってブラックマン-テューキー スペクトル解析法を適用します。
共分散と相互共分散を u(t) と y(t) から計算します。
共分散と相互共分散のフーリエ変換を計算します。
ここで、 は幅 (ラグ サイズ) M のハン ウィンドウです。M を指定して推定の周波数分解能を制御できます。2π/M ラジアン/サンプル時間とほぼ等しくなります。
既定では、0 (この値は除く) から π までの等間隔な 128 個の周波数値がこの演算に使用されます。ここで、
w=[1:128]/128*pi/Tsであり、Tsはそのデータ セットのサンプル時間です。ハン ウィンドウの既定のラグ サイズはM = min(length(data)/10,30)です。既定の周波数の場合は高速フーリエ変換 (FFT) が演算に使用され、ユーザー定義の周波数よりも効率が高くなります。周波数応答関数 と出力ノイズ スペクトル を計算します。
spectrum は、出力と入力の両方のチャネルのスペクトル行列です。つまり、z = [data.OutputData, data.InputData] の場合、spectrum には z の行列値のパワー スペクトルがスペクトル データとして格納されます。
ここで、' は複素共役転置です。
参照
[1] Ljung, Lennart. System Identification: Theory for the User. 2nd ed. Prentice Hall Information and System Sciences Series. Upper Saddle River, NJ: Prentice Hall PTR, 1999.


