稀疏DOA估计的经典算法——l1-SVD算法

这篇具有很好参考价值的文章主要介绍了稀疏DOA估计的经典算法——l1-SVD算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

On-Grid类DOA估计经典算法—— l 1 − SVD l_1-\text{SVD} l1​−SVD

文献"A Sparse Signal Reconstruction Perspective for Source Localization With Sensor Arrays"提出了一种稀疏表示的DOA定位算法,它属于On-Grid类算法的范畴。其核心要点有二:其一是,通过了奇异值(SVD)分解,把以大量快拍数衡量的信号模型,转换成以信源数衡量的低维信号模型;其二是,以二阶锥规划法替代通用的非线性优化方法来处理问题,使得算法更加高效。

过完备字典模型

常用的参数标注:

M M M——均匀阵列的阵元数, K K K——信源数, T T T——时域快拍数, N θ N_{\theta} Nθ——过完备字典的尺寸

一般的,远场DOA估计模型为: y ( t ) = A ( θ ) s ( t ) + n ( t ) y(t) = \boldsymbol{A}(\theta)s(t)+n(t) y(t)=A(θ)s(t)+n(t)其中, A ( θ ) ∈ C M × K \boldsymbol{A}(\theta) \in \mathbb{C}^{M\times K} A(θ)CM×K是阵列流形矩阵, s ( t ) s(t) s(t) n ( t ) n(t) n(t)分别是 t t t时刻的信号向量和噪声向量,它们彼此独立。

同时,从稀疏的角度看待这个接收信号,我们可以把它重新写作:
Y = A x + N \boldsymbol{Y}=\boldsymbol{A}\boldsymbol{x}+\boldsymbol{N} Y=Ax+N这时, Y ∈ C M × T \boldsymbol{Y}\in \mathbb{C}^{M\times T} YCM×T仍为信号接收矩阵;而 A ∈ C M × N θ \boldsymbol{A} \in \mathbb{C}^{M\times N_{\theta}} ACM×Nθ为过完备集的流形矩阵,过完备集可以视作:由空域划分出来方向网格(Grid)组成的集合,如过完备集为: S θ = { − 9 0 ∘ : 1 ∘ : 9 0 ∘ } \mathcal{S}_{\theta} = \{-90^{\circ}:1^{\circ}:90^{\circ}\} Sθ={90:1:90}其对应的集合尺寸为: N θ = 181 N_{\theta} = 181 Nθ=181,对应的稀疏信号向量为: x ∈ C N θ × 1 \boldsymbol{x}\in \mathbb{C}^{N_{\theta}\times 1} xCNθ×1,当然,它的绝大多数的元素都为0,所以才”稀疏“。

因此,恢复出信号向量 x \boldsymbol{x} x中不为0位置的索引,即代替了DOA估计的问题。

l 1 l_1 l1​范数最小化

因为有了噪声项的干扰,信号 x x x出现了一些额外的非0项。因而,为了恢复这个信号向量,我们自然而然把最小化 l 0 l_0 l0范数作为目标函数,即使非0项数最小。
min ⁡ ∥ x ∥ 0 \min\|\boldsymbol{x}\|_0 minx0然而, l 0 l_0 l0范数是非凸的,所以一般将其凸松弛为 l 1 l_1 l1范数来处理,即,向量元素绝对值的和。
min ⁡ ∥ x ∥ 1 \min \|\boldsymbol{x}\|_1 minx1另一方面,我们常用观测矩阵的"弗罗贝尼乌斯"范数(F)来衡量观测矩阵 Y \boldsymbol{Y} Y和理想接收矩阵 A x \boldsymbol{A}\boldsymbol{x} Ax之间的差距,就是矩阵元素平方和再开根号:
∥ Y − A x ∥ F 2 ≤ β 2 \|\boldsymbol{Y} - \boldsymbol{A}\boldsymbol{x}\|_F^2 \leq \beta^2 YAxF2β2这里的参数 β 2 \beta^2 β2指明了:我们能够允许的噪声参数的大小,一般可以从噪声功率处确定。

以上优化问题亦可以写成以下这种无约束的形式:
min ⁡ ∥ Y − A x ∥ F 2 + λ ∥ x ∥ 1 \min \|\boldsymbol{Y} - \boldsymbol{A}\boldsymbol{x}\|_F^2 + \lambda\|\boldsymbol{x}\|_1 minYAxF2+λx1这里的参数 λ \lambda λ用于控制”空间谱的稀疏性“和”范数偏移尺度“的平衡,约 0.1 − 10 0.1-10 0.110,它更像是一个经验值。

SVD降维

