more AERPAW analysis
This commit is contained in:
1 parent
8307ea25cc
commit
0f43c3fe44
2 files changed
+7
-6
No files matched your search
@@ -34,10 +34,6 @@ function f = plotPerformance(obj, altitude, otherSensorsPos, otherSensors)
|
|||||||
SINR = reshape(SINR, size(targetPosX));
|
SINR = reshape(SINR, size(targetPosX));
|
||||||
SNR = reshape(SNR, size(targetPosX));
|
SNR = reshape(SNR, size(targetPosX));
|
||||||
|
|
||||||
% normalize in linear scale
|
|
||||||
SINR = 10.^(SINR/10); SINR = SINR ./ max(SINR(:)); SINR = 10 * log10(SINR);
|
|
||||||
SNR = 10.^(SNR/10); SNR = SNR ./ max(SNR(:)); SNR = 10 * log10(SNR);
|
|
||||||
|
|
||||||
% Collect sensor positions and boresight parameters for overlay
|
% Collect sensor positions and boresight parameters for overlay
|
||||||
sensorXY = [0, 0; otherSensorsPos(:, 1:2)];
|
sensorXY = [0, 0; otherSensorsPos(:, 1:2)];
|
||||||
sensorTilts = [obj.tilt; cellfun(@(s) s.tilt, otherSensors)];
|
sensorTilts = [obj.tilt; cellfun(@(s) s.tilt, otherSensors)];
|
||||||
@@ -50,7 +46,8 @@ function f = plotPerformance(obj, altitude, otherSensorsPos, otherSensors)
|
|||||||
nexttile;
|
nexttile;
|
||||||
imagesc(distances, distances, SNR);
|
imagesc(distances, distances, SNR);
|
||||||
axis("image"); set(gca, 'YDir', 'normal');
|
axis("image"); set(gca, 'YDir', 'normal');
|
||||||
colorbar; xlabel("X (m)"); ylabel("Y (m)");
|
cb = colorbar; cb.Label.String = "SNR (dB)";
|
||||||
|
xlabel("X (m)"); ylabel("Y (m)");
|
||||||
title("Linearly Normalized SNR (dB)");
|
title("Linearly Normalized SNR (dB)");
|
||||||
subtitle("No interfering sources");
|
subtitle("No interfering sources");
|
||||||
addSensorOverlay(gca, sensorXY(1, 1:2), sensorTilts(1, 1), sensorAzimuths(1, 1), tailScale);
|
addSensorOverlay(gca, sensorXY(1, 1:2), sensorTilts(1, 1), sensorAzimuths(1, 1), tailScale);
|
||||||
@@ -58,7 +55,8 @@ function f = plotPerformance(obj, altitude, otherSensorsPos, otherSensors)
|
|||||||
nexttile;
|
nexttile;
|
||||||
imagesc(distances, distances, SINR);
|
imagesc(distances, distances, SINR);
|
||||||
axis("image"); set(gca, 'YDir', 'normal');
|
axis("image"); set(gca, 'YDir', 'normal');
|
||||||
colorbar; xlabel("X (m)"); ylabel("Y (m)");
|
cb = colorbar; cb.Label.String = "SNR (dB)";
|
||||||
|
xlabel("X (m)"); ylabel("Y (m)");
|
||||||
title("Linearly Normalized SINR (dB)");
|
title("Linearly Normalized SINR (dB)");
|
||||||
subtitle(sprintf("%d interfering source(s)", size(otherSensorsPos, 1)));
|
subtitle(sprintf("%d interfering source(s)", size(otherSensorsPos, 1)));
|
||||||
addSensorOverlay(gca, sensorXY, sensorTilts, sensorAzimuths, tailScale);
|
addSensorOverlay(gca, sensorXY, sensorTilts, sensorAzimuths, tailScale);
|
||||||
|
|||||||
@@ -78,6 +78,8 @@ function [f, G] = plotGpsLogs(logDirs, seaToGroundLevel, plotWholeFlight)
|
|||||||
d = d(~isnan(d));
|
d = d(~isnan(d));
|
||||||
|
|
||||||
fprintf("Minimum distance between agents %d and %d is %2.3f\n", ii, jj, min(d));
|
fprintf("Minimum distance between agents %d and %d is %2.3f\n", ii, jj, min(d));
|
||||||
|
fprintf("Average distance between agents %d and %d is %2.3f\n", ii, jj, mean(d));
|
||||||
|
fprintf("Median distance between agents %d and %d is %2.3f\n", ii, jj, median(d));
|
||||||
if min(d) < 6
|
if min(d) < 6
|
||||||
warning("Minimum distance between agents %d and %d of %2.3f is questionable for AERPAW", ii, jj, min(d));
|
warning("Minimum distance between agents %d and %d of %2.3f is questionable for AERPAW", ii, jj, min(d));
|
||||||
end
|
end
|
||||||
@@ -86,6 +88,7 @@ function [f, G] = plotGpsLogs(logDirs, seaToGroundLevel, plotWholeFlight)
|
|||||||
% Plot recorded trajectory over specified range of indices
|
% Plot recorded trajectory over specified range of indices
|
||||||
geoplot3(gf, G{ii}.Latitude(startIdx:stopIdx), G{ii}.Longitude(startIdx:stopIdx), G{ii}.Altitude(startIdx:stopIdx) + seaToGroundLevel, c(mod(ii, length(c))), 'LineWidth', 2, "MarkerSize", 5);
|
geoplot3(gf, G{ii}.Latitude(startIdx:stopIdx), G{ii}.Longitude(startIdx:stopIdx), G{ii}.Altitude(startIdx:stopIdx) + seaToGroundLevel, c(mod(ii, length(c))), 'LineWidth', 2, "MarkerSize", 5);
|
||||||
end
|
end
|
||||||
|
fprintf("Flight duration is %s\n", string(G{1}.Timestamp(end) - G{1}.Timestamp(1), 'mm:ss'));
|
||||||
|
|
||||||
% Plot domain
|
% Plot domain
|
||||||
altOffset = 1; % to avoid clipping into the ground when displayed
|
altOffset = 1; % to avoid clipping into the ground when displayed
|
||||||
|
|||||||
Reference in new issue
Block a user