From 7f450fd622324e6b6b3c3e2415a9156e3dd36971 Mon Sep 17 00:00:00 2001
From: Florian Kaltenberger <florian.kaltenberger@eurecom.fr>
Date: Tue, 14 Oct 2014 21:16:36 +0000
Subject: [PATCH] adding noise figure to log_read.m

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5889 818b1a75-f10b-46b9-bf7c-635c3b92a50f
---
 targets/PROJECTS/CORRIDOR/exmimo2_39_comb.mat | Bin 0 -> 1136 bytes
 targets/PROJECTS/CORRIDOR/log_read.m          |  79 +++++++++++++-----
 2 files changed, 56 insertions(+), 23 deletions(-)
 create mode 100644 targets/PROJECTS/CORRIDOR/exmimo2_39_comb.mat

diff --git a/targets/PROJECTS/CORRIDOR/exmimo2_39_comb.mat b/targets/PROJECTS/CORRIDOR/exmimo2_39_comb.mat
new file mode 100644
index 0000000000000000000000000000000000000000..332100ab175fffba5342252fd1ec91506a929d30
GIT binary patch
literal 1136
zcmbW0eNfYN9LIk=1}xwZOof#{Cbi??H#axt7!2P7mJLBc+1S`%0wK>&xp)w}(_@K5
ziXak=jEP578l76gED;Ve$>d>&3Sqcr9d$?--GOC!^_vfWbk|>g?%wzQe!lnl<8z<a
zy%VJ=3DOucoWms(r76^|{GyyNvhuZjy*{Ue%&I20W$QC5a!5XB14j@>Zs76+6pu^s
z1oTtPixBfgq#`AjAfKuT2YI3wK@bBD1mQ}%8!fxr%Z1jnw47);KNf8SJ^FBN>&skS
zc4={zJKgW2Kh2V&E{hy!tLtbw&?3g^0mtvcW#Oo24NsJq!||s#yXRC5g|iyHi|sfY
z*2uu7sfAFutv;!FC65Gotoi=fr2yPke`YP6<3Q$Z8#>QnBgxs|8`RIlS!LKCWqned
z%pBGBQWE^ot|aB|5tzT`m$2w8hN*w4k6FUU@+yvRyFUePxs=uPCL1qWICsj76ddO~
z?k!0uIEbH{6!h>BSo&+D;&d>^uOBoAQ!FHOT~OEVmLag7zekiG18HI7`Eb)FeD&7W
z(e8j~Fn{`>+w)ZsoES#&<R(6<?$3sFXa(@U!kSAi3<cS<cKdt*3nqEBe$-up@t>D*
zd8H7A@2+($^yDHqmwCO15eNTWj2lyODUw!9zg_1m!T#d~e4-%=m0TXx>beomwg`F1
z7!N15rA`#<)+6tnlTj704g}+N=gl*LxVo2Z>uwd|%9dP_`?p+_57%b)9b@BZI6gzO
z+x!S4@r0wv;@4cYMhR<K=gdckQ*oqai}1l66+FJkW&R^mVOF%gHRggElg~%yzT~CB
zJ8}0`n|7z+b)(I|pVOeIEAs9waXPZEdaVzLN{5+jX>$2I17XR=ZyY>#0*cGU#xVtM
z`pkd%f-)5!4-D_={X~W4g>`NfgbG#3rJcX+Q{%^YMrg%E8s3+U7{<cVP#&dM4}GY?
zUzHDnYF*Q@-2C_S;YBT0)%gghy%}hXwmKGAbue_Fsn7ONg1OXJW@}5uichDDH!i3!
z)a_~><fssFF=_T_pBkp#l2M_z1`>lvc_J|lL$_9@xO}fcX-0_e4SIj(xGb^5BORxf
z=QDG9GO%W(wc6QxCpzzbozd`y0tagR4n|v*IQQP6vRKgfxwe0_!IX-{#hNUwiyCd?
zmae)ydhbiZ-q;Z}X3W1_9HKOcj%Srm9n~Uk$J`+IkQRf#TV~>y(jnZ@?$@8Md&p5m
nbNRnK+Vg48pFNLHawttm(B)?4m)QA{wEkN`c+?9Xdo=z9F)DAB

literal 0
HcmV?d00001

diff --git a/targets/PROJECTS/CORRIDOR/log_read.m b/targets/PROJECTS/CORRIDOR/log_read.m
index 1a41026533..b5c98f2028 100644
--- a/targets/PROJECTS/CORRIDOR/log_read.m
+++ b/targets/PROJECTS/CORRIDOR/log_read.m
@@ -1,14 +1,20 @@
 clear all
 close all
 
-top_dir = 'P:\florian\CORRIDOR\trials2 train'; % needs to be updated according to your computer
+top_dir = 'E:\EMOS\CORRIDOR\trials2 train'; % needs to be updated according to your computer
 d1 = dir(fullfile(top_dir,'UHF','*.log'));
 d2 = dir(fullfile(top_dir,'2.6GHz','*.log'));
 
 
+load exmimo2_39_comb.mat
+G0_comb = permute(G0_comb,[2 1 3]);
+G0_interp = interp1(ALL_gain,G0_comb,0:30);
+G0_interp = permute(G0_interp,[2 1 3]);
+NF0_comb = permute(NF0_comb,[2 1 3]);
+NF0_interp = interp1(ALL_gain,NF0_comb,0:30);
+NF0_interp = permute(NF0_interp,[2 1 3]);
 
-
-
+%%
 start_time = [1.400489088000000e+09 1.400493112000000e+09 1.400499696000000e+09 1.400506864000000e+09];
 
 for idx=1:length(d1)
@@ -29,8 +35,18 @@ for idx=1:length(d1)
     rtime1 = data1{idx}(:,1) - data1{idx}(1,1);
     rtime2 = data2{idx}(:,1) - data2{idx}(1,1);
     
+    %% compute the noise level based on the AGC values and the calibrated noise figures
+    data1{idx}(data1{idx}(:,16)==0,16) = 1;
+    data2{idx}(data2{idx}(:,16)==0,16) = 1;
+    data2{idx}(data2{idx}(:,22)==0,22) = 1;
+    data2{idx}(data2{idx}(:,28)==0,28) = 1;
+    NF1=[NF0_interp(sub2ind(size(NF0_interp),data1{idx}(:,16),data1{idx}(:,15)+1,ones(length(data1{idx}),1)))];
+    NF2=[NF0_interp(sub2ind(size(NF0_interp),data2{idx}(:,16),data2{idx}(:,15)+1,ones(length(data2{idx}),1))) ...
+        NF0_interp(sub2ind(size(NF0_interp),data2{idx}(:,22),data2{idx}(:,21)+1,ones(length(data2{idx}),1))) ...
+        NF0_interp(sub2ind(size(NF0_interp),data2{idx}(:,28),data2{idx}(:,27)+1,ones(length(data2{idx}),1)))];
+    
     %% plot gps coordinates
-    figure(idx*10+1);
+    h=figure(idx*10+1);
     hold off
     plot(data1{idx}(1:100:end,7),data1{idx}(1:100:end,8),'rx')
     hold on
@@ -39,10 +55,12 @@ for idx=1:length(d1)
     ylabel('lon [deg]')
     legend('UHF','2.6GHz')
     title(sprintf('Run %d',idx));
+    saveas(h,sprintf('figures/gps_trace_run%d.eps',idx));
+
     
     %% plot RSSI
     % TODO: convert time (in unix epoch) into something more meaninful
-    figure(idx*10+2);
+    h=figure(idx*10+2);
     hold off
     plot(rtime1,smooth(data1{idx}(:,13),100),'r')
     hold on
@@ -53,7 +71,22 @@ for idx=1:length(d1)
     xlabel('time [seconds]')
     ylabel('RSSI [dBm]')
     title(sprintf('Run %d',idx));
+    saveas(h,sprintf('figures/rssi_vs_time_run%d.eps',idx),'epsc2');
     
+    %% plot NF
+    % TODO: convert time (in unix epoch) into something more meaninful
+    h=figure(idx*10+5);
+    hold off
+    plot(rtime1,smooth(NF1,100),'r')
+    hold on
+    plot(rtime2,smooth(NF2(:,1),100),'b')
+    plot(rtime2,smooth(NF2(:,2),100),'c')
+    plot(rtime2,smooth(NF2(:,3),100),'m')
+    legend('UHF','2.6GHz card 1','2.6GHz card 2','2.6GHz card 3');
+    xlabel('time [seconds]')
+    ylabel('NF [dB]')
+    title(sprintf('Run %d',idx));
+    saveas(h,sprintf('figures/nf_vs_time_run%d.eps',idx),'epsc2');
     
     
     %% measured distance (km)
@@ -69,7 +102,7 @@ for idx=1:length(d1)
     end
     
     
-    figure (100+idx)
+    figure (10*idx+6)
     subplot(1,2,1)
     plot(rtime1,distances1,'r',rtime1,smooth(data1{idx}(:,13),100),'b')
     title(sprintf('Run %d with the measured distance : UHF',idx));
@@ -104,7 +137,7 @@ for idx=1:length(d1)
         new_distances2=(TGV_speed*abs(rtime2-time02))/1000+min(distances2)*ones(length(rtime2),1);% distance in km
     end
     
-    figure (200+idx)
+    figure (10*idx+7)
     subplot(1,2,1)
     plot(rtime1,new_distances1,'r',rtime1,smooth(data1{idx}(:,13),100),'b')
     title(sprintf('Run %d with the estimated distance : UHF',idx));
@@ -263,7 +296,7 @@ for idx=1:length(d1)
     
     
     if idx==1 || idx ==2
-        figure(idx*10+3)
+        h=figure(idx*10+3);
         
         
         
@@ -282,17 +315,18 @@ for idx=1:length(d1)
         display(sprintf('Run %d :slope 2.6GHz : %f',idx,linearCoef2(1)))
         
         
-        title(sprintf('Run %d: With the data  the passing of the train',idx))
-        legend('UHF','UHF:linear fitting','2.6GHz card 1','2.6GHz card 1:linear fitting');
+        title(sprintf('Run %d',idx))
+        legend('UHF','UHF linear fit','2.6GHz','2.6GHz linear fit');
         xlabel('distance [km]')
         ylabel('RSSI [dBm]')
         
-        
+        saveas(h,sprintf('figures/rssi_vs_dist_run%d.eps',idx),'epsc2');
+
         
         
         % Zoom on the linear fitting
         
-        figure(idx*10+4)
+        h=figure(idx*10+4);
         
         
         
@@ -311,20 +345,21 @@ for idx=1:length(d1)
         semilogx(new_distances2(index_break2_end:index_break2_start),data2{idx}(index_break2_end:index_break2_start,13),'bx',new_distances2(index_break2_end:index_break2_start),linearFit2,'b-')
         %display(sprintf('Run %d :slope 2.6GHz : %f',idx,linearCoef2(1)))
         
-        title(sprintf('Run %d: ',idx))
-        legend('UHF','UHF:linear fitting','2.6GHz card 1','2.6GHz card 1:linear fitting');
+        title(sprintf('Run %d',idx))
+        legend('UHF','UHF linear fit','2.6GHz','2.6GHz linear fit');
         xlabel('distance [km]')
         ylabel('RSSI [dBm]')
-        
+ 
+        saveas(h,sprintf('figures/rssi_vs_dist_zoom_run%d.eps',idx),'epsc2');
         
     end
     
-    
+   
     
     if idx==3 || idx==4
         
         
-        figure(idx*10+3)
+        h=figure(idx*10+3);
         
         
         subplot(2,1,1)
@@ -368,10 +403,11 @@ for idx=1:length(d1)
         xlabel('distance [km]')
         ylabel('RSSI [dBm]')
         
+        saveas(h,sprintf('figures/rssi_vs_dist_run%d.eps',idx),'epsc2');        
         
         % Zoom on the linear fitting
         
-        figure(idx*10+4)
+        h=figure(idx*10+4);
         
         
         subplot(2,1,1)
@@ -415,13 +451,10 @@ for idx=1:length(d1)
         xlabel('distance [km]')
         ylabel('RSSI [dBm]')
         
+        saveas(h,sprintf('figures/rssi_vs_dist_zoom_run%d.eps',idx),'epsc2');
+        
     end
     
     
     
-    
-    
-    
-    
-    
 end
\ No newline at end of file
-- 
GitLab