阵列信号处理——多重信号分类(MUSIC)

阵列信号处理分为波束形成和波达方向估计两大技术。波达方向估计的代表性方法是高分辨空间谱估计。
功率谱密度描述信号功率随频率的分布,是信号的一种频域表示。由于阵列信号处理的主要任务是信号空间参数(信源的定位参数)的估计,所以将功率谱密度的概念在空域加以延伸及推广,就显得十分重要。这种广义的功率谱常简称为空间谱。空间谱描述信号的空间参数的分布。 

基于特征分解的多重信号分类(MUSIC)在空域内进行一维谱峰搜索得到波达方向。MUSIC算法的基本思想是利用噪声子空间和信号矢量的正交关系构造空间谱函数。算法主要步骤如下:
(1)根据接收信号构造协方差矩阵R,并对协方差矩阵进行特征值分解;
(2)按特征值大小顺序,将信号K个最大特征值对应的特征矢量构成信号子空间US,
剩下的特征值对应的特征矢量构成噪声子空间UN;
(3)使θ变化,按照P_{MUSIC}(\theta )=\frac{1}{a^{H}(\theta )U_{N}U_{N}^{H}a(\theta )}计算谱函数,通过寻找峰值来得到
波达方向的估计值。

由于上式定义的空间谱函数能够对多个空间信号进行识别(即分类),故称为多重信号分类(multiple signal classification,MUSIC)空间谱。

利用MUSIC空间谱将混合的多重信号分离开,称为多重信号分类方法,简称MUSIC方法。MUSIC方法的各种扩展都是在上式的基础上发展起来的。

MUSIC空间谱估计已经成为信号处理的一种代表性方法,获得了广泛的应用。由于空间谱利用噪声子空间定义,故MUSIC方法是一种噪声子空间方法。

仿真程序如下:

clear;
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];     %波达方向
snr = 10;              %信噪比
n=500;                 %采样数
A=exp(-1i*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));                   %对应的特征矢量排序
%构造MUSIC谱函数
for iang = 1:361
angle(iang)=(iang-181)/2;
phim=derad*angle(iang);
a=exp(-1i*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;

运行结果如下:

阵列信号处理——多重信号分类(MUSIC)_第1张图片

参考文献:阵列信号处理及MATLAB实现;张小飞,陈华伟,仇小锋(编著) 

                 现代信号处理(第三版);张贤达(编著)

你可能感兴趣的:(分类,算法,机器学习)