Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

**MathWorks Machine Translation**

The automated translation of this page is provided by a general purpose third party translator tool.

MathWorks does not warrant, and disclaims all liability for, the accuracy, suitability, or fitness for purpose of the translation.

MUSIC spatial spectrum estimator for ULA

**Library:**Phased Array System Toolbox / Direction of Arrival

The ULA MUSIC Spectrum block estimates the spatial spectrum of incoming narrowband signals using the MUSIC algorithm. The algorithm computes the MUSIC pseudo-spectrum of a ULA by scanning a region of broadside angles. The block optionally calculates the direction of arrival (DOA) of a specified number of signals by estimating peaks of the spectrum.

`Port 1`

— Received signalReceived signal, specified as an *M*-by-*N* complex-valued
matrix. The quantity *M* is the number of sample
values (snapshots) contained in the signal and *N* is
the number of sensor elements in the array.

The size of the first dimension of this input matrix can vary to simulate a changing signal length, such as a pulse waveform with variable pulse repetition frequency.

**Data Types: **`double`

**Complex Number Support: **Yes

`Y`

— MUSIC spatial spectrumnon-negative, real-valued column vector

MUSIC spatial spectrum, returned as a non-negative, real-valued
column vector representing the magnitude of the estimated MUSIC spatial
spectrum. Each entry corresponds to an angle specified by the **Scan
angles (deg) ** parameter.

**Data Types: **`double`

`Ang`

— Directions of arrivalnon-negative, real-valued column vector

Directions of arrival of the signals, returned as a real-valued
row vector. The direction of arrival angle is the broadside angle
between the source direction and the array axis. Angle units are in
degrees. The length of the vector is the number of signals specified
by the `Number of signals`

parameter.

Select the **Enable DOA output** parameter
to enable this output port.

**Data Types: **`double`

`Signal propagation speed (m/s)`

— Signal propagation speed`physconst('LightSpeed')`

(default) | real-valued positive scalarSignal propagation speed, specified as a real-valued positive
scalar. The default value of the speed of light is the value return
by `physconst('LightSpeed')`

.

`Operating frequency (Hz)`

— System operating frequency`300.0e6`

(default) | positive real scalarSpecify the operating frequency of the system as a positive scalar. Units are in Hz.

`Forward-backward averaging`

— Enable forward-backward averagingoff (default) | on

Select this parameter to use forward-backward averaging to estimate the covariance matrix for sensor arrays with a conjugate symmetric array manifold structure.

`Spatial smoothing`

— Enable spatial smoothing`0`

(default) | non-negative integerSpecify the amount of averaging used by spatial smoothing to
estimate the covariance matrix as a nonnegative integer. Each increase
in smoothing handles one extra coherent source, but reduces the effective
number of elements by one. The maximum value of this parameter is *N
– 2*, where *N* is the number of
sensors in the ULA.

`Scan angles (deg)`

— Search angles for spectrum peaks`-90:90`

(default) | real-valued row vectorSpecify the scan angles in degrees as a real-valued row vector. The angles are array broadside angles and must lie between –90° and 90°, inclusive. You must specify the angles in increasing order.

`Enable DOA output`

— Output directions of arrival through output portoff (default) | on

Select this parameter to output the signals directions of arrival
(DOA) through the **Ang** output port.

`Number of signals`

— Expected number of arriving signals`1`

(default) | positive integerSpecify the expected number of signals for DOA estimation as a positive scalar integer.

`Simulate using`

— Block simulation method`Interpreted Execution`

(default) | `Code Generation`

Block simulation, specified as `Interpreted Execution`

or ```
Code
Generation
```

. If you want your block to use the MATLAB^{®} interpreter,
choose `Interpreted Execution`

. If you want
your block to run as compiled code, choose `Code Generation`

.
Compiled code requires time to compile but usually runs faster.

Interpreted execution is useful when you are developing and
tuning a model. The block runs the underlying System
object™ in MATLAB.
You can change and execute your model quickly. When you are satisfied
with your results, you can then run the block using ```
Code
Generation
```

. Long simulations run faster than in interpreted
execution. You can run repeated executions without recompiling. However,
if you change any block parameters, then the block automatically recompiles
before execution.

When setting this parameter, you must take into account the
overall model simulation mode. The table shows how the **Simulate
using** parameter interacts with the overall simulation mode.

When the Simulink^{®} model is in `Accelerator`

