# Wireless Propagation

Wireless propagation is performed in the same manner as in the Communications Library. See the Wireless Propagation topic for an overview of modeling wireless propagation using the WirelessLinkExtension and SignalPropagationModel types.

Note

The functionality described in this topic requires a license for the Radar Library and the Communications Library.

The Radar Library requires at least three Platform instances for evaluation - transmitter, target, and receiver. Therefore, modeling bistatic or monostatic radar geometries is achieved by how the platform's location point is configured. In order to model a bistatic geometry, the location point configured on the transmitter platform will provide a different location than the location point configured on the receiver platform. To model a monostatic radar geometry, the transmitter location point and receiver location point must provide the same location or can actually be the same instance of the Point type.

The following figure and code example shows how a monostatic radar is modeled.

C#
```CentralBody earth = CentralBodiesFacet.GetFromContext().Earth;
JulianDate epoch = new GregorianDate(2016, 2, 22, 17, 0, 0).ToJulianDate();

//Construct the target point propagator
Cartesian initialPos = new Cartesian(-11029953.509755684, -40698074.387359113, 15422.511640956744);
Cartesian initialVel = new Cartesian(2967.5264945088943, -804.2579908902353, -4.6857787559832);

Motion<Cartesian> initialState = new Motion<Cartesian>(initialPos, initialVel);
TwoBodyPropagator targetPropagator = new TwoBodyPropagator(epoch, earth.InertialFrame, initialState, WorldGeodeticSystem1984.GravitationalParameter);

//Construct the target platform
{
LocationPoint = targetPropagator.CreatePoint()
};

//Construct the transmitter platform

//Construct the monostatic location point and orientation axes
Point monostaticLocationPoint = new PointCartographic(earth, new Cartographic(-1.31941, 0.698806, 0.0));

//Using the AxesAlignedConstrained axes type will target the radar antenna boresight at the radar target
VectorFixed earthZAxis = new VectorFixed(earth.InertialFrame.Axes, UnitCartesian.UnitZ);
Axes monostaticOrientation = new AxesAlignedConstrained(new VectorTrueDisplacement(monostaticLocationPoint, radarTargetPlatform.LocationPoint),
AxisIndicator.Third, earthZAxis, AxisIndicator.First);

//Configure the transmitter location and orientation

//Configure the receiver location and orientation
radarReceiverPlatform.LocationPoint = monostaticLocationPoint; //<====  NOTE: USES THE SAME LOCATION POINT AS TRANSMITTER

//Construct the forward link from the transmitter to the target

//Construct the interference link  NOTE: Interference links are optional.  If the analysis is not concerned with interference at the radar
//receiver, they can be omitted from the propagation graph.

SignalPropagationGraph propagationGraph = new SignalPropagationGraph();

The following figure and code example shows how a bistatic radar is modeled.

C#
```CentralBody earth = CentralBodiesFacet.GetFromContext().Earth;
JulianDate epoch = new GregorianDate(2016, 2, 22, 17, 0, 0).ToJulianDate();

//Construct the target point propagator
Cartesian initialPos = new Cartesian(-11029953.509755684, -40698074.387359113, 15422.511640956744);
Cartesian initialVel = new Cartesian(2967.5264945088943, -804.2579908902353, -4.6857787559832);

Motion<Cartesian> initialState = new Motion<Cartesian>(initialPos, initialVel);
TwoBodyPropagator targetPropagator = new TwoBodyPropagator(epoch, earth.InertialFrame, initialState, WorldGeodeticSystem1984.GravitationalParameter);

//Construct the target platform
{
LocationPoint = targetPropagator.CreatePoint()
};

//Construct the transmitter platform

//Construct the bistatic transmitter location point and orientation axes
Point bistaticTransmitterLocationPoint = new PointCartographic(earth, new Cartographic(-1.31941, 0.698806, 0.0));

//Using the AxesAlignedConstrained axes type will target the radar transmitter antenna boresight at the radar target
VectorFixed earthZAxis = new VectorFixed(earth.InertialFrame.Axes, UnitCartesian.UnitZ);
Axes bistaticTransmitterOrientation = new AxesAlignedConstrained(new VectorTrueDisplacement(bistaticTransmitterLocationPoint, radarTargetPlatform.LocationPoint),
AxisIndicator.Third, earthZAxis, AxisIndicator.First);

//Configure the transmitter location and orientation

//Construct the bistatic transmitter location point and orientation axes
Point bistaticReceiverLocationPoint = new PointCartographic(earth, new Cartographic(-1.33686, 0.698806, 0.0));

AxisIndicator.Third, earthZAxis, AxisIndicator.First);

//Configure the receiver location and orientation

//Construct the forward link from the transmitter to the target