Program Listing for File comms_utils.h¶
↰ Return to documentation for file (measurements/comms_utils.h)
#pragma once
#include "lupnt/core/definitions.h"
namespace lupnt {
struct DllParams {
Real B_dll; // [Hz] Bandwidth
Real T_i; // [s] Coherent integration time
Real d; // [chip] Chip duration
Real Tc; // [s] Spread code period
Real B_fe; // [Hz] Front-end bandwidth
};
struct PllParams {
Real B_pll; // [Hz] Bandwidth
Real T_i; // [s] Coherent integration time
};
struct FllParams {
Real B_fll; // [Hz] Bandwidth
Real T_i; // [s] Coherent integration time
Real CN0_F_fll; // [dB-Hz] CN0 limit for low F
};
Real SigmaDll(const DllParams& params, Real CN0_w);
Real SigmaPll(const PllParams& params, Real CN0_w);
Real SigmaFll(const FllParams& params, Real CN0_w);
ArrX SigmaDll(const DllParams& params, const ArrX& CN0_w);
ArrX SigmaPll(const PllParams& params, const ArrX& CN0_w);
ArrX SigmaFll(const FllParams& params, const ArrX& CN0_w);
Real FreeSpacePathLoss(Real dist, Real freq);
ArrX FreeSpacePathLoss(const ArrX& dist, Real freq);
Real ParabolicAntennaGain(Real phi, Real hpbw, Real G_max);
ArrX ParabolicAntennaGain(const ArrX& phi, Real hpbw, Real G_max);
} // namespace lupnt