奇异值分解常常用于分析组成一个矩阵的主要成分,这很适合分析受噪声干扰的信号。将观测信号矩阵 Y \boldsymbol{Y} Y进行奇异值分解:
Y = U L V H \boldsymbol{Y} = \boldsymbol{U}\boldsymbol{L}\boldsymbol{V}^H Y=ULVH其中, U ∈ C M × M \boldsymbol{U}\in \mathbb{C}^{M\times M} UCM×M V ∈ C T × T \boldsymbol{V}\in \mathbb{C}^{T\times T} VCT×T都是酉矩阵,矩阵 L ∈ C M × T \boldsymbol{L}\in \mathbb{C}^{M\times T} LCM×T是由一个 M × M M\times M M×M的对角矩阵和 M × ( T − M ) M\times(T-M) M×(TM)的0矩阵构成,而对角矩阵中有 K K K个大元素和 ( M − K ) (M-K) (MK)个小元素,它们之间存在数量级的差距。因此,很自然地,我们可以把这些主成分过滤出来。

定义一个选择矩阵 D K ∈ C T × K \boldsymbol{D}_K\in \mathbb{C}^{T\times K} DKCT×K,它由一个尺寸为 K K K的单位矩阵和 ( T − K ) × K (T-K)\times K (TK)×K的0矩阵构成。
Y S V = Y V D K = U L D K \boldsymbol{Y}_{SV} = \boldsymbol{Y}\boldsymbol{V}\boldsymbol{D}_K = \boldsymbol{U}\boldsymbol{L}\boldsymbol{D}_K YSV=YVDK=ULDK得到一个新的接收矩阵 Y S V ∈ C M × K \boldsymbol{Y}_{SV}\in \mathbb{C}^{M\times K} YSVCM×K,显然,它降低了信号的尺寸,使得算法更加高效,更适合高快拍的情景。

那么,此时,经过线性变换 V D K \boldsymbol{V}\boldsymbol{D}_K VDK,信号的模型变为: Y S V = A S S V + N S V \boldsymbol{Y}_{SV} = \boldsymbol{A}\boldsymbol{S}_{SV} + \boldsymbol{N}_{SV} YSV=ASSV+NSV对应的, l 1 l_1 l1优化问题转变成了:
min ⁡ S S V ∥ Y S V − A S S V ∥ F 2 + λ ∥ s ~ l 2 ∥ 1 \min_{\boldsymbol{S}_{SV}} \|\boldsymbol{Y}_{SV} - \boldsymbol{A}\boldsymbol{S}_{SV}\|_F^2 + \lambda\|\boldsymbol{\tilde{s}}^{l_2}\|_1 SSVminYSVASSVF2+λs~l21由于 S S V \boldsymbol{S}_{SV} SSV相比于 x \boldsymbol{x} x变成了矩阵,因而, s ~ l 2 \boldsymbol{\tilde{s}}^{l_2} s~l2为矩阵 S S V \boldsymbol{S}_{SV} SSV每一行向量的 l 2 l_2 l2范数,用以替代 x \boldsymbol{x} x的每一个元素。
稀疏DOA估计的经典算法——l1-SVD算法

二阶锥(SOC)优化

以上即为 l 1 − SVD l_1-\text{SVD} l1SVD算法的核心思想,以上优化问题是凸的,通过求解非线性优化即可。

而作者进一步将该问题转化为了二阶锥规划(SOCP)的框架,进而使用更高效的内点法求解。

二阶锥的定义与约束

定义二阶锥:
C k = { [ u t ] : u ∈ R K − 1 , t ∈ R , ∥ u ∥ ≤ t } \mathcal{C}_k = \left\{\begin{bmatrix} \boldsymbol{u} \\ t \end{bmatrix}: \boldsymbol{u} \in \mathbb{R}^{K-1}, t \in \mathbb{R},\|\boldsymbol{u}\| \leq t \right\} Ck={[ut]:uRK1,tR,ut}二阶锥约束可以表示为:
∥ A x + b ∥ ≤ c T x + d \|\boldsymbol{A}\boldsymbol{x}+\boldsymbol{b}\| \leq \boldsymbol{c}^T\boldsymbol{x}+\boldsymbol{d} Ax+bcTx+d等价于:
[ A c T ] x + [ b d ] ∈ C k \begin{bmatrix} \boldsymbol{A} \\ \boldsymbol{c}^T \end{bmatrix} \boldsymbol{x} + \begin{bmatrix} \boldsymbol{b} \\ \boldsymbol{d} \end{bmatrix} \in \mathcal{C}_k [AcT]x+[bd]Ck

二阶锥优化问题