mode,
the block mode specified using **Simulate using** overrides
the simulation mode.

**Acceleration Modes**

Block Simulation | Simulation Behavior | ||

`Normal` | `Accelerator` | `Rapid Accelerator` | |

`Interpreted Execution` | The block executes using the MATLAB interpreter. | The block executes using the MATLAB interpreter. | Creates a standalone executable from the model. |

`Code Generation` | The block is compiled. | All blocks in the model are compiled. |

**Data Types: **`char`

`Specify sensor array as`

— Method to specify array`Array (no subarrays)`

(default) | `MATLAB expression`

Method to specify array, specified as ```
Array (no
subarrays)
```

or `MATLAB expression`

.

`Array (no subarrays)`

— use the block parameters to specify the array.`MATLAB expression`

— create the array using a MATLAB expression.

`Expression`

— MATLAB expression used to create an arrayPhased Array System Toolbox™ array System object

MATLAB expression used to create an array, specified as a valid Phased Array System Toolbox array System object.

**Example: **`phased.URA('Size',[5,3])`

To enable this parameter, set **Specify sensor array
as** to `MATLAB expression`

.

`Element type`

— Array element types`Isotropic Antenna`

(default) | `Cosine Antenna`

| `Custom Antenna`

| `Omni Microphone`

| `Custom Microphone`

Antenna or microphone type, specified as one of the following:

`Isotropic Antenna`

`Cosine Antenna`

`Custom Antenna`

`Omni Microphone`

`Custom Microphone`

`Operating frequency range (Hz)`

— Operating frequency range of the antenna or microphone element`[0,1.0e20]`

(default) | real-valued 1-by-2 row vectorSpecify the operating frequency range of the antenna or microphone
element as a 1-by-2 row vector in the form `[LowerBound,UpperBound]`

.
The element has no response outside this frequency range. Frequency
units are in Hz.

To enable this parameter, set **Element type** to ```
Isotropic
Antenna
```

, `Cosine Antenna`

, or ```
Omni
Microphone
```

.

`Operating frequency vector (Hz)`

— Operating frequency range of custom antenna or microphone elements`[0,1.0e20]`

(default) | real-valued row vectorSpecify the frequencies at which to set antenna and microphone
frequency responses as a 1-by-*L* row vector of increasing
real values. The antenna or microphone element has no response outside
the frequency range specified by the minimum and maximum elements
of this vector. Frequency units are in Hz.

To enable this parameter, set **Element type** to ```
Custom
Antenna
```

or `Custom Microphone`

. Use **Frequency
responses (dB)** to set the responses at these frequencies.

`Baffle the back of the element`

— Set back response of an `Isotropic Antenna`

element or an `Omni Microphone`

element to zerooff (default) | on

Select this checkbox to baffle the back response of the element. When backbaffled, the responses at all azimuth angles beyond ±90° from broadside are set to zero. The broadside direction is 0° azimuth angle and 0° elevation angle.

To enable this checkbox, set **Element type** to ```
Isotropic
Antenna
```

or `Omni Microphone`

.

`Exponent of cosine pattern`

— Exponents of azimuth and elevation cosine patterns`[1.5 1.5]`

(default) | nonnegative scalar | real-valued 1-by-2 matrix of nonnegative valuesSpecify the exponents of the cosine pattern as a nonnegative
scalar or a real-valued 1-by-2 matrix of nonnegative values. When
you set **Exponent of cosine pattern** to a 1-by-2
vector, the first element is the exponent for the azimuth direction
cosine pattern, and the second element is the exponent for the elevation
direction cosine pattern. When you set this parameter to a scalar,
both the azimuth direction cosine pattern and the elevation direction
cosine pattern are raised to the same power.

To enable this parameter, set **Element type** to ```
Cosine
Antenna
```

.

`Frequency responses (dB)`

— Antenna and microphone frequency response`[0,0]`

(default) | real-valued row vectorFrequency response of a custom antenna or custom microphone
for the frequencies defined by the **Operating frequency vector
(Hz)** parameter. The dimensions of **Frequency responses
(dB)** must match the dimensions of the vector specified
by the **Operating frequency vector (Hz)** parameter.

To enable this parameter , set **Element type** to ```
Custom
Antenna
```

or `Custom Microphone`

.

`Azimuth angles (deg)`

— Azimuth angles of antenna radiation pattern `[-180:180]`

