Engee documentation

GSC Beamformer

Generalised side lobe suppressor.

gsc beamformer

Description

The GSC beamformer implements generalised sidelobe cancellation (GSC). The GSC beamformer separates the incoming signal array and sends it through the normal beamformer path and the sidelobe cancellation path. The algorithm first pre-tunes the array to the beamformer direction and then adaptively selects filter weights to minimise the power at the output of the side lobe suppression path. The algorithm uses the least mean squares (LMS) method to compute the adaptive weights. The final signal generated by the beam is the difference between the outputs of the two paths.

Ports

Input

X - input signal
complex matrix M by N

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

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

Support for complex numbers: Yes

Ang - directions of output signal formation
real vector 2 by 1

Signal emission directions given as a real matrix 2 by 1 in the form of [AzimuthAngle;ElevationAngle]. The azimuth angle shall lie in the range of -180° to 180° inclusive. The elevation angle shall lie in the range of -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.

Output

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

Output signal returned as a complex vector by 1, where is the number of samples of the signal.

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

Support for complex numbers: Yes

Parameters

Main

Signal propagation speed (m/s) - signal propagation speed, m/s
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 from upstream blocks
On (by default) | Off

Select this parameter to inherit the sample rate from upstream blocks. Otherwise, specify the sampling frequency using the Sample rate (Hz) parameters.

Data types: Bool.

Sample rate (Hz) - sampling rate of the signal
1e6 (By default) | positive scalar

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

Dependencies

To use this parameters, uncheck Inherit sample rate.

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

Signal path FIR filter length - order of FIR filter on the signal path
1 (by default) | positive integer

The order of the FIR filter on the signal path, specified as a positive integer. The FIR filter is a delta function.

Adaptive filter step size - adaptive LMS filter step size coefficient
0.1 (by default) | `positive scalar `

The adaptive filter step size coefficient, specified as a positive scalar. This value, divided by the total power in the side lobe suppression path, determines the actual adaptive filter step size used by the LMS algorithm.

Beamforming direction (deg) - beamforming directions
[0; 0] (By default) | ` real matrix 2 by 1`

Beamforming directions given as a 2-by-1 real matrix, where each column is [AzimuthAngle;ElevationAngle]. The units of the angle are degrees. The azimuth angle must lie between −180° and 180°. Elevation angle must lie in the range from −90° to 90°. 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.

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

Source of beamforming direction, set as Property or Input port.

  • Property - the direction is specified using the Beamforming direction (deg) parameters.

  • Input port - the direction is defined by the Ang port input.

Sensor Array

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

Array specification method, 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 - selects 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 must lie in the range from −90° up to and including 90° 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.

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 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 - array geometry
ULA (by default) | URA | UCA | Conformal Array

The geometry of the array, specified as:

  • ULA is a uniform linear array.

  • URA - uniform rectangular array.

  • UCA - uniform circular array.

  • Conformal Array - arbitrary arrangement of elements.

Number of elements - number of array elements
2 for ULA arrays and 5 for UCA arrays (by default) | ` an integer greater than or equal to 2'.

The number of array elements for ULA or UCA arrays, specified as an integer greater than or equal to 2.

Dependencies

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

Array size - URA array sizes
[2 2] (by default) | ` positive integer` | ` vector of positive integers 1 by 2`

URA array sizes specified as a positive integer or a vector of positive integers 1 by 2.

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

  • If the array size is an integer, the array has the same number of rows and columns.

For URA, array elements are indexed from top to bottom by the leftmost column and then proceed to the next columns from left to right. The figure shows an array for which the Array size parameters has the value [3 2], that is, it has three rows and two columns.

mvdr beamformer 1

Dependencies

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

Element spacing (m) - the distance between array elements
` 0.5 for ULA arrays and [0.5 0.5] for URA arrays (by default)` | ` positive scalar for ULA or URA arrays | ` positive integer vector 1 by 2 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 used if the block only supports ULA arrays.

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

Lattice of URA element positions specified as rectangular or triangular.

  • Rectangular - aligns all elements by rows and columns.

  • Triangular - shifts elements of the even row of the rectangular lattice 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 - the direction of the array normal
x for URA arrays or z for UCA arrays (by default) | y

Array normal direction specified as x, y or z.

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

  • x - array elements lie in the yz-plane. The angular coordinate vectors of all elements are directed along the x-axis.

  • y - array elements lie in the zx-plane. The vectors of angular coordinates of all elements are directed along the y-axis.

  • z - array elements lie in the xy-plane. The vectors of angular coordinates of all elements are directed along the z-axis.

Dependencies

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

Radius of UCA (m) - radius of UCA array
0.5 (by default) | positive scalar.

Radius of UCA array, positive scalar.

Dependencies

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

Element positions (m) - positions of conformal array elements
[0, 0, 0, 0] (by default) | ` real matrix 3 by N`

The positions of the elements of a conformal array given as a 3-by real-value matrix, 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 elements of conformal array elements
[0, 0] | `vector-column 2 by 1 | matrix 2 by N

The direction of the vectors of normals of the elements of a conformal array, given as a vector-column 2 by 1 or a matrix 2 by . denotes the number of elements in the array. For a matrix, each column specifies the direction of the normal of the corresponding element in the form [azimuth,elevation] with respect to the local coordinate system. In the local coordinate system, the positive x-axis coincides with the direction of the normal to the conformal array. 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 from each other by certain transformations. These transformations may include translation, azimuth rotation, and elevation rotation. However, you cannot use transformations that require rotation with respect to the direction of the normal.

Dependencies

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

Taper - change of directional pattern 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.

Read more about generalised side lobe suppression

The generalised side lobe suppressor (GSC) is an efficient implementation of a linear limiting minimum variance (LCMV) beamformer. The LCMV beamformer minimises the output power of the array while maintaining power in one or more specified directions. This type of beamformer is called a constrained beamformer. It is possible to compute the exact weights for a constrained beamformer, but the computation will be costly if the number of elements is large. The computation requires the inversion of a large spatial covariance matrix. The GSC algorithm transforms the constrained LCMV adaptive optimisation problem into an unconstrained adaptive problem, which simplifies its implementation.

In the GSC algorithm, the incoming sensor data is divided into two signal paths as shown in the block diagram. The upper path is a conventional beamformer. The lower path is an adaptive unconstrained beamformer, which aims to minimise the output power of the GSC. The GSC algorithm consists of the following steps:

  • Pre-alignment of the element sensor data by temporally shifting the incoming signals. Time prealignment aligns all the element sensor signals. The time shift depends on the angle of the incoming signal.

  • Passing pre-processed signals through the upper path into a conventional beamformer with fixed weights .

  • Feed the pre-processed signals through the lower path into a blocking matrix . The blocking matrix is orthogonal to the signal and removes the signal from the lower path.

  • Filtering the lower path signals through a set of FIR filters. The Signal path FIR filter length parameter specifies the length of the filters. Filter coefficients are weights of adaptive filters .

  • Calculating the difference between the upper and lower signal paths. This difference is the GSC output signal generated by the beam.

  • Return the generated output beam back to the filter. Adaptation of the filter weighting coefficients using the least mean squares (LMS) method. The adaptive LMS step size is the value specified in the Adaptive filter step size parameters divided by the total signal power.

gsc beamformer 1