%% Paralelni prikaz rezultata za STFT, HHT i CWT
% Pomoæna skripta za lakši prikaz dobivenih rezultata
close all;
clear all;


% Potrebno uèitati spremljene vrijednosti koeficijenata nagiba i poèetnih
% vrijdnosti frekvencija

% vektor vremenske skale
%t= [63 127 255 511 767 1023 1279 1535 1791 2047];
%t= [51 101 151 201 251 301 351 401 451 501];

load('MNF_rezultati.mat');

%% ################ Prikaz za L kao parametar, uz R=20ms ################## 

%##########################################################################
% prikaz promjene nagiba REGRESIJSKOG pravca ovisno o širini prozora L
pom1= cell2mat(STFTpMNF_L);
pom2= cell2mat(HHTpMNF_L);
pom3= cell2mat(CWTpMNF_L);

% u pMNF_L1 su spremljeni nagibi REGRESIJSKOG pravca
STFTpMNF_L1= pom1(1:2:length(pom1))*1000*60;
HHTpMNF_L1= pom2(1:2:length(pom2))*1000*60;
CWTpMNF_L1= pom3(1:2:length(pom3))*1000*60;

figure, 
plot(t,STFTpMNF_L1,'bd-',t,HHTpMNF_L1,'r*-',t,CWTpMNF_L1,'gs-');
xlim([45 510]); ylim([-45 -5]);
xlabel('Širina prozora u [ms]'); ylabel('Nagib REGRESIJSKOG pravca [Hz/min]');
title('Prikaz promjene nagiba REGRESIJSKOG pravca ovisno o širini prozora L, uz R=20ms');
legend('STFT','HHT','CWT','Location','Best');
%##########################################################################


%##########################################################################
% prikaz promjene poèetne frekvencije ovisno o širini prozora L
pom1= cell2mat(STFTpMNF_L);
pom2= cell2mat(HHTpMNF_L);
pom3= cell2mat(CWTpMNF_L);

% u pMNF_L2 su spremljene poèetne frekvencije
STFTpMNF_L2= pom1(2:2:length(pom1));
HHTpMNF_L2= pom2(2:2:length(pom2));
CWTpMNF_L2= pom3(2:2:length(pom3));

figure, 
plot(t,STFTpMNF_L2,'bd-',t,HHTpMNF_L2,'r*-',t,CWTpMNF_L2,'gs-');
xlim([45 510]); ylim([60 140]);
xlabel('Širina prozora u [ms]'); ylabel('Pocetna frekvencija [Hz]');
title('Prikaz promjene poèetne frekvencije ovisno o širini prozora L, uz R=20ms');
legend('STFT','HHT','CWT','Location','Best');
%##########################################################################




%% ################# Prikaz za L kao parametar, uz R=L #################### 

%##########################################################################
% prikaz promjene nagiba REGRESIJSKOG pravca ovisno o širini prozora L
pom1= cell2mat(STFTpMNF_RL);
pom2= cell2mat(HHTpMNF_RL);
pom3= cell2mat(CWTpMNF_RL);

% u pMNF_L1 su spremljeni nagibi REGRESIJSKOG pravca
STFTpMNF_RL1= pom1(1:2:length(pom1))*1000*60;
HHTpMNF_RL1= pom2(1:2:length(pom2))*1000*60;
CWTpMNF_RL1= pom3(1:2:length(pom3))*1000*60;

figure, 
plot(t,STFTpMNF_RL1,'bd-',t,HHTpMNF_RL1,'r*-',t,CWTpMNF_RL1,'gs-');
xlim([45 510]); ylim([-45 -5]);
xlabel('Širina prozora u [ms]'); ylabel('Nagib REGRESIJSKOG pravca [Hz/min]');
title('Prikaz promjene nagiba REGRESIJSKOG pravca ovisno o širini prozora L, uz R=L');
legend('STFT','HHT','CWT','Location','Best');
%##########################################################################


%##########################################################################
% prikaz promjene poèetne frekvencije ovisno o širini prozora L
pom1= cell2mat(STFTpMNF_RL);
pom2= cell2mat(HHTpMNF_RL);
pom3= cell2mat(CWTpMNF_L);

% u pMNF_L2 su spremljene poèetne frekvencije
STFTpMNF_RL2= pom1(2:2:length(pom1));
HHTpMNF_RL2= pom2(2:2:length(pom2));
CWTpMNF_RL2= pom3(2:2:length(pom3));

