实际上,我有一些测量值,我想消除噪音我想使用不同的过滤技术,但我想知道我应该使用什么标准来检查我是否正在消除噪音,或者我选择的参数是否是最佳的。
我的测量是质谱数据。
实际上,我有一些测量值,我想消除噪音我想使用不同的过滤技术,但我想知道我应该使用什么标准来检查我是否正在消除噪音,或者我选择的参数是否是最佳的。
我的测量是质谱数据。
您想查看创新序列;过滤值(估计或预测)与测量值之间的差异。如果你有一个完美的滤波器来去除噪声,那么创新序列应该是白噪声(狄拉克脉冲自相关)。
https://en.wikipedia.org/wiki/Innovation_(signal_processing)
下面是一些 MATLAB 代码,说明了一些白色序列的这些属性。
N = 1e5;
n1 = -1 + 2*rand(1,N); % uniform noise
n2 = n1 + -1 + 2*rand(1,N); % triangular noise
n3 = randn(1,N); % Gaussian noise
[c1,l1] = xcorr(n1); [c2,l2] = xcorr(n2); [c3,l3] = xcorr(n3);
figure(1), plot(l1,c1,l2,c2,l3,c3) # autocorrelation (Dirac delta)
figure(2), clf, hold on
pwelch(n1,kaiser(N/1000,10),N/2000) # power spectral density (constant)
pwelch(n2,kaiser(N/1000,10),N/2000)
pwelch(n3,kaiser(N/1000,10),N/2000)
卡尔曼滤波技术要求您可以对信号(您感兴趣的事物)如何随时间演变以及噪声如何破坏信号进行建模。
信号模型通常具有以下形式 :
然后可以应用卡尔曼滤波器方程并估计获得。
请注意,这些方程的通常应用在技术上并不是平滑的。
卡尔曼滤波器有三种应用;
在一些(很多?)假设下,卡尔曼滤波器是最优的: