DOA算法之DBF、CAPON、MUSIC、ROOT-MUSIC、ESPRIT、DML算法对比

这篇具有很好参考价值的文章主要介绍了DOA算法之DBF、CAPON、MUSIC、ROOT-MUSIC、ESPRIT、DML算法对比。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

阵列信号处理算法应用领域涉及雷达、声纳、卫星通信等众多领域,其主要目的就是对天线阵列接收到的信号进行处理,增强有用信号,抑制无用信号,以达到空域滤波的目的,最后提取回波信号中所包含的角度等信息。

DOA估计意思是波达角度估计,是指电磁波到达天线阵列的方向。

DOA算法之DBF、CAPON、MUSIC、ROOT-MUSIC、ESPRIT、DML算法对比,算法,信号处理,matlab

 如上图所示,DOA算法的基本思想就是利用天线阵列之间的相位差进行角度的估计。对于远场信号平面波来说,回波到各个天线之间都有一个波程差,其导致了相位差。

DOA算法之DBF、CAPON、MUSIC、ROOT-MUSIC、ESPRIT、DML算法对比,算法,信号处理,matlab

DBF数字波束形成,又叫做空域滤波,是阵列信号处理的一个主要方向。其基本思想是通过将各个阵元输出进行加权求和,将天线波束导向在一个方向,对期望来波方向得到最大输出功率。

CAPON算法又叫最大方差无畸变算法。思想是最小化信号功率,又使得来波方向为单位增益的准测自适应波束形成。

MUSIC、ROOT-MUSIC是利用信号子空间和噪声子空间的正交性

ESPRIT是利用信号子空间的旋转不变性

DML是利用最大似然准测,将背景噪声和接收噪声认为成大量独立的噪声源发射的,因而把噪声过程视为一平稳高斯随机白噪声过程,信号波形则假设为确定性信号,但输入波形是待估计的位置参数。而确定性最大似然估计算法中的未知参数是信号参数和噪声方差。这些未知量都是最大化似然估计得到的。

上面这几个算法都是超分辨算法,可以克服瑞丽极限。

本文主要对 DOA算法之DBF、CAPON、MUSIC、ROOT-MUSIC、ESPRIT、DML进行性能的对比。希望通过调研仿真,熟悉各个DOA算法的特点和优缺点,加强自己在不同环境下的算法选择能力

部分主要代码:

