Main Content

phased.Radiator

Narrowband signal radiator

Description

Thephased.RadiatorSystem object™ implements a narrowband signal radiator. A radiator converts signals into radiated wavefields transmitted from arrays and individual sensor elements such as antennas, microphone elements, and sonar transducers. The radiator output represents the fields at a reference distance of one meter from the phase center of the element or array. You can then propagate the signals to the far field using, for example, thephased.FreeSpace,phased.LOSChannel, ortwoRayChannel(Radar Toolbox)System objects.

The object radiates fields in one of two ways controlled by theCombineRadiatedSignalsproperty.

  • If theCombineRadiatedSignalsis set totrue,radiated field in a specified directions is the coherent sum of the delayed radiated fields from all elements (or subarrays when subarrays are supported). The object uses the phase-shift approximation of time delays for narrowband signals.

  • If theCombineRadiatedSignalsis set tofalse, each element can radiate in an independent direction.

You can use this object to

  • model electromagnetic radiated signals as polarized or non-polarized fields depending upon whether the element or array supports polarization and the value of thePolarizationproperty. Using polarization, you can transmit a signal as a polarized electromagnetic field, or transmit two independent signals using dual polarizations.

  • model acoustic radiated fields by using nonpolarized microphone and sonar transducer array elements and by setting thePolarizationto'None'. You must also set thePropagationSpeedto a value appropriate for the medium.

  • radiate fields from subarrays created by thephased.ReplicatedSubarrayandphased.PartitionedArrayobjects. You can steer all subarrays in the same direction using the steering angle argument,STEERANG, or steer each subarray in a different direction using the Subarray element weights argument,WS. The radiator distributes the signal powers equally among the elements of each subarray. You cannot set theCombineRadiatedSignalsproperty tofalsefor subarrays.

To radiate signals:

  1. Create thephased.Radiatorobject and set its properties.

  2. Call the object with arguments, as if it were a function.

To learn more about how System objects work, seeWhat Are System Objects?

Creation

Description

radiator= phased.Radiatorcreates a narrowband signal radiator object,radiator, with default property values.

radiator= phased.Radiator(Name,Value)creates a narrowband signal radiator with each propertyNameset to a specifiedValue. You can specify additional name-value pair arguments in any order as (Name1,Value1,...,NameN,ValueN). Enclose each property name in single quotes.

Example:radiator = phased.Radiator('Sensor',phased.URA,'OperatingFrequency',300e6)sets the sensor array to a uniform rectangular array (URA) with default URA property values. The beamformer has an operating frequency of 300 MHz.

Properties

expand all

Unless otherwise indicated, properties arenontunable, which means you cannot change their values after calling the object. Objects lock when you call them, and thereleasefunction unlocks them.

If a property istunable, you can change its value at any time.

For more information on changing property values, seeSystem Design in MATLAB Using System Objects.

Sensor element or sensor array, specified as a System object belonging to Phased Array System Toolbox. A sensor array can contain subarrays.

Example:phased.URA

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

Example:3e8

Data Types:double

工作频率, specified as a positive scalar. Units are in Hz.

Example:1e9

Data Types:double

Combine radiated signals, specified astrueorfalse. This property enables the coherent summation of the radiated signals from all elements of an array to produce plane waves. Set this property tofalseto obtain individual radiated signal for each radiating element.

  • If theCombineRadiatedSignalsis set totrue,radiated field in a specified directions is the coherent sum of the delayed radiated fields from all elements (or subarrays when subarrays are supported). The object uses the phase-shift approximation of time delays for narrowband signals.

  • If theCombineRadiatedSignalsis set tofalse, each element can radiate in an independent direction. If theSensorproperty is an array that contains subarrays, you cannot set theCombineRadiatedSignalsproperty to'false.

Data Types:logical

Sensor gain measure, specified as'dB'or'dBi'.

  • When you set this property to'dB',input signal power is scaled by the sensor power pattern (in dB) at the corresponding direction and then combined.

  • When you set this property to'dBi',input signal power is scaled by the directivity pattern (in dBi) at the corresponding direction and then combined. This option is useful when you want to compare results with the values computed by the radar equation that uses dBi to specify the antenna gain. The computation using the'dBi'option is expensive as it requires an integration over all directions to compute the total radiated power of the sensor.

