- finished task 2
- fixed perform_access_analysis to use 2.4GHz instead of 2GHz - finished task 3
This commit is contained in:
+26
-18
@@ -27,15 +27,20 @@ packetTimes = accessAnalysisResults.times(packetIdx);
|
||||
rxPower = rxPower(packetIdx);
|
||||
pathLoss = pathLoss(packetIdx);
|
||||
|
||||
figure;
|
||||
plot(packetTimes, rxPower);
|
||||
grid on;
|
||||
xlabel("Time");
|
||||
ylabel("Power [dBm]");
|
||||
title("Receive power over time plot of satellite pass");
|
||||
yline(wifiSensitivity, "--", "receive sensitivity -85 dBm");
|
||||
yline(reliableRxPower, "--", "reliable reception -75 dBm");
|
||||
if calc_task2
|
||||
figure;
|
||||
plot(packetTimes, rxPower);
|
||||
grid on;
|
||||
xtickformat("HH:mm");
|
||||
xlabel("Time of day [HH:mm]");
|
||||
ylabel("Power [dBm]");
|
||||
title("Receive power over time plot of satellite pass");
|
||||
yline(wifiSensitivity, "--", "receive sensitivity -85 dBm");
|
||||
yline(reliableRxPower, "--", "reliable reception -75 dBm");
|
||||
end
|
||||
|
||||
% this site helped in providing formulas and a calculator to verify
|
||||
% https://calculatorshub.net/telecom-calculators/dbm-to-range-calculator/
|
||||
lambda = physconst("lightspeed") / carrier_frequency;
|
||||
maxPathLossDetectable = txPower - wifiSensitivity;
|
||||
maxDistanceDetectable = lambda / (4 * pi) * 10^(maxPathLossDetectable / 20);
|
||||
@@ -45,12 +50,15 @@ maxDistanceReliable = lambda / (4 * pi) * 10^(maxPathLossReliable / 20);
|
||||
|
||||
requiredTxPower = reliableRxPower + pathLoss;
|
||||
|
||||
figure;
|
||||
plot(packetTimes, requiredTxPower);
|
||||
grid on;
|
||||
xlabel("Time");
|
||||
ylabel("Power [dBm]");
|
||||
title("Required transmit power for -75 dBm receive power");
|
||||
if calc_task2
|
||||
figure;
|
||||
plot(packetTimes, requiredTxPower);
|
||||
grid on;
|
||||
xtickformat("HH:mm");
|
||||
xlabel("Time of day [HH:mm]");
|
||||
ylabel("Power [dBm]");
|
||||
title("Required transmit power for -75 dBm receive power");
|
||||
end
|
||||
|
||||
amplifiedTxPower = txPower + amplifierGain;
|
||||
requiredAntennaGain = max(requiredTxPower - amplifiedTxPower, 0);
|
||||
@@ -58,7 +66,7 @@ requiredAntennaGain = max(requiredTxPower - amplifiedTxPower, 0);
|
||||
validRequiredTxPower = requiredTxPower(isfinite(requiredTxPower));
|
||||
validRequiredAntennaGain = requiredAntennaGain(isfinite(requiredAntennaGain));
|
||||
|
||||
fprintf("Maximum detectable distance at %.0f dBm TX power: %.2f km\n", txPower, maxDistanceDetectable / 1e3);
|
||||
fprintf("Maximum reliable distance at %.0f dBm TX power: %.2f km\n", txPower, maxDistanceReliable / 1e3);
|
||||
fprintf("Required TX power for -75 dBm reception: %.2f dBm to %.2f dBm\n", min(validRequiredTxPower), max(validRequiredTxPower));
|
||||
fprintf("Required antenna gain with %.0f dB amplifier: %.2f dB to %.2f dB\n", amplifierGain, min(validRequiredAntennaGain), max(validRequiredAntennaGain));
|
||||
fprintf("Maximum detectable distance at %.0fdBm TX power: %.2fkm\n", txPower, maxDistanceDetectable / 1e3);
|
||||
fprintf("Maximum reliable distance at %.0fdBm TX power: %.2fkm\n", txPower, maxDistanceReliable / 1e3);
|
||||
fprintf("Required TX power for -75dBm reception: %.2fdBm to %.2fdBm\n", min(validRequiredTxPower), max(validRequiredTxPower));
|
||||
fprintf("Required antenna gain with %.0fdB amplifier: %.2fdB to %.2fdB\n", amplifierGain, min(validRequiredAntennaGain), max(validRequiredAntennaGain));
|
||||
|
||||
Reference in New Issue
Block a user