Main Content

# phased.FreeSpace

Free space environment

## Description

The `phased.FreeSpace` System object™ models narrowband signal propagation from one point to another in a free-space environment. The object applies range-dependent time delay, gain and phase shift to the input signal. The object accounts for Doppler shift when either the source or destination is moving. A free-space environment is a boundaryless medium with a speed of signal propagation independent of position and direction. The signal propagates along a straight line from source to destination. For example, you can use this object to model the propagation of a signal from a radar to a target and back to the radar.

For non-polarized signals, the `FreeSpace` System object lets you propagate signals from a single point to multiple points or from multiple points to a single point. Multiple-point to multiple-point propagation is not supported.

To compute the propagated signal in free space:

1. Define and set up your free space environment. See Construction.

2. Call `step` to propagate the signal through a free space environment according to the properties of `phased.FreeSpace`. The behavior of `step` is specific to each object in the toolbox.

When propagating a round trip signal in free-space, you can either use one `FreeSpace` System object to compute the two-way propagation delay or two separate `FreeSpace` System objects to compute one-way propagation delays in each direction. Due to filter distortion, the total round trip delay when you employ two-way propagation can differ from the delay when you use two one-way `phased.FreeSpace` System objects. It is more accurate to use a single two-way `phased.FreeSpace` System object. This option is set by the `TwoWayPropagation` property.

Note

Starting in R2016b, instead of using the `step` method to perform the operation defined by the System object, you can call the object with arguments, as if it were a function. For example, ```y = step(obj,x)``` and `y = obj(x)` perform equivalent operations.

## Construction

`H = phased.FreeSpace` creates a free space environment System object, `H`.

`H = phased.FreeSpace(Name,Value)` creates a free space environment object, `H`, with each specified property Name set to the specified Value. You can specify additional name-value pair arguments in any order as (`Name1`,`Value1`,...,`NameN`,`ValueN`).

## Properties

 `PropagationSpeed` Signal propagation speed Specify signal wave propagation speed in free space as a real positive scalar. Units are meters per second. Default: Speed of light `OperatingFrequency` Signal carrier frequency A scalar containing the carrier frequency of the narrowband signal. Units are hertz. Default: `3e8` `TwoWayPropagation` Perform two-way propagation Set this property to `true` to perform round-trip propagation between the origin and destination that you specify in the `step` command. Set this property to `false` to perform one-way propagation from the origin to the destination. Default: `false` `SampleRate` Sample rate A scalar containing the sample rate. Units of sample rate are hertz. The algorithm uses this value to determine the propagation delay in number of samples. Default: `1e6` `MaximumDistanceSource` Source of maximum distance value Source of maximum distance value, specified as `'Auto'` or `'Property'`. This choice selects how the maximum one-way propagation distance is determined. The maximum one-way propagation distance is used to allocate sufficient memory for delay computation. When you set this property to `'Auto`, the System object automatically allocates memory. When you set this property to `'Property'`, you specify the maximum one-way propagation distance using the value of the `MaximumDistance` property. Default: `'Auto'` `MaximumDistance` Maximum one-way propagation distance Maximum one-way propagation distance, specified as a real-valued positive scalar. Units are meters. This property applies when you set the `MaximumDistanceSource` property to `'Property'`. Any signal that propagates more than the maximum one-way distance is ignored. The maximum distance should be greater than or equal to the largest position-to-position distance. Default: `10000` `MaximumNumInputSamplesSource` Source of maximum number of samples. The source of the maximum number of samples in the input signal, specified as `'Auto'` or `'Property'`. When you set this property to `'Auto'`, the propagation model automatically allocates enough memory to buffer the first input signal. When you set this property to `'Property'`, specify the maximum number of samples in the input signal using the `MaximumNumInputSamples` property. Any input signal longer than that value is truncated. This property applies when you set the `MaximumDistanceSource` property to `'Property'`. To use this object with variable-size input signals in a MATLAB® Function Block in Simulink®, set the `MaximumNumInputSamplesSource` property to `'Property'` and set a value for the `MaximumNumInputSamples` property. Default: `'Auto'` `MaximumNumInputSamples` Maximum number of input signal samples. Maximum number of samples in the input signal, specified as a positive integer. This property limits the size of the input signal. Any input signal longer than this value is truncated. The input signal is the first argument to the `step` method. The number of samples is the number of rows in the input. This property applies when you set the `MaximumNumInputSamplesSource` property to `'Property'`. Default: `100`

## Methods

 reset Reset internal states of propagation channel step Propagate signal from one location to another
Common to All System Objects
`release`

Allow System object property value changes

## Examples

collapse all

Calculate the amplitude of a signal propagating in free-space from a radar at (1000,0,0) to a target at (300,200,50). Assume both the radar and the target are stationary. The sample rate is 8000 Hz while the operating frequency of the radar is 300 MHz. Transmit five samples of a unit amplitude signal. The signal propagation speed takes the default value of the speed of light. Examine the amplitude of the signal at the target.

```fs = 8e3; fop = 3e8; henv = phased.FreeSpace('SampleRate',fs,... 'OperatingFrequency',fop); pos1 = [1000;0;0]; pos2 = [300;200;50]; vel1 = [0;0;0]; vel2 = [0;0;0];```

Compute the received signal at the target.

```x = ones(5,1); y = step(henv,x,... pos1,... pos2,... vel1,... vel2); disp(y)```
``` 1.0e-03 * 0.0126 - 0.1061i 0.0129 - 0.1082i 0.0129 - 0.1082i 0.0129 - 0.1082i 0.0129 - 0.1082i ```

The first sample is zero because the signal has not yet reached the target.

Manually compute the loss using the formula

`$L=\left(4\pi R/\lambda {\right)}^{2}$`

```R = sqrt( (pos1-pos2)'*(pos1-pos2)); lambda = physconst('Lightspeed')/fop; L = (4*pi*R/lambda)^2```
```L = 8.4205e+07 ```

Because the transmitted amplitude is unity, the square of the signal at the target equals the inverse of the loss.

`disp(1/abs(y(2))^2)`
``` 8.4205e+07 ```

Calculate the result of propagating a signal in free space from a radar at (1000,0,0) to a target at (300,200,50). Assume the radar moves at 10 m/s along the x-axis, while the target moves at 15 m/s along the y-axis. The sample rate is 8000 Hz while the operating frequency of the radar is 300 MHz. The signal propagation speed takes the default value of the speed of light. Transmit five samples of a unit amplitude signal and examine the amplitude of the signal at the target.

```fs = 8000; fop = 3e8; sProp = phased.FreeSpace('SampleRate',fs,... 'OperatingFrequency',fop); pos1 = [1000;0;0]; pos2 = [300;200;50]; vel1 = [10;0;0]; vel2 = [0;15;0]; y = step(sProp,ones(5,1),... pos1,... pos2,... vel1,... vel2); disp(y)```
``` 1.0e-03 * 0.0126 - 0.1061i 0.0117 - 0.1083i 0.0105 - 0.1085i 0.0094 - 0.1086i 0.0082 - 0.1087i ```

Because the transmitted amplitude is unity, the square of the signal at the target equals the inverse of the loss.

`disp(1/abs(y(2))^2)`
``` 8.4206e+07 ```

expand all

## References

[1] Proakis, J. Digital Communications. New York: McGraw-Hill, 2001.

[2] Skolnik, M. Introduction to Radar Systems, 3rd Ed. New York: McGraw-Hill, 2001.

## Version History

Introduced in R2011a