阵列信号处理——求根MUSIC算法(Root MUSIC)

求根MUSIC算法,即root-MUSIC算法是MUSIC方法的一种多项式求根形式,它是由Barabell提出的,其基本思想是Pisarenko分解。相比于MUSIC算法,root-MUSIC算法无须谱峰搜索,降低了复杂度。

基本MUSIC空间谱的谱峰等价为a^{^{H}}(w)U_{n}=0^{T}a^{H}(w)u_{j}=0,j=p+1,...,M。其中,u_{p+1},...,u_{M}是阵列样本协方差矩阵\hat{R}_{x}的次特征向量。

若令p(z)=a(w)|_{z=e^{jw}},则有

向量内积u_{i}^{H}p(z)给出多项式表示

式中,u_{i,j}是M×(M-p) 次特征向量矩阵U_{n}的第(i,j)元素。于是,基本MUSIC空间谱表示a^{H}(w)u_{j}=0u_{j}^{H}a(w)=0,j=p+1,...,M可以等价表示为

上式有可综合为U_{H}^{n}p(z)=0或者\parallel U_{n}^{H}p(z) \parallel_{2}^{2} =0,即有

换言之,只要对多项式p^{H}(z)U_{n}U_{n}^{H}p(z)求出单位圆上的根zi,即可得到空间参数w1,…,wp。
这就是求根MUSIC的基本思想。

然而,上式并不是z的多项式,因为它还包含了z*的幂次项。由于我们只对单位圆上的z值感兴趣,所以可以用p^{T}(z^{-1})代替p^{H}(z),这就给出了求根MUSIC多项式

仿真参数设置:

参数名称参数值
阵列数8
阵元间距0.5
信源数3
波达方向10, 20, 30
信噪比10
采样数(快拍)200

程序如下:

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 20 30];                       % 波达方向
snr=10;                                 % 信噪比
n=200;                                  % 采样数
A=exp(-1i*twpi*d.'*sin(theta*derad));   % 方向向量
S=randn(iwave,n);                       % 信源信号
X0=A*S;                                 % 接收信号
X=awgn(X0,snr,'measured');              % 添加噪声
Rxx=X*X';                               % 计算协方差矩阵
InvS=inv(Rxx);
[EVx,Dx]=eig(Rxx);                      % 特征值分解
EVAx=diag(Dx)';
[EVAx,Ix]=sort(EVAx);                   % 特征值从小到大排序
EVAx=fliplr(EVAx);                      % 左右翻转,从大到小排序
EVx=fliplr(EVx(:,Ix));
  
% root-MUSIC
Unx=EVx(:,iwave+1:kelm);                % 噪声子空间
syms z;
pz=z.^([0:kelm-1]');
pz1=(z^(-1)).^([0:kelm-1]);
fz=z.^(kelm-1)*pz1*Unx*Unx'*pz;         % 构造多项式
a=sym2poly(fz);                         % 符号多项式->数值多项式
zx=roots(a);                            % 求根
rx=zx';
[as,ad]=(sort(abs((abs(rx)-1))));
DOAest=asin(sort(angle(rx(ad([1,3,5])))/pi))*180/pi;
disp(DOAest);

运行结果如下:

对求根MUSIC算法,我们再作如下说明。
(1)求根MUSIC算法与谱搜索方式的MUSIC算法原理是一样的,只不过是用一个关于z的矢量来代替导向矢量,从而用求根过程代替搜索过程;
(2)由于噪声的存在,求出的根不可能在单位圆上,可选择接近单位圆上的根为真实信号的根,这就存在一定的误差;
(3)求根MUSIC算法与谱搜索的MUSIC算法相似,同样存在两种表达方式,一个是利用噪声子空间,另一个是利用信号子空间。

参考文献:

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

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

  • 11
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
基于MATLAB的阵列信号处理中的延迟相加、Capon、MUSICRoot-MUSIC和ESPRIT算法都是用于估计信号源的方向和波束形成的算法。它们在特定方面具有不同的性能和应用。 延迟相加算法是最简单的阵列信号处理算法之一。其优点是直观简单易懂,计算复杂度低,适用于静态信号源的定位。然而,在存在信号相关性或有干扰源存在时,延迟相加算法会失效。 Capon算法是一种基于最小方差准则的波束形成技术。它能够有效抑制信号源的干扰和噪声。Capon算法的优点是在多路径传播环境中的鲁棒性较好,但在信号源数目较多时计算复杂度较高。 MUSIC算法是一种基于特征分解的方法。它利用阵列的特征向量来估计信号源的方向。MUSIC算法的优点是在低信噪比条件下具有较好的性能,对于准确估计信号源方向有效。然而,MUSIC算法对信号相关性和信号源数目估计都非常敏感。 Root-MUSIC算法是对MUSIC算法的改进。它通过对估计的信号源方向进行多项式拟合,得到更准确的角度估计。Root-MUSIC算法的优点是对于信噪比较低、多径传播等环境下都具有较好的性能。但它更加复杂,在计算和实现上更加困难。 ESPRIT算法是一种高分辨率的信号处理算法,通过对信号子空间进行估计,可以得到较准确的信号源方向。ESPRIT算法的优点是计算复杂度较低,对于信号源数目不敏感。但在存在阵列不均匀性或有相差较大的信号源存在时,ESPRIT算法的性能会受到明显影响。 总的来说,这些MATLAB阵列信号处理算法各有优劣,适用于不同的信号环境和应用场景。研究人员需要根据实际需求选择合适的算法,以获得准确的信号源定位和波束形成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值