Engee documentation

Frost Beamformer

Non-tunable directional pattern shaper.

frost beamformer

Description

The Frost Beamformer unit implements a non-tunable beamformer. The block includes a time domain MVDR beamformer based on FIR filter groups. The MVDR beamformer directs the beam in a given direction, while the FIR filters preserve the power of the input signal.

Ports

Input

X - input signal
complex matrix M over N | real matrix M over N

The input signal given as a matrix M by N, where M is the number of samples of the signal and N is the number of elements in the antenna array.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool.

Support for complex numbers: Yes

XT - training signal
complex matrix M over N | real matrix M over N

The input signal given as a matrix M by N, where M is the number of samples of the signal and N is the number of elements in the antenna array.

Dependencies

To use this port, select the Enable training data input checkbox.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool.

Support for complex numbers: Yes

Ang - beam forming direction
real vector 2 by 1

Beam formation direction specified as a real vector 2 by 1, having the form [AzimuthAngle;ElevationAngle]. The units of measurement of the angle are degrees. The azimuth angle must lie in the range -180° to 180° inclusive, and the elevation angle must lie in the range -90° to 90° inclusive. The angles are specified relative to the local coordinate system of the array.

Dependencies

To use this port, set the Source of beamforming direction parameters to `Input port'.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool.

Output

Y - output signal generated by the beam
`complex vector M at 1

The output signal generated by the beam is returned as a complex vector by 1. The value is the number of signal samples.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool.

Support for complex numbers: Yes

W - beamforming weights
`complex vector N by 1'.

Weight coefficients in beamforming returned as a complex vector N by 1. The value N is the number of elements in the antenna array. If the Specify sensor array as parameters are set to Partitioned array or Replicated subarray, N represents the number of subarrays.

Dependencies

To use this port, select the Enable weights output checkbox.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool.

Support for complex numbers: Yes

Parameters

Main

Signal propagation speed - speed of signal propagation, m/c
3e8 (by default) | positive scalar

Signal propagation speed as a real positive scalar. By default, the value of the speed of light is 3e8 m/c.

The unit of measurement is metres per second.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64.

Inherit sample rate - inherit sample rate
On (By default) | Off

Select the checkbox to inherit sample rate from upstream blocks. Otherwise, set the sample rate using the Sample rate (Hz) parameters.

Sample rate (Hz) - sampling rate
1e6 (By default) | Positive scalar

The sampling frequency of the signal as a positive scalar. The unit of measurement is hertz.

Dependencies

To use this parameters, clear the Inherit sample rate checkbox.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool.

FIR filter length - FIR filter length
1 (by default) | `positive integer `

The length of the FIR filter used to process the signal from each element of the antenna array is set as a positive integer.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool.

Diagonal loading factor - diagonal loading factor to ensure stability
`non-negative scalar

Specify the diagonal loading factor as a non-negative scalar. Diagonal loading is a technique used to achieve reliable beamforming performance, especially when the training signal sample is small.

Enable training data input - the ability to use training data
Off (By default) | On

Select this check box to set additional training data for the `XT' input port. To use the input signal as training data, deselect the check box to remove this port.

Source of beamforming direction - source of beamforming direction
Property (By default) | Input port.

The source of beamforming direction specified as Property or Input port. If Property is selected for the Source of beamforming direction parameter, the direction is specified using the Beamforming direction (deg) parameter. If Input port is selected, the direction is determined by the Ang port input.

Beamforming direction (deg) - beamforming direction
real vector 2 by 1

Beamforming direction specified as a 2-by-1 real vector having the form [AzimuthAngle;ElevationAngle]. The azimuth angle shall lie in the range from −180°` to 180°. The elevation angle must lie in the range from −90°` to 90°. The angles are specified relative to the local coordinate system of the array.

Dependencies

To use this parameter, set the Source of beamforming direction parameter to Property.

Enable weights output - option to output beamformer weights
` disabled (by default)` | ` enabled`

Select this checkbox to get beamformer weights from the output port .

Simulate using - block modelling method Interpreted Execution (by default)

Block modelling specified as Interpreted Execution or Code Generation. If you want your block to use the Engee interpreter, select Interpreted Execution. If you want your block to execute as compiled code, select Code Generation. Compiled code takes time to compile, but usually executes faster.

Interpreted execution is useful for model development and tuning. The block runs a basic system object in Engee. You can quickly modify and execute your model. When you are satisfied with the results, you can run block using code generation. Long simulations run faster with Code Generation than with interpreted execution. You can rerun without recompiling, but if you change any parameters of the block, the block is automatically recompiled before execution.

This table shows how the Simulate using parameters affect the overall simulation behaviour.

When the Engee model is in Accelerator mode, the block mode specified using the Simulate using parameter overrides the simulation mode.

Acceleration Modes

Block Simulation

Simulation View

Normal

Accelerator

Rapid Accelerator.

Interpreted Execution

The block is executed using the Engee interpreter.

The block is executed using the Engee interpreter.

Creates a standalone executable from the model.

Code Generation

The block is compiled.

All blocks in the model are compiled.

Usage in program code

Block parameter

SimulateUsing

Type

enum

Values

Interpreted Execution, Code Generation

* By default*

Interpreted Execution.

Sensor Array

Specify sensor array as - method of specifying the array
`Array (no subarrays) (by default)

