diff --git a/targets/PROJECTS/CORRIDOR/log_read.m b/targets/PROJECTS/CORRIDOR/log_read.m
index 8408bfb83528f658afc3cafd8907502e01a57b2b..1a41026533890e0f5286fc548101689b8d59739a 100644
--- a/targets/PROJECTS/CORRIDOR/log_read.m
+++ b/targets/PROJECTS/CORRIDOR/log_read.m
@@ -128,32 +128,28 @@ for idx=1:length(d1)
     
     
     %% rssi(dBm) versus distance (log scale)
-    % We will plot the rssi versus the distance with the data before the passing of the train, and with the data after the passingof the train
+    % We will plot the rssi versus the distance. We separate the data
+    % before and after the passing of the train for run 3 and run 4 because
+    % all the antennas are poiting at the same direction
     
     % we heuristically determine a starting point and a ending point for the linear fitting
     if idx==1
         
-        distance_before_break1_start=0.4;%in km
-        distance_before_break1_end=7.5;
-        distance_before_break2_start=0.4;
-        distance_before_break2_end=7.5;
+        distance_break1_start=0.4;%in km
+        distance_break1_end=7.5;
+        distance_break2_start=0.4;
+        distance_break2_end=7.5;
+        
         
-        distance_after_break1_start=0.9;%in km
-        distance_after_break1_end=4.5;
-        distance_after_break2_start=0.9;
-        distance_after_break2_end=4.5;
     end
     
     if idx==2
-        distance_before_break1_start=0.8;%in km
-        distance_before_break1_end=4.5;
-        distance_before_break2_start=0.8;
-        distance_before_break2_end=4.5;
+        distance_break1_start=0.8;%in km
+        distance_break1_end=4.5;
+        distance_break2_start=0.8;
+        distance_break2_end=4.5;
+        
         
-        distance_after_break1_start=0.5;%in km
-        distance_after_break1_end=7.5;
-        distance_after_break2_start=0.5;
-        distance_after_break2_end=7.5;
     end
     
     if idx==3
@@ -180,147 +176,246 @@ for idx=1:length(d1)
         distance_after_break2_end=8;
     end
     
-    % indexes of the starting and ending points with the data before the passing of the
-    % train
-    index_break1_before_start=1;
-    index_break2_before_start=1;
-    index_break1_before_end=1;
-    index_break2_before_end=1;
-    
-    % indexes of the starting and ending points with the data after the passing of the
-    % train
-    index_break1_after_start=I_RSSI_max1;
-    index_break2_after_start=I_RSSI_max2;
-    index_break1_after_end=I_RSSI_max1;
-    index_break2_after_end=I_RSSI_max2;
-    
-    %starting points
-    while (index_break1_before_start<length(new_distances1)) && (new_distances1(index_break1_before_start)>distance_before_break1_start)
-        index_break1_before_start=index_break1_before_start+1;
-    end
-    while (index_break2_before_start<length(new_distances2)) && (new_distances2(index_break2_before_start)>distance_before_break2_start)
-        index_break2_before_start=index_break2_before_start+1;
-    end
-    %ending points
-    while (index_break1_before_end<length(new_distances1)) && (new_distances1(index_break1_before_end)>distance_before_break1_end)
-        index_break1_before_end=index_break1_before_end+1;
-    end
-    while (index_break2_before_end<length(new_distances2)) && (new_distances2(index_break2_before_end)>distance_before_break2_end)
-        index_break2_before_end=index_break2_before_end+1;
-    end
-    
     
-    %starting points
-    while (index_break1_after_start<length(new_distances1)) && (new_distances1(index_break1_after_start)<distance_after_break1_start)
-        index_break1_after_start=index_break1_after_start+1;
-    end
-    while (index_break2_after_start<length(new_distances2)) && (new_distances2(index_break2_after_start)<distance_after_break2_start)
-        index_break2_after_start=index_break2_after_start+1;
+    if idx==1 || idx==2
+        
+        % indexes of the starting and ending points
+        index_break1_start=1;
+        index_break2_start=1;
+        index_break1_end=1;
+        index_break2_end=1;
+        
     end
     
