0001 function [CD CC]= getCollisionFreq(SS,P)
0002 CD = [];CC = [];
0003 for s = 1: 8
0004 CCi = [];
0005 CCi= [SS(s).GT.CC.Cases s*ones(size(SS(s).GT.CC.Cases,1),1)];
0006
0007
0008
0009 CCi(:,end+1) = ones(size(CCi,1),1);
0010
0011
0012 for r1 = 1: size(CCi,1)
0013 count = 0;
0014 for r2 = 1 : size(CCi,1)
0015 if CCi(r1,2)==CCi(r2,2) && CCi(r1,3)==CCi(r2,3)
0016 count = count + 1;
0017 end
0018 end
0019 CCi(r1,6) = count;
0020 end
0021
0022 CCi = sortrows(CCi,[2 3]);
0023
0024
0025 newCCi = zeros(0,size(CCi,2));
0026 for r = 1: size(CCi,1)-1
0027 if ~(CCi(r+1,2)== CCi(r,2) && CCi(r+1,3)== CCi(r,3))
0028 newCCi = [newCCi; CCi(r,:)];
0029 end
0030 end
0031 if CCi(end,end)==1
0032 newCCi = [newCCi; CCi(end,:)];
0033 end
0034
0035
0036
0037
0038 CCi = newCCi(:,[5,1,2,3,6]);
0039
0040
0041
0042 SSi_Rich = SS(s).Rich.CC;
0043 SSi_Kalman = SS(s).Kalman.CC;
0044 SSi_Eden = SS(s).Eden.CC;
0045 SSi = SS(s).GT;
0046 [RMSE_CF_Rich PTP_CF_Rich] = getPTP_ColDuration(CCi,SSi_Rich);
0047
0048 [RMSE_CF_Kalman PTP_CF_Kalman] = getPTP_ColDuration(CCi,SSi_Kalman);
0049
0050 [RMSE_CF_Eden PTP_CF_Eden] = getPTP_ColDuration(CCi,SSi_Eden);
0051
0052
0053
0054 CC = [CC; CCi PTP_CF_Kalman' PTP_CF_Rich' PTP_CF_Eden'...
0055 RMSE_CF_Kalman' RMSE_CF_Rich' RMSE_CF_Eden'];
0056
0057 end
0058
0059 CD(1,:) = [ 1 mean(CC(CC(:,5)==1,6)) mean(CC(CC(:,5)==1,7)) mean(CC(CC(:,5)==1,8)) size(CC(CC(:,5)==1,8),1)];
0060 CD(2,:) = [ 2 mean(CC(CC(:,5)==2,6)) mean(CC(CC(:,5)==2,7)) mean(CC(CC(:,5)==2,8)) size(CC(CC(:,5)==2,8),1)];
0061 CD(3,:) = [ 3 mean(CC(CC(:,5)==3,6)) mean(CC(CC(:,5)==3,7)) mean(CC(CC(:,5)==3,8)) size(CC(CC(:,5)==3,8),1)];
0062 CD(4,:) = [ 4 mean(CC(CC(:,5)==4,6)) mean(CC(CC(:,5)==4,7)) mean(CC(CC(:,5)==4,8)) size(CC(CC(:,5)==4,8),1)];
0063 CD(5,:) = [ 5 mean(CC(CC(:,5)==5,6)) mean(CC(CC(:,5)==5,7)) mean(CC(CC(:,5)==5,8)) size(CC(CC(:,5)==5,8),1)];
0064 CD(6,:) = [ 6 mean(CC(CC(:,5) >= 6,6)) mean(CC(CC(:,5) >=6,7)) mean(CC(CC(:,5)>=6,8)) size(CC(CC(:,5)>=6,8),1)];
0065 end