Specify a sensor element or sensor array. A sensor array can also contain subarrays or be partitioned.

Available values:

  • Array (no subarrays).

Element

Element type - types of antenna array elements
Isotropic Antenna (by default) | Cardioid Antenna | Cosine Antenna | Custom Antenna | Gaussian Antenna | Sinc Antenna | Omni Microphone | Custom Microphone

Type of antenna array element.

Available values:

  • Isotropic Antenna.

  • Cardioid Antenna

  • `Cosine Antenna

  • `Custom Antenna

  • `Gaussian Antenna

  • `Sinc Antenna

  • `Omni Microphone

  • `Custom Microphone

Operating frequency range (Hz) - operating frequency range of the antenna array element
[0,1e20] (by default) | ` real vector-string 1 by 2`

The operating frequency range of the antenna array element as a 1-by-2 string-vector in the form of [LowerBound,UpperBound]. The element has no response outside this frequency range. Frequency measurement units are Hz.

Dependencies

To use this parameter, set the Element type parameters to Isotropic Antenna, Cosine Antenna or Omni Microphone.

Baffle the back of the element - consider radiation through the rear beam of the pattern to the rear hemisphere of the Isotropic Antenna element or Omni Microphone.
Off (By default) | `on

Set this flag to exclude radiation to the rear hemisphere. The response from the rear hemisphere at all azimuth angles outside the ±90° interval from the broadside are set to zero. The broadside direction is defined as an azimuth angle of 0° and a place angle of 0°.

Dependencies

To use this parameter, set the Element type parameters to Isotropic Antenna or Omni Microphone.

Null axis direction - the direction of the axis along the null radiation.
-x (By default) | +x | +y | -y | +z | -z.

Axis direction along the null radiation.

Dependencies

To use this parameter, set the Element type parameters to Cardioid Antenna.

Exponent of cosine pattern - exponent of exponent degree when specifying the shape of cosine pattern
[1.5, 1.5] (By default) | non-negative scalar | real matrix of non-negative values 1 by 2.

The exponent of the degree of the exponent of cosine model as a non-negative scalar or a 1-by-2 real matrix of non-negative values. If the Exponent of cosine pattern is a 1 by 2 vector, the first element is the exponent of the exponent degree in the azimuth direction and the second element is the exponent of the exponent degree in the angle-of-place direction. When this parameters is scalar, the cosines in the azimuth and elevation directions are raised to the same degree.

Dependencies

To use this parameter, set the Element type parameter to Cosine Antenna.

Operating frequency vector (Hz) - array of operating frequencies of the antenna array element
[0,1e20] (by default) | real string vector

The array of operating frequencies of the antenna array element as a string vector 1 on of increasing real values. The element has no response outside the frequency range given by the minimum and maximum elements of this vector. The units of frequency measurement are Hz.

Dependencies

To use this parameter, set the Element type parameters to Custom Antenna or Custom Microphone. To set the response at these frequencies, use the Frequency responses (dB) parameters.

Frequency responses (dB) - frequency responses of the antenna array element
[0,0] (by default)| real vector-string.

The frequency response of custom antenna array elements is determined by the Operating frequency vector (Hz) parameters. The dimensions of the Frequency responses (dB) vector must match the dimensions of the vector defined by the Operating frequency vector (Hz) parameters.

Dependencies

To use this parameter, set the Element type parameters to Custom Antenna or Custom Microphone.

Input Pattern Coordinate System - select the coordinate system of the custom antenna pattern
az-el (by default) | phi-theta.

Selects the user antenna pattern coordinate system, either az-el or phi-theta is specified. When az-el is selected, the Azimuth angles (deg) and Elevations angles (deg) parameters are used to specify the coordinates of the directional pattern points. When the `phi-theta parameter is specified, the Phi angle (deg) and Theta angles (deg) parameters are used to specify the coordinates of the pattern points.

