crlbtransform
Description
Examples
Find the CRLB for signal-to-noise ratio. SNR is a non-linear transformation:
,
where A is the unknown signal amplitude and N is the unknown noise power. The CRLB of A and N are known. Calculate the CRLB of the SNR.
Set the input parameter values of amplitude and noise power.
A = 0.15; npow = 0.2; param = [A,npow]'
param = 2×1
0.1500
0.2000
Specify the SNR as a function of amplitude and noise power using an anonymous function.
snr = @(param) (param(1))^2/param(2);
Compute the input CRLB of amplitude and noise power.
n = 100; crlbin = @(param)diag([param(2)/n,2*(param(2))^2/n]);
Find the output CRLB of SNR.
crlbout = crlbtransform(snr,crlbin,param)
crlbout = 0.0048
Consider a ULA of 16 elements with half-wavelength element spacing. The ULA receives a target at DOA of -60 degrees under complex white Gaussian noise with known noise variance. For the considered ULA, the spatial frequency f and the DOA theta have the following relation: f = 1/2*sin(theta). Calculate the DOA estimation CRLB by first calculating the spatial frequency, and then transforming the CRLB of the spatial frequency to the CRLB of DOA in radians squared.
Create uniformly-spaced set of spatial-domain samples.
n = (0:15)';
Create a function to model sinusoidal signal.
sig = @(p) p(1)*exp(1j*(2*pi*p(2)*n + p(3)));
Specify the noise power.
noise_level = 0.1; ncov = noise_level^2;
Specify the amplitude, spatial frequency, and phase parameters.
param = [2, 1/2*sin(-pi/3), pi/4]';
Find the numerical CRLB of amplitude, frequency, and phase estimates.
crlb_numerical = crlb(sig, ncov, param);
Define the transformation function of spatial frequency to DOA.
fun = @(f) asin(2*f);
Extract the CRLB of the spatial frequency from the 2nd diagonal element of the CRLB matrix.
crlb_f = crlb_numerical(2,2);
Extract the parameter describing the spatial frequency.
param_f = param(2);
Extract the CRLB of the DOA.
crlb_doa = crlbtransform(fun,crlb_f,param_f)
crlb_doa = 1.4900e-06
Input Arguments
Transformation function, specified as a function handle. The function handle takes
as input a real P-by-1 vector and produces a real
R-by-1 vector. Apply this function to the P
parameters specified in the param argument.
Data Types: function_handle
Input parameters, specified as a P-by-1 real-valued vector, where P denotes the number of input parameters.
Data Types: single | double
Output Arguments
More About
This function supports single and double precision for input arguments If the input
argument param is single precision, the outputs are single precision.
If the input argument param is double precision, the outputs are double
precision. The precision of the outputs is independent of the precision of the other
arguments.
References
[1] Steven M. Kay, Fundamentals of Statistical Signal Processing, Estimation Theory, 1993.
Version History
Introduced in R2026a
See Also
crlb | toaposest | tsoaposest | tdoaposest | steervec
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)