From dd0861d11c6da11f25ef6ea5fd643c7af72bcf56 Mon Sep 17 00:00:00 2001 From: Kevin D Date: Sun, 19 Apr 2026 12:25:05 -0700 Subject: [PATCH] began developing new sensor model --- @rfSensor/RSS.m | 16 +++++++ @rfSensor/antennaGain.m | 12 +++++ @rfSensor/initialize.m | 9 ++++ @rfSensor/pathLoss.m | 12 +++++ @rfSensor/plotParameters.m | 47 +++++++++++++++++++ @rfSensor/rfSensor.m | 23 +++++++++ @rfSensor/sensorPerformance.m | 36 ++++++++++++++ @sigmoidSensor/sigmoidSensor.m | 10 ++-- .../BsVG5tuGBaruV5jvy4e3yG1jm4Qd.xml | 6 +++ .../BsVG5tuGBaruV5jvy4e3yG1jm4Qp.xml | 2 + .../0TUOPB3gylGuEK1Q5NsFsa57FBQd.xml | 6 +++ .../0TUOPB3gylGuEK1Q5NsFsa57FBQp.xml | 2 + .../9BCm86xMEE43ruM6njCMPywT3mgd.xml | 6 +++ .../9BCm86xMEE43ruM6njCMPywT3mgp.xml | 2 + .../DKU4t7TpyzULRGxIyA4AFql5gKQd.xml | 6 +++ .../DKU4t7TpyzULRGxIyA4AFql5gKQp.xml | 2 + .../Waxi82DIfDNaoB9qVMSu-XeU4h8d.xml | 6 +++ .../Waxi82DIfDNaoB9qVMSu-XeU4h8p.xml | 2 + .../bflJ_m_JEPly6uLay0BQMV_1uAUd.xml | 6 +++ .../bflJ_m_JEPly6uLay0BQMV_1uAUp.xml | 2 + .../jvRgOU4zI43Zz6soLWzgDAjnvmod.xml | 2 + .../jvRgOU4zI43Zz6soLWzgDAjnvmop.xml | 2 + .../ugpKFhW2eBP_pSSkV0NyOiJaMEod.xml | 6 +++ .../ugpKFhW2eBP_pSSkV0NyOiJaMEop.xml | 2 + .../vKw7EZP5Lkw7wHPSRNjXYJUWEOId.xml | 6 +++ .../vKw7EZP5Lkw7wHPSRNjXYJUWEOIp.xml | 2 + .../MoO8eFA7MNcwhsnIRzm_IDZfmpgd.xml | 2 + .../MoO8eFA7MNcwhsnIRzm_IDZfmpgp.xml | 2 + test/test_rfSensor.m | 25 ++++++++++ 29 files changed, 257 insertions(+), 5 deletions(-) create mode 100644 @rfSensor/RSS.m create mode 100644 @rfSensor/antennaGain.m create mode 100644 @rfSensor/initialize.m create mode 100644 @rfSensor/pathLoss.m create mode 100644 @rfSensor/plotParameters.m create mode 100644 @rfSensor/rfSensor.m create mode 100644 @rfSensor/sensorPerformance.m create mode 100644 resources/project/FI0gxbH-PhwjE_riDQGHPyYMHks/BsVG5tuGBaruV5jvy4e3yG1jm4Qd.xml create mode 100644 resources/project/FI0gxbH-PhwjE_riDQGHPyYMHks/BsVG5tuGBaruV5jvy4e3yG1jm4Qp.xml create mode 100644 resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/0TUOPB3gylGuEK1Q5NsFsa57FBQd.xml create mode 100644 resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/0TUOPB3gylGuEK1Q5NsFsa57FBQp.xml create mode 100644 resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/9BCm86xMEE43ruM6njCMPywT3mgd.xml create mode 100644 resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/9BCm86xMEE43ruM6njCMPywT3mgp.xml create mode 100644 resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/DKU4t7TpyzULRGxIyA4AFql5gKQd.xml create mode 100644 resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/DKU4t7TpyzULRGxIyA4AFql5gKQp.xml create mode 100644 resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/Waxi82DIfDNaoB9qVMSu-XeU4h8d.xml create mode 100644 resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/Waxi82DIfDNaoB9qVMSu-XeU4h8p.xml create mode 100644 resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/bflJ_m_JEPly6uLay0BQMV_1uAUd.xml create mode 100644 resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/bflJ_m_JEPly6uLay0BQMV_1uAUp.xml create mode 100644 resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/jvRgOU4zI43Zz6soLWzgDAjnvmod.xml create mode 100644 resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/jvRgOU4zI43Zz6soLWzgDAjnvmop.xml create mode 100644 resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/ugpKFhW2eBP_pSSkV0NyOiJaMEod.xml create mode 100644 resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/ugpKFhW2eBP_pSSkV0NyOiJaMEop.xml create mode 100644 resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/vKw7EZP5Lkw7wHPSRNjXYJUWEOId.xml create mode 100644 resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/vKw7EZP5Lkw7wHPSRNjXYJUWEOIp.xml create mode 100644 resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/MoO8eFA7MNcwhsnIRzm_IDZfmpgd.xml create mode 100644 resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/MoO8eFA7MNcwhsnIRzm_IDZfmpgp.xml create mode 100644 test/test_rfSensor.m diff --git a/@rfSensor/RSS.m b/@rfSensor/RSS.m new file mode 100644 index 0000000..db0fcaf --- /dev/null +++ b/@rfSensor/RSS.m @@ -0,0 +1,16 @@ +function value = RSS(obj, d, t) + arguments (Input) + obj (1, 1) {mustBeA(obj, "rfSensor")}; + d (:, 1) double; % distance from agent to target + t (:, 1) double; % LOS tilt angle + end + arguments (Output) + value (:, 1) double + end + + rho_dBm = 10*log10(obj.P_TX/1e-3); + + % RSS = TX Power + Antenna Gain - Path Loss + value = rho_dBm + obj.antennaGain(t) - obj.pathLoss(d); + +end \ No newline at end of file diff --git a/@rfSensor/antennaGain.m b/@rfSensor/antennaGain.m new file mode 100644 index 0000000..7fb9f3a --- /dev/null +++ b/@rfSensor/antennaGain.m @@ -0,0 +1,12 @@ +function value = antennaGain(obj, t) + arguments (Input) + obj (1, 1) {mustBeA(obj, "rfSensor")}; + t (:, 1) double; % LOS tilt angle + end + arguments (Output) + value (:, 1) double + end + + % TODO + value = 10*log10(1); +end diff --git a/@rfSensor/initialize.m b/@rfSensor/initialize.m new file mode 100644 index 0000000..dececa7 --- /dev/null +++ b/@rfSensor/initialize.m @@ -0,0 +1,9 @@ +function obj = initialize(obj) + arguments (Input) + obj (1, 1) {mustBeA(obj, "rfSensor")} + end + arguments (Output) + obj (1, 1) {mustBeA(obj, "rfSensor")} + end + +end \ No newline at end of file diff --git a/@rfSensor/pathLoss.m b/@rfSensor/pathLoss.m new file mode 100644 index 0000000..69f51d9 --- /dev/null +++ b/@rfSensor/pathLoss.m @@ -0,0 +1,12 @@ +function L_FSPL_dB = pathLoss(obj, d) + arguments (Input) + obj (1, 1) {mustBeA(obj, "rfSensor")}; + d (:, 1) double; % distance from TX to RX + end + arguments (Output) + L_FSPL_dB (:, 1) double + end + + L_FSPL_dB = 20*log10(d) + 20*log10(obj.f_c) + 20*log10((4*pi)/obj.c); + +end diff --git a/@rfSensor/plotParameters.m b/@rfSensor/plotParameters.m new file mode 100644 index 0000000..4fa481b --- /dev/null +++ b/@rfSensor/plotParameters.m @@ -0,0 +1,47 @@ +function f = plotParameters(obj) + arguments (Input) + obj (1, 1) {mustBeA(obj, "rfSensor")}; + end + arguments (Output) + f (1, 1) {mustBeA(f, "matlab.ui.Figure")}; + end + + % Distance and tilt sample points + d = [0.01, 0.1, 0.25, 0.5, 0.75, 1:1:100]; + t = zeros(size(d)); + + % Sample RSS function by distances, tilts + r_x = obj.RSS(d', t'); + + % Sample SINR (SNR) function by distances, tilts + % using SINR method with no other transmitters defined is equivalent to SNR + s_x = NaN(size(r_x)); + for ii = 1:size(s_x, 1) + s_x(ii) = obj.sensorPerformance([0, 0, d(ii)], zeros(1, 3)); % don't define other sensors + end + + % Plot resultant sigmoid curves + f = figure; + tiledlayout(f, 2, 1, "TileSpacing", "tight", "Padding", "compact"); + + % RSS/Distance with 0 tilt + nexttile(1, [1, 1]); + grid("on"); + title("RSS vs Distance"); + xlabel("Distance (m)"); + ylabel("RSS (dBm)"); + hold("on"); + plot(d, r_x, "LineWidth", 2); + hold("off"); + % ylim([0, 1]); + + % SNR/Distance with 0 tilt + nexttile(2, [1, 1]); + grid("on"); + title("SNR vs Distance"); + xlabel("Distance (m)"); + ylabel("SNR (dB)"); + hold("on"); + plot(d, s_x, "LineWidth", 2); + hold("off"); +end \ No newline at end of file diff --git a/@rfSensor/rfSensor.m b/@rfSensor/rfSensor.m new file mode 100644 index 0000000..4f9c454 --- /dev/null +++ b/@rfSensor/rfSensor.m @@ -0,0 +1,23 @@ +classdef rfSensor + properties (SetAccess = private, GetAccess = public) + % Physical parameters + c = 3e8; % Speed of light (m/s) + k_B = 1.38e-23 % Boltzmann constant (W/Hz/K) for thermal noise model + T_0 = 300; % Ambient temperature (Kelvin) for thermal noise model + % Sensor parameters + P_TX = 10e-3; % Transmit power (Watts) + BW = 1e6; % Bandwidth (Hz) + f_c = 2e9; % Center frequency (Hz) + end + + methods (Access = public) + [obj] = initialize(obj, alphaDist, betaDist, alphaTilt, betaTilt); % TODO initialize sensor, define parameters + [SINR] = sensorPerformance(obj, agentPos, agentPan, agentTilt, targetPos); % determine sensor performance for a given single sensor and target geometry + [f] = plotParameters(obj); % debug, plot sensor response as a function of distance and tilt angle + end + methods (Access = private) + x = RSS(obj, d, t); % Received signal strength (function of distance and tilt angle) + G_TX_dB = antennaGain(obj, agentPos, targetPos); % TODO Antenna gain for a given TX/RX pair + L_FSPL_dB = pathLoss(obj, agentPos, targetPos); % Free space path loss for a given TX/RX pair + end +end \ No newline at end of file diff --git a/@rfSensor/sensorPerformance.m b/@rfSensor/sensorPerformance.m new file mode 100644 index 0000000..c88d7d5 --- /dev/null +++ b/@rfSensor/sensorPerformance.m @@ -0,0 +1,36 @@ +function SINR = sensorPerformance(obj, agentPos, targetPos, otherSensors, otherSensorsPos) + arguments (Input) + obj (1, 1) {mustBeA(obj, "rfSensor")}; + agentPos (1, 3) double; + targetPos (1, 3) double; + otherSensors (:, 1) cell = {}; + otherSensorsPos (:, 3) double = NaN(0, 3); + end + arguments (Output) + SINR (:, 1) double; + end + assert(size(otherSensors, 1) == size(otherSensorsPos, 1), "Mismatch in length of other sensors (%d) and their positions (%d)", size(otherSensors, 1), size(otherSensorsPos, 1)); + + d = vecnorm(agentPos - targetPos, 2, 2); % distance from sensor to target + d_other = NaN(size(otherSensors)); + + x = vecnorm(agentPos(1:2) - targetPos(1, 1:2), 2, 2); % distance from sensor nadir to target nadir (i.e. distance ignoring height difference) + x_other = NaN(size(otherSensors)); + + t = (180 - atan2d(x, targetPos(1, 3) - agentPos(3))); % degrees + t_other = NaN(size(otherSensors)); + + % Performance is measured as SINR for this sensor + S = 10^(0.1 * obj.RSS(d, t)); % Signal + N = obj.k_B * obj.T_0 * obj.BW; % Thermal noise + I = 0; % Interference from other agents + for ii = 1:size(otherSensors, 1) + d_other(ii, 1) = vecnorm(otherSensorsPos(ii, 1:3) - targetPos, 2, 2); + + x_other(ii, 1) = vecnorm(otherSensorsPos(ii, 3) - targetPos(1, 1:2), 2, 2); + t_other(ii, 1) = (180 - atan2d(x_other(ii, 1), targetPos(1, 3) - otherSensorsPos(ii, 3))); + + I = I + 10 ^ (0.1 * otherSensors.RSS(otherSensors{ii}, d_other(ii), t_other(ii))); + end + SINR = 10*log10(S/(I + N)); +end \ No newline at end of file diff --git a/@sigmoidSensor/sigmoidSensor.m b/@sigmoidSensor/sigmoidSensor.m index c1a8e28..e25bd79 100644 --- a/@sigmoidSensor/sigmoidSensor.m +++ b/@sigmoidSensor/sigmoidSensor.m @@ -8,12 +8,12 @@ classdef sigmoidSensor end methods (Access = public) - [obj] = initialize(obj, alphaDist, betaDist, alphaTilt, betaTilt); - [value] = sensorPerformance(obj, agentPos, agentPan, agentTilt, targetPos); - [f] = plotParameters(obj); + [obj] = initialize(obj, alphaDist, betaDist, alphaTilt, betaTilt); % initialize sensor, define parameters + [value] = sensorPerformance(obj, agentPos, agentPan, agentTilt, targetPos); % determine sensor performance for a given single sensor and target geometry + [f] = plotParameters(obj); % debug, plot sensor response as a function of distance and tilt angle end methods (Access = private) - x = distanceMembership(obj, d); - x = tiltMembership(obj, t); + x = distanceMembership(obj, d); % used in computing distance factor of sensor performance + x = tiltMembership(obj, t); % used in computing tilt factor of sensor performance end end \ No newline at end of file diff --git a/resources/project/FI0gxbH-PhwjE_riDQGHPyYMHks/BsVG5tuGBaruV5jvy4e3yG1jm4Qd.xml b/resources/project/FI0gxbH-PhwjE_riDQGHPyYMHks/BsVG5tuGBaruV5jvy4e3yG1jm4Qd.xml new file mode 100644 index 0000000..378b613 --- /dev/null +++ b/resources/project/FI0gxbH-PhwjE_riDQGHPyYMHks/BsVG5tuGBaruV5jvy4e3yG1jm4Qd.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/resources/project/FI0gxbH-PhwjE_riDQGHPyYMHks/BsVG5tuGBaruV5jvy4e3yG1jm4Qp.xml b/resources/project/FI0gxbH-PhwjE_riDQGHPyYMHks/BsVG5tuGBaruV5jvy4e3yG1jm4Qp.xml new file mode 100644 index 0000000..180f4cc --- /dev/null +++ b/resources/project/FI0gxbH-PhwjE_riDQGHPyYMHks/BsVG5tuGBaruV5jvy4e3yG1jm4Qp.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/0TUOPB3gylGuEK1Q5NsFsa57FBQd.xml b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/0TUOPB3gylGuEK1Q5NsFsa57FBQd.xml new file mode 100644 index 0000000..99772b4 --- /dev/null +++ b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/0TUOPB3gylGuEK1Q5NsFsa57FBQd.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/0TUOPB3gylGuEK1Q5NsFsa57FBQp.xml b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/0TUOPB3gylGuEK1Q5NsFsa57FBQp.xml new file mode 100644 index 0000000..4401f9c --- /dev/null +++ b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/0TUOPB3gylGuEK1Q5NsFsa57FBQp.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/9BCm86xMEE43ruM6njCMPywT3mgd.xml b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/9BCm86xMEE43ruM6njCMPywT3mgd.xml new file mode 100644 index 0000000..99772b4 --- /dev/null +++ b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/9BCm86xMEE43ruM6njCMPywT3mgd.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/9BCm86xMEE43ruM6njCMPywT3mgp.xml b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/9BCm86xMEE43ruM6njCMPywT3mgp.xml new file mode 100644 index 0000000..a8cb24d --- /dev/null +++ b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/9BCm86xMEE43ruM6njCMPywT3mgp.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/DKU4t7TpyzULRGxIyA4AFql5gKQd.xml b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/DKU4t7TpyzULRGxIyA4AFql5gKQd.xml new file mode 100644 index 0000000..99772b4 --- /dev/null +++ b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/DKU4t7TpyzULRGxIyA4AFql5gKQd.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/DKU4t7TpyzULRGxIyA4AFql5gKQp.xml b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/DKU4t7TpyzULRGxIyA4AFql5gKQp.xml new file mode 100644 index 0000000..a6d7c3c --- /dev/null +++ b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/DKU4t7TpyzULRGxIyA4AFql5gKQp.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/Waxi82DIfDNaoB9qVMSu-XeU4h8d.xml b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/Waxi82DIfDNaoB9qVMSu-XeU4h8d.xml new file mode 100644 index 0000000..99772b4 --- /dev/null +++ b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/Waxi82DIfDNaoB9qVMSu-XeU4h8d.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/Waxi82DIfDNaoB9qVMSu-XeU4h8p.xml b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/Waxi82DIfDNaoB9qVMSu-XeU4h8p.xml new file mode 100644 index 0000000..919c37e --- /dev/null +++ b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/Waxi82DIfDNaoB9qVMSu-XeU4h8p.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/bflJ_m_JEPly6uLay0BQMV_1uAUd.xml b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/bflJ_m_JEPly6uLay0BQMV_1uAUd.xml new file mode 100644 index 0000000..99772b4 --- /dev/null +++ b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/bflJ_m_JEPly6uLay0BQMV_1uAUd.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/bflJ_m_JEPly6uLay0BQMV_1uAUp.xml b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/bflJ_m_JEPly6uLay0BQMV_1uAUp.xml new file mode 100644 index 0000000..844d632 --- /dev/null +++ b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/bflJ_m_JEPly6uLay0BQMV_1uAUp.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/jvRgOU4zI43Zz6soLWzgDAjnvmod.xml b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/jvRgOU4zI43Zz6soLWzgDAjnvmod.xml new file mode 100644 index 0000000..4356a6a --- /dev/null +++ b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/jvRgOU4zI43Zz6soLWzgDAjnvmod.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/jvRgOU4zI43Zz6soLWzgDAjnvmop.xml b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/jvRgOU4zI43Zz6soLWzgDAjnvmop.xml new file mode 100644 index 0000000..01cb34e --- /dev/null +++ b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/jvRgOU4zI43Zz6soLWzgDAjnvmop.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/ugpKFhW2eBP_pSSkV0NyOiJaMEod.xml b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/ugpKFhW2eBP_pSSkV0NyOiJaMEod.xml new file mode 100644 index 0000000..99772b4 --- /dev/null +++ b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/ugpKFhW2eBP_pSSkV0NyOiJaMEod.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/ugpKFhW2eBP_pSSkV0NyOiJaMEop.xml b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/ugpKFhW2eBP_pSSkV0NyOiJaMEop.xml new file mode 100644 index 0000000..ede8992 --- /dev/null +++ b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/ugpKFhW2eBP_pSSkV0NyOiJaMEop.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/vKw7EZP5Lkw7wHPSRNjXYJUWEOId.xml b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/vKw7EZP5Lkw7wHPSRNjXYJUWEOId.xml new file mode 100644 index 0000000..99772b4 --- /dev/null +++ b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/vKw7EZP5Lkw7wHPSRNjXYJUWEOId.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/vKw7EZP5Lkw7wHPSRNjXYJUWEOIp.xml b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/vKw7EZP5Lkw7wHPSRNjXYJUWEOIp.xml new file mode 100644 index 0000000..cde7183 --- /dev/null +++ b/resources/project/MoO8eFA7MNcwhsnIRzm_IDZfmpg/vKw7EZP5Lkw7wHPSRNjXYJUWEOIp.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/MoO8eFA7MNcwhsnIRzm_IDZfmpgd.xml b/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/MoO8eFA7MNcwhsnIRzm_IDZfmpgd.xml new file mode 100644 index 0000000..4356a6a --- /dev/null +++ b/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/MoO8eFA7MNcwhsnIRzm_IDZfmpgd.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/MoO8eFA7MNcwhsnIRzm_IDZfmpgp.xml b/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/MoO8eFA7MNcwhsnIRzm_IDZfmpgp.xml new file mode 100644 index 0000000..eea8c49 --- /dev/null +++ b/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/MoO8eFA7MNcwhsnIRzm_IDZfmpgp.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/test/test_rfSensor.m b/test/test_rfSensor.m new file mode 100644 index 0000000..61bcd79 --- /dev/null +++ b/test/test_rfSensor.m @@ -0,0 +1,25 @@ +classdef test_rfSensor < matlab.unittest.TestCase + properties (Access = private) + % System under test + testClass = sigmoidSensor; + end + + methods (TestMethodSetup) + function tc = setup(tc) + % Reinitialize sensor with random parameters + tc.testClass = rfSensor; + % TODO + tc.testClass = tc.testClass.initialize(); + end + end + + methods (Test) + % Test methods + + function test_SINR(tc) + tc.testClass.plotParameters(); + % [SINR] = tc.testClass.sensorPerformance(obj, agentPos, agentPan, agentTilt, targetPos); + end + end + +end \ No newline at end of file