Documentation

This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.

phased.FreeSpace System object

Package: phased

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 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.

This property applies when you set the MaximumDistanceSource property to 'Property'.

When you use propagation models in MATLAB® Function Block in Simulink® with variable-size signals, you must set the MaximumNumInputSamples parameter to 'Property' and set the MaximumNumInputSamples parameter accordingly.

Default: 'Auto'

MaximumNumInputSamples

Maximum number of input signal samples

Maximum number of samples in 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 only when you set the MaximumNumInputSamplesSource property to'Property'.

Default: 100

Methods

cloneCreate free space object with same property values
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs from step method
isLockedLocked status for input attributes and nontunable properties
releaseAllow property value and input characteristics changes
resetReset internal states of propagation channel
stepPropagate signal from one location to another

Examples

expand 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 = (4 \pi R/ \lambda)^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

Definitions

Freespace Time Delay and Path Loss

When the origin and destination are stationary relative to each other, the output signal of a free-space channel can be written as Y(t) = x(t-τ)/Lfsp. The quantity τ is the signal delay and Lfsp is the free-space path loss. The delay τ is given by R/c, where R is the propagation distance and c is the propagation speed. The free-space path loss is given by

Lfsp=(4πR)2λ2,

where λ is the signal wavelength.

This formula assumes that the target is in the far field of the transmitting element or array. In the near field, the free-space path loss formula is not valid and can result in a loss smaller than one, equivalent to a signal gain. For this reason, the loss is set to unity for range values, R ≤ λ/4π.

When the origin and destination have relative motion, the processing also introduces a Doppler frequency shift. The frequency shift is v/λ for one-way propagation and 2v/λ for two-way propagation. The quantity v is the relative speed of the destination with respect to the origin.

For more details on free space channel propagation, see [2].

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.

Introduced in R2012a

Was this topic helpful?