- finished task 2
- fixed perform_access_analysis to use 2.4GHz instead of 2GHz - finished task 3
This commit is contained in:
+35
-15
@@ -4,6 +4,8 @@ satSim = create_satellite_sim(satConfig, groundStation);
|
||||
sampleTimes = satConfig.startTime:seconds(satConfig.sampleTime):satConfig.stopTime;
|
||||
distancesToSat = zeros(size(sampleTimes));
|
||||
elevationAnglesToSat = zeros(size(sampleTimes));
|
||||
satelitteVisibilities = zeros(size(sampleTimes));
|
||||
dopplerShifts = zeros(size(sampleTimes));
|
||||
|
||||
progressStartText = "Starting ...";
|
||||
f = waitbar(0, progressStartText, "Name", "Task 1");
|
||||
@@ -18,6 +20,8 @@ parfor idx = 1:numel(sampleTimes)
|
||||
res = perform_access_analysis(satSim, sampleTimes(idx));
|
||||
distancesToSat(idx) = res.distanceToSatellite;
|
||||
elevationAnglesToSat(idx) = res.elevationAngleToSatellite;
|
||||
satelitteVisibilities(idx) = res.satelliteVisible;
|
||||
dopplerShifts(idx) = res.fshift;
|
||||
send(progressQueue, sprintf("Index %d", idx));
|
||||
end
|
||||
|
||||
@@ -26,20 +30,36 @@ if ishandle(f)
|
||||
close(f);
|
||||
end
|
||||
|
||||
figure;
|
||||
plot(sampleTimes, distancesToSat);
|
||||
grid on;
|
||||
xlabel("Time [s]");
|
||||
ylabel("Distance to Satellite [m]");
|
||||
title("Distance over time plot of satellite pass");
|
||||
|
||||
figure;
|
||||
plot(sampleTimes, elevationAnglesToSat);
|
||||
grid on;
|
||||
xlabel("Time [s]");
|
||||
ylabel("Elevation angle to satellite [degree]");
|
||||
title("Elevation angle over time plot of satellite pass");
|
||||
|
||||
accessAnalysisResults.times = sampleTimes;
|
||||
accessAnalysisResults.distances = distancesToSat;
|
||||
accessAnalysisResults.elevationAngles = elevationAnglesToSat;
|
||||
accessAnalysisResults.elevationAngles = elevationAnglesToSat;
|
||||
accessAnalysisResults.satelitteVisibilities = satelitteVisibilities;
|
||||
accessAnalysisResults.dopplerShifts = dopplerShifts;
|
||||
|
||||
carrierFrequency = 2.4e9;
|
||||
timeSeconds = seconds(sampleTimes - sampleTimes(1));
|
||||
|
||||
rangeRate = gradient(accessAnalysisResults.distances, timeSeconds);
|
||||
dopplerShift = -(rangeRate / physconst("lightspeed")) * carrierFrequency;
|
||||
|
||||
accessAnalysisResults.geometricDopplerShifts = dopplerShift;
|
||||
|
||||
% prevent figure plot when only the other tasks should be calculated
|
||||
% task2 needs task1
|
||||
if calc_task1
|
||||
figure;
|
||||
plot(sampleTimes, distancesToSat);
|
||||
grid on;
|
||||
xtickformat("HH:mm");
|
||||
xlabel("Time of day [HH:mm]");
|
||||
ylabel("Distance to Satellite [m]");
|
||||
title("Distance over time plot of satellite pass");
|
||||
|
||||
figure;
|
||||
plot(sampleTimes, elevationAnglesToSat);
|
||||
grid on;
|
||||
xtickformat("HH:mm");
|
||||
xlabel("Time of day [HH:mm]");
|
||||
ylabel("Elevation angle to satellite [degree]");
|
||||
title("Elevation angle over time plot of satellite pass");
|
||||
end
|
||||
Reference in New Issue
Block a user