一般形式:
min ⁡ x f T x s . t ∥ A i x + b i ∥ ≤ c i T x + d i F x = g \min_{\boldsymbol{x}} \quad \boldsymbol{f}^T\boldsymbol{x} \\ s.t \quad \|\boldsymbol{A}_i\boldsymbol{x}+\boldsymbol{b}_i\| \leq \boldsymbol{c}_i^T\boldsymbol{x}+\boldsymbol{d}_i \\ \quad \boldsymbol{F}\boldsymbol{x} = \boldsymbol{g} xminfTxs.tAix+biciTx+diFx=g其中, f ∈ R n \boldsymbol{f} \in \mathbb{R}^n fRn A i ∈ R n i × n \boldsymbol{A}_i\in \mathbb{R}^{n_i \times n} AiRni×n b i ∈ R n i \boldsymbol{b}_i\in \mathbb{R}^{n_i} biRni c i ∈ R n \boldsymbol{c}_i\in \mathbb{R}^{n} ciRn d i ∈ R \boldsymbol{d}_i\in \mathbb{R} diR F ∈ R p × n i \boldsymbol{F} \in \mathbb{R}^{p \times n_i} FRp×ni g ∈ R p \boldsymbol{g} \in \mathbb{R}^{p} gRp。另外,待优化变量 x ∈ R n \boldsymbol{x} \in \mathbb{R}^{n} xRn

注意,二阶锥优化问题对目标函数没有绝对的要求。

理解问题的转化

作者Malioutov最终把非线性优化问题转化成了SOCP问题: min ⁡ p , q , r , S S V p + λ q s . t ∥ vec { Y S V − A S S V } ∥ 2 2 ≤ p 1 T r ≤ q ∥ S S V ( i , : ) ∥ 2 ≤ r i \min_{p,q,\boldsymbol{r},\boldsymbol{S}_{SV}} \quad p + \lambda q \\ s.t \quad \|\text{vec}\{\boldsymbol{Y}_{SV} - \boldsymbol{A}\boldsymbol{S}_{SV}\}\|_2^2 \leq p \\ \boldsymbol{1}^T\boldsymbol{r} \leq q \\ \|\boldsymbol{S}_{SV}(i,:)\|_2 \leq r_i p,q,r,SSVminp+λqs.tvec{YSVASSV}22p1TrqSSV(i,:)2ri二阶锥规划的约束条件,简单理解为:待优化变量的仿射变换的范数小于等于另一种仿射变换。

因此,对应关系为:
x = [ p q r vec { S S V } ] \boldsymbol{x} = \begin{bmatrix} p \\ q \\ \boldsymbol{r} \\ \text{vec}\{\boldsymbol{S}_{SV}\} \end{bmatrix} x= pqrvec{SSV} 第一个约束条件转换为:
∥ vec { Y S V } − ( I ⊗ A ) vec { S S V } ∥ ≤ p \|\text{vec}\{\boldsymbol{Y}_{SV}\} - \left(\boldsymbol{I}\otimes\boldsymbol{A}\right)\text{vec}\{\boldsymbol{S}_{SV}\}\| \leq p vec{YSV}(IA)vec{SSV}p显然,这符合了二阶锥规划的约束条件的定义。

与MUSIC谱估计对比

两个信源的对比:

稀疏DOA估计的经典算法——l1-SVD算法

两个相近的信源的谱对比:

稀疏DOA估计的经典算法——l1-SVD算法

实验代码

clc;clear all;close all;
twpi = 2*pi;
derad = pi/180;
j = sqrt(-1);

