gusucode.com > 信号处理工具箱 - signal源码程序 > signal\signal\signal\private\levup.m
function [anxt,enxt]=levup(acur,knxt,ecur) %LEVUP One step forward Levinson recursion % Anxt=LEVUP(Acur,Knxt) returns the P+1'th order prediction polynomial, % Anxt based on the P'th order prediction polynomial, Acur, and the % P+1'th order reflection coefficient, Knxt. % % [Anxt,Enxt]=LEVUP(Acur,Knxt,Ecur) returns the P+1'th order prediction % prediction error, Enxt based on the P'th order prediction error, Ecur. % % See also LEVDOWN, LEVINSON, RLEVINSON. % References: P. Stoica R. Moses, Introduction to Spectral Analysis % Prentice Hall, N.J., 1997, Chapter 3. % % Author(s): A. Ramasubramanian, % Copyright (c) 1988-98 by The MathWorks, Inc. % $Revision: 1.2 $ $Date: 1998/07/20 17:10:56 $ % Some preliminaries first if (nargout==2 & nargin<3) error('Too few input arguments'); end % To convert to a column vector if not already so acur = acur(:); acur = acur(2:end); % Drop the leading 1, it is not needed in the stepup % Matrix formulation from Stoica is used to avoid looping anxt = [acur;0]+knxt*conj([acur(end:-1:1);1]); if nargin==3 enxt = (1-knxt'.*knxt)*ecur; end anxt = [1;anxt]; % Append the one to make it a true polynomial anxt = anxt.'; % Return the polynomial as a row vector % [EOF] levup.m