-    %ending points
-    while (index_break1_after_end<length(new_distances1)) && (new_distances1(index_break1_after_end)<distance_after_break1_end)
-        index_break1_after_end=index_break1_after_end+1;
-    end
-    while (index_break2_after_end<length(new_distances2)) && (new_distances2(index_break2_after_end)<distance_after_break2_end)
-        index_break2_after_end=index_break2_after_end+1;
+    if idx==3 || idx==4
+        % indexes of the starting and ending points with the data before the passing of the
+        % train
+        index_break1_before_start=1;
+        index_break2_before_start=1;
+        index_break1_before_end=1;
+        index_break2_before_end=1;
+        
+        % indexes of the starting and ending points with the data after the passing of the
+        % train
+        index_break1_after_start=I_RSSI_max1;
+        index_break2_after_start=I_RSSI_max2;
+        index_break1_after_end=I_RSSI_max1;
+        index_break2_after_end=I_RSSI_max2;
+        
     end
     
     
+    if idx==1 || idx==2
+        %starting points
+        while (index_break1_start<length(new_distances1)) && (new_distances1(index_break1_start)>distance_break1_start)
+            index_break1_start=index_break1_start+1;
+        end
+        while (index_break2_start<length(new_distances2)) && (new_distances2(index_break2_start)>distance_break2_start)
+            index_break2_start=index_break2_start+1;
+        end
+        %ending points
+        while (index_break1_end<length(new_distances1)) && (new_distances1(index_break1_end)>distance_break1_end)
+            index_break1_end=index_break1_end+1;
+        end
+        while (index_break2_end<length(new_distances2)) && (new_distances2(index_break2_end)>distance_break2_end)
+            index_break2_end=index_break2_end+1;
+        end
+        
+        
+    end
     
