文章目录
前言
本文主要介绍MUSIC算法,内容主要基于本科期间的大作业,如果有问题,可以评论区留言。
一、算法原理
MUSIC基本思想则是将任何阵列输出数据的协方差矩阵进行特征分解,从而得到与信号分量相对应的信号子空间和与信号分量相正交的噪声子空间,然后利用这两个子空间的正交性来估计信号参数
具体来说首先将不同单元接收到的数据(如上图所示)进行相关运算得到阵列输出数据的协方差矩阵,数学表达式如下:
这里假设信号模型如下:
其中
表示个单元接收到的信号;
表示第
个信号对第
个单元的响应;
表示各信号的幅度和相位信息;
表示噪声。并且假设噪声是高斯白噪声。则有:
其中,
表示噪声的功率。当
是正则时,则
,则
由D个正的特征根,M-D个零特征根。则S的最小特征根为
,且最小特征根将重复M-D次,由此可以得到噪声功率以及信号数目的估值。
对于S的特征向量满足:,
而
,则有:
,当
,
,进一步有
。这表明与
对应的特征向量与由A张成的空间正交。则
到信号子空间的一般欧几里得距离平方为:
则空间谱可写成:
由的D个最高峰可以得到到达方向(DOA)的估值。信号强度以及相关信息可由
得到。
二、仿真分析
考虑到有三个不同信号分别从三个方向到达阵列,阵列单元数量为8,试着根据接收到的信号估算出信号的个数,噪声功率以及DOA,三个信号包络分别为频率为100,200,300的信号,载波频率为3e8的信号,方位角分别为。
当采样点数,信噪比时,可得空间谱如下:
并且得到某次实验数据估计出的噪声功率,信号个数
,方位角的估值为:
,通过与真实信号对比,可以看出估计的效果非常好。
但是相应的问题就来了,MUSIC算法估计的性能如何。具体而言,信号包络的频率以及达到方向角,采样的点数,信噪比等对最终的估计有何影响。
2.1、信号包络频率对估计的影响
设置信号包络频率分别为:100,100,300,其他参数不变,空间谱如下:
并且估计的角度只在50度方位才准确,在-44度和30度的无法分辨出来。另外从下面的特征值可以看出,接近噪声功率的特征值有6个,也就是说信号空间占两个,由此可以判断同一频率的信号从不同方位到达阵列,运用MUSIC算法无法辨别。因此该算法要求矩阵P正则。
2.2、到达方位角对估计的影响。
设置信号到达方位角分别为-44度、50度和50度,其他参数不变,则空间谱如下:
并且方位角的估值分别为-44,50,信号个数的估值为2。由此可以看出,MUSIC算法可以估算出不同方位的信号,但不能估算出同一方位的不同信号。下面相应的特征值分布。
2.3、采样点数以及信噪比对方位角的估计精度的影响
3.1采样点数
设置方位角分别为-44度,49度,以及50度,只改变采样点数,来达到分辨出不同方位角的信号。
当时,空间谱如下:
当时,空间谱如下:
当时,空间谱如下:
可以看出,增加采样点数可以增加方位角的分辨率。
2.4、 信噪比对估计精度的影响
设置方位角分别为-44度,49度,以及50度,只改变信噪比,来达到分辨出不同方位角的信号。
当时,空间谱如下:
当时,空间谱如下:
当时,空间谱如下:
可以看出,改善信噪比可以增加方位角的分辨能力。
代码:
clc;
clear;
%---------------------程序说明-------------------------
%M表示阵列单元数目,d表示阵列单元间距
%发射信号有三个,方向为30度,50度,-44度。
%噪声为高斯白噪声
%不考虑极化因素
%主要对信号数目以及方位角的估计
%---------------------信号参数-------------------------
D=3; %信号数目
f1=100; %包络频率
f2=200;
f3=300;
angle=[-44 30 50]; %发射方位角
f=3e8; %载波频率
c=3e8;
lambda=c/f; %载波波长
%------------------阵列天线的参数----------------------
M=8; %阵列单元数目
d=lambda/4; %阵列单元间距
%------------------接收到的信号------------------------
fs=4*max([f1 f2 f3]); %包络采样频率
N=1000; %采样点数
n=1:N;
SNR=30; %信噪比
s1=exp(1j*2*pi*f1/fs*n); %保证矩阵P正则
s2=exp(1j*2*pi*f2/fs*n);
s3=exp(1j*2*pi*f3/fs*n);
F=[s1;s2;s3];
z=0:M-1;
A=exp(-1j*2*pi*d*z.'*sin(angle*pi/180)/lambda);
noise=randn(M,N);
S=sqrt((10^(SNR/10)))*A*F; %信号部分
X=S+noise;
%--------------MUSIC算法估计方位角-------------------
C=cov(X'); %总输入信号的协方差矩阵
[Vector,Value]=eig(C); %求特征向量和特征值
Vn=Vector(:,1:M-D); %与零特征值对应的特征向量(噪声子空间)
Eigenvalue=diag(Value);
NoisePower=sum(Eigenvalue(1:M-D))/(M-D); %噪声功率估计
Theta1=-90;Theta2=90;
dtheta=0.1 %方位角的采样间隔
Theta=Theta1:dtheta:Theta2;
K=length(Theta);
Pmu=zeros(1,K);
for n=1:K
a=(exp(-1j*2*pi*d*z*sin((Theta1+(n-1)*dtheta)*pi/180)/lambda)).';
Pmu(n)=1/(a'*(Vn*Vn')*a);
end
[x1,x2]=findpeaks(db(abs(Pmu))); %方位角的估计
D=length(x2); %信号数目的估计
THETA=(x2-1)*dtheta+Theta1;
plot(Theta,db(abs(Pmu)));
xlabel('入射角(度)');ylabel('Pmu(theta)(dB)')
title('MUSIC算法估计方位角THETA');
legend(['SNR=',num2str(SNR)])
grid on
参考文献:
[1] RALPH 0. SCHMIDT.Multiple Emitter Location and Signal Parameter Estimation. IEEE TRANSACTIONS ON ANTENNAS AND PROPAGATION, VOL. AP-34, NO. 3, MARCH 1986.
总结
通过仿真分析可以看出,MUSIC算法在方位角的估计方面有着较高的精确度,但易受相关信号的干扰。由于MUSIC算法的基本思想,这种相关干扰很难剔除。转载请附:【杨(_> <_)】的博客_优快云博客-信号处理,SAR,代码实现领域博主