Dependencies

To enable this property, set theCombineRadiatedSignalsproperty totrue.

Data Types:char

Polarization configuration, specified as'None','Combined', or'Dual'. When you set this property to'None',output field is considered a scalar field. When you set this property to'Combined',radiated fields are polarized and are interpreted as a single signal in the sensor's inherent polarization. When you set this property to'Dual',HandVpolarization components of the radiated field are independent signals.

Example:'Dual'

Data Types:char

Enable weights input, specified asfalseortrue. Whentrue, use the object input argumentWto specify weights. Weights are applied to individual array elements (or at the subarray level when subarrays are supported).

Data Types:logical

Usage

Description

example

Y= radiator(X,ANG)radiates the fields,Y, derived from signals,Xin the directions specified byANG.

example

Y= radiator(X,ANG,LAXES)also specifiesLAXESas the local coordinate system axes directions. To use this syntax, set thePolarizationproperty to'Combined'.

example

Y= radiator(XH,XV,ANG,LAXES)specifies a horizontal-polarization port signal,XH, and a vertical-polarization port signal,XV. To use this syntax, set thePolarizationproperty to'Dual'.

Y= radiator(___,W)also specifiesWas element or subarray weights. To use this syntax, set theWeightsInputPortproperty totrue.

Y= radiator(___,STEERANG)also specifiesSTEERANGas the subarray steering angle. To use this syntax, set theSensorproperty to an array that supports subarrays and set theSubarraySteeringproperty of that array to either'Phase'or'Time'.

Y= radiator(___,WS)also specifiesWSas weights applied to each element within each subarray. To use this syntax, set theSensorproperty to an array that supports subarrays and set theSubarraySteeringproperty of the array to'Custom'.

You can combine optional input arguments when their enabling properties are set, for example,Y= radiator(X,ANG,LAXES,W,STEERANG)结合几个输入参数。可选的输入must be listed in the same order as the order of the enabling properties.

Input Arguments

expand all

Signal to radiate, specified as a complex-valuedM1的向量or complex-valuedM-by-Nmatrix.Mis the length of the signal, andNis the number of array elements (or subarrays when subarrays are supported).

Dimensions of X

Dimension Signal
M1的向量

The same signal is radiated from all array elements (or all subarrays when subarrays are supported).

M-by-Nmatrix Each column corresponds to the signal radiated by the corresponding array element (or corresponding subarrays when subarrays are supported).

The size of the first dimension of the input matrix can vary to simulate a changing signal length. A size change can occur, for example, in the case of a pulse waveform with variable pulse repetition frequency.

Dependencies

To enable this argument, set thePolarizationproperty to'None'or'Combined'.

Data Types:double
Complex Number Support:Yes

Radiating directions of signals, specified as a real-valued 2-by-Lmatrix. Each column specifies a radiating direction in the form[AzimuthAngle;ElevationAngle]. The azimuth angle must lie between –180° and 180°, inclusive. The elevation angle must lie between –90° and 90°, inclusive. When theCombineRadiatedSignalsproperty isfalse,number of angles must equal the number of array elements,N. Units are in degrees.

Example:[30,20;45,0]

Data Types:double

当地坐标系统em, specified as a real-valued 3-by-3 orthogonal matrix. The matrix columns specify the local coordinate system's orthonormalx,y, andzaxes with respect to the global coordinate system.

Example:rotx(30)

Dependencies

To enable this argument, set thePolarizationproperty to'Combined'or'Dual'.

Data Types:double

H-polarization port signal to radiate, specified as a complex-valuedM1的向量or complex-valuedM-by-Nmatrix.Mis the length of the signal, andNis the number of array elements (or subarrays when subarrays are supported).

Dimensions of XH

Dimension Signal
M1的向量

The same signal is radiated from all array elements (or all subarrays when subarrays are supported).

M-by-Nmatrix Each column corresponds to the signal radiated by the corresponding array element (or corresponding subarrays when subarrays are supported).

The dimensions and sizes ofXHandXVmust be the same.

