如何解决行车记录仪手机镜头起雾雾

卡尔曼滤波算法及MATLAB实现
这一段时间对现代滤波进行了学习,对自适应滤波器和卡尔曼滤波器有了一定认识,并对它们用MATLAB对语音信号进行了滤波,发现卡尔曼滤波器还是比较有用,能够在较大的噪声中还原原来的信号。新的学期马上就开始了,由于TI的开发板一直在维修,所以学习TI开发板的计划搁置,但是对声音信号的处理及滤波器的认识有了进一步提高。新的学期继续努力!&&
卡尔曼滤波的基本思想是:以最小均方误差为最佳估计准则,采用信号与噪声的状态空间模型,利用前一时刻的估计值和当前时刻的观测值来更新对状态变量的估计,求出当前时刻的估计值,算法根据建立的系统方程和观测方程对需要处理的信号做出满足最小均方误差的估计。
语音信号在较长时间内是非平稳的,但在较短的时间内的一阶统计量和二阶统计量近似为常量,因此语音信号在相对较短的时间内可以看成白噪声激励以线性时不变系统得到的稳态输出。假定语音信号可看成由一AR模型产生:
&&&&&&&&&&&&&&&&&&&&&
时间更新方程:
&&&&&&&&&&&&&&&&&&&&&&
测量更新方程:
&&&&&&&&&&&&&&&&&&&&&
K(t)为卡尔曼增益,其计算公式为:
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&
分别为过程模型噪声协方差和测量模型噪声协方差,测量协方差可以通过观测得到,则较难确定,在本实验中则通过与两者比较得到。
由于语音信号短时平稳,因此在进行卡尔曼滤波之前对信号进行分帧加窗操作,在滤波之后对处理得到的信号进行合帧,这里选取帧长为256,而帧重叠个数为128;
下图为原声音信号与加噪声后的信号以及声音信号与经卡尔曼滤波处理后的信号:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
原声音信号与加噪声后的信号
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
原声音信号与经卡尔曼滤波处理后的信号
MATLAB程序实现如下:
%%%%%%%%%%%%%%%%%基于LPC全极点模型的最大后验概率估计法,采用卡尔曼滤波%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%加载声音数据%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
load voice.mat
y=m1(2,:);
x=y+0.08*randn(1,length(y));
%%%%%%%%%%%%%%%原声音信号和加噪声后的信号%%%%%%%%%%%%%%%
figure(1);
subplot(211);plot(m1(1,:),m1(2,:));xlabel('时间');ylabel('幅度');title('原声音信号');
subplot(212);plot(m1(1,:),x);xlabel('时间');ylabel('幅度');title('加噪声后的信号');
%%%%%%%%%%%%%%%%%%%%%%%%%输入参数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Fs=44100;&&&&&&&&&&&&&&&&&
&&& %信号采样的频率
bits=16;&&&&&&&&&&&&
&&& %信号采样的位数
N=256;&&&&&&&&&&&&&&&&&&&&&
m=N/2;&&&&&&&&&&&&&&&&&&&&&
%每帧移动的距离
lenth=length(x);&&&&&&&&&&&
%输入信号的长度
count=floor(lenth/m)-1;&&&&
%处理整个信号需要移动的帧数%%%先不考虑补零的问题
&&&&&&&&&&&&&&&&&&&&&&&
&&&&%AR模型的阶数
a=zeros(1,p);
w=hamming(N);
&&&&&&&&&&&&&
&&&&%加汉明窗函数
F=zeros(11,11);
&&&&%转移矩阵
F(9,10)=1;
F(10,11)=1;
H=zeros(1,p);
&&&&&&&&&&&&&&&&&&
S0=zeros(p,1);
P0=zeros(p);
S=zeros(p);
s=zeros(N,1);
P=zeros(p);
%%%%%%%%%%%%%%%%测试噪声协方差%%%%%%%%%%%%%%%%%%%%%%
y_temp=cov(x(1:7680));
x_frame=zeros(256,1);
x_frame1=zeros(256,1);
T=zeros(lenth,1);
for r=1:count
%%%%%%%%%%%%%%%%%%%5%%%%%分帧处理%%%%%%%%%%%%%%%%%%%%%
x_frame=x((r-1)*m+1:(r+1)*m);
%%%%%%%%%%%%%%%%采用LPC模型求转移矩阵参数%%%%%%%%%%%%%%&&&
&&&&&&&&&&
[a,VS]=lpc(x_frame(:),p);&&
&&&&&&&&&&
[a,VS]=lpc(T((r-2)*m+1:(r-2)*m+256),p);
%%%%%%%%%%%%%%%%帧长内过程噪声协方差%%%%%%%%%%%%%%%%%%
(VS-y_temp&0)&&&
&&&&&&&&&&&
&&&&&&&&&&&
VS=0.0005;
F(p,:)=-1*a(p+1:-1:2);
for j=1:256
&&&&&&&&&&&
&&&&&&&&&&&
&&&&&&&&&&&
Pn=F*P*F'+G*VS*G';
&&&&&&&&&&&
&&&&&&&&&&&
S=F*S;&&&&&
%时间更新方程
&&&&&&&&&&&
Pn=F*P*F'+G*VS*G';
&&&&&&&&&&&
&&&&&&&&&&&
K=Pn*H'*(y_temp+H*P*H').^(-1); %卡尔曼增益
&&&&&&&&&&&
P=(eye(p)-K*H)*Pn;
&&&&&&&&&&&&&&&&
&&&%测量更新方程
&&&&&&&&&&&
S=S+K*[x_frame(j)-H*S];
&&&&&&&&&&&
T((r-1)*m+j)=H*S;
%%%%%%%%%%%%%%%%对得到的每帧数据进行加窗操作%%%%%%%%%%%%%%%%%%%%%%%%
ss(1:256,r)=T((r-1)*m+1:(r-1)*m+256);
sss(1:256,r)=ss(1:256,r).*w;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%合帧操作%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for r=1:count
&&& if r==1
&&&&&&&&&&&
s_out(1:128)=sss(1:128,r);
&& else if r==count
&&&&&&&&&&&
s_out(r*m+1:r*m+m)=sss(129:256,r);
s_out(((r-1)*m+1):((r-1)*m+m))=sss(129:256,r-1)+sss(1:128,r);
subplot(211);plot(m1(1,:),m1(2,:));xlabel('时间');ylabel('幅度');title('原声音信号');
subplot(212);plot((1:1109760)/Fs,s_out);xlabel('时间');ylabel('幅度');title('经卡尔曼滤波后的声音信号');
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。您现在的位置是: &
一种基于遗传算法和卡尔曼滤波的运动目标跟踪方法
□ 胡建华[1,2] 徐健健[2]
[1]中国药科大学计算机教研室,江苏南京]南京大学应用物理研究所,江苏南京210093
摘 要:提出了一种基于遗传算法和卡尔曼滤波的运动目标跟踪方法。该方法利用卡尔曼滤波预测目标中心在下一帧图像中可能出现的位置,以该位置为中心,建立候选的目标搜索区域。以跟踪目标的灰度统计特征为模板,以Bhattacharyya系数来度量目标模板与候选目标区域的相似性,并以此相似性作为遗传算法适应度函数,以候选目标中心坐标作为参数编码,利用遗传算法进行匹配搜索,最终获得最佳候选区域中心位置,同时以该位置作为观测值,进行下一帧预测。实验结果表明,该方法具有较好的实时性和鲁棒性。
  摘要:提出了一种基于遗传算法和卡尔曼滤波的运动目标跟踪方法。该方法利用卡尔曼滤波预测目标中心在下一帧图像中可能出现的位置,以该位置为中心,建立候选的目标搜索区域。以跟踪目标的灰度统计特征为模板,以Bhattacharyya系数来度量目标模板与候选目标区域的相似性,并以此相似性作为遗传算法适应度函数,以候选目标中心坐标作为参数编码,利用遗传算法进行匹配搜索,最终获得最佳候选区域中心位置,同时以该位置作为观测值,进行下一帧预测。实验结果表明,该方法具有较好的实时性和鲁棒性。
  关键词:遗传算法;卡尔曼滤波;目标跟踪
  中图分类号:TP391.41文献标识码:A
  文章编号:07)04-0916-03
  运动目标跟踪是计算机视觉领域一个富有挑战性的课题,在视觉监控、视频编码、军事、交通等领域有着重要而广泛应用[1,2]。跟踪的实质是在下一帧图像中寻找目标所在的位置,一般利用全局搜索的方法总能找到。由于跟踪过程中要求能够实时地跟踪视场范围内运动目标,而被跟踪的目标往往运动速度快,受周围环境干扰强,因此如何获得具有满意效果的跟踪方法,具有较好的实时性和鲁棒性是比较困难的。
  目标跟踪时,目标本身以及目标所处的环境差别很大,例如目标的大小,目标是否是刚体或非刚体,目标大小是否变化,运动是平缓还是剧烈,背景是否复杂,摄像机是否运动,是多目标还是单目标跟踪等。根据不同情况,有多种不同的图像跟踪算法被提出,主要分为基于模型的方法,基于区域的方法,基于特征的方法和基于变形模板的方法等四类[3]。这些方法都各有自己的优点和缺点,在一定条件下可以获得较好的跟踪效果。
  遗传算法是一种应用广泛的寻优方法,具有很强的鲁棒性以及全局优化特性,在图像的分割、识别等方面已获得了初步的应用[4—6]。卡尔曼滤波通常被用来对被跟踪目标运动状态进行预测,可以减少搜索区域的大小,提高跟踪的实时性[7,8]。本文利用了这两种技术的优越性能,根据跟踪目标的灰度特征,利用卡尔曼滤波预测确定目标匹配的候选区域,然后采用遗传算法对候选区域进行搜索匹配,提高跟踪的实时性和鲁棒性。搜索时利用目标的灰度特征进行匹配,并且在候选区域具有全局最优的特点,提高了跟踪的准确性,对目标部分遮挡也能很好地处理。
  1卡尔曼滤波
  卡尔曼滤波由消息过程,测量过程和滤波过程组成,是一套线性无偏最小均方误差的递推公式,可以证明,一定条件下,在最小均方误差准则下得到的最佳线性系统是所有系统的最佳者[7]。卡尔曼滤波器算法包含的两个模型:
  2基于遗传算法和卡尔曼滤波的目标跟踪
  2.1遗传算法
  遗传算法是一类基于自然选择和遗传学原理的有效搜索方法,它从一个初始种群开始,利用选择、交叉和变异等遗传算子对种群进行不断进化,最后得到全局最优解[4]。在遗传算法中将问题的求解表示成类似生物遗传物质“染色体”,通常是二进制字符串表示,其本身不一定是解。遗传算法的基本步骤是首先随机产生一个初始种群,然后使用一个适应度函数对该种群中个体进行评价,根据评价的结果进行选择产生新种群,对新种群进行交叉和变异操作。交叉和变异操作的目的是挖掘种群中个体的多样性,避免有可能陷入局部解。经过上述运算产生的染色体称为后代。最后,对新的种群(即后代)重复进行选择、交叉和变异操作,经过给定次数的迭代处理以后,把最好的个体作为优化问题的最优解。
  遗传算法应用过程中通常包含五个基本要素:1)参数编码。遗传算法是采用问题参数的编码集进行工作的,而不是采用问题参数本身,通常采用二进制编码。2)初始种群设定。遗传算法随机产生一个由N个个体(染色体)组成的初始种群,也可根据一定的限制条件来产生。种群规模是指种群中所含染色体的数目。3)适应度函数的设定。适值度函数是用来区分种群中个体好坏的标准,是进行选择的唯一依据。可以通过目标函数映射成适值度函数。4)遗传操作设计。遗传算子是模拟生物基因遗传的操作,遗传操作的任务是对种群的个体按照它们对环境适应的程度施加一定的算子,从而实现优胜劣汰的进化过程。遗传基本算子包括:选择算子,交叉算子,变异算子和其他高级遗传算子。5)控制参数设定。在遗传算法的应用中,要首先给定一组控制参数:种群规模,杂交率,变异率和进化代数等。
  2.2目标特征和遗传适应度函数
  图像灰度特征对目标的形变、旋转等不敏感,具有良好的稳定性。在目标图像和候选图像匹配过程中,我们采用图像的灰度特征进行匹配。
  2.3候选目标中心的坐标编码
  利用Kalman滤波可以预测跟踪目标在下一帧图像中位置,其中心点设为(x0,y0),以该点为中心,取宽度为w,高度为h的区域为搜索区域(如图1),也就是要在该区域中找到和目标模板最相似的候选目标区域中心点。
