The actual effect of music algorithm

I want to know why the pseudo-spectrum peak actually measured by the Nusic algorithm is not as sharp as in the Matlab simulation results

With real data the spike will never be that perfect. If you can add multipath, noise and reduced SNR into the Matlab simulation, then you’ll see something more like what you get in reality.

Thank you!! I used the decorrelation algorithm provided in krakensdr, and I found that the Toeplizification method seems to make the pseudo-spectrum peak sharper, but when I converted the following source code into MATLAB implementation, the effect was completely inconsistent, and multiple peaks appeared. I don’t understand where the problem lies.

This is so-called “Rectification” or “Toeplizification” of correlation matrix method

investigated by P. Vallet and P. Loubaton, “Toeplitz rectification and DOA estimation with MUSIC”,

2014 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP),

Florence, Italy, 2014, pp. 2237-2241, doi: 10.1109/ICASSP.2014.6853997. and references therein.

def toeplitzify(R: np.ndarray) → np.ndarray:
M = R.shape[0]
ms = np.arange(0, -M, -1, dtype=int)
c = [1.0 / (float(M - abs(m))) * np.trace(R, m) for m in ms]
return scipy.linalg.toeplitz(c)

Toeplizification was a third party open source contribution to the codebase so I’m not a big expert on it. But I think it only really works with larger arrays. In your simulation try increasing the number of elements to 8 - 16 to see if it improves the results.