卡尔曼滤波算法及MATLAB实现_flyingnosky

   
与此同时,对指印刷中所用的一种字体滤波举行了默想。,对自适应过滤器和卡尔曼过滤器受胎必然认得,用matlab过滤。,发现物卡尔曼过滤器仍然较比有益的,原始枪在较大的噪声中可以回复。。新学期很快快要开端了,由于TI的冲洗板一向都在维修服务,故,仿真信息技术开展授予的在地图上标出被放置,再对响枪处置和过滤器的担心曾经更深刻了。。在新学期里持续竭力!  

   
卡尔曼滤波的根本思惟是:最小均方违法作为冠打量原则,本枪和噪声的个人财产房间样品,运用个人财产变量的打量值修复个人财产变量的打量,求现在的momen的打量值,算法依引起的体系方程和观察所得方程对必要处置的枪做出缓和最小均方违法的打量。

长时期内语音枪愉快活跃的,再一阶和二阶统计学在任何人体系中是相近固定的。,故语音枪在对立较短的时期内可以看成白噪声励磁以线性的时固定体系腰槽的恒稳态输出。授给物语音枪可以看待是由AR样品做的。:

                     卡尔曼滤波算法及MATLAB实施

    
时期修复方程:

                      卡尔曼滤波算法及MATLAB实施

   
计量修复同等:

                     卡尔曼滤波算法及MATLAB实施

   
K(t)为卡尔曼增益,计算词句如次:

                        卡尔曼滤波算法及MATLAB实施

当选

                      卡尔曼滤波算法及MATLAB实施           

卡尔曼滤波算法及MATLAB实施卡尔曼滤波算法及MATLAB实施追逐样品噪声协变和测样品噪声协变,实物测量协变可以传球观察所得腰槽。,更难决定,在本试验中,将试验终于与两种办法举行了较比。。

    
由于语音枪是短期稳固的,故在举行卡尔曼滤波在前方对枪举行分帧加窗动手术,传球滤波后,对处置后的枪举行帧处置。,嗨的帧浆糊是256,帧堆叠数为12;

    
下图为原始响枪和加噪声后的枪和响枪与经卡尔曼滤波处置后的枪:

卡尔曼滤波算法及MATLAB实施

                               
原始响枪和加噪声后的枪

卡尔曼滤波算法及MATLAB实施

                              
原响枪与经卡尔曼滤波处置后的枪

Matlab次实施如次:

%%%%%%%%%%%%%%%%%本LPC全顶上的样品的最大后验概率打量法,采取卡尔曼滤波%%%%%%%%%%%%%%

clear;

clc;

%%%%%%%%%%%%%%%%%%%%%%%%%%%负荷响资料%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

load voice.mat

y=M1(2),:);

x=y+*randn(1,浆糊(Y)

%%%%%%%%%%%%%%%原响枪和加噪声后的枪%%%%%%%%%%%%%%%

图(1)

子地块(211);地块(M1(1),:),M1(2),:));xlabel(”时期”);ylabel(”纬度”);title(”原响枪”);

子地块(212);地块(M1(1),:),x);xlabel(”时期”);ylabel(”纬度”);title(”加噪声后的枪”);

%%%%%%%%%%%%%%%%%%%%%%%%%输出决定因素%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Fs=44100;                 
    枪采样频率

bits=16;            
    枪采样位

N=256;                     
%帧长

m=N/2;                     
每帧改变主意间隔

lenth=length(x);           
输出枪浆糊

count=floor(lenth/m)-1;    
必要改变主意以处置全体数量枪的帧数为%。泽尔

p=11;
                       
    AR样品次

a=zeros(1,p);

w=hamming(N);
             
    Gahamming窗口行使职责

y_temp=0;

F=zeros(11,11);
     
    %转变矩阵

F(1,2)=1;

F(2,3)=1;

F(3,4)=1;

F(4,5)=1;

F(5,6)=1;

F(6,7)=1;

F(7,8)=1;

F(8,9)=1;

F(9,10)=1;

F(10,11)=1;

H=zeros(1,p);
                  
    %

S0=zeros(p,1);

P0=zeros(p);

S=zeros(p);

H(11)=1;

s=zeros(N,1);

G=H”;

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样品求转变矩阵决定因素%%%%%%%%%%%%%%   

         
if r==1

          
[a,vs]=lpc(x_帧,p);  

      
  else 

          
[a,VS]=lpc(T((r-2)*m+1:(r-2)*m+256),p);

       
end

%%%%%%%%%%%%%%%%帧长内追逐噪声协变%%%%%%%%%%%%%%%%%%

       
if
(VS-y_temp>0)   

           
VS=VS-y_temp;

       
else 

           
VS=

       
end

       
F(p,:)=-1*a(p+1:-1:2);

       
for j=1:256

           
if(j==1)

           
S=F*S0;

           
Pn=F*P*F”+G*VS*G”;

           
else 

           
S=F*S;     
时期修复方程

           
Pn=F*P*F”+G*VS*G”;

           
end

           
K=Pn*H”*(y_temp+H*P*H”).^(-1); %卡尔曼增益

           
P=(眼(P)-K*H)*PN
                
   %计量修复同等

           
S=S+K*[x_frame(j)-H*S];

           
T((r-1)*m+j)=H*S;

       
end

%%%%%%%%%%%%%%%%对腰槽的每帧资料举行加窗动手术%%%%%%%%%%%%%%%%%%%%%%%%

       
不锈钢(1:256,r)=T((r-1)*m+1:(r-1)*m+256);

        
s不锈钢(1:256,r)=不锈钢(1:256,r).*w;

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%合帧动手术%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

        
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);

        
   else

        
   
s_out(((r-1)*m+1):((r-1)*m+m))=sss(129:256,r-1)+sss(1:128,r);

        
    end

        
   end

      
end

图(2)

子地块(211);地块(M1(1),:),M1(2),:));xlabel(”时期”);ylabel(”纬度”);title(”原响枪”);

子地块(212);地块((1:1109760)/F,s_out);xlabel(”时期”);ylabel(”纬度”);title(”经卡尔曼滤波后的响枪”);

负荷中,请稍等。

This entry was posted in ca88. Bookmark the <a href="https://www.bysjsm.com/ca88/6336.html" title="Permalink to 卡尔曼滤波算法及MATLAB实现_flyingnosky" rel="bookmark">permalink</a>.

发表评论

电子邮件地址不会被公开。 必填项已用*标注