MUSIC算法介绍
MUSIC算法叫做多信号分类算法(Multiple Signal
classification),MUSIC算法的基本思想则为将任意阵列输出数据的协方差矩阵进行特征分解,从而得到与信号分量相对应的信号子空间和信号分量相正交的噪声子空间,然后利用这两个子空间的正交性来估计信号的参数(入射方向、极化信息和信号强度)。MUSIC算法具有普遍的适用性,只要已知天线阵的布阵形式,无论是直线阵列还是圆阵列,不管阵元是否是等间距分布,都可以得到高分辨率的结果。
原理
窄带远场信号的DOA(Direction-of-Arrival)数学模型为

X=A(θ)s(t)+N(t)
在此模型的基础上,可以得到阵列信号的协方差矩阵为
R=E[XXH]=AE[SSH]AH+δ2I=ARSAH+δ2I


其中Rs是信号s(t)的协方差矩阵,由于信号和噪声相互独立,数据协方差可分解为信号子空间和噪声子空间。然后我们对R进行特征分解,可以得到如下

R=USΣSUHS+UNΣNUHN
其中US是由大特征值对应的特征向量张成的子空间,即信号子空间。UN
是由小特征值对应的特征矢量张成的子空间。即为噪声子空间。由于信号子空间和噪声子空间是相互正交的,那么信号子空间的导向矢量A(θ)和噪声子空间正交。
aH(θ)UN=0
但是实际中,接收信号的阵列是有限的,此时
R^=1L∑i=1nXXH
然后对R^进行特征分解,计算得到噪声子空间特征矢量UN^,接着构造如下的频谱,接着进行最小化优化搜索,即
θMUSIC=argθminaH(θ)UNUNUHNa(θ)^^^
谱估计公式为
PMUSIC=1aH(θ)UNUHNa(θ)^^

相关实验
接下来在matlab中进行MUSIC实验仿真,相应的代码如下
clear all close all derad = pi/180; radeg = 180/pi; twpi = 2*pi; kelm = 8;
%阵元个数 dd = 0.5; %阵元间距 d=0:dd:(kelm-1)*dd; iwave = 3; theta = [10 30 60];
%待估计角度为10 30 60 snr = 10; %信噪比 n = 500; %快拍数 A=exp(-j*twpi*d.'*sin
(theta*derad)); S=randn(iwave,n); X=A*S; X1=awgn(X,snr,'measured'); Rxx=X1*X1'
/n; InvS=inv(Rxx);[EV,D]=eig(Rxx); EVA=diag(D)'; [EVA,I]=sort(EVA);
EVA=fliplr(EVA); EV=fliplr(EV(:,I)); for iang = 1:361 angle(iang)=(iang-181)/2;
phim=derad*angle(iang); a=exp(-j*twpi*d*sin(phim)).'; L=iwave; En=EV(:,L+1
:kelm); SP(iang)=(a'*a)/(a'*En*En'*a); end SP=abs(SP); SPmax=max(SP); SP=10*
log10(SP/SPmax); h=plot(angle,SP); set(h,'Linewidth',2) xlabel('angle (degree)'
) ylabel('magnitude (dB)') axis([-90 90 -60 0]) set(gca, 'XTick',[-90:30:90])
grid on
得到的实验结果见下图

可以看到,在右图所示的频谱中,该频谱有三个谱峰,这就是我们要进行估计的位置,其对应的横坐标分别为10,30,60。与上述代码中所设置的是一样的。

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信