基於C 的Kalman濾波器

2021-05-06 14:21:45 字數 1534 閱讀 5951

最近專案用到了kalman濾波器,由於是.net平台的,原來的opencv的那套東西不能用了,還好靈光乍現,開源就是好啊!

花了乙個小時將cvkalman用c#進行實現,解決了!

using system;

using system.collections.generic;

using system.text;

namespace simtransfer

//temp1 = new matrix(dp, dp);

temp2 = new matrix(mp, dp);

te*** = new matrix(mp, mp);

temp4 = new matrix(mp, dp);

temp5 = new matrix(mp, 1);

}public matrix predict()

temp1 = transition_matrix.multiply(error_cov_post);

matrix at = transition_matrix.transpose();

error_cov_pre = temp1.multiply(at).add(process_noise_cov);

matrix result = new matrix(state_pre);

return result;

}public matrix correct(matrix measurement)

public matrix autopredict(matrix measurement)

}#endregion

public kalmanfacade(int valueitem)

kmfilter = new kalmanfilter[valueitem];

random rand = new random(1001);

for (int i = 0; i < valueitem; i++ )

}private kalmanfilter kmfilter = null;

public bool getvalue(double invalue, ref double outvalue)

matrix measures = new matrix[kmfilter.length];

for (int i = 0; i < kmfilter.length; i++ )

return true;}}

}//**********test**********===

simtransfer.kalmanfacade kalman = new simtransfer.kalmanfacade(1);

random rand = new random(1001);

system.io.streamwriter datafile = new system.io.streamwriter("d://test.csv");

for (int x = 0; x < 2000; x++ )

datafile.close();

messagebox.show("ok!");

基於Python的FIR濾波器

import numpy as np from scipy.fftpack import fft from scipy import signal import matplotlib.pyplot as plt from matplotlib.pylab import mpl mpl.rcparam...

論高通濾波器,帶阻濾波器,陷波濾波器

首先,對一副影象進行如下二維傅利葉變換。我們將u 0和v 0帶上式,我們可以得到如下式子。根據上式,可以到f 0,0 的值是非常大的。這裡,我們將 f 0,0 稱為直流分量,直流分量比其他的成分要大好幾個數量級。所以,這也就是傅利葉譜為什麼需要使用對數變換才能看清楚的原因。這裡,對於高通濾波器而言,...

FIR濾波器與IIR濾波器

有限長單位衝激響應濾波器,又稱為非遞迴型濾波器 特點 fir濾波器的最主要的特點是沒有反饋迴路,穩定性強,故不存在不穩定的問題 fir具有嚴格的線性相位,幅度特性隨意設定的同時,保證精確的線性相位 fir設計方式是線性的,硬體容易實現 fir相對iir濾波器而言,相同效能指標時,階次較高,對cpu的...