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

   
与此同时,对指印刷中所用的一种字体滤波举行了深思。,对自适应否决者和卡尔曼否决者受胎必然看法,用matlab过滤。,一下子看到卡尔曼否决者没有活力的比拟顶用,原始打猎在较大的噪声中可以回复。。新学期很快濒开端了,由于TI的剥削板一向都在保养,如此,学会信息技术开展佣金的发射被放置,话虽这样说对宣布打猎处置和否决者的担心早已更深化了。。在新学期里持续竭力!  

   
卡尔曼滤波的根本思惟是:最小均方偏航作为冠预算书原则,本打猎和噪声的情状未填写的模特儿,运用情状变量的预算书值恢复的情状变量的预算书,求提出momen的预算书值,算法着陆创建的零碎方程和检视方程对需求处置的打猎做出遵守最小均方偏航的预算书。

长工夫内语音打猎摇摆,话虽这样说一阶和二阶论点在人家零碎中是相近不变式的。,如此语音打猎在对立较短的工夫内可以看成白噪声鼓舞以线形的时不变式零碎说服的恒稳态出口。假定语音打猎可以认为是由AR模特儿尝试的。:

                     卡尔曼滤波算法及MATLAB获得

    
工夫恢复的方程:

                      卡尔曼滤波算法及MATLAB获得

   
计量恢复的方程式:

                     卡尔曼滤波算法及MATLAB获得

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

                        卡尔曼滤波算法及MATLAB获得

朝内的

                      卡尔曼滤波算法及MATLAB获得           

卡尔曼滤波算法及MATLAB获得卡尔曼滤波算法及MATLAB获得课程模特儿噪声共变和测模特儿噪声共变,实物测量共变可以由于检视说服。,更难决定,在本试验中,将试验成功获得的事与两种方式举行了比拟。。

    
由于语音打猎是短期不变的,如此在举行卡尔曼滤波垄断对打猎举行分帧加窗手感,由于滤波后,对处置后的打猎举行帧处置。,喂的帧广大地域是256,帧堆叠数为12;

    
下图为原始宣布打猎和加噪声后的打猎与宣布打猎与经卡尔曼滤波处置后的打猎:

卡尔曼滤波算法及MATLAB获得

                               
原始宣布打猎和加噪声后的打猎

卡尔曼滤波算法及MATLAB获得

                              
原宣布打猎与经卡尔曼滤波处置后的打猎

Matlab次获得如次:

%%%%%%%%%%%%%%%%%本LPC全以杆推进模特儿的最大后验概率预算书法,采取卡尔曼滤波%%%%%%%%%%%%%%

clear;

clc;

%%%%%%%%%%%%%%%%%%%%%%%%%%%重读宣布datum的复数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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

%%%%%%%%%%%%%%%%对说服的每帧datum的复数举行加窗手感%%%%%%%%%%%%%%%%%%%%%%%%

       
不锈钢(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/6331.html" title="Permalink to 卡尔曼滤波算法及MATLAB实现_flyingnosky" rel="bookmark">permalink</a>.

发表评论

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