%%dbf
a = exp(-1i*2*pi*dd*sind(theta_scan).'*array);
DBFresult1 = 20*log10(abs(signal1(:,1).'*a.')./(max(abs(signal1(:,1).'*a.'))));
%%capon
R1 = inv(signal1*signal1'./snap);   %这里需要是共轭转置
for ii = 1:length(theta_scan)
    aa =  exp(-1i*2*pi*dd*sind(theta_scan(ii)).*array);
    caponresult1(ii) = 1/(abs(aa*R1*aa'));
end
caponresult1 = 20*log10(caponresult1./max(caponresult1));
%%MUSIC
R      =  signal1*signal1'/snap;
[EV,D] =  eig(R);     %特征值分解,D为由INVR的特征值构成的对角矩阵,EV为其特征向量构成的矩阵 
EVA    =  diag(D)';   %抽取D的对角线元素并转置
[EVA,I] = sort(EVA);  %从小到大排序,I对应EVA中元素在原来EVA中的位置。
EVA    = fliplr(EVA); %对特征值再从大到小排列
EV     = fliplr(EV(:,I));  %对特征值对应的特征向量进行对应的从大到小的排序
EN     = EV(:,numstarget+1:arraylen);   %把噪声子空间拿出来
for ii = 1:length(theta_scan)
    aa = exp(1j*2*pi*dd*sind(theta_scan(ii))*array).';
    MUSICresult(ii) = (aa'*aa)/(aa'*EN*EN'*aa);    
end
MUSICresult = 20*log10(abs(MUSICresult)./(max(abs(MUSICresult))));
%%root-MUSIC
Unx=EN;               
syms z;
pz=z.^([0:arraylen-1]');
pz1=(z^(-1)).^([0:arraylen-1]);
fz=z.^(arraylen-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])))/pi))*180/pi;
%ESPRIT
[EV2,D2]  = eig(R);            
EVA2      = real(diag(D2)');   
[EVA2,I2] = sort(EVA2);        
EVA2      = fliplr(EVA2);      
EV2       = fliplr(EV2(:,I2)); 
Exy   = [EV2(1:arraylen-1,1:numstarget)  EV2(2:arraylen,1:numstarget)]; 
E_xys = Exy'*Exy./(size(Exy'*Exy,1));   
[EV3,D3] = eig(E_xys);
EVA_xys  = real(diag(D3)');
[EVA_xys,I3] = sort(EVA_xys);
EVA_xys      = fliplr(EVA_xys);
EV_xys       = fliplr(EV3(:,I3));
Gx  = EV_xys(1:numstarget,numstarget+1:numstarget*2);
Gy  = EV_xys(numstarget+1:numstarget*2,numstarget+1:numstarget*2);
Psi = -Gx/Gy;
%%DML
R  =  signal1*signal1'/snap;
target_serched = zeros(1,numstarget);
max_trace = intmin;
aa = zeros(length(array),numstarget);
theta_scan1    = linspace(sind(-90),sind(90),1024);
for ii = 1:length(theta_scan1)
    aa(:,1) = exp(1i*2*pi*dd*array.'*theta_scan1(ii));
    for jj = ii+1:length(theta_scan1)                          
        aa(:,2) = exp(1i*2*pi*dd*array.'*theta_scan1(jj));
        Pa = aa*(inv(aa'*aa))*aa';  
        Y = Pa*R;  
        tmp = abs(trace(Y));
        if tmp > max_trace
            target_serched(1) = theta_scan1(ii);    
            target_serched(2) = theta_scan1(jj);
            max_trace = tmp;
        end
    end
end

首先是各个算法谱峰的对比:

仿真条件:16个天线阵列,快拍数为50,信噪比为20,角度设定为(-10°,10°)

DOA算法之DBF、CAPON、MUSIC、ROOT-MUSIC、ESPRIT、DML算法对比,算法,信号处理,matlab

结论:dbf算法精度最低,其次是capon,其余超分辨算法测角精度上差不多。

然后是各个算法测量角度、RMSE随信噪比变化的趋势对比:

DOA算法之DBF、CAPON、MUSIC、ROOT-MUSIC、ESPRIT、DML算法对比,算法,信号处理,matlab

DOA算法之DBF、CAPON、MUSIC、ROOT-MUSIC、ESPRIT、DML算法对比,算法,信号处理,matlab

结论:

  • DBF算法:在高信噪比下,DBF算法的性能表现较好,但在低信噪比下,其分辨率和定位精度会下降。
  • CAPON算法:CAPON算法在低信噪比下的性能表现较好,但在高信噪比下,其抗干扰能力较弱,容易受到噪声的影响。
  • MUSIC算法:MUSIC算法在高信噪比下的性能表现较好,但在低信噪比下,其分辨率和定位精度会下降。
  • ROOT-MUSIC算法:ROOT-MUSIC算法在高信噪比下的性能表现较好,但在低信噪比下,其分辨率和定位精度也会下降。
  • ESPRIT算法:ESPRIT算法的性能表现与信噪比关系不大,在不同信噪比下都能保持较好的分辨率和定位精度。
  • DML算法:DML算法在低信噪比下的性能表现较好,但在高信噪比下容易产生估计误差。

最后是各个算法测量角度、RMSE随快拍数变化的趋势对比:

DOA算法之DBF、CAPON、MUSIC、ROOT-MUSIC、ESPRIT、DML算法对比,算法,信号处理,matlab

DOA算法之DBF、CAPON、MUSIC、ROOT-MUSIC、ESPRIT、DML算法对比,算法,信号处理,matlab结论:文章来源地址https://www.toymoban.com/news/detail-740866.html

  • DBF算法:随着快拍数的增加,DBF算法的分辨率和定位精度会提高,但计算复杂度也会增加。
  • CAPON算法:CAPON算法的性能随着快拍数的增加而提高,但在快拍数过多时,容易出现过拟合现象。
  • MUSIC算法:MUSIC算法的分辨率和定位精度随着快拍数的增加而提高,但计算复杂度也会增加。
  • ROOT-MUSIC算法:ROOT-MUSIC算法的性能表现与MUSIC算法类似,随着快拍数的增加,其分辨率和定位精度也会提高。
  • ESPRIT算法:ESPRIT算法对快拍数的要求较低,通常只需要较少的快拍数就可以保持较好的性能表现。
  • DML算法:DML算法对快拍数的要求较低,但过多的快拍数会导致计算复杂度增加。

到了这里,关于DOA算法之DBF、CAPON、MUSIC、ROOT-MUSIC、ESPRIT、DML算法对比的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【学习笔记】【DOA子空间算法】4 ESPRIT 算法

      ESPRIT 算法假设阵列传感器成对出现(即有一组平行的传感器),并且每对传感器之间有相同的位移 Δ Delta Δ 。这两组传感器的阵列接收向量分别表示如下: x ( t ) = A s ( t ) + n x ( t ) y ( t ) = A Φ s ( t ) + n y ( t ) begin{equation*} begin{aligned} mathbf{x}(t) = mathbf{A}mathbf{s}(t) + ma

    2024年02月02日
    浏览(32)
  • 【精选论文 | Capon算法与MUSIC算法性能的比较与分析】

    本文编辑:调皮哥的小助理 【正文】 首先说结论: 当信噪比(SNR)足够大时,Capon算法和MUSIC算法的空间谱非常相似,因此在SNR比较大时它们的性能几乎一样,当不同信号源的入射角度比较接近时,MUSIC算法的性能优于Capon,这也是MUSIC算法(或者说子空间类算法)被称为高分

    2024年02月11日
    浏览(52)
  • 【学习笔记】【DOA子空间算法】5 SS-MUSIC 算法

      在学习 SS-MUSIC 算法之前需要理解相干信号的概念。首先定义两个平稳信号 s i ( t ) s_i(t) s i ​ ( t ) 和 s k ( t ) s_k(t) s k ​ ( t ) 的相关系数 ρ i k rho_{ik} ρ ik ​ 如下: ρ i k = E [ s i ( t ) s k ∗ ( t ) ] E [ ∣ s i ( t ) ∣ 2 ] E [ ∣ s k ( t ) ∣ 2 ] begin{equation*} rho_{ik} = frac{mathrm{E}

    2024年02月12日
    浏览(48)
  • DoA 估计:多重信号分类 MUSIC 算法(附 MATLAB 代码)

    本文首次在公众号【零妖阁】上发表,为了方便阅读和分享,我们将在其他平台进行自动同步。由于不同平台的排版格式可能存在差异,为了避免影响阅读体验,建议如有排版问题,可前往公众号查看原文。感谢您的阅读和支持! DoA 估计 是指根据天线阵列的接收信号估计出

    2024年02月03日
    浏览(36)
  • 宽带信号处理实现DOA估计(ISM算法、MUSIC、MVDR、CBF)

    功率谱:                              功率谱:                              功率谱:                                    由快拍信号 计算协方差矩阵 ,其中 ,为快拍长度;对上述的空间谱公式遍历各个角度,计算对应角度的导向

    2024年04月23日
    浏览(30)
  • 雷达测角方法(MUSIC ESPRIT)

      假设有D个信号源,N个阵元,将阵列接收的信号表示为: X ( t ) = A ( θ ) S ( t ) + N ( t ) X(t) =A(theta)S(t)+N(t) X ( t ) = A ( θ ) S ( t ) + N ( t ) 其中, S ( t ) S(t) S ( t ) 是D×1阶信号矢量, N ( t ) N(t) N ( t ) 是M×1阶噪声, A ( θ ) A(theta) A ( θ ) 是阵列对信号的M×D阶导向矢量矩阵。   

    2024年02月04日
    浏览(28)
  • 基于确定性最大似然算法 DML 的 DoA 估计,用牛顿法实现(附 MATLAB 源码)

    本文首次在公众号【零妖阁】上发表,为了方便阅读和分享,我们将在其他平台进行自动同步。由于不同平台的排版格式可能存在差异,为了避免影响阅读体验,建议如有排版问题,可前往公众号查看原文。感谢您的阅读和支持! 在 DoA 估计中,最大似然方法主要分为 确定性

    2024年02月17日
    浏览(37)
  • 阵列信号处理_对比常规波束形成法(CBF)和Capon算法

    利用电磁波信号来获取目标或信源相对天线阵列的角度信息的方式,也称测向、波达方向估计(DOA)。主要应用于雷达、通信、电子对抗和侦察等领域。 发展 常规波束形成(CBF)。本质是时域傅里叶变换在空域直接应用,分辨力受限于瑞利限; Capon自适应波束形成(1969年)

    2024年02月03日
    浏览(39)
  • 关于克拉美罗下界(CRLB)-及不同DOA估计算法下的方差(性能)对比

        参数估计 在科研、工程乃至生活中都有广泛的应用。参数估计要解决的问题简单来说就是:基于一组观测数据,通过某种方法来获得我们想要的,与观测数据相关的一个或多个参数。     克拉美-罗界(Cramr-Rao Bound, CRB) 是 无偏估计 里我们常用的且十分重要的 一种对不同

    2024年04月13日
    浏览(59)
  • DOA估计算法——迭代自适应算法(IAA)

            迭代自适应法 (Iterative Adaptive Approach,IAA)估计算法最早由美国的电气工程师和数学家Robert Schmidt和Roy A. Kuc在1986年的一篇论文\\\"Multiple Emitter Location and Signal Parameter Estimation\\\"中首次提出了这一算法, IAA DOA 估计算法是一种用于无线通信和雷达系统中估计信号到达方向的

    2024年01月21日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包