figure, 
plot(t,STFTpMNF_RL2,'bd-',t,HHTpMNF_RL2,'r*-',t,CWTpMNF_RL2,'gs-');
xlim([45 510]); ylim([60 140]);
xlabel('Širina prozora u [ms]'); ylabel('Pocetna frekvencija [Hz]');
title('Prikaz promjene poèetne frekvencije ovisno o širini prozora L, uz R=L');
legend('STFT','HHT','CWT','Location','Best');
%########################################################################## 



%% ###########################  BOXPLOTS ##################################

% #################### Prikaz apsolutnih vrijednosti ######################
% Prikaz nagiba regresijskog pravca
figure, 
subplot(2,2,[1 3]); %ylabel('Usporedba rezultata za R=20ms i R=L ');
boxplot([HHTpMNF_L1', STFTpMNF_L1', CWTpMNF_L1'],'labels',{'HHT','STFT','CWT'}); 
ylim([-45 -5]); ylabel('Nagib REGRESIJSKOG pravca [Hz/min]'); title('R=20ms');
subplot(2,2,[2 4]);
boxplot([HHTpMNF_RL1', STFTpMNF_RL1', CWTpMNF_RL1'],'labels',{'HHT','STFT','CWT'}); 
ylim([-45 -5]); ylabel('Nagib REGRESIJSKOG pravca [Hz/min]'); title('R=L');

% Prikaz poèetne frekvencije
figure, 
subplot(2,2,[1 3]); 
boxplot([HHTpMNF_L2', STFTpMNF_L2', CWTpMNF_L2'],'labels',{'HHT','STFT','CWT'}); 
ylim([60 140]); ylabel('Pocetna frekvencija [Hz]'); title('R=20ms');
subplot(2,2,[2 4]);
boxplot([HHTpMNF_RL2', STFTpMNF_RL2', CWTpMNF_RL2'],'labels',{'HHT','STFT','CWT'}); 
ylim([60 140]); ylabel('Pocetna frekvencija [Hz]'); title('R=L');
% #########################################################################


% ################ Prikaz relativnih (normiranih) odnosa  #################
% Prikaz nagiba regresijskog pravca
meanHHT1= mean(HHTpMNF_L1);
meanSTFT1= mean(STFTpMNF_L1);
meanCWT1= mean(CWTpMNF_L1);

HHTpMNF_L1=HHTpMNF_L1/meanHHT1*100;
STFTpMNF_L1=STFTpMNF_L1/meanSTFT1*100;
CWTpMNF_L1=CWTpMNF_L1/meanCWT1*100;

HHTpMNF_RL1=HHTpMNF_RL1/meanHHT1*100;
STFTpMNF_RL1=STFTpMNF_RL1/meanSTFT1*100;
CWTpMNF_RL1=CWTpMNF_RL1/meanCWT1*100;

figure, 
subplot(2,2,[1 3]); %ylabel('Usporedba rezultata za R=20ms i R=L ');
boxplot([HHTpMNF_L1', STFTpMNF_L1', CWTpMNF_L1'],'labels',{'HHT','STFT','CWT'}); 
ylim([70 170]); ylabel('Normirani nagib REGRESIJSKOG pravca prema prikazu R=20ms'); title('R=20ms');
subplot(2,2,[2 4]);
boxplot([HHTpMNF_RL1', STFTpMNF_RL1', CWTpMNF_RL1'],'labels',{'HHT','STFT','CWT'}); 
ylim([70 170]); ylabel('Normirani nagib REGRESIJSKOG pravca prema prikazu R=20ms'); title('R=L');

% Prikaz poèetne frekvencije 
meanHHT2= mean(HHTpMNF_L2);
meanSTFT2= mean(STFTpMNF_L2);
meanCWT2= mean(CWTpMNF_L2);

HHTpMNF_L2=HHTpMNF_L2/meanHHT2*100;
STFTpMNF_L2=STFTpMNF_L2/meanSTFT2*100;
CWTpMNF_L2=CWTpMNF_L2/meanCWT2*100;

HHTpMNF_RL2=HHTpMNF_RL2/meanHHT2*100;
STFTpMNF_RL2=STFTpMNF_RL2/meanSTFT2*100;
CWTpMNF_RL2=CWTpMNF_RL2/meanCWT2*100;

figure, 
subplot(2,2,[1 3]); 
boxplot([HHTpMNF_L2', STFTpMNF_L2', CWTpMNF_L2'],'labels',{'HHT','STFT','CWT'}); 
ylim([50 150]); ylabel('Normirana pocetna frekvencija prema prikazu R=20ms'); title('R=20ms');
subplot(2,2,[2 4]);
boxplot([HHTpMNF_RL2', STFTpMNF_RL2', CWTpMNF_RL2'],'labels',{'HHT','STFT','CWT'}); 
ylim([50 150]); ylabel('Normirana pocetna frekvencija prema prikazu R=20ms'); title('R=L');
% #########################################################################



%% Usporedba STFT, HHT i CWT za tri razlièita mišiæa jednog ispitanika
% % L=349, R=20ms
% 
% t=[1:60];
% 
% %##########################################################################
% % prikaz poèetne frekvencije i nagiba
% % za STFT
% p1STFT= 1000*STFT1(1)*t + STFT1(2);
% p2STFT= 1000*STFT2(1)*t + STFT2(2);
% p3STFT= 1000*STFT3(1)*t + STFT3(2);
% 
% % za HHT
% p1HHT= 1000*HHT1(1)*t + HHT1(2);
% p2HHT= 1000*HHT2(1)*t + HHT2(2);
% p3HHT= 1000*HHT3(1)*t + HHT3(2);
% 
% % za CWT
% p1CWT= 1000*CWT1(1)*t + CWT1(2);
% p2CWT= 1000*CWT2(1)*t + CWT2(2);
% p3CWT= 1000*CWT3(1)*t + CWT3(2);
% 
% % paralelni prikaz za STFT, HHT i CWT
% figure, 
% plot(t,p1STFT,'b-',t,p2STFT,'b-.',t,p3STFT,'b--');
% hold on;
% plot(t,p1HHT,'r-',t,p2HHT,'r-.',t,p3HHT,'r--');
% plot(t,p1CWT,'g-',t,p2CWT,'g-.',t,p3CWT,'g--');
% title('STFT, HHT i CWT:Paralelni prikaz regresijskih pravaca 3 razlicita misica istog ispitanika');
% ylabel('Frekvencija [Hz]'); xlabel('sekunde');
% legend('STFT1','STFT2','STFT3','HHT1','HHT2','HHT3','CWT1','CWT2','CWT3','Location','BestOutside');
% hold off;
% %##########################################################################
% 
% 
% %##########################################################################
% % prikaz rezultata normiranih na poèetnu frekvenciju u [%]
% % za STFT
% p1STFT= (1000*STFT1(1)*t + STFT1(2))/STFT1(2)*100;
% p2STFT= (1000*STFT2(1)*t + STFT2(2))/STFT2(2)*100;
% p3STFT= (1000*STFT3(1)*t + STFT3(2))/STFT3(2)*100;
% 
% % za HHT
% p1HHT= (1000*HHT1(1)*t + HHT1(2))/HHT1(2)*100;
% p2HHT= (1000*HHT2(1)*t + HHT2(2))/HHT2(2)*100;
% p3HHT= (1000*HHT3(1)*t + HHT3(2))/HHT3(2)*100;
% 
% % za CWT
% p1CWT= (1000*CWT1(1)*t + CWT1(2))/CWT1(2)*100;
% p2CWT= (1000*CWT2(1)*t + CWT2(2))/CWT2(2)*100;
% p3CWT= (1000*CWT3(1)*t + CWT3(2))/CWT3(2)*100;
% 
% % paralelni prikaz za STFT, HHT i CWT
% figure, 
% plot(t,p1STFT,'b-',t,p2STFT,'b-.',t,p3STFT,'b--');
% hold on;
% plot(t,p1HHT,'r-',t,p2HHT,'r-.',t,p3HHT,'r--');
% plot(t,p1CWT,'g-',t,p2CWT,'g-.',t,p3CWT,'g--');
% title('STFT,HHT i CWT:Prikaz 3 razlicita misica istog ispitanika normiran na pocetnu frekvenciju');
% ylabel('Promjena nagiba [%]'); xlabel('sekunde');
% legend('STFT1','STFT2','STFT3','HHT1','HHT2','HHT3','CWT1','CWT2','CWT3','Location','BestOutside');
% hold off;
% %##########################################################################
