diff --git a/@rfSensor/initialize.m b/@rfSensor/initialize.m index 28c584b..14db6f3 100644 --- a/@rfSensor/initialize.m +++ b/@rfSensor/initialize.m @@ -1,12 +1,12 @@ -function obj = initialize(obj, txPower, bandwidth, centerFreq, rxGain_dBi, boresightTilt, boresightAzimuth) +function obj = initialize(obj, txPower, bandwidth, centerFreq, rxGain_dBi, tilt, azimuth) arguments (Input) obj (1, 1) {mustBeA(obj, "rfSensor")} txPower (1, 1) double; bandwidth (1, 1) double; centerFreq (1, 1) double; rxGain_dBi (1, 1) double; - boresightTilt (1, 1) double = 0; - boresightAzimuth (1, 1) double = 0; + tilt (1, 1) double = 0; + azimuth (1, 1) double = 0; end arguments (Output) obj (1, 1) {mustBeA(obj, "rfSensor")} @@ -17,8 +17,8 @@ function obj = initialize(obj, txPower, bandwidth, centerFreq, rxGain_dBi, bores obj.BW = bandwidth; % Bandwidth (Hz) obj.f_c = centerFreq; % Center frequency (Hz) obj.G_RX_dBi = rxGain_dBi; % Receiving Antenna Gain (dBi) - obj.boresightTilt = boresightTilt; - obj.boresightAzimuth = boresightAzimuth; + obj.tilt = tilt; + obj.azimuth = azimuth; % Computed values obj.P_TX_dBm = 10*log10(obj.P_TX/1e-3); % Transmit power in dBm diff --git a/@rfSensor/rfSensor.m b/@rfSensor/rfSensor.m index 3162029..8b125c0 100644 --- a/@rfSensor/rfSensor.m +++ b/@rfSensor/rfSensor.m @@ -9,8 +9,8 @@ classdef rfSensor BW = NaN; % Bandwidth (Hz) f_c = NaN; % Center frequency (Hz) G_RX_dBi = NaN; % Receiver antenna gain - boresightTilt = 0; % Antenna boresight tilt (deg): 0=nadir, 90=horizon - boresightAzimuth = 0; % Antenna boresight azimuth (deg): 0=+y, 90=+x + tilt = NaN; % Antenna boresight tilt (deg): 0=nadir, 90=horizon + azimuth = NaN; % Antenna boresight azimuth (deg): 0=+y, 90=+x, 180=-y, 270=-x % Values computed at initialization P_TX_dBm = NaN; % Transmit power (dBm) N = NaN; % Thermal noise diff --git a/@rfSensor/transmitterGain.m b/@rfSensor/transmitterGain.m index 5fbecc4..35c3c58 100644 --- a/@rfSensor/transmitterGain.m +++ b/@rfSensor/transmitterGain.m @@ -15,8 +15,8 @@ function value = transmitterGain(obj, t, a) % Angular offset from boresight via spherical law of cosines % Convention: t=0° nadir, t=90° horizon; a=0° +y, a=90° +x - cos_theta = sind(obj.boresightTilt) .* sind(t) .* cosd(a - obj.boresightAzimuth) + ... - cosd(obj.boresightTilt) .* cosd(t); + cos_theta = sind(obj.tilt) .* sind(t) .* cosd(a - obj.tilt) + ... + cosd(obj.tilt) .* cosd(t); cos_theta = max(-1, min(1, cos_theta)); % clamp for numerical safety theta = acosd(cos_theta);