%==============================================================
%                 SPEKTRALNI CHARAKTERISTIKY
%             IDENTIFIKACE PERIODICKYCH KOMPONENT
%                      TESTY PERIODICITY
%==============================================================

% (C) 1996-98, V. Vesely, Masaryk University of Brno (Czech Republic)

% ANALYZA SOUBORU deaths.dat:
% Mesicni pocty umrti pri automobilovych nehodach v USA
% x=absolutni pocet umrti
% t=1,2,...,72: 1973 az 1978
%==============================================================
echo on
format compact
us_deaths=[crpath,'/brockwel.dat/deaths.dat'];
[x,xinf]=getdata(us_deaths);   % nacteni a vykresleni
n=length(x);
pause;
%---------------------------------------------------------------
% Nalezneme fourierovske spektrum
  n2=fix(n./2);
  X=fft(x)./n;   % Diskretni spektrum komplexnich Fourierovych koeficientu
  mean(x)-X(1)   % X(1) = prumer
  Xs=X(2:n);     % Zbytek spektra=Harmonicke komponenty
  Xs(n2-5:n2+5)  % Jsou komplexne sdruzene kolem stredu
pause;
%---------------------------------------------------------------
  figure;
  stem(2*abs(Xs))    % Graf amplitud: stredova symetrie je tez zretelna
  title('AMPLITUDOVE SPEKTRUM');
pause;
%---------------------------------------------------------------
  figure;
  stem(180*atan2(imag(Xs),real(Xs))./pi) % Graf fazi: stredova antisymetrie
  title('FAZOVE SPEKTRUM');
  ylabel('stupen');
pause;
%---------------------------------------------------------------
% Nalezneme vyznamne periodicke komponenty pomoci periodogramu a
% Fisherova-Siegelova testu:
  [pdg,kF,kS]=tperiod(x,figure);  % periodogram pdg a jeho graf
  kF        % indexy vyznamnych harmonickych slozek uzitim Fisherova testu
  kS        % indexy vyznamnych harmonickych slozek uzitim Siegelova testu
% o periodach:
  if length(kS)>length(kF)
     n./kS
  else
     n./kF
  end
% Nejvyraznejsi slozka kF(1)=kS(1)=6 (6-ta harmonicka) indikuje periodu
% 12 mesicu sezonni slozky.
%---------------------------------------------------------------------------
% PROVEDTE 'type tperiod' A PROSTUDUJTE ALGORITMUS PROCEDURY 'tperiod'.
%================================== KONEC ==================================
echo off