The size of the first dimension of the input matrix can vary to simulate a changing signal length. A size change can occur, for example, in the case of a pulse waveform with variable pulse repetition frequency.

Dependencies

To enable this argument, set thePolarizationproperty to'Dual'.

Data Types:double
Complex Number Support:Yes

V-polarization port signal to radiate, specified as a complex-valuedM1的向量or complex-valuedM-by-Nmatrix.Mis the length of the signal, andNis the number of array elements (or subarrays when subarrays are supported).

Dimensions of XV

Dimension Signal
M1的向量

The same signal is radiated from all array elements (or all subarrays when subarrays are supported).

M-by-Nmatrix Each column corresponds to the signal radiated by the corresponding array element (or corresponding subarrays when subarrays are supported).

The dimensions and sizes ofXHandXVmust be the same.

The size of the first dimension of the input matrix can vary to simulate a changing signal length. A size change can occur, for example, in the case of a pulse waveform with variable pulse repetition frequency.

Dependencies

To enable this argument, set thePolarizationproperty to'Dual'.

Data Types:double
Complex Number Support:Yes

Element or subarray weights, specified as a complex-valuedN-by-1 column vector whereNis the number of array elements (or subarrays when the array supports subarrays).

Dependencies

To enable this argument, set theWeightsInputPortproperty totrue.

Data Types:double
Complex Number Support:Yes

Subarray element weights, specified as complex-valuedNSE-by-Nmatrix or 1-by-Ncell array whereNis the number of subarrays. These weights are applied to the individual elements within a subarray.

Subarray element weights

Sensor Array Subarray weights
phased.ReplicatedSubarray

All subarrays have the same dimensions and sizes. Then, the subarray weights form anNSE-by-Nmatrix.NSEis the number of elements in each subarray andNis the number of subarrays. Each column ofWSspecifies the weights for the corresponding subarray.

phased.PartitionedArray

Subarrays may not have the same dimensions and sizes. In this case, you can specify subarray weights as

  • anNSE-by-Nmatrix, whereNSEis now the number of elements in the largest subarray. The firstQentries in each column are the element weights for the subarray whereQis the number of elements in the subarray.

  • a 1-by-Ncell array. Each cell contains a column vector of weights for the corresponding subarray. The column vectors have lengths equal to the number of elements in the corresponding subarray.

Dependencies

To enable this argument, set theSensorproperty to an array that contains subarrays and set theSubarraySteeringproperty of the array to'Custom'.

Data Types:double
Complex Number Support:Yes

Subarray steering angle, specified as a length-2 column vector. The vector has the form[azimuthAngle;elevationAngle]. The azimuth angle must be between –180° and 180°, inclusive. The elevation angle must be between –90° and 90°, inclusive. Units are in degrees.

Example:[20;15]

Dependencies

To enable this argument, set theSensorproperty to an array that supports subarrays and set theSubarraySteeringproperty of that array to either'Phase'or'Time'

Data Types:double

Output Arguments

expand all

Radiated signals, specified as a complex-valuedM-by-Lmatrix or a 1-by-Lcell array, whereLis the number of radiating angles,ANG.Mis the length of the input signal,X.

  • If thePolarizationproperty value is set to'None',output argumentYis anM-by-Lmatrix.

  • If thePolarizationproperty value is set to'Combined'or'Dual',Y是1 -Lcell array of structures. Each cell corresponds to a separate radiating signal. Eachstructcontains three column vectors containing theX,Y, andZcomponents of the polarized fields defined with respect to the global coordinate system.

Data Types:double
Complex Number Support:Yes

Object Functions

To use an object function, specify the System object as the first input argument. For example, to release system resources of a System object namedobj, use this syntax:

release(obj)

expand all

step RunSystem objectalgorithm
release Release resources and allow changes toSystem objectproperty values and input characteristics
reset Reset internal states ofSystem object

Examples

collapse all

Propagate and combine radiation from five isotropic antenna elements. Set up a uniform line array of five isotropic antennas.

First construct a ULA array.

array = phased.ULA('NumElements',5);

Construct a radiator object.

radiator = phased.Radiator('Sensor',array,...'OperatingFrequency',300e6,'CombineRadiatedSignals',true);

