function Px = mper(x,win,n1,n2) %MPER Spectrum estimation using the modified periodogram. %---- %USAGE Px = crossmper(x,win,n1,n2) % % The spectrum of a process x is estimated using the modified % periodogrm. % % x : input sequence % n1 : starting index, x(n1) % n2 : ending index, x(n2) % win : The window type % 1 = Rectangular % 2 = Hamming % 3 = Hanning % 4 = Bartlett % 5 = Blackman % % If n1 and n2 are not specified the periodogram of the entire % sequence is computed. % % The modified periodogram is returned in Px using a linear scale. % x = x(:); if nargin == 2 n1 = 1; n2 = length(x); end; N = n2 - n1 +1; w = ones(N,1); if (win == 2) w = hamming(N); elseif (win == 3) w = hanning(N); elseif (win == 4) w = bartlett(N); elseif (win == 5) w = blackman(N); end; U = norm(w)^2/N; xw = x(n1:n2).*w; Px = abs(fft(xw,1024)).^2/(N*U);