Dependencies

To use this parameter, set the Element type parameters to Custom Antenna.

Azimuth angles (deg) - azimuth angles of the antenna radiation pattern
[-180:180] (By default) | real vector-string

The azimuth angle values for which the antenna radiation pattern will be calculated as vector-string 1 at . must be greater than 2. The values of the azimuth angles must lie in the range from −180° to 180° inclusive and be in strictly ascending order.

Dependencies

To use this parameter, set the Element type parameter to Custom Antenna and the Input Pattern Coordinate System parameter to az-el.

Elevation angles (deg) - values of antenna pattern location angles
[-90:90] (by default) | real vector-string.

The values of the place angles at which you want to calculate the radiation pattern as vector 1 at . must be greater than 2. The units of measurement of the angles are degrees. The elevation angles should lie in the range from −90° to 90° inclusive and should be in strictly ascending order.

Dependencies

To use this parameter, set the Element type parameter to Custom Antenna and the Input Pattern Coordinate System parameter to az-el.

Phi Angles (deg) - values of Phi angles of the antenna pattern
[0:360] (by default) | ` real vector-line 1 on P`

Angular coordinates Phi of the points at which the antenna radiation pattern is specified. Defined as a real vector-string 1 on . must be greater than 2. The units of measurement of the angles are degrees. The values of the angles Phi must lie in the range from 0° to 360° and be arranged in strictly ascending order.

Dependencies

To use this parameter, set the Element type parameter to Custom Antenna and the Input Pattern Coordinate System parameter to phi-theta.

Theta Angles (deg) - values of Theta angles of the antenna radiation pattern
[0:180] (by default) | ` real vector-line 1 on Q`

Theta angular coordinates of the points where the antenna radiation pattern is specified. Defined as a real vector-string 1 on . must be greater than 2. The units of measurement of the angles are degrees. Values of the angles Theta must lie in the range from 0° to 180° and be arranged in strictly ascending order.

Dependencies

To use this parameter, set the Element type parameter to Custom Antenna and the Input Pattern Coordinate System parameter to phi-theta.

Magnitude pattern (dB) is the magnitude of the antenna pattern
zeros(181,361) (by default) | real matrix Q on P | real array Q on P on L

Antenna pattern magnitude given as a matrix by or an array by by .

  • If the Input Pattern Coordinate System parameter is set to az-el, then is equal to the length of the vector defined by the Elevation angles (deg) parameter, in turn, is equal to the length of the vector defined by the Azimuth angles (deg) parameter.

  • If the Input Pattern Coordinate System parameter is set to phi-theta, then is equal to the length of the vector defined by the Theta Angles (deg) parameter, in turn, is equal to the length of the vector defined by the Phi Angles (deg) parameter.

The value of is equal to the value of the Operating frequency vector (Hz) parameters.

  • If the value of this parameter is a matrix to , then the same scheme is applied for all frequencies specified in the Operating frequency vector (Hz) parameter.

  • If the value is an array to to , each element to of the array specifies a pattern for the corresponding frequency specified in the Operating frequency vector (Hz) parameters.

Dependencies

To use this parameter, set the Element type parameters to Custom Antenna.

Phase pattern (deg) - the phase of the radiation pattern of the custom antenna
zeros(181,361) (By default) | real matrix Q on P | real array Q on P on L

The phase radiation pattern of the combined antenna, given as a matrix on or an array on on .

  • If the Input Pattern Coordinate System parameter is set to az-el, then is equal to the length of the vector defined by the Elevation angles (deg) parameter, in turn, is equal to the length of the vector defined by the Azimuth angles (deg) parameter.

  • If the Input Pattern Coordinate System parameter is set to phi-theta, then is equal to the length of the vector defined by the Theta Angles (deg) parameter, in turn, is equal to the length of the vector defined by the Phi Angles (deg) parameter.

