システム識別ツールボックス内の不規則なサンプリングデータのサポートは非常に制限されています。 System Identification Toolboxの多くの機能は、定期的にサンプリングされたデータsee this linkを必要とします。
あなたの入力&の出力データは同じ瞬間にペアごとに測定されますが、隣接するサンプル間の時間間隔は規則的ではないと思います。
この場合、interp1などの(線形)補間を使用できます。これは見積もりにいくつかの誤りをもたらす可能性がありますが、それは簡単かつ迅速なアプローチです。定期的な時間ステップで新しい時間グリッドを定義し、それらを補間するだけです。
% create some dummy data
time = rand(20,1); % irregular sampled measurements
input = sin(2*pi*time); % some input signal
output = cos(2*pi*time); % some output signal
% define new time vector and interpolate input and output data
Ts = 0.01; % new sampling time in seconds
newTime = min(time) : Ts : max(time); % new time vector
inputInterp = interp1(time, input, newTime ) % interpolated input data
outputInterp = interp1(time, output, newTime ) % interpolated output data
% lets see what just happend
figure
plot(time,input,'o'), hold on
plot(time,output,'ro');
plot(newTime, inputInterp, 'x')
plot(newTime, outputInterp, 'rx')
legend({'Original Input', 'Original Output', 'Interpolated Input', 'Interpolated Output'})
はすべきことです。
(オリジナルの)サンプリング周波数が関連するダイナミクスの周波数よりも大きい場合、エラーは小さくする必要があります。クォドロコプターの(リジッドボディー)ダイナミクスは1Hzのオーダであるため、50Hzまたは100Hzの入力と出力のデータを測定するのが普通です(ただし、これはアプリケーションによって異なる場合があります)。
モデル化しようとしているデータに関する多くの情報を提供しているわけではありません... – Trogdor
データの種類は問題ではないと思いますが、入力データは4 PWM各時間サンプルで4つのモータに送られるパルス幅変調(パルス幅変調)であり、私の出力データは、四重極の姿勢を表す各サンプリング時間におけるオイラー角の集合である。 –