原理介绍

在小快拍的情况下,采样协方差矩阵R^x{{\mathbf{\hat{R}}}_{x}}R^x​和理想协方差矩阵之间有较大的差距。为了能够提高采样协方差矩阵估计的准确性,研究学者提出了一种基于协方差矩阵的广义线性组合(General-Linear-Combination,GLC)方法。
考虑组合后的协方差矩阵R~x{{\mathbf{\tilde{R}}}_{x}}R~x​
R~x=αI+βR^x{{\mathbf{\tilde{R}}}_{x}}\text{=}\alpha \mathbf{I}+\beta {{\mathbf{\hat{R}}}_{x}}R~x​=αI+βR^x​
其中R~x≥0{{\mathbf{\tilde{R}}}_{x}}\ge 0R~x​≥0是半正定的,I\mathbf{I}I为单位阵,α≥0\alpha \ge 0α≥0,β≥0\beta \ge 0β≥0为组合系数,也叫收缩参数,可以通过最小化与理想协方差矩阵的均方误差来确定
f=E{∥R~x−Rx∥}=E{∥αI−(1−β)Rx+β(R^x−Rx)∥2}=∥αI−(1−β)Rx∥2+β2E{∥R^x−Rx∥2}=α2M−2α(1−β)tr(Rx)+(1−β)2∥Rx∥2+β2E{∥R^x−Rx∥2}\begin{aligned} & f=E\left\{ \left\| {{{\mathbf{\tilde{R}}}}_{x}}-{{\mathbf{R}}_{x}} \right\| \right\} \\ & =E\left\{ {{\left\| \alpha \mathbf{I}-(1-\beta ){{\mathbf{R}}_{x}}+\beta ({{{\mathbf{\hat{R}}}}_{x}}-{{\mathbf{R}}_{x}}) \right\|}^{2}} \right\} \\ & ={{\left\| \alpha \mathbf{I}-(1-\beta ){{\mathbf{R}}_{x}} \right\|}^{2}}+{{\beta }^{2}}E\left\{ {{\left\| {{{\mathbf{\hat{R}}}}_{x}}-{{\mathbf{R}}_{x}} \right\|}^{2}} \right\} \\ & ={{\alpha }^{2}}M-2\alpha (1-\beta )\text{tr}\left( {{\mathbf{R}}_{x}} \right)+{{\left( 1-\beta \right)}^{2}}\left\| {{\mathbf{R}}_{x}} \right\|^{2}+{{\beta }^{2}}E\left\{ {{\left\| {{{\mathbf{\hat{R}}}}_{x}}-{{\mathbf{R}}_{x}} \right\|}^{2}} \right\} \end{aligned}​f=E{∥∥∥​R~x​−Rx​∥∥∥​}=E{∥∥∥​αI−(1−β)Rx​+β(R^x​−Rx​)∥∥∥​2}=∥αI−(1−β)Rx​∥2+β2E{∥∥∥​R^x​−Rx​∥∥∥​2}=α2M−2α(1−β)tr(Rx​)+(1−β)2∥Rx​∥2+β2E{∥∥∥​R^x​−Rx​∥∥∥​2}​
通过求解上述表达式,可以得到最优的α\alphaα和β\betaβ
{β0=γρ+γα0=υ(1−β0)=υργ+ρ\left\{ \begin{aligned} & {{\beta }_{0}}=\frac{\gamma }{\rho +\gamma } \\ & {{\alpha }_{0}}=\upsilon \left( 1-{{\beta }_{0}} \right)=\upsilon \frac{\rho }{\gamma +\rho } \\ \end{aligned} \right.⎩⎪⎨⎪⎧​​β0​=ρ+γγ​α0​=υ(1−β0​)=υγ+ρρ​​
其中,ρ=E{∥R^x−Rx∥2}\rho =E\left\{ {{\left\| {{{\mathbf{\hat{R}}}}_{x}}-{{\mathbf{R}}_{x}} \right\|}^{2}} \right\}ρ=E{∥∥∥​R^x​−Rx​∥∥∥​2},υ=tr(Rx)/M\upsilon \text{=tr}\left( {{\mathbf{R}}_{x}} \right)/Mυ=tr(Rx​)/M,γ=∥υI−Rx∥2\gamma ={{\left\| \upsilon \mathbf{I}-{{\mathbf{R}}_{x}} \right\|}^{2}}γ=∥υI−Rx​∥2。同时,我们可以看出β∈[01]\beta \in \left[ \text{0}\text{1} \right]β∈[01]以及α≥0\alpha \ge 0α≥0,但是无法求解具体的值,因为上述表达式包含理想协方差矩阵。只有得到ρ\rhoρ的值后,才可以去估计α\alphaα和β\betaβ,因此首先要对ρ\rhoρ进行估计,可以得到以下的表达式
ρ^=1N2∑n=1N∥x(n)∥4−1N∥R^x∥2\hat{\rho }=\frac{1}{{{N}^{2}}}\sum\limits_{n=1}^{N}{{{\left\| \mathbf{x}\left( n \right) \right\|}^{4}}}-\frac{1}{N}\left\| {{{\mathbf{\hat{R}}}}_{x}} \right\|^{2}ρ^​=N21​n=1∑N​∥x(n)∥4−N1​∥∥∥​R^x​∥∥∥​2
同时,注意到
γ+ρ=∥υI−Rx∥2+E{∥R^x−Rx∥2}=E{∥R^x−υI∥2}\gamma +\rho ={{\left\| \upsilon \mathbf{I}-{{\mathbf{R}}_{x}} \right\|}^{2}}+E\left\{ {{\left\| {{{\mathbf{\hat{R}}}}_{x}}-{{\mathbf{R}}_{x}} \right\|}^{2}} \right\}=E\left\{ {{\left\| {{{\mathbf{\hat{R}}}}_{x}}-\upsilon \mathbf{I} \right\|}^{2}} \right\}γ+ρ=∥υI−Rx​∥2+E{∥∥∥​R^x​−Rx​∥∥∥​2}=E{∥∥∥​R^x​−υI∥∥∥​2}
因此,可以通过采样协方差矩阵R^x{{\mathbf{\hat{R}}}_{x}}R^x​来估计υ^\hat{\upsilon }υ^
基于上述过程,可以得到α\alphaα和β\betaβ的估计值
{β^0=1−ρ^∥R^x−υ^I∥2α^0=υ^(1−β0)=υ^ρ^∥R^x−υ^I∥2\left\{ \begin{aligned} & {{{\hat{\beta }}}_{0}}=\text{1}-\frac{{\hat{\rho }}}{{{\left\| {{{\mathbf{\hat{R}}}}_{x}}-\hat{\upsilon }\mathbf{I} \right\|}^{2}}} \\ & {{{\hat{\alpha }}}_{0}}=\hat{\upsilon }\left( 1-{{\beta }_{0}} \right)=\hat{\upsilon }\frac{{\hat{\rho }}}{{{\left\| {{{\mathbf{\hat{R}}}}_{x}}-\hat{\upsilon }\mathbf{I} \right\|}^{2}}} \\ \end{aligned} \right.⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧​​β^​0​=1−∥∥∥​R^x​−υ^I∥∥∥​2ρ^​​α^0​=υ^(1−β0​)=υ^∥∥∥​R^x​−υ^I∥∥∥​2ρ^​​​
但是由于α≥0\alpha \ge 0α≥0,β≥0\beta \ge 0β≥0,而上面的求解方法得到的结果可能是负值,所以可以采用下列表达式进行计算
{α^0=min⁡[υ^ρ^∥R^x−υ^I∥2,υ^]β^0=1−α^0υ^\left\{ \begin{aligned} & {{{\hat{\alpha }}}_{0}}=\min \left[ \hat{\upsilon }\frac{{\hat{\rho }}}{{{\left\| {{{\mathbf{\hat{R}}}}_{x}}-\hat{\upsilon }\mathbf{I} \right\|}^{2}}},\hat{\upsilon } \right] \\ & {{{\hat{\beta }}}_{0}}=1-\frac{{{{\hat{\alpha }}}_{0}}}{{\hat{\upsilon }}} \\ \end{aligned} \right.⎩⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎧​​α^0​=min⎣⎢⎡​υ^∥∥∥​R^x​−υ^I∥∥∥​2ρ^​​,υ^⎦⎥⎤​β^​0​=1−υ^α^0​​​
基于估计的系数,可以得到组合后的协方差矩阵
R~x=α^0I+β^0R^x{{\mathbf{\tilde{R}}}_{x}}\text{=}{{\hat{\alpha }}_{0}}\mathbf{I}+{{\hat{\beta }}_{0}}{{\mathbf{\hat{R}}}_{x}}R~x​=α^0​I+β^​0​R^x​
那么,GLC波束形成器的加权系数可以表示为
w=R~x−1a0a0HR~x−1a0\mathbf{w}=\frac{\mathbf{\tilde{R}}_{x}^{-1}{{\mathbf{a}}_{0}}}{\mathbf{a}_{0}^{H}\mathbf{\tilde{R}}_{x}^{-1}{{\mathbf{a}}_{0}}}w=a0H​R~x−1​a0​R~x−1​a0​​
如果β^0≠0{{{\hat{\beta }}}_{0}}\ne0β^​0​​=0,那么加权系数还可以表示为
w=[α^0β^0I+R^x]−1a0a0H[α^0β^0I+R^x]−1a0\mathbf{w}=\frac{{{\left[ \frac{{{{\hat{\alpha }}}_{0}}}{{{{\hat{\beta }}}_{0}}}\mathbf{I}+{{{\mathbf{\hat{R}}}}_{x}} \right]}^{-1}}{{\mathbf{a}}_{0}}}{\mathbf{a}_{0}^{H}{{\left[ \frac{{{{\hat{\alpha }}}_{0}}}{{{{\hat{\beta }}}_{0}}}\mathbf{I}+{{{\mathbf{\hat{R}}}}_{x}} \right]}^{-1}}{{\mathbf{a}}_{0}}}w=a0H​[β^​0​α^0​​I+R^x​]−1a0​[β^​0​α^0​​I+R^x​]−1a0​​
可以看出,其等效为对角加载,而且可以自动计算对角加载的大小,避免了如何确定对角加载量大小的问题,所以该方法又称作为自动对角加载技术。

仿真参数设置

参数名称 参数值
阵元数 10
期望信号角度 −5∘-5^{\circ}−5∘
干扰信号角度 −30∘-30^{\circ}−30∘、30∘30^{\circ}30∘
SNR 10dB
INR 20
快拍数 60

基于上述仿真参数,可以得到其方向图为

从图中可以看出,波束方向图在期望方向上形成了最大增益,在干扰方向上形成了相应的零陷,实现了增强信号、抑制干扰的作用。
代码如下:

clear;
close all;
clc;
warning off
%% 初始化
M = 10;             %阵元数
fs = 5000;          % 采样频率
f = 1000;           % 信号频率
snap = 60;         % 快拍数
T = 0.5;           %采样时间
t = 1/fs:1/fs:T;
c = 340;
lamda = c/f;              %波长
d = 0.5*lamda;          %阵元间距
theta0 =-5;                %期望信号角度
theta1 =-30;                %干扰角度
theta2 = 30;                %干扰角度
snr=10;                     %信噪比
inr1 =20;                   %干噪比
inr2 = 20;                   %干噪比
snr_noise = 0;              %噪声功率1,为0dBW%% 导向矢量
a0 = exp(-1j*2*pi*d*sind(theta0)*(0:M-1)'/lamda);
a1 = exp(-1j*2*pi*d*sind(theta1)*(0:M-1)'/lamda);
a2 = exp(-1j*2*pi*d*sind(theta2)*(0:M-1)'/lamda);%% 信号、干扰和噪声
tar_sig = wgn(1,length(t), snr);
inf1 = wgn(1,length(t),inr1);
inf2 = wgn(1,length(t),inr2);
noise = wgn(M,length(t),snr_noise);%% 阵列接收信号
rec_sig = a0*tar_sig + a1*inf1 + a2*inf2 + noise;
interference = a1*inf1 + a2*inf2;
sig = a0 * tar_sig;%% 协方差矩阵
Rx = rec_sig(:,1:snap)*rec_sig(:,1:snap)'/snap;
Rs = sig(:,1:snap)*sig(:,1:snap)'/snap;
Ri = interference(:,1:snap)*interference(:,1:snap)'/snap;
Rn = noise(:,1:snap)*noise(:,1:snap)'/snap;%% GLC算法
v=trace(Rx)/M;
p_sum=norm(rec_sig,'fro')^4;rho=p_sum/(snap^2)-norm(Rx,'fro')^2/snap;
alpha=min(v*rho/(norm(Rx-v*eye(size(Rx)))^2),v);
beta=1-alpha/v;
R_glc=alpha*eye(M)+beta*Rx;
w_glc =inv(R_glc)*a0/(a0'*inv(R_glc)*a0);
theta = -90:0.1:90; % scan angle
p = exp(-1j*2*pi*d*(0:M-1)'*sind(theta)/lamda);
y = w_glc'*p;
yy = 20*log10(abs(y)/max(abs(y)));
%% 绘图
figure(1);
plot(theta,yy,'linewidth', 2);
xlabel('角度(\circ)');ylabel('归一化增益(dB)')
grid on;
xlim([-90 90])

参考文献:
[1] L. Du, J. Li and P. Stoica, “Fully Automatic Computation of Diagonal Loading Levels for Robust Adaptive Beamforming,” in IEEE Transactions on Aerospace and Electronic Systems, vol. 46, no. 1, pp. 449-458, Jan. 2010, doi: 10.1109/TAES.2010.5417174.
[2]Ledoit, Olivier & Wolf, Michael, 2004. “A well-conditioned estimator for large-dimensional covariance matrices,” Journal of Multivariate Analysis, Elsevier, vol. 88(2), pages 365-411, February.
[3]P. Stoica, J. Li, X. Zhu and J. R. Guerci, “On Using a priori Knowledge in Space-Time Adaptive Processing,” in IEEE Transactions on Signal Processing, vol. 56, no. 6, pp. 2598-2602, June 2008, doi: 10.1109/TSP.2007.914347.

基于广义线性组合的Capon波束形成原理介绍及MATLAB实现相关推荐

  1. 最差性能最优波束形成算法原理介绍及MATLAB实现

    原理介绍 标准的Capon波束形成是最小化阵列输出功率,并且对期望信号无失真接收来达到最大化输出信干噪比的目的.但是当真实导向矢量未知且存在一个不确定集中时,为了对真实导向矢量设置无失真响应约束,最差 ...

  2. 双边滤波(Bilateral filter)原理介绍及matlab程序实现

    双边滤波 1.原理介绍 双边滤波由C. Tomasi在1998年提出,是一种经典的非线性空间滤波方法.在滤波器稀疏的制定上,双边滤波同时考虑到了输出像素与邻域内其它像素的欧氏距离和取值的差异,即:同时 ...

  3. 【TOTP】TOTP算法(基于时间的一次性动态密码)原理介绍 简要逻辑实现说明

    什么是TOTP(Time-base One-Time Password)? Time-base One-Time Password翻译过来是基于时间的一次性密码.这里以QQ令牌为例,解释下TOTP. ...

  4. matlab 逻辑回归实现,逻辑回归原理介绍及Matlab实现

    一.逻辑回归基本概念 1. 什么是逻辑回归 逻辑回归就是这样的一个过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏. Log ...

  5. 图像处理:TDLMS算法原理介绍及MATLAB实现

    一.TDLMS介绍 1.1 算法原理 二维最小均方(two-dimensional least mean square, TDLMS)滤波算法由最小均方误差(least mean square err ...

  6. 逻辑回归原理介绍及Matlab实现

    一.逻辑回归基本概念 1. 什么是逻辑回归 逻辑回归就是这样的一个过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏. Log ...

  7. 最陡梯度下降算法和LMS算法原理介绍及MATLAB实现

    维纳滤波 介绍这两种算法之前先来简单介绍下维纳滤波的问题 x(n)x\left( n \right)x(n)和y(n)y\left( n \right)y(n)是零均值的平稳离散信号,并且已知它们的二 ...

  8. 混合波束成形| 论文:基于MMSE准则的混合波束成形算法

    文章目录 前言 背景简介 问题建模 波束成形设计: 数字波束成形 波束成形设计: 模拟波束成形 流形优化 GEVD算法 波束成形设计: 接收端 拓展到宽带系统 仿真性能 窄带情形 宽带情形 总结 相关 ...

  9. 均匀线列阵常规波束形成原理—麦克风阵列系列(四)

    阅读原文还请移步我的知乎专栏: https://www.zhihu.com/column/c_1287066237843951616 继上篇文章,本篇继续学习,包括内容为: 均匀线列阵常规波束形成原理 ...

最新文章

  1. 武装机器狗不会自主杀人,监管自主杀伤性武器是政府的事,机器狗公司CEO这样说...
  2. 数据结构与算法详解目录
  3. 在html页面中加入矢量图,HTML5画布矢量图形?
  4. leetcode中文版python_Python版LeetCode1.两数之和
  5. Instant类的使用
  6. 要想选到音质好的耳机,你应该需要知道这些~
  7. 老旗舰华为能用上鸿蒙吗,华为完全开放鸿蒙,未来所有手机都能用鸿蒙系统?...
  8. 异常捕获try...catch... c#
  9. 视频编解码(八):264/265解码器小结
  10. html提取正文字游戏名,游戏id古诗词 用古诗词取个游戏名字
  11. FMI飞马网【线上直播】京东POP接口自动化测试
  12. 如何利用STM32和迪文串口屏以及WIFI模组进行数据交互
  13. QWidget setStyleSheet无效
  14. 没有计算机网络地址怎么办,教大家电脑没有ip地址mac地址怎么办
  15. 海尔简爱s11怎么进入bios_海尔简爱s11系统应用商店没有登录界面怎么办?
  16. 计算机ncre教材,ncre教材
  17. python的requests爬取Uniprot中蛋白序列和N-糖基化位点
  18. 刚刚装好的ppt插件islide消失了,如何解决呢?
  19. 强化学习经典model-free方法总结
  20. Pulsar Topics(主题)和 Namespaces(命名空间)

热门文章

  1. 【开关电源四】电源拓扑之Cuk、Sepic、Zeta
  2. 代码管理平台云效Codeup使用以及构建流水线
  3. 特性(Attribute)
  4. 假设某台式计算机的内存容量为256,计算机二级试题与答案
  5. Photoshop使用边缘功能打造后期画意
  6. c++编程规范和范例
  7. 视频搬运专业版-为搬运而生
  8. 微分方程解析解+数值解
  9. 怎么制作书单视频?一款好用的制作软件教程
  10. 小程序源码:和平精英吃鸡捏脸数据助手-多玩法安装简单