The value of is equal to the value of the Operating frequency vector (Hz) parameters.

  • If the value of this parameter is a matrix to , then the same scheme is applied for all frequencies specified in the Operating frequency vector (Hz) parameter.

  • If the value is an array to to , each element to of the array specifies a pattern for the corresponding frequency specified in the Operating frequency vector (Hz) parameters.

Dependencies

To use this parameter, set the Element type parameters to Custom Antenna.

Align element normal with array normal - align the normal of the antenna array element with the array normal
On (By default) | Off.

If the parameters value is on, the pattern of the antenna element is rotated to align with the array normal. If off, the pattern of the element is not rotated.

If the antenna is used in an antenna array and the Input Pattern Coordinate System parameters is set to az-el, checking this checkbox rotates the pattern so that the x-axis of the element coordinate system points along the array normal. If no selection is made, the element pattern without rotation is used.

If the antenna is used in an antenna array and the Input Pattern Coordinate System parameters is set to phi-theta, checking this checkbox rotates the pattern so that the z-axis of the element coordinate system points along the array normal.

Use this parameter together with the Array Normal parameter of the URA and UCA arrays.

Dependencies

To use this parameter, set the Element type parameters to Custom Antenna.

Radiation pattern beamwidth (deg) - width of the antenna pattern beamwidth
[10, 10] (by default) | real scalar | real vector-string 1 by 2

Antenna pattern beamwidth in degrees.

Dependencies

To use this parameter, set the Element type parameters to Gaussian Antenna.

Polar pattern frequencies (Hz) - values of frequencies for polar pattern of the microphone
1e3 (By default) | real scalar | real vector-string 1 by L.

The frequency values for the polar radiation pattern are given as a real scalar or real vector-string 1 on . The frequencies lie within the frequency range specified by the parameter Operating frequency vector (Hz).

Dependencies

To use this parameter, set the Element type parameters to Custom Microphone.

Polar pattern angles (deg) - angle values for the polar pattern of the microphone
[-180:180] (by default) | real vector string 1 on P.

The angle values for the microphone’s polar pattern are specified as a vector . The angles are measured from the centre axis of the microphone and should range from −180° to 180° inclusive.

Dependencies

To use this parameter, set the Element type parameters to Custom Microphone.

