morriswmz / doa-tools

A set of MATLAB functions for direction-of-arrival (DOA) estimation in array signal processing.
MIT License
290 stars 88 forks source link

Problem in CRB = crb_general_det_1d(design, wavelength, doas, P_est, noise_var, snapshot_count) #3

Closed sadiq114 closed 1 year ago

sadiq114 commented 1 year ago

Thanks a lot dear morriswmz for sharing these useful codes. I kept the following files in same directory: crb_general_det_1d.m design_array_1d.m ex1_design_and_visualize.m steering_matrix.m ula_1d.m

1st I ran the following lines in the m file " ex1_design_and_visualize.m " clear(); close all; wavelength = 1; % normalized d = wavelength / 2; design_ula = design_array_1d('ula', 12, d);

it created a structure which was not accepted by the function " crb_general_det_1d.m ". Then I renamed the structured as design. Then I kept the following arguments as input to " crb_general_det_1d.m " and ran it: CRB = crb_general_det_1d(design, wavelength, [10 20], 1, 1,1)

It gave me the following output: CRB =

0.0006    0.0003
0.0003    0.0023

Now what does it mean? As we know that CRB denotes the lowest bound to the unbiased estimator as I read from your site: https://research.wmz.ninja/articles/2017/03/crbs-in-classical-doa-estimation-problems.html

But here these are 4 values. As I have supplied two angles i.e., [10 20], so I should get two lowest bounds: one for each angle but here I am getting two bounds for each angle. Why it is so? Further, if I want to make a plot for it i.e., CRB vs Runs, then how will I do that? My email address is: sadiq114@gmail.com Also share your email address please. Regards, Sadiq Akbar

morriswmz commented 1 year ago

The function returns the CRB matrix. When you have two sources the returned matrix is 2x2. See https://en.wikipedia.org/wiki/Cram%C3%A9r%E2%80%93Rao_bound#Multivariate_case for more details about the multivariate case of CRB. The CRB formulas in https://research.wmz.ninja/articles/2017/03/crbs-in-classical-doa-estimation-problems.html are also derived for multi-source scenarios.