%% 生成信号
M = 8;%阵元数
c = 1500;%声速1500m/s
f = 1e4;%载频10kHz
lambda0 = c/f;%载波波长
dd = 0.5*lambda0;%阵元间距
d = 0:dd:(M-1)*dd;
theta = [10 15];
K = length(theta);%信源数
fs = 2.5*f;%采样频率
L = 100;%快拍数
t = [1:L]/fs;%时域采样
A = exp(j*twpi*d'*sin(theta*derad)/lambda0);%方向向量
S = randn(K,L).*exp(j*twpi*ones(K,1)*f*t);
snr = 20;%信噪比
Y = awgn(A*S,snr,'measured');%加入高斯白噪声

%% 构造完备字典
Grid = -90:1:90;
AA = exp(j*twpi*d'*sin(Grid*derad)/lambda0);
Dk1 = eye(K);
Dk2 = zeros(K,L-K);
Dk = [Dk1,Dk2].';
[U,~,V] = svd(Y);       %进行奇异值分解
Ysv = Y*V'*Dk;

%% 求解凸优化问题
cvx_begin quiet
variables p q
variables r(length(Grid))
variable SSV1(length(Grid),K)  complex;
expression xsv(length(Grid),1)
expressions Zk(M,K) complex
minimize( p + 2*q );
subject to
Zk = Ysv - AA*SSV1;
Zvec = vec(Zk);                  %把矩阵转化为向量
norm(Zvec,2) <= p;               %第一个不等式约束
sum(r) <= q;                     %第二个不等式约束
for i=1:length(Grid)       %第三个不等式约束
    norm(SSV1(i,:),2) <= r(i);
end
cvx_end

%% 绘制空间谱
power = 10*log10(abs(SSV1(:,1))/max(abs(SSV1(:,1))));
h1 = plot(Grid,power,'r');
hold on
xlabel('DOA/degree');
ylabel('PowerdB');

%% 绘制MUSIC空间谱
R = Y*Y'/L;
[EV,D] = eig(R);%特征值分解
DD = diag(D);%将特征值变为向量形式
[DD,I] = sort(DD);%从小到大
EV = fliplr(EV(:,I));
%%%%%%%%%%构造MUSIC的谱函数%%%%%%%%%%%
En = EV(:,K+1:M);%噪声子空间
Pmusic = zeros(1,length(Grid));
for ii = 1:length(Grid)
    Pmusic(ii) = 1/(AA(:,ii)'*En*En'*AA(:,ii));
end
Pmusic=abs(Pmusic);
Pmax = max(Pmusic);
Pmusic_db = 10*log10(Pmusic/Pmax);
h2 = plot(Grid,Pmusic_db,'b');
xlim([-90 90])
set(gca,'XTick',[-90:30:90])
grid on
hold on
m = ylim;
for i = 1:K
    line([theta(i) theta(i)],[m(1) 0],'Color','k','LineWidth',1,'LineStyle','--');
    hold on
end
legend('l1-SVD','MUSIC','Direction of Arrival');
Tick',[-90:30:90])
grid on
hold on
m = ylim;
for i = 1:K
    line([theta(i) theta(i)],[m(1) 0],'Color','k','LineWidth',1,'LineStyle','--');
    hold on
end
legend('l1-SVD','MUSIC','Direction of Arrival');

文献

链接:文献获取
提取码:6666文章来源地址https://www.toymoban.com/news/detail-429611.html

到了这里,关于稀疏DOA估计的经典算法——l1-SVD算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 关于克拉美罗下界(CRLB)-及不同DOA估计算法下的方差(性能)对比

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

    2024年04月13日
    浏览(127)
  • 一.基于压缩感知(CS)的DOA估计方法-OMP-CS算法

    阅读须知: 1.本文为本人原创作品仅供学习参考,未经过本人同意禁止转载和抄袭。 2.要想无障碍阅读本文需要一定的压缩感知理论以及压缩感知信号重构算法基础。 3.话不多说,直接开搞。         假设有K个远场窄带信号入射到有M个天线的均匀线阵上,第k个信号的入

    2024年02月11日
    浏览(50)
  • 毫米波雷达DOA估计,包含3D-FFT,DBF,music算法三种测角算法原理

      毫米波雷达的目标角度估计,特别是角度分辨率的提高是雷达探测需要解决的核心问题,使用FFT(快速傅里叶变换)或者DBF(数字波束形成技术)做DOA估计是最简单且运算复杂度最低的方法,但是这两方法并不能实现超分辨,其角分辨率受限于阵列的孔径,music算法是实

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

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

    2024年02月17日
    浏览(50)
  • DOA估计 基于互质阵列的DOA估计

            传统阵列的配置方式是均匀线阵,该阵列要求相邻阵元的间距为半波长,易产生耦合效应,影响 DOA 估计精度。而稀疏阵列利用协方差矩阵构建差分共阵方式在虚拟域上生成虚拟阵列,并利用虚拟阵列实现波达方向角的估计。由于虚拟阵列的自由度不在局限于阵列

    2024年02月06日
    浏览(43)
  • 【学习笔记】【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日
    浏览(44)
  • 【学习笔记】【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日
    浏览(61)
  • 【学习笔记】【DOA子空间算法】3 root-MUSIC 算法

      root-MUSIC 算法是 MUSIC 算法的一种多项式求根形式,其基本思想是 Pisarenko 分解。相比于 MUSIC 算法,root-MUSIC 算法无须谱峰搜索,降低了复杂度。   由前面可知,ULA 的方向矢量 a ( θ ) mathbf{a}(theta) a ( θ ) 如下: a ( θ ) = [ exp ⁡ ( − j 2 π d 1 sin ⁡ θ / λ ) ⋮ exp ⁡ ( −

    2024年02月12日
    浏览(39)
  • DOA算法之DBF、CAPON、MUSIC、ROOT-MUSIC、ESPRIT、DML算法对比

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

    2024年02月06日
    浏览(137)
  • 人群计数经典方法Density Map Estimation,密度图估计

    这是crowd counting的主流方法 传统方法不好在哪里? object detection-based method和regression-based method无法从图像中提取更抽象的有助于完成人群计数任务的语义特征 概况 :给每个像素赋予密度值,总和记为场景中的人数。用高斯核gaussian kernel来模拟simulate人头在原图的对应位置cor

    2024年02月01日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包