+    if idx==3 || idx==4
+        %starting points
+        while (index_break1_before_start<length(new_distances1)) && (new_distances1(index_break1_before_start)>distance_before_break1_start)
+            index_break1_before_start=index_break1_before_start+1;
+        end
+        while (index_break2_before_start<length(new_distances2)) && (new_distances2(index_break2_before_start)>distance_before_break2_start)
+            index_break2_before_start=index_break2_before_start+1;
+        end
+        %ending points
+        while (index_break1_before_end<length(new_distances1)) && (new_distances1(index_break1_before_end)>distance_before_break1_end)
+            index_break1_before_end=index_break1_before_end+1;
+        end
+        while (index_break2_before_end<length(new_distances2)) && (new_distances2(index_break2_before_end)>distance_before_break2_end)
+            index_break2_before_end=index_break2_before_end+1;
+        end
+        
+        
+        %starting points
+        while (index_break1_after_start<length(new_distances1)) && (new_distances1(index_break1_after_start)<distance_after_break1_start)
+            index_break1_after_start=index_break1_after_start+1;
+        end
+        while (index_break2_after_start<length(new_distances2)) && (new_distances2(index_break2_after_start)<distance_after_break2_start)
+            index_break2_after_start=index_break2_after_start+1;
+        end
+        
+        %ending points
+        while (index_break1_after_end<length(new_distances1)) && (new_distances1(index_break1_after_end)<distance_after_break1_end)
+            index_break1_after_end=index_break1_after_end+1;
+        end
+        while (index_break2_after_end<length(new_distances2)) && (new_distances2(index_break2_after_end)<distance_after_break2_end)
+            index_break2_after_end=index_break2_after_end+1;
+        end
+        
+    end
     
     
-    figure(idx*10+3)
-    
-    
-    subplot(2,1,1)
-    
-    hold off
-    linearCoef1_before = polyfit(10*log10(new_distances1(index_break1_before_end:index_break1_before_start)),data1{idx}(index_break1_before_end:index_break1_before_start,13),1);
-    linearFit1_before = polyval(linearCoef1_before,10*log10(new_distances1(index_break1_before_end:index_break1_before_start)));
-    semilogx(new_distances1(1:I_RSSI_max1),data1{idx}(1:I_RSSI_max1,13),'rx',new_distances1(index_break1_before_end:index_break1_before_start),linearFit1_before,'r-')
-    display(sprintf('Run %d :slope UHF before: %f',idx,linearCoef1_before(1)))
-    
-    
-    hold on
-    linearCoef2_before = polyfit(10*log10(new_distances2(index_break2_before_end:index_break2_before_start)),data2{idx}(index_break2_before_end:index_break2_before_start,13),1);
-    linearFit2_before = polyval(linearCoef2_before,10*log10(new_distances2(index_break2_before_end:index_break2_before_start)));
-    semilogx(new_distances2(1:I_RSSI_max2),data2{idx}(1:I_RSSI_max2,13),'bx',new_distances2(index_break2_before_end:index_break2_before_start),linearFit2_before,'b-')
-    display(sprintf('Run %d :slope 2.6GHz before: %f',idx,linearCoef2_before(1)))
-    
-    
-    title(sprintf('Run %d: With the data before the passing of the train',idx))
-    legend('UHF','UHF:linear fitting','2.6GHz card 1','2.6GHz card 1:linear fitting');
-    xlabel('distance [km]')
-    ylabel('RSSI [dBm]')
-    
-    subplot(2,1,2)
-    
-    hold off
-    linearCoef1_after = polyfit(10*log10(new_distances1(index_break1_after_start:index_break1_after_end)),data1{idx}(index_break1_after_start:index_break1_after_end,13),1);
-    linearFit1_after = polyval(linearCoef1_after,10*log10(new_distances1(index_break1_after_start:index_break1_after_end)));
-    semilogx(new_distances1(I_RSSI_max1:end),data1{idx}(I_RSSI_max1:end,13),'rx',new_distances1(index_break1_after_start:index_break1_after_end),linearFit1_after,'r-')
-    display(sprintf('Run %d :slope UHF after: %f',idx,linearCoef1_after(1)))
-    
-    
-    hold on
-    linearCoef2_after = polyfit(10*log10(new_distances2(index_break2_after_start:index_break2_after_end)),data2{idx}(index_break2_after_start:index_break2_after_end,13),1);
-    linearFit2_after = polyval(linearCoef2_after,10*log10(new_distances2(index_break2_after_start:index_break2_after_end)));
-    semilogx(new_distances2(I_RSSI_max2:end),data2{idx}(I_RSSI_max2:end,13),'bx',new_distances2(index_break2_after_start:index_break2_after_end),linearFit2_after,'b-')
-    display(sprintf('Run %d :slope 2.6GHz after: %f',idx,linearCoef2_after(1)))
-    
-    title(sprintf('Run %d: With the data after the passing of the train',idx))
-    legend('UHF','UHF:linear fitting','2.6GHz card 1','2.6GHz card 1:linear fitting');
-    xlabel('distance [km]')
-    ylabel('RSSI [dBm]')
-    
-    
-    % Zoom on the linear fitting
-    
-    figure(idx*10+4)
-    
-    
-    subplot(2,1,1)
-    
-    hold off
-    
-    linearCoef1_before = polyfit(10*log10(new_distances1(index_break1_before_end:index_break1_before_start)),data1{idx}(index_break1_before_end:index_break1_before_start,13),1);
-    linearFit1_before = polyval(linearCoef1_before,10*log10(new_distances1(index_break1_before_end:index_break1_before_start)));
-    semilogx(new_distances1(index_break1_before_end:index_break1_before_start),data1{idx}(index_break1_before_end:index_break1_before_start,13),'rx',new_distances1(index_break1_before_end:index_break1_before_start),linearFit1_before,'r-')
-    %display(sprintf('Run %d :slope UHF before: %f',idx,linearCoef1_before(1)))
-    
-    hold on
-    
-    linearCoef2_before = polyfit(10*log10(new_distances2(index_break2_before_end:index_break2_before_start)),data2{idx}(index_break2_before_end:index_break2_before_start,13),1);
-    linearFit2_before = polyval(linearCoef2_before,10*log10(new_distances2(index_break2_before_end:index_break2_before_start)));
-    semilogx(new_distances2(index_break2_before_end:index_break2_before_start),data2{idx}(index_break2_before_end:index_break2_before_start,13),'bx',new_distances2(index_break2_before_end:index_break2_before_start),linearFit2_before,'b-')
-    %display(sprintf('Run %d :slope 2.6GHz before: %f',idx,linearCoef2_before(1)))
-    
-    title(sprintf('Run %d: With the data before the passing of the train',idx))
-    legend('UHF','UHF:linear fitting','2.6GHz card 1','2.6GHz card 1:linear fitting');
-    xlabel('distance [km]')
-    ylabel('RSSI [dBm]')
-    
-    subplot(2,1,2)
     
