?? burg.m
字號:
function a = burg(x,ORDER)
% MADE BY H.X.GUAN,2008/12/18
% BURG ALGORITHEM,AR model
%%%%% Initial %%%%%%
N = length(x);
f = x; % 前向
g = x; % 后向
% 假設x為行向量
P0 = x*x'/N;
PM = P0;
m = 2;
if ORDER>N
disp('階數超過向量長度無法計算');
a = 0;
return;
end
a = zeros(1,ORDER+1);
am = a;
a(1) = 1;
am(1) = 1;
%%%%%%%%%%%%%%%%%%%%
while ( m <= ORDER+1 )
sum1 = 0;
sum2 = 0;
for n=m:N
sum1 = sum1 + f(n)*g(n-1);
sum2 = sum2 + f(n)*f(n) + g(n-1)*g(n-1);
end
Km = -1.0*sum1 / (sum2*0.5);
for i=2:m
am(i) = a(i) + Km*a(m-i+1);
end
% am(m) = Km;
for i=2:m
a(i) = am(i);
end
PM = (1-Km*Km)*PM;
for n=2:N
fm(n) = f(n) + Km*g(n-1);
gm(n) = Km*f(n) + g(n-1);
end
f = fm;
g = gm;
m = m + 1;
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -