• PUDN用户
    了解作者
  • matlab
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 44
    下载次数
  • 2010-04-09 09:58
    上传日期
ar burg算法的matlab程序,可供参考
arburg.rar
  • arburg.txt
    2.1KB
内容介绍
function varargout = arburg( x, p) %ARBURG AR parameter estimation via Burg method. % A = ARBURG(X,ORDER) returns the polynomial A corresponding to the AR % parametric signal model estimate of vector X using Burg's method. % ORDER is the model order of the AR system. % % [A,E] = ARBURG(...) returns the final prediction error E (the variance % estimate of the white noise input to the AR model). % % [A,E,K] = ARBURG(...) returns the vector K of reflection % coefficients (parcor coefficients). % % See also PBURG, ARMCOV, ARCOV, ARYULE, LPC, PRONY. % Ref: S. Kay, MODERN SPECTRAL ESTIMATION, % Prentice-Hall, 1988, Chapter 7 % S. Orfanidis, OPTIMUM SIGNAL PROCESSING, 2nd Ed. % Macmillan, 1988, Chapter 5 % Author(s): D. Orofino and R. Losada % Copyright 1988-2004 The MathWorks, Inc. % $Revision: 1.12.4.3 $ $Date: 2007/12/14 15:03:40 $ error(nargchk(2,2,nargin,'struct')) [mx,nx] = size(x); if isempty(x) || min(mx,nx) > 1, error(generatemsgid('InvalidDimensions'),'X must be a vector with length greater than twice the model order.'); elseif isempty(p) || ~(p == round(p)) error(generatemsgid('MustBeInteger'),'Model order must be an integer.') end if issparse(x), error(generatemsgid('Sparse'),'Input signal cannot be sparse.') end x = x(:); N = length(x); % Initialization ef = x; eb = x; a = 1; % Initial error E = x'*x./N; % Preallocate 'k' for speed. k = zeros(1, p); for m=1:p % Calculate the next order reflection (parcor) coefficient efp = ef(2:end); ebp = eb(1:end-1); num = -2.*ebp'*efp; den = efp'*efp+ebp'*ebp; k(m) = num ./ den; % Update the forward and backward prediction errors ef = efp + k(m)*ebp; eb = ebp + k(m)'*efp; % Update the AR coeff. a=[a;0] + k(m)*[0;conj(flipud(a))]; % Update the prediction error E(m+1) = (1 - k(m)'*k(m))*E(m); end a = a(:).'; % By convention all polynomials are row vectors varargout{1} = a; if nargout >= 2 varargout{2} = E(end); end if nargout >= 3 varargout{3} = k(:); end
评论
    相关推荐
    • Burg_AR.rar
      AR模型系数的burg算法,比较简明易懂,适合初学者
    • my_Burg_AR_estimation.zip
      基于BURG算法的AR模型的现代谱估计仿真代码,对学习现代谱估计很有帮助。
    • AR.rar
      用matlab技术编程,实现对AR技术,风速提取方面技术
    • burg.zip
      对某随机信号进行观察,得到如下一组数据: u=[101,82,66,35,31,7,20,92,154,125,85,68,38,23,10,24,83,...对该数据建立一个AR模型,编写用Burg算法求解该AR模型的参数程序,并画出p取值分别为3、4、5时的功率谱曲线。
    • burg.zip
      burg算法的定阶算法,实现自动识别数据长度,确定burg的阶数
    • burg.zip
      利用matlab进行burg算法的编写,实现了AR模型参数的计算
    • burg.rar
      burg算法实现对n阶AR估计的matlab函数求解。
    • 基于Burg法和Matlab估计AR模型参数
      基于Matlab实现: 基于 Burg法 估计AR模型参数 基于 Burg法 估计AR模型参数
    • AR谱估计的matlab burg算法
      burg 算法简单实用,在AR谱估计中用得很广
    • 73462680ARMO-Burg-AR-model.zip
      基于Matlab软件实现,计算ar系数和功率谱估计