(default) | real-valued row vectorSpecify the azimuth angles at which to calculate the antenna
radiation pattern as a 1-by-*P* row vector. *P* must
be greater than 2. Azimuth angles must lie between –180°
and 180°, inclusive, and be in strictly increasing order.

To enable this parameter, set **Element type** to ```
Custom
Antenna
```

.

`Elevation angles (deg)`

— Elevation angles of antenna radiation pattern`[-90:90]`

(default) | real-valued row vectorSpecify the elevation angles at which to compute the radiation
pattern as a 1-by-*Q* vector. *Q* must
be greater than 2. Angle units are in degrees. Elevation angles must
lie between –90° and 90°, inclusive, and be in strictly
increasing order.

To enable this parameter, set **Element type** to ```
Custom
Antenna
```

.

`Radiation pattern (dB)`

— Custom antenna radiation pattern`zeros(181,361)`

| complex-valued matrix | complex-valued MATLAB arrayMagnitude of the combined polarized antenna radiation pattern,
specified as a *Q*-by-*P* matrix
or a *Q*-by-*P*-by-*L* array.
The value of *Q* must equal the value of *Q* specified
by **Elevation angles (deg)**. The value of *P* must
equal the value of *P* specified by **Azimuth
angles (deg)**. The value of *L* must equal
the value of *L* specified by **Operating
frequency vector (Hz)**.

To enable this parameter, set **Element type** to ```
Custom
Antenna
```

.

`Polar pattern frequencies (Hz)`

— Custom microphone response frequencies1e3 (default) | real scalar | real-valued 1-by-

Response frequencies of the custom microphone of the polar pattern,
specified as a real scalar or real-valued 1-by-*L* vector.
The response frequencies lie within the frequency range specified
by the **Operating frequency vector (Hz)** vector.

To enable this parameter, set **Element type** is
set to `Custom Microphone`

.

`Polar pattern angles (deg)`

— Polar pattern response angles`[-180:180]`

(default) | real-valued -by-Specify the polar pattern response angles, as a 1-by-*P* vector.
The angles are measured from the central pickup axis of the microphone
and must be between –180° and 180°, inclusive.

To enable this parameter, set **Element type** to ```
Custom
Microphone
```

.

`Polar pattern (dB)`

— Custom microphone polar response`zeros(1,361)`

(default) | real-valued Specify the magnitude of the custom microphone element polar
patterns as an *L*-by-*P* matrix. *L* is
the number of frequencies specified in **Polar pattern frequencies
(Hz)**. *P* is the number of angles specified
in **Polar pattern angles (deg)**. Each row of the
matrix represents the magnitude of the polar pattern measured at the
corresponding frequency specified in **Polar pattern frequencies
(Hz)** and all angles specified in **Polar pattern
angles (deg)**. Assume that the pattern is measured in the
azimuth plane. In the azimuth plane, the elevation angle is 0°
and the central pickup axis is 0° degrees azimuth and 0°
degrees elevation. Assume also that the polar pattern is symmetric
around the central axis. You can construct the microphone’s
response pattern in 3-D space from the polar pattern.

To enable this parameter, set **Element type** to ```
Custom
Microphone
```

.

`Number of elements`

— Number of array elements`2`

(default) | positive integerThe number of array elements for ULA arrays, specified as an integer greater than or equal to two.

`Element spacing`

— Distance between ULA elements`0.5`

(default) | positive scalarDistance between adjacent ULA elements, specified as a positive scalar. Units are in meters.

`Array axis`

— Linear axis direction of ULA`y`

(default) | `x`

| `z`

Linear axis direction of ULA, specified as `y`

, `x`

,
or `z`

. Then, all ULA array elements are
uniformly spaced along this axis in the local array coordinate system.

`Taper`

— Array element tapers1 (default) | complex scalar | complex-valued row vector

Specify element tapering as a complex-valued scalar or a complex-valued
1-by-*N* row vector. In this vector, *N* represents
the number of elements in the array.

Also known as *element weights*, tapers
multiply the array element responses. Tapers modify both amplitude
and phase of the response to reduce sidelobes or steer the main response
axis.

If **Taper** is a scalar, the same weight is
applied to each element. If **Taper** is a vector,
a weight from the vector is applied to the corresponding sensor element.
The number of weights must match the number of elements of the array.

**Data Types: **`double`

You clicked a link that corresponds to this MATLAB command:

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

Was this topic helpful?

You can also select a location from the following list:

- Canada (English)
- United States (English)

- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)

- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)