Engee documentation

MUSIC Spectrum

A two-dimensional MUSIC spatial spectrum estimator.

music spectrum 1

Description

The MUSIC Spectrum block uses the MUltiple SIgnal Classification (MUSIC) algorithm to estimate the spatial spectrum of incoming narrowband signals.

The block additionally calculates the direction of arrival of a given number of signals by finding spectrum peaks.

Ports

Input

Port 1 - received signal
complex matrix M by N | real matrix M by N

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

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

Support for complex numbers: Yes

Output

Y - two-dimensional spatial spectrum
`non-negative real matrix P on Q

MUSIC two-dimensional spatial spectrum returned as a non-negative real matrix P on Q.

Each entry represents the magnitude of the estimated MUSIC spatial spectrum. Each entry corresponds to an angle given by the parameters Azimuth scan angles (deg) and Elevation scan angles (deg).

P is equal to the length of the vector specified in the Azimuth scan angles (deg) parameter, and Q is equal to the length of the vector specified in the Elevation scan angles (deg) parameter.

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

Ang - directions of signals arrival
non-negative real matrix 2 on L

Signal arrival directions returned as a real matrix 2 on L.

L is the number of signals given by the Number of signals parameters. The angle of the direction of arrival is determined by the azimuth and elevation angles of the source relative to the local array coordinate system. The first row of the matrix contains the azimuth angles and the second row contains the elevation angles. If the object cannot detect peaks in the spectrum, it will return NaN.

The units of angles are degrees.

Dependencies

To use this port, check the Enable DOA output parameters.

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

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 m/s.

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

Operating frequency (Hz) - system operating frequency
3e8 (By default) | positive scalar

The operating frequency of the system specified as a positive scalar.

The unit of measurement is hertz.

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

Forward-backward averaging - enable forward-backward averaging
` disabled (by default)` | ` enabled`

Select this checkbox to use forward-backward averaging to estimate the covariance matrix for antenna element arrays with conjugate-symmetric array manifold structure.

Azimuth scan angles (deg) - azimuth scan angles
-90:90 (by default) | real scalar | real vector

Azimuth scan angles specified as a real vector. Angle values are specified in ascending order and must lie between -180° and 180° inclusive.

The units of measurement are degrees.

Elevation scan angles (deg) - scan angles by height
0 (by default) | real scalar | real vector.

Elevation scan angles specified as a scalar or string vector with real values. The values of the angles are specified in ascending order and must lie in the range from -90° to 90° inclusive.

The units of measurement are degrees.

Enable DOA output - outputs arrival directions through the output port
off (by default) | on

Select this check box to output the arrival directions of incoming signals (DOA) through the Ang output port.

Number of signals - the expected number of incoming signals
1 (By default) | positive integer

Specify the expected number of signals to estimate the directions of arrival of incoming signals (DOA) as a positive integer scalar number.

Dependencies

To use this parameter, select the Enable DOA output checkbox.

Sensor Array

Specify sensor array as - method to specify the array
Array (no subarrays)

Method of specifying the array specified as Array (no subarrays).

  • Array (no subarrays) - block parameters are used to set the array.

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 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 directional pattern in three-dimensional space.

Dependencies

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

Array Parameters

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

The array geometry specified as one of:

  • ULA - Uniform linear array,

  • URA - Uniform rectangular array,

  • UCA - Uniform circular array,

  • Conformal Array - arbitrary arrangement of elements.

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

The number of ULA antenna elements specified as an integer greater than or equal to 2.

Dependencies

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

Element spacing (m) is the distance between antenna elements in the array
0.5 for ULA arrays (by default) | positive scalar for ULA arrays | `two-element vector of positive values for URA arrays.

Distance between neighbouring antenna elements:

  • ULA - specify the distance between two neighbouring antenna 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 row and column spacing are equal. If Element spacing (m) is a vector, the vector is [SpacingBetweenArrayRows,SpacingBetweenArrayColumns].

Dependencies

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

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

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

Dependencies

To enable this parameter, set the Geometry parameter to ULA.

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

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

  • If the Array size parameters is a 1 by 2 vector, the vector is of the form [NumberOfArrayRows,NumberOfArrayColumns].

  • If the Array size parameters is an integer, then the array has the same number of elements in each row and each column.

For URA, 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.

In this figure, an array size value of [3,2] creates an array with three rows and two columns.

music spectrum 1

Dependencies

To enable this parameter, set the Geometry parameters to URA.

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

Lattice of URA element positions specified as rectangular or triangular.

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

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

Dependencies

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

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 array normal direction.

Array normal parameter value Element positions and aiming directions

x

The elements of the array lie in the yz-plane. All element aiming vectors are directed along the x-axis.

y

The array elements lie in the zx-plane. All element sight vectors are directed along the y-axis.

z

The elements of the array lie in the xy plane. The aim vectors of all elements are directed along the z axis.

Dependencies

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

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.

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

Positions of elements in the conformal array given as a 3-by-N matrix of real values, where N 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 local coordinate system of the array. The origin of the local coordinate system is (0, 0, 0).

The units of measurement are metres.

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

Dependencies

To enable 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 array, given as a 2-by-1 column vector or a 2-by-N matrix.

N 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 x-axis with the normal direction 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 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.

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

Dependencies

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