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