-    hold off
     
+    if idx==1 || idx ==2
+        figure(idx*10+3)
+        
+        
+        
+        
+        hold off
+        linearCoef1 = polyfit(10*log10(new_distances1(index_break1_end:index_break1_start)),data1{idx}(index_break1_end:index_break1_start,13),1);
+        linearFit1 = polyval(linearCoef1,10*log10(new_distances1(index_break1_end:index_break1_start)));
+        semilogx(new_distances1(1:I_RSSI_max1),data1{idx}(1:I_RSSI_max1,13),'rx',new_distances1(index_break1_end:index_break1_start),linearFit1,'r-')
+        display(sprintf('Run %d :slope UHF : %f',idx,linearCoef1(1)))
+        
+        
+        hold on
+        linearCoef2 = polyfit(10*log10(new_distances2(index_break2_end:index_break2_start)),data2{idx}(index_break2_end:index_break2_start,13),1);
+        linearFit2 = polyval(linearCoef2,10*log10(new_distances2(index_break2_end:index_break2_start)));
+        semilogx(new_distances2(1:I_RSSI_max2),data2{idx}(1:I_RSSI_max2,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: With the data  the passing of the train',idx))
+        legend('UHF','UHF:linear fitting','2.6GHz card 1','2.6GHz card 1:linear fitting');
+        xlabel('distance [km]')
+        ylabel('RSSI [dBm]')
+        
+        
+        
+        
+        % Zoom on the linear fitting
+        
+        figure(idx*10+4)
+        
+        
+        
+        
+        hold off
+        
+        linearCoef1 = polyfit(10*log10(new_distances1(index_break1_end:index_break1_start)),data1{idx}(index_break1_end:index_break1_start,13),1);
+        linearFit1 = polyval(linearCoef1,10*log10(new_distances1(index_break1_end:index_break1_start)));
+        semilogx(new_distances1(index_break1_end:index_break1_start),data1{idx}(index_break1_end:index_break1_start,13),'rx',new_distances1(index_break1_end:index_break1_start),linearFit1,'r-')
+        %display(sprintf('Run %d :slope UHF : %f',idx,linearCoef1(1)))
+        
+        hold on
+        
+        linearCoef2 = polyfit(10*log10(new_distances2(index_break2_end:index_break2_start)),data2{idx}(index_break2_end:index_break2_start,13),1);
+        linearFit2 = polyval(linearCoef2,10*log10(new_distances2(index_break2_end:index_break2_start)));
+        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');
+        xlabel('distance [km]')
+        ylabel('RSSI [dBm]')
+        
+        
+    end
     
-    linearCoef1_after = polyfit(10*log10(new_distances1(index_break1_after_start:index_break1_after_end)),data1{idx}(index_break1_after_start:index_break1_after_end,13),1);
-    linearFit1_after = polyval(linearCoef1_after,10*log10(new_distances1(index_break1_after_start:index_break1_after_end)));
-    semilogx(new_distances1(index_break1_after_start:index_break1_after_end),data1{idx}(index_break1_after_start:index_break1_after_end,13),'rx',new_distances1(index_break1_after_start:index_break1_after_end),linearFit1_after,'r-')
-    %display(sprintf('Run %d :slope UHF after: %f',idx,linearCoef1_after(1)))
-    hold on
     
-    linearCoef2_after = polyfit(10*log10(new_distances2(index_break2_after_start:index_break2_after_end)),data2{idx}(index_break2_after_start:index_break2_after_end,13),1);
-    linearFit2_after = polyval(linearCoef2_after,10*log10(new_distances2(index_break2_after_start:index_break2_after_end)));
-    semilogx(new_distances2(index_break2_after_start:index_break2_after_end),data2{idx}(index_break2_after_start:index_break2_after_end,13),'bx',new_distances2(index_break2_after_start:index_break2_after_end),linearFit2_after,'b-')
-    %display(sprintf('Run %d :slope 2.6GHz after: %f',idx,linearCoef2_after(1)))
-    title(sprintf('Run %d: With the data after the passing of the train',idx))
-    legend('UHF','UHF:linear fitting','2.6GHz card 1','2.6GHz card 1:linear fitting');
-    xlabel('distance [km]')
-    ylabel('RSSI [dBm]')
     
+    if idx==3 || idx==4
+        
+        
+        figure(idx*10+3)
+        
+        
+        subplot(2,1,1)
+        
+        hold off
+        linearCoef1_before = polyfit(10*log10(new_distances1(index_break1_before_end:index_break1_before_start)),data1{idx}(index_break1_before_end:index_break1_before_start,13),1);
+        linearFit1_before = polyval(linearCoef1_before,10*log10(new_distances1(index_break1_before_end:index_break1_before_start)));
+        semilogx(new_distances1(1:I_RSSI_max1),data1{idx}(1:I_RSSI_max1,13),'rx',new_distances1(index_break1_before_end:index_break1_before_start),linearFit1_before,'r-')
+        display(sprintf('Run %d :slope UHF before: %f',idx,linearCoef1_before(1)))
+        
+        
+        hold on
+        linearCoef2_before = polyfit(10*log10(new_distances2(index_break2_before_end:index_break2_before_start)),data2{idx}(index_break2_before_end:index_break2_before_start,13),1);
+        linearFit2_before = polyval(linearCoef2_before,10*log10(new_distances2(index_break2_before_end:index_break2_before_start)));
+        semilogx(new_distances2(1:I_RSSI_max2),data2{idx}(1:I_RSSI_max2,13),'bx',new_distances2(index_break2_before_end:index_break2_before_start),linearFit2_before,'b-')
+        display(sprintf('Run %d :slope 2.6GHz before: %f',idx,linearCoef2_before(1)))
+        
+        
+        title(sprintf('Run %d: With the data before the passing of the train',idx))
+        legend('UHF','UHF:linear fitting','2.6GHz card 1','2.6GHz card 1:linear fitting');
+        xlabel('distance [km]')
+        ylabel('RSSI [dBm]')
+        
+        subplot(2,1,2)
+        
+        hold off
+        linearCoef1_after = polyfit(10*log10(new_distances1(index_break1_after_start:index_break1_after_end)),data1{idx}(index_break1_after_start:index_break1_after_end,13),1);
+        linearFit1_after = polyval(linearCoef1_after,10*log10(new_distances1(index_break1_after_start:index_break1_after_end)));
+        semilogx(new_distances1(I_RSSI_max1:end),data1{idx}(I_RSSI_max1:end,13),'rx',new_distances1(index_break1_after_start:index_break1_after_end),linearFit1_after,'r-')
+        display(sprintf('Run %d :slope UHF after: %f',idx,linearCoef1_after(1)))
+        
+        
+        hold on
+        linearCoef2_after = polyfit(10*log10(new_distances2(index_break2_after_start:index_break2_after_end)),data2{idx}(index_break2_after_start:index_break2_after_end,13),1);
+        linearFit2_after = polyval(linearCoef2_after,10*log10(new_distances2(index_break2_after_start:index_break2_after_end)));
+        semilogx(new_distances2(I_RSSI_max2:end),data2{idx}(I_RSSI_max2:end,13),'bx',new_distances2(index_break2_after_start:index_break2_after_end),linearFit2_after,'b-')
+        display(sprintf('Run %d :slope 2.6GHz after: %f',idx,linearCoef2_after(1)))
+        
+        title(sprintf('Run %d: With the data after the passing of the train',idx))
+        legend('UHF','UHF:linear fitting','2.6GHz card 1','2.6GHz card 1:linear fitting');
+        xlabel('distance [km]')
+        ylabel('RSSI [dBm]')
+        
+        
+        % Zoom on the linear fitting
+        
+        figure(idx*10+4)
+        
+        
+        subplot(2,1,1)
+        
+        hold off
+        
+        linearCoef1_before = polyfit(10*log10(new_distances1(index_break1_before_end:index_break1_before_start)),data1{idx}(index_break1_before_end:index_break1_before_start,13),1);
+        linearFit1_before = polyval(linearCoef1_before,10*log10(new_distances1(index_break1_before_end:index_break1_before_start)));
+        semilogx(new_distances1(index_break1_before_end:index_break1_before_start),data1{idx}(index_break1_before_end:index_break1_before_start,13),'rx',new_distances1(index_break1_before_end:index_break1_before_start),linearFit1_before,'r-')
+        %display(sprintf('Run %d :slope UHF before: %f',idx,linearCoef1_before(1)))
+        
+        hold on
+        
+        linearCoef2_before = polyfit(10*log10(new_distances2(index_break2_before_end:index_break2_before_start)),data2{idx}(index_break2_before_end:index_break2_before_start,13),1);
+        linearFit2_before = polyval(linearCoef2_before,10*log10(new_distances2(index_break2_before_end:index_break2_before_start)));
+        semilogx(new_distances2(index_break2_before_end:index_break2_before_start),data2{idx}(index_break2_before_end:index_break2_before_start,13),'bx',new_distances2(index_break2_before_end:index_break2_before_start),linearFit2_before,'b-')
+        %display(sprintf('Run %d :slope 2.6GHz before: %f',idx,linearCoef2_before(1)))
+        
+        title(sprintf('Run %d: With the data before the passing of the train',idx))
+        legend('UHF','UHF:linear fitting','2.6GHz card 1','2.6GHz card 1:linear fitting');
+        xlabel('distance [km]')
+        ylabel('RSSI [dBm]')
+        
+        subplot(2,1,2)
+        
+        hold off
+        
+        
+        linearCoef1_after = polyfit(10*log10(new_distances1(index_break1_after_start:index_break1_after_end)),data1{idx}(index_break1_after_start:index_break1_after_end,13),1);
+        linearFit1_after = polyval(linearCoef1_after,10*log10(new_distances1(index_break1_after_start:index_break1_after_end)));
+        semilogx(new_distances1(index_break1_after_start:index_break1_after_end),data1{idx}(index_break1_after_start:index_break1_after_end,13),'rx',new_distances1(index_break1_after_start:index_break1_after_end),linearFit1_after,'r-')
+        %display(sprintf('Run %d :slope UHF after: %f',idx,linearCoef1_after(1)))
+        hold on
+        
+        linearCoef2_after = polyfit(10*log10(new_distances2(index_break2_after_start:index_break2_after_end)),data2{idx}(index_break2_after_start:index_break2_after_end,13),1);
+        linearFit2_after = polyval(linearCoef2_after,10*log10(new_distances2(index_break2_after_start:index_break2_after_end)));
+        semilogx(new_distances2(index_break2_after_start:index_break2_after_end),data2{idx}(index_break2_after_start:index_break2_after_end,13),'bx',new_distances2(index_break2_after_start:index_break2_after_end),linearFit2_after,'b-')
+        %display(sprintf('Run %d :slope 2.6GHz after: %f',idx,linearCoef2_after(1)))
+        title(sprintf('Run %d: With the data after the passing of the train',idx))
+        legend('UHF','UHF:linear fitting','2.6GHz card 1','2.6GHz card 1:linear fitting');
+        xlabel('distance [km]')
+        ylabel('RSSI [dBm]')
+        
+    end