GPSドップラー速度でカルマンフィルターを使用したいと思います。私がウェブでいくつかのチュートリアルを読んでも、どうやってそれをするのか分かりません。エレクトロニクス - Matlab - GPSドップラー速度信号でカルマンフィルタをご利用ください。
GPS速度が入力されている場合のみ実行できるmatlabスクリプトはありますか?たぶん、私も正確にサンプル周波数を持っている必要がありますか?
このトピックに関するお手伝いをしてうれしいです。 ありがとうございます。
GPSドップラー速度でカルマンフィルターを使用したいと思います。私がウェブでいくつかのチュートリアルを読んでも、どうやってそれをするのか分かりません。エレクトロニクス - Matlab - GPSドップラー速度信号でカルマンフィルタをご利用ください。
GPS速度が入力されている場合のみ実行できるmatlabスクリプトはありますか?たぶん、私も正確にサンプル周波数を持っている必要がありますか?
このトピックに関するお手伝いをしてうれしいです。 ありがとうございます。
ここにはvision.KalmanFilter
クラスの最小限のMATLABコードがあります。あなたの測定値が行列data
[latitude、latitude_speed、longitude、longitude_speed]の列ベクトルであると仮定します。ここでは一定速度モデルを仮定する。 ProcessNise
,MeasurementNoise
と初期設定を自分で定義する必要があります。
data = randn(4,100); % load your data here
delta = 1; % sampling frequency
% state model asuming constant velocity
stateModel = [1 delta 0 0 ;
0 1 0 0 ;
0 0 1 delta;
0 0 0 1 ];
% measurements are simply the state
measurementModel = eye(4);
kalman = vision.KalmanFilter(stateModel, ...
measurementModel, ...
'ProcessNoise',1, ...
'MeasurementNoise',1);
%initialize
kalman.State = [0; 0; 0; 0];
kalman.StateCovariance = eye(4);
T = size(data,2); % length of measurements
filtered = [];
for t=1:T
measurement = data(:,t);
kalman.predict(); % prediction
kalman.correct(measurement);
filtered = [filtered, kalman.State];
end
ありがとう@Vahid。これはすばらしい!しかし、私は経度と緯度の速度がありません。私はスピードのための1つの値を持っています(私は方向を知らない)。たぶん私は同じコードを使用することができますが、stateModelは4 * 4ではなく3 * 3です。それが正しく動作すると思いますか? – YLM
@YLRこの場合、私はここで書いたのと同じ 'stateModel'を、つまり経度と緯度の速さで使用することができます。しかし、あなたの 'measurementModel'はもはや線形ではなく、カルマンフィルタは適用されません。この場合、拡張カルマンフィルタまたはパーティクルフィルタを使用することができます。 – Vahid
お時間をありがとうございます。 @Vahid – YLM
データがどのように形成されているかについてのヒントを教えてください。あなたはスピードだけでなくポジションも受け取っていますか?次元数は? – Vahid
お返事ありがとうございます。私は速度と位置(緯度、経度)を受け取る。私は2次元を持っています。 @Vahid – YLM
GPSデータを入力するだけのスクリプトを探していますが、戻り値はフィルタリングされた経度、緯度ですか? – bushmills