TDOA Estimator
Libraries:
Phased Array System Toolbox /
Direction of Arrival
Description
Estimate TDOA of signals from active devices to multiple passive anchors. The TDOA's are estimated based on time-domain received signals at different anchors.
Ports
Input
X — Input data
N-by-M-by-L
complex-valued array
Received signal matrices, specified as an N-by-M-by-L complex-valued array. L represents the number of anchors. Each page represents an N-by-M complex-valued matrix for one anchor. The first page corresponds to the reference anchor. The rows of each signal matrix represent M independent pulses (such as slow-time samples of a radar) and each column represents N fast-time samples of a pulse.
Data Types: single
| double
Complex Number Support: Yes
DelayOffset — Delay offset (sec)
scalar | 1-by-L real-valued vector
Delay offset, specified as a scalar or as a 1-by-L real-valued
vector where L is the number of anchors. The TDOA estimation result
Y
is adjusted by delayoffset
. The offset
is the known delay offset between the clock at each anchor and the reference clock for
the first anchor. If DelayOffset
is a scalar, the delay offset is
the same for all L anchors. If DelayOffset
is
a 1-by-L vector, the delay offset can be different for different
anchors. Units are in seconds.
Dependencies
To enable the DelayOffset input port, select the Enable known delay offset input check box.
Data Types: single
| double
Npow — Input noise power (W)
positive scalar | 1-by-L vector of positive values
Input noise power, specified as a positive scalar or a 1-by-L
vector with positive values. Npow
represents the white Gaussian
noise power at each anchor. If Npow
is a scalar, the noise power
is the same for all L anchors. If Npow
is a
1-by-L vector, the same noise power value is applied to each of
the L anchors. Units are in Watts.
This argument lets you calculate the optional output argument
var
using the input argument Npow
,
Example: 50
Dependencies
To enable this argument, set the Source of noise power
parameter to 'Input port'
.
Data Types: single
| double
Output
Y — TDOA estimates (sec)
K-by-(L-1) real-valued matrix
TDOA estimates, returned as a K-by-(L–1)
real-valued matrix. K is the maximum number of targets specified by
the NumEstimates
property. L is the number of
anchors producing (L–1) anchor pairs. The
l
th column of Y
represents the TDOA estimates for the
l
th anchor pair which is the time
difference between (l+1
)-th anchor and
the first anchor.
The TDOA for an anchor pair is estimated by detecting the locations of up to
K peaks from the GCC-PHAT TDOA spectrum. If the number of
detected peaks for the l
th anchor pair
is less than K, the first entries of the
l
th column of Y
contain the valid TDOA estimates, and the remaining entries in the
l
th column of Y
are filled with NaN
. Units are in seconds.
Data Types: single
| double
Var — Estimated TDOA variance
1-by-(L-1) positive-value vector
Estimated TDOA variance, returned as a 1-by-(L-1)
positive-valued vector. var
is obtained from the Cramer-Rao lower
bound (CRLB) of estimating TDOA based on the input X
and the
white Gaussian noise power, assuming there are K targets equally
splitting received signal power. The noise power can be specified either by the
NoisePower
property or using the npow
input argument.. Units are seconds-squared.
Dependencies
To enable this port, select the Output variance of TDOA estimates check box.
Data Types: single
| double
Parameters
To edit block parameters interactively, use the Property Inspector. From the Simulink® Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.
Inherit sample rate — Inherit sample rate from upstream blocks
on (default) | off
Select this parameter to inherit the sample rate from upstream blocks. Otherwise, specify the sample rate using the Sample rate (Hz) parameter.
Data Types: Boolean
Signal sample rate (Hz) — Signal sampling rate
1000000
(default) | real-valued positive scalar
Signal sample rate, specified as a real-valued positive scalar.
Dependencies
To enable this parameter, deselect the Inherit sample rate check box.
Data Types: Boolean
Maximum number of TDOA estimates — Maximum number of TDOA estimates
1
(default) | positive integer
Maximum number of TDOA estimates, specified as a positive integer.
Example: 100
Data Types: single
| double
Enable known delay offset input — Enable known delay offset input
false
(0) (default) | true
(1)
Select the Enable known delay offset input check box to enable the DelayOffset input port.
Data Types: Boolean
Output variance of TDOA Estimates — Output variance of TDOA estimates
false
(0) (default) | true
(1)
Select the Output variance of TDOA Estimates check box to enable the Var output port containing the TDOA variances.
Data Types: Boolean
Source of noise power — Source of noise power
Property
(default) | Input port
Source of noise power, specified as Property
or Input
port
.
Noise power (W) — Noise power
1
(default) | positive scalar
Noise power, specified as a positive scalar. Units are Watts.
Dependencies
To enable this parameter, set the Source of noise power to
Property
.
Data Types: double
| single
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 |
Version History
Introduced in R2024b
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 (한국어)