Polar pattern (dB) - polar pattern of the microphone
zeros(1,361) (by default) | `real vector string 1 to L'.

Set the polar pattern magnitude of the user microphone element as a real vector-string 1 by , where is the number of frequencies specified in the Polar pattern frequencies (Hz) parameters. The string represents the polar pattern magnitude measured at the corresponding frequency specified in Polar pattern frequencies (Hz). The directional pattern is measured in the azimuth plane. In the azimuth plane, the angle of place is 0° and the centre axis is 0° in azimuth and 0° in elevation. The polar pattern is symmetrical around the centre axis. Based on the polar diagram, you can construct the microphone’s radiation pattern in three-dimensional space.

Dependencies

To use this parameter, set the Element type parameters to Custom Microphone.

Array

Geometry - lattice geometry
ULA (by default) | URA | UCA | Conformal Array

The antenna configuration specified as:

  • ULA - Uniform Linear.

  • URA - uniform rectangular.

  • UCA - uniform circular.

  • Conformal Array - arbitrary arrangement of elements.

Number of elements - number of elements in the antenna array
2 for ULA arrays and 5 for UCA arrays (by default).

Number of elements for a ULA or UCA type array, specified as an integer greater than or equal to 2.

Dependencies

To use this parameter, set the Geometry parameters to ULA or UCA.

Element spacing (m) is the distance between elements
0.5 for ULA arrays and [0.5,0.5] for URA arrays (by default) | positive scalar | positive 2 by 1 vector for URA arrays.

The distance between neighbouring elements of an array:

  • ULA - specify the distance between two neighbouring array elements as a positive scalar.

  • URA - specify the distance as a positive scalar or vector of positive values 1 by 2. If Element spacing (m) is a scalar, the distances between rows and columns are equal. If Element spacing (m) is a vector, the vector is [SpacingBetweenArrayRows,SpacingBetweenArrayColumns].

Dependencies

To use this parameter, set the Geometry parameters to ULA or URA.

Array axis - direction of the linear axis of ULA
y (By default) | x | z

The direction of the ULA linear axis specified as y, x or z. All elements of the ULA array are uniformly distributed along this axis in the local array coordinate system.

Dependencies

  • To use this parameter, set the Geometry parameter to ULA.

  • This parameter is also enabled if the block only supports ULA arrays.

Array size - the size of the URA grid
[2,2] (by default) | positive integer | a 1-by-2 vector with positive integer elements.

The size of the URA array, given as a positive integer or a 1 by 2 vector of positive integers.

If the array size is a 1-by-2 vector, the vector is [NumberOfArrayRows,NumberOfArrayColumns].

ura example

For URA the array elements are indexed from top to bottom by the leftmost column of the array and then by the following columns from left to right.

Element lattice - lattice of positions of URA elements
Rectangular (by default) | Triangular

Lattice of positions of URA elements specified as rectangular or triangular.

  • Rectangular - aligns all elements in row and column directions.

  • Triangular - shifts elements of an even row of a rectangular grid towards the positive direction of the row axis. The offset is half the distance between the elements by the row size.

Dependencies

To use this parameter, set the Geometry parameter to URA.

Array normal - direction of normal to the lattice
x for URA arrays or z for UCA arrays (by default).

The direction of normal to the lattice given as x, y or z.

Elements of planar arrays lie in a plane orthogonal to the selected array normal direction. The side view directions of the elements are directed along the normal direction.

The value of the normal to the lattice Element position and side view direction

x

The elements of the lattice lie in the -plane. All normal vectors to the elements are directed along the axis .

y

The elements of the lattice lie in the -plane. All normal vectors to the elements are directed along the axis .

z

The elements of the lattice lie in the -plane. All normal vectors to the elements are directed along the axis .

Dependencies

To use this parameter, set the Geometry parameters to URA or UCA.

Radius of UCA (m) - radius of UCA grid
0.5 (by default) | `positive scalar'.

The radius of the array UCA given as a positive scalar.

Dependencies

To use this parameter, set the Geometry parameter to UCA.

Element positions (m) - positions of elements of the conformal lattice
[0;0;0] (by default) | ` matrix of positive values of 3 by N`

The positions of the conformal lattice elements given as a matrix of real values of dimension 3 by , where is the number of elements in the conformal array. Each column of this matrix represents the position ['x';'y';'z'] of an array element in the array’s local coordinate system. The origin of the local coordinate system is (0,0,0). The units of measurement are metres.

Dependencies

To use this parameter, set the Geometry parameters to Conformal Array.

Element normals (deg) - direction of normal vectors of conformal lattice elements
[0;0] | ` vector-column 2 by 1` | ` matrix 2 by N`

The direction of the normal vectors of elements in a conformal lattice, given as a 2-by-1 column vector or a 2-by matrix . indicates the number of elements in the array. If the parameters are a matrix, each column specifies the direction of the normal of the corresponding element as [azimuth;elevation] with respect to the local coordinate system. The local coordinate system aligns the positive axis with the direction of the normal to the conformal lattice. If the parameter value is a 2-by-1 column vector, the same pointing direction is used for all array elements.

The parameters Element positions (m) and Element normals (deg) can be used to represent any arrangement in which pairs of elements differ by certain transformations. Transformations can combine translation, azimuth rotation, and elevation rotation. However, you cannot use transformations that require rotation with respect to the direction of the normal.

To use this parameter, set the Geometry parameter to Conformal Array.

Taper - change of directivity diagram of antenna array elements
1 (by default) | complex scalar | complex vector

The change of the directivity diagram of the antenna array elements is specified as a complex scalar or complex vector 1 at , where is the number of antenna array elements.

The coefficients that change the directivity pattern, also called element weights, multiply the responses of the antenna array elements. The coefficients change both the amplitude and phase of the response to reduce side lobes or the direction of the main response axis.

If the value of the Taper parameters is a scalar, the same weight is applied to each element. If Taper is a vector, then the weight from the vector is applied to the corresponding antenna array element. The number of weights must correspond to the number of antenna array elements.