......(未完,请点击下方“在线阅读”)
特别说明:本文献摘要信息,由维普资讯网提供,本站只提供索引,不对该文献的全文内容负责,不提供免费的全文下载服务。
金月芽期刊网 2017一维离散数据的卡尔曼滤波模型的参数估计及自适应滤波算法的改进
本文综述了卡尔曼滤波的研究背景和现状,详细研究了线性卡尔曼滤波及非线性卡尔曼滤波,分析了它们的优缺点,讨论了它们的应用范围。  首先,基于一维离散状态数据和观测数据,分别提出了状态方程的参数估计法(SPL法)和观测方程的参数估计法(OSL法)。第一种方法,先求出与当前状态数据相关的下一时刻状态数据的概率分布,再利用最小二乘法估计出状态方程中的参数,最后得出状态方程;第二种方法,在等分状态数据和和观测数据的基础上,在每个区间内用最小二乘法估计观测矩阵,构造出状态变量和观测矩阵之间的函数关系式,最终得到观测方程。  其次,...展开
本文综述了卡尔曼滤波的研究背景和现状,详细研究了线性卡尔曼滤波及非线性卡尔曼滤波,分析了它们的优缺点,讨论了它们的应用范围。  首先,基于一维离散状态数据和观测数据,分别提出了状态方程的参数估计法(SPL法)和观测方程的参数估计法(OSL法)。第一种方法,先求出与当前状态数据相关的下一时刻状态数据的概率分布,再利用最小二乘法估计出状态方程中的参数,最后得出状态方程;第二种方法,在等分状态数据和和观测数据的基础上,在每个区间内用最小二乘法估计观测矩阵,构造出状态变量和观测矩阵之间的函数关系式,最终得到观测方程。  其次,对简化的Sage-Husa自适应滤波算法进行了两点改进。第一点,用观测噪声Rk-1代替观测噪声Rk,计算出卡尔曼增益Kk,解决了原算法中的死循环问题;第二点,在原算法的基础上增加了两步,即先利用前面求得的观测噪声Rk重新计算卡尔曼增益Kk,再利用新的卡尔曼增益Kk重新计算估计值(x)k。  接着,针对单时滞系统,给出了具体的卡尔曼滤波算法,并且在状态过程和观测过程均为平稳的情况下,提出了一种估计观测延迟时间的方法。  最后,实证分析了本文提出的上述方法,估计出状态方程和观测方程的相应参数以及观测延迟时间,并利用本文提出的评价函数R(s)验证了这些方法的有效性。收起
学位授予单位
机标分类号
本文读者也读过
加载中,请稍候
.客服电话
&&8:00-11:30,13:00-17:00(工作日)

我要回帖

更多关于 四镜头行车记录仪 的文章

 

随机推荐