rxPowerStation = txPower - pathLoss; figure; plot(packetTimes, rxPowerStation); grid on; xtickformat("HH:mm"); xlabel("Time of day [HH:mm]"); ylabel("Power [dBm]"); yline(wifiSensitivity, "--", "receive sensitivity -85 dBm"); yline(reliableRxPower, "--", "reliable reception -75 dBm"); title("Receive power over time at ground station plot of satellite pass"); satelliteVisibilities = double(accessAnalysisResults.satelitteVisibilities); figure; hold on; plot(sampleTimes, satelliteVisibilities, "Color", [0.1 0.45 0.2]); grid on; xtickformat("HH:mm"); xlabel("Time of day [HH:mm]"); ylabel("Visibility of satellite [bool]"); ylim([-0.05 1.05]); yticks([0 1]); yticklabels(["not visible", "visible"]); title("Satellite visibility over time"); dopplerShiftKHz = accessAnalysisResults.dopplerShifts / 1e3; dopplerShiftKHz(~isfinite(dopplerShiftKHz)) = NaN; geometricDopplerShiftKHz = accessAnalysisResults.geometricDopplerShifts / 1e3; satelliteVisibilities = logical(accessAnalysisResults.satelitteVisibilities); dopplerVisibleOnly = dopplerShiftKHz; dopplerVisibleOnly(~satelliteVisibilities | ~isfinite(dopplerVisibleOnly)) = NaN; figure; hold on; plot(sampleTimes, geometricDopplerShiftKHz, "Color", [0.1 0.6 0.2], "DisplayName", "geometric Doppler shift"); plot(sampleTimes, dopplerVisibleOnly, "Color", [0 0.4470 0.7410], "DisplayName", "visible dopplershift() output", "LineWidth", 2); grid on; xtickformat("HH:mm"); xlabel("Time of day [HH:mm]"); ylabel("Doppler shift [kHz]"); yline(0, "--", "0 Hz", "HandleVisibility", "off"); legend("Location", "best"); title("Doppler shift over time x satellite visibility");