Create a simple signal to radiate.

x = [1;-1;1;-1;1;-1];

Specify the azimuth and elevation of the radiating direction.

radiatingAngle = [30;10];

Radiate the signal.

y = radiator(x,radiatingAngle)
y =6×1 complex-0.9523 - 0.0000i 0.9523 + 0.0000i -0.9523 - 0.0000i 0.9523 + 0.0000i -0.9523 - 0.0000i 0.9523 + 0.0000i

Propagate and combine the radiation from five short-dipole antenna elements.

Set up a uniform line array of five short-dipole antennas with polarization enabled. Then, construct the radiator object.

antenna = phased.ShortDipoleAntennaElement; array = phased.ULA('Element',antenna,'NumElements',5); radiator = phased.Radiator('Sensor',array,'OperatingFrequency',300e6,...'CombineRadiatedSignals',true,'Polarization','Combined');

Rotate the local coordinate system from the global coordinates by 10° around the x-axis. Demonstrate that the output represents a polarized field.

Specify a simple signal to radiate and specify the radiating direction in azimuth and elevation. Radiate the fields in two directions.

x = [1;-1;1;-1;1;-1]; radiatingAngles = [30 30; 0 20]; y = radiator(x,radiatingAngles,rotx(10))
y=1×2 struct array with fields:X Y Z

Show the y-component of the polarized field radiating in the first direction.

disp(y(1).Y)
-0.2131 + 0.0000i 0.2131 - 0.0000i -0.2131 + 0.0000i 0.2131 - 0.0000i -0.2131 + 0.0000i 0.2131 - 0.0000i

Radiate a signal from a single isotropic antenna.

antenna = phased.IsotropicAntennaElement; radiator = phased.Radiator('Sensor',antenna,'OperatingFrequency',300e6); sig = [1;1]; radiatingAngles = [30 10]'; y = radiator(sig,radiatingAngles);

Radiate a far-field signal in two directions from a 5-element array.

array = phased.ULA('NumElements',5); radiator = phased.Radiator('Sensor',array,'OperatingFrequency',300e6); sig = [1;1]; radiatingAngles = [30 10; 20 0]'; y = radiator(sig,radiatingAngles);

Radiate signals from a 3-element antenna array. Each antenna radiates a separate signal in a separate direction.

array = phased.ULA('NumElements',3); radiator = phased.Radiator('Sensor',array,'OperatingFrequency',1e9,...'CombineRadiatedSignals',false); sig = [1 2 3; 2 8 -1]; radiatingAngles = [10 0; 20 5; 45 2]'; y = radiator(sig,radiatingAngles)
y =2×31 2 3 2 8 -1

使用双极化系统获得目标scattering information. Simulate a transmitter and receiver where the vertical and horizontal components are transmitted successively using the input ports of the transmitter. The signals from the two polarization output ports of the receiver are then used to determine the target scattering matrix.

scmat = [0 1i; 1i 2]; radiator = phased.Radiator('Sensor',...phased.CustomAntennaElement('SpecifyPolarizationPattern',true),...'Polarization','Dual'); target = phased.RadarTarget('EnablePolarization',true,'ScatteringMatrix',...scmat); collector = phased.Collector('Sensor',...phased.CustomAntennaElement('SpecifyPolarizationPattern',true),...'Polarization','Dual'); xh = 1; xv = 1;

Transmit a horizontal component and display the reflected Shh and Svh polarization components.

x = radiator(xh,0,[0;0],eye(3)); xrefl = target(x,[0;0],eye(3)); [Shh,Svh] = collector(xrefl,[0;0],eye(3))
Shh = 0
Svh = 0.0000 + 3.5474i

Transmit a vertical component and display the reflected Shv and Svv polarization components.

x = radiator(0,xv,[0;0],eye(3)); xrefl = target(x,[0;0],eye(3)); [Shv,Svv] = collector(xrefl,[0;0],eye(3))
Shv = 0.0000 + 3.5474i
Svv = 7.0947

References

[1] Van Trees, H.Optimum Array Processing. New York: Wiley-Interscience, 2002.

Extended Capabilities

Version History

Introduced in R2011a