function P=p_gramm(fft_val,flag)
% Вычисл?ет значени? периодограммы [a(k)^2+b(k)^2]*[2/N] или
% амплитудного спектра abs(fft_val)*[2/N]
%        P=p_gramm(fft_val,flag)
%
% fft_val - результат комплексного FFT (fft_val=fft(obs.)
%    flag - 1 - периодограмма (по умолчанию)
%           2 - амплитудный спектр

%
% Хомутов С.Ю.,   12.04.96, 10.09.96, 21.04.97
%

%  Расположение коэффициентов БПФ в выходном массиве после FFT
%  1  2  3  4  5  6  7  8  9 10
% a0 a1 a2 a3 a4 a5 a4 a3 a2 a1  => N=6 (10/2+1)
% a0 a1 a2 a3 a4 a4 a3 a2 a1     => N=5 ([9/2]+1)

if nargin==1
   flag=1;
end

N=fix(length(fft_val)/2)+1;

if flag==1
   P = ( real(fft_val(1:N)).^2 + imag(fft_val(1:N)).^2 )/(N-1);
else
   P = abs(fft_val(1:N))/(N-1); P(1)=P(1)/2;
end
