GLRT Detector
Libraries:
Phased Array System Toolbox /
Detection
Description
The generalized likelihood ratio test detector (GLRT) performs detection of signals with unknown parameters in the presence of noise. Unknown parameters include signal amplitude, phase, frequency, and arrival times. The detector replaces unknown parameters by their maximum likelihood estimates under the signal absent and H0 and the alternative signal present H1 hypotheses. Then, the binary detector chooses between the null hypothesis H0 and the alternative hypothesis H1 based on the measurements. If the H0 hypothesis best accounts for the data, the detector declares that a target is not present. If the H1 hypothesis best accounts for the data, the detector declares that a target is present.
Ports
Input
X — Input data
real-valued N-by-1 vector | complex-valued N-by-1 vector | real-valued N-by-M matrix | complex-valued N-by-M matrix
Input data, specified as a real-valued or complex-valued
N-by-1 vector, or an
N-by-M real-valued or complex-valued matrix.
N is the signal length and M is the number of
data channels. Detection is performed along the columns of X
. The
size of each row M cannot change during simulation. When M
= 1, X
represents a single channel of data. When
M > 1, X
can represent N
samples from M data channels. Data streams can later be combined,
for example, by the beamforming.
The input data has a general interpretation. For example, the data can be interpreted as:
Time series – N samples of a time series
Sensor - N represents a snapshot of data samples from a set of sensors
Data Types: single
| double
Complex Number Support: Yes
Hyp — Augmented linear equality constraint matrix
real-valued R-by-(P + 1) matrix | complex-valued R-by-(P + 1) matrix
Augmented linear equality constraint matrix, specified as a real-valued or complex-valued R-by-(P + 1) matrix. The matrix takes the form [A,b] and represents the equation:
where the unknown parameters are represented byϴ. A has the rank R ≥ 1. The augmented linear equality constraint matrix expresses the null hypothesis H0.
For this signal model, the GLRT detector determines whether to reject the null
hypothesis which is expressed in the form A*ϴ = b
where A is an
R-by-P matrix with R ≤ P
and rank R ≥ 1, and b is an
R-by-1 vector. A and b are carried in the augmented linear equality constraint
matrix hyp = [A,b]. Because there are
D signal models, the GLRT detector outputs D
detection results for each column of X
Data Types: single
| double
Complex Number Support: Yes
Obs — Observation matrix
N-by-P-by-D
array
Observation matrix for the linear deterministic signal model, specified as an
N-by-P-by-D array
N > p and rank P, D is the
number of signal models, and the white Gaussian noise
is a
N-by-1 vector determined by the covariance
ncov
argument. The observation matrix is defined by
X
= obs
*param
+
noise
,
Example: 20.0
Data Types: single
| double
Complex Number Support: Yes
Ncov — Known noise power
positive scalar
Known noise power, specified as a scalar or a row vector of length
D. When ncov
is a scalar, it represents
equal known noise power for D models. When
ncov
is a row vector of length D, it
represents the known noise power for the D models,
respectively.
Example: 20.0
Dependencies
To enable this argument, set the NoiseInputPort
property to
true
.
Data Types: single
| double
Output
Y — Detection results
D-by-M logical-valued vector | 1-by-L integer-valued vector | 2-by-L integer-valued matrix
Detection results of D models for M
independent data samples returned as a D-by-M
logical-valued vector pr. The format of Y
depends on how the
OutputFormat
property is specified. By default, the
OutputFormat
property is set to 'Detection
result'
.
When OutputFormat
is 'Detection result'
,
Y
is a D-by-M matrix
containing logical detection results, where D is the number of
signal models and M is the number of columns of
X
. For each row, Y is
true
in a column if there is a detection in the corresponding
column of arg
. Otherwise, Y
is
false
.
When OutputFormat
is 'Detection index'
,
Y
is a 1-by-L
vector or a
2-by-L matrix containing detection indices, where
L is the number of detection found in the M
data samples and D models. When X
is a column
vector, Y is a 1-by-L vector and contains the
index of the detections found in the D models. When
X
is a matrix, Y
is a
2-by-L matrix, and each column of Y has the
form [detrow;detcol]
, where detrow
is the index
of the model, and detcol
is the column index of
X.
Stat — detection statistic
N-by-M (default) | 1-by-L
Detection statistics, returned as a N-by-M
matrix or 1-by-L vector. The format of stat
depends on the OutputFormat
property.
When
OutputFormat
is'Detection result'
,stat
has the same size as Y.When
OutputFormat
is'Detection index'
,stat
is a 1-by-L vector containing detection statistics for each corresponding detection in Y.
Dependencies
To enable this port, select the Output detection statistics and threshold check box.
Th — Detection threshold
scalar
Detection threshold, returned as a scalar.
Dependencies
To enable this port, select the Output detection statistics and threshold check box.
Param — Maximum likelihood estimates of signal parameters
P-by-M-by-D
array
Maximum likelihood estimates (MLE) of unknown signal parameters, returned as a P-by-M-by-D array.
Dependencies
To enable this port, select the Output MLEs of unknown signal parameters check box.
N — Estimated noise power
positive scalar
Estimated noise power, returned as a positive scalar. When the
OutputFormat
property is 'Detection result'
,
estnoise
has the same size as Y
. When
OutputFormat
property is 'Detection index'
,
estnoise
returns a noise power estimate of size
1-by-L for each corresponding detection in
Y
.
Dependencies
To enable this port, select the Output estimated noise power check box.
Parameters
Probability of false alarm — Probability of false alarm
0.1
(default) | nonnegative scalar
Probability of false alarm, specified as positive scalar between 0 and 1, inclusive.
Programmatic Use
Block
Parameter:ProbabilityFalseAlarm |
Type:double, single |
Values:scalar | |
Default:0.1 |
Data Types: single
| double
Output format — Format of output data
Detection result
(default) | Detection index
Format of output data, specified as Detection result
or
Detection index
. Output data is returned in the
Y
port.
Example: Detection index
Programmatic Use
Block
Parameter:OutputFormat |
Type:char, string |
Values:Detection result |
Detection index |
Default:Detection
result |
Data Types: char
| string
Output detection statistics and threshold — Output detection statistics and threshold
0
(default) | 1
Select this checkbox to output detection statistics and detection threshold using the Stat and Th ports.
Programmatic Use
Block
Parameter:ThresholdOutputPort |
Type:check box |
Values:0 | 1 |
Default:0 |
Enable known noise power input — Enable known noise power input
1
(default) | 1
Select this checkbox to allow input of noise power using the NCov port.
Dependencies
To select this check box, deselect the Output estimated noise power checkbox.
Programmatic Use
Block
Parameter:NoiseInputPort |
Type:check box |
Values:0 | 1 |
Default:0 |
Output MLEs of unknown signal parameters — Output MLEs of unknown signal parameters
0 (default) | 1
Select this check box to output maximum likelihood estimate of signal parameters
using the Param
port.
Programmatic Use
Block
Parameter:SignalParamterOutputPort |
Type:check box |
Values:0 | 1 |
Default:0 |
Output estimated noise power — Output estimated noise power
0 (default) | 1
Select this check box to output estimated noise power using the N
port.
Programmatic Use
Block
Parameter:NoisePowerOutputPort |
Type:check box |
Values:0 | 1 |
Default:0 |
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 with generated code than in
interpreted execution. You can run repeated executions without recompiling, but if you
change any block parameters, then the block automatically recompiles before
execution.
This table shows how the Simulate using parameter affects the overall simulation behavior.
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. |
For more information, see Choosing a Simulation Mode (Simulink).
Programmatic Use
Block
Parameter:SimulateUsing |
Type:enum |
Values:Interpreted
Execution , Code Generation |
Default:Interpreted
Execution |
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Version History
Introduced in R2023b
See Also
MATLAB Command
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.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)