# sigstrength

Since R2022b

## Syntax

``PISO = sigstrength(lnk)``
``[PISO,PRI] = sigstrength(lnk)``
``[___] = sigstrength(lnk,timeIn)``
``[PISO,PRI,timeOut] = sigstrength(___)``

## Description

````PISO = sigstrength(lnk)` returns a history matrix of received isotropic power in dBW at the final node in each link defined in the vector, `lnk`. The rows of the matrix correspond to the link object in `lnk` and the columns correspond to the time sample.```
````[PISO,PRI] = sigstrength(lnk)` returns received isotropic power, `PISO`, and history matrix of the power at receiver input, `PRI`, in dBW at the final node in each link defined in the vector, `lnk`. The rows of the matrix correspond to the link object in `lnk` and the columns correspond to the time sample.```

example

````[___] = sigstrength(lnk,timeIn)` returns one or both of the outputs as column vectors at the specified datetime `timeIn`. The elements in the vectors correspond to the links in `lnk`. If no time zone is specified in `timeIn`, the time zone is assumed to be Coordinated Universal Time (UTC).```

example

````[PISO,PRI,timeOut] = sigstrength(___)` returns the received isotropic power, power at the receiver input, and the corresponding datetime in UTC.```

## Examples

collapse all

This example computes the history of received isotropic power, power at receiver input, and the corresponding time samples of the satellite link.

Create a satellite scenario object.

```startTime = datetime(2020,10,13,10,42,0); stopTime = datetime(2020,10,13,10,50,0); sampleTime = 60; % seconds sc = satelliteScenario(startTime,stopTime,sampleTime);```

Add a satellite to the scenario.

```semiMajorAxis = 10000000; % meters eccentricity = 0; inclination = 0; % degrees rightAscensionOfAscendingNode = 0; % degrees argumentOfPeriapsis = 0; % degrees trueAnomaly = 210; % degrees sat = satellite(sc,semiMajorAxis,eccentricity,inclination, ... rightAscensionOfAscendingNode,argumentOfPeriapsis,trueAnomaly);```

Add a transmitter to the satellite.

`tx = transmitter(sat);`

Add a ground station to the scenario.

```latitude = 0; % degrees longitude = 30; % degrees gs = groundStation(sc,latitude,longitude);```

`rx = receiver(gs,MountingAngles=[0; 180; 0]);`

`lnk = link(tx,rx);`

Obtain the history of received isotropic power, power at receriver input, and time samples.

`[PISO,PRI,timeOut] = sigstrength(lnk)`
```PISO = 1×9 103 × -0.2526 -0.1431 -0.1553 -0.2886 -0.5357 -0.8837 -1.3155 -1.8117 -2.3525 ```
```PRI = 1×9 103 × -0.5087 -0.1292 -0.1714 -0.6337 -1.4974 -2.7289 -4.2840 -Inf -Inf ```
```timeOut = 1x9 datetime 13-Oct-2020 10:42:00 13-Oct-2020 10:43:00 13-Oct-2020 10:44:00 13-Oct-2020 10:45:00 13-Oct-2020 10:46:00 13-Oct-2020 10:47:00 13-Oct-2020 10:48:00 13-Oct-2020 10:49:00 13-Oct-2020 10:50:00 ```

This example computes the received isotropic power and the power at receiver input of the satellite link at a specified time.

Create a satellite scenario object.

```startTime = datetime(2021,10,13,10,5,0); stopTime = startTime + days(1); sampleTime = 60; % seconds sc = satelliteScenario(startTime,stopTime,sampleTime);```

Add a satellite to the scenario.

```semiMajorAxis = 10000000; % meters eccentricity = 0; inclination = 0; % degrees rightAscensionOfAscendingNode = 0; % degrees argumentOfPeriapsis = 0; % degrees trueAnomaly = 210; % degrees sat = satellite(sc,semiMajorAxis,eccentricity,inclination, ... rightAscensionOfAscendingNode,argumentOfPeriapsis,trueAnomaly);```

`rx = receiver(sat);`

Add a ground station to the scenario.

```latitude = 0; % degrees longitude = 30; % degrees gs = groundStation(sc,latitude,longitude);```

Add a transmitter to the ground station.

`tx = transmitter(gs,MountingAngles=[0; 180; 0]);`

`lnk = link(tx,rx);`

Obtain the received isotropic power and power at receriver input on 13 October 2021 at 10:06 AM UTC.

```time = datetime(2021,10,13,10,6,0); [PISO,PRI] = sigstrength(lnk,time)```
```PISO = -3.0902e+03 ```
```PRI = -4.2145e+03 ```

## Input Arguments

collapse all

Link analysis object, specified as a vector.

Time at which the output is calculated, specified as a `datetime` scalar. If no time zone is specified in `timeIn`, the time zone is assumed to be UTC.

## Output Arguments

collapse all

Received isotropic power in dBW, returned as a matrix. This output is the power level just before the receiver antenna, after accounting for the transmitter effective isotropic radiated power and path loss. The rows of the matrix correspond to the link object in `lnk` and the columns correspond to the time sample.

When the `AutoSimulate` property of the satellite scenario is `true`, the received isotropic power history from `StartTime` to `StopTime` is returned. Otherwise, the received isotropic power history from `StartTime` to `SimulationTime` is returned.

Power at receiver input in dBW, returned as a matrix. This output is the power level after adding the receiver antenna gain in the direction of the received signal to `PISO` and subtracting `PreReceiverLoss` of the receiver. The rows of the matrix correspond to the link object in `lnk` and the columns correspond to the time sample.

When the `AutoSimulate` property of the satellite scenario is `true`, the history of power at the receiver input from `StartTime` to `StopTime` is returned. Otherwise, the history of power at the receiver input from `StartTime` to `SimulationTime` is returned.

Time samples of received isotropic power, `PISO`, and power at receiver input, `PRI`, returned as a datetime scalar. If time histories of `PISO` and `PRI` are returned, `timeOut` is a datetime row vector.

## Version History

Introduced in R2022b