# phased.WidebandFreeSpace

Wideband freespace propagation

## Description

The System object™ models wideband signal propagation from one point to another in a free-space environment. The System object applies range-dependent time delay, gain adjustment, 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 boundary-free 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 two-way propagation of a signal from a radar to a target.

For nonpolarized signals, the 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 wideband free space environment as shown in the Construction section.

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

When propagating a round trip signal in free space, you can use one `WidebandFreeSpace` System object to compute the two-way propagation delay. Alternatively, you can use two separate `WidebandFreeSpace` 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.WidebandFreeSpace` System objects. It is more accurate to use a single two-way `phased.WidebandFreeSpace` System object. To set this option, use 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

`sWBFS = phased.WidebandFreeSpace` creates a wideband free space System object, `sWBFS`.

`sWBFS = phased.WidebandFreeSpace(Name,Value)` creates a wideband free space System object, `sWBFS`, 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

expand all

Signal propagation speed, specified as a positive scalar. Units are in meters per second. The default propagation speed is the value returned by `physconst('LightSpeed')`. See `physconst` for more information.

Example: `3e8`

Data Types: `double`

Operating frequency, specified as a positive scalar. Units are in Hz.

Example: `1e9`

Data Types: `double`

Enable two-way propagation, specified as a `false` or `true`. Set this property to `true` to perform round-trip propagation between the signal origin and destination specified in `step`. Set this property to `false` to perform only one-way propagation from the origin to the destination.

Example: `true`

Data Types: `logical`

Sample rate of signal, specified as a positive scalar. Units are in Hz. The System object uses this quantity to calculate the propagation delay in units of samples.

Example: `1e6`

Data Types: `double`

Number of processing subbands, specified as a positive integer.

Example: `128`

Data Types: `double`

Source of maximum one-way propagation distance, specified as `'Auto'` or `'Property'`. The maximum one-way propagation distance is used to allocate sufficient memory for signal 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.

Data Types: `char`

Maximum one-way propagation distance, specified as a positive real-valued scalar. Units are in meters. Any signal that propagates more than the maximum one-way distance is ignored. The maximum distance must be greater than or equal to the largest position-to-position distance.

Example: `5000`

#### Dependencies

To enable this property, set the `MaximumDistanceSource` property to `'Property'`.

Data Types: `double`

The source of the maximum number of samples of 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 input signal. When you set this property to `'Property'`, you specify the maximum number of samples in the input signal using the `MaximumNumInputSamples` property. Any input signal longer than that value is truncated.

To use this object with variable-size signals in a MATLAB® Function Block in Simulink®, set the `MaximumNumInputSamplesSource` property to `'Property'` and set a value for the `MaximumNumInputSamples` property.

Example: `'Property'`

#### Dependencies

To enable this property, set `MaximumDistanceSource` to `'Property'`.

Data Types: `char`

Maximum number of input signal samples, specified as a positive integer. The input signal is the first argument of the `step` method, after the System object itself. The size of the input signal is the number of rows in the input matrix. Any input signal longer than this number is truncated. To process signals completely, ensure that this property value is greater than any maximum input signal length.

The waveform-generating System objects determine the maximum signal size:

• For any waveform, if the waveform `OutputFormat` property is set to `'Samples'`, the maximum signal length is the value specified in the `NumSamples` property.

• For pulse waveforms, if the `OutputFormat` is set to `'Pulses'`, the signal length is the product of the smallest pulse repetition frequency, the number of pulses, and the sample rate.

• For continuous waveforms, if the `OutputFormat` is set to `'Sweeps'`, the signal length is the product of the sweep time, the number of sweeps, and the sample rate.

Example: `2048`

#### Dependencies

To enable this property, set `MaximumNumInputSamplesSource` to `'Property'`.

Data Types: `double`

## Methods

 reset Reset states of phased.WidebandFreeSpace System object step Propagate wideband signal from point to point using free-space channel model
Common to All System Objects
`release`

Allow System object property value changes

## Examples

collapse all

Propagate a wideband signal with three tones in an underwater acoustic with constant speed of propagation. You can model this environment as free space. The center frequency is 100 kHz and the frequencies of the three tones are 75 kHz, 100 kHz, and 125 kHz, respectively. Plot the spectrum of the original signal and the propagated signal to observe the Doppler effect. The sampling frequency is 100 kHz.

Note: This example runs only in R2016b or later. If you are using an earlier release, replace each call to the function with the equivalent `step` syntax. For example, replace `myObject(x)` with `step(myObject,x)`.

```c = 1500; fc = 100e3; fs = 100e3; relfreqs = [-25000,0,25000];```

Set up a stationary radar and moving target and compute the expected Doppler.

```rpos = [0;0;0]; rvel = [0;0;0]; tpos = [30/fs*c; 0;0]; tvel = [45;0;0]; dop = -tvel(1)./(c./(relfreqs + fc));```

Create a signal and propagate the signal to the moving target.

```t = (0:199)/fs; x = sum(exp(1i*2*pi*t.'*relfreqs),2); channel = phased.WidebandFreeSpace(... 'PropagationSpeed',c,... 'OperatingFrequency',fc,... 'SampleRate',fs); y = channel(x,rpos,tpos,rvel,tvel);```

Plot the spectra of the original signal and the Doppler-shifted signal.

```periodogram([x y],rectwin(size(x,1)),1024,fs,'centered') ylim([-150 0]) legend('original','propagated');```

For this wideband signal, you can see that the magnitude of the Doppler shift increases with frequency. In contrast, for narrowband signals, the Doppler shift is assumed constant over the band.

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.