什么是粒子退化
粒子退化主要是指正确的粒子被丢弃和粒子多样性的减少,而频繁重采样则加剧了正确的粒子被丢弃的可能性和粒子多样性减小的速率。这里先涉及一下重采样的知识,我们知道在进行重采样之前会计算每个粒子数的权重,有时会因为环境相似度高或是由于测量噪声的影响会使接近正确状态的粒子数权重较小而错误状态的粒子的权重反而会大。重采样是依据粒子权重来采集粒子的,这样正确的粒子就可能被丢弃,频繁的执行重采样则更加剧了正确但权重较小的粒子被丢弃的可能性。这也就是粒子退化的原因之一。
另外一个原因就是频繁重采样导致粒子多样性减少的速率加大,什么是粒子多样性呢?就是粒子的不同,最开始有十个粒子,如果发生重采样后其中五个粒子被丢弃,剩下五个粒子复制出五个粒子,这时十个粒子只要五个粒子是不同的,也就是粒子多样性减少。
第二章例题
例 1: A 是 一个 1 行 N 列 的 矩阵, 存放 了 均值 为 5、 方差 为 4 的 高斯 白 噪声, 请用 plot 画出 该 噪声, 并在 图中 标出 均值 和 方差。 观察 N 取 5、 20、 100 等 不同 值 时 图形 的 变化。 N 取 100 时 的 运行 结果 如图 2- 10 所示。
其matlab实现代码如下:(命令行窗口输入)(高斯白噪声是指信号的幅度分布服从正态分布,而它的功率谱密度是均匀的)
>> a=5;
>> b=4;
>> t=0:20:100;
>> x=a+b*randn(1,100);
>> c=a+t-t;
>> d=b+t-t;
>> figure
>> box on
>> hold on;
>> plot(x,'-ko','MarkerFaceColor','r')
>> plot(t,c,'-k','MarkerFace','g')
>> d=a-sqrt(b)+t-t;
>> plot(t,d,'-.k','MarkerFace','b')
方法二:(编辑器输入)
%% 构造高斯白噪声 a为均值,b为方差
close all;clear all;clc;
a=2;
b=5;
x=a+b*randn(1,10000);
Fs=5000;
L=length(x);
t=0:1/Fs:(L-1)/Fs;
plot(t,x)
figure(2)
nfft=2^nextpow2(L);
D_c=fft(x,nfft);
P_c=D_c.^2;
f=Fs/2*linspace(0,1,nfft/2+1);
P=D_c.^2;
plot(f,abs(P(1:nfft/2+1)))
axis([0 2500 0 3000000])
另外,高斯分布的相关定义和性质如下: