当前位置: 首页 > news >正文

线性约束最小方差准则(LCMV)波束形成算法仿真

常规波束形成仅能使得主波束对准目标方向,从而在噪声环境下检测到目标,但无法对复杂多变的干扰做出响应,所以不能称之为真正意义上的自适应滤波。自适应阵列处理指的是采用自适应算法对空间阵列接收的混合信号进行处理,又可称为自适应波束形成技术,该技术可以有效提取目标信号的参数信息并抑制干扰,尤其对于时域上分不开但空域中能分开的一类干扰有较好的抑制作用。
自适应波束形成本质上是一种最优滤波,而最优波束形成作为理论分析的工具,为实现自适应波束形成打下了基础。最优波束形成的权矢量是按照某一寻优准则,依据阵列接收信号的统计特性得到的。
线性约束最小方差准则(LCMV)在对有用信号形式和信号来向完全未知情况下,在某种约束条件下使阵列输出的方差最小。
LCMV方法的代价函数可以表示为
J ( w ) = w H R w J(w)=w^HRw J(w)=wHRw
约束条件为:
w H a ( θ ) = f w^Ha(\theta)=f wHa(θ)=f
f = 1 f=1 f=1得到最优解:
w = R − 1 c c H R − 1 c w=\frac{R^{-1}c}{c^HR^{-1}c} w=cHR1cR1c
仿真参数设置:

参数Value
阵元数18
期望信号角度10
干扰信号角度[-20 20]
SNR10
JNR40
快拍数3000

仿真程序:

%% 线性约束最小方差准则(LCMV)仿真
%  线性约束最小方差准则是在有用信号形式和信号来向完全已知的情况下,在某种约束的条件下使阵列输出的方差最小。
% 典型的块自适应处理算法—采样矩阵求逆(SMI)算法
% author:huasir 2023.9.26@beijing
clc;close all;clear all;
M = 18; %天线数
L = 3000; %快拍数
thetaSiganl = [10]; %信号入射角度
thetaJamming = [-20 20]; %干扰入射角度
n = [0:M-1]'; %阵元
vs = exp(-j*pi*n*sin(thetaSiganl/180*pi)); %信号方向矢量
vj = exp(-j*pi*n*sin(thetaJamming/180*pi)); %信号方向矢量fd = 120; %载波频率
fs = 8*fd; %采样频率
t = [0:1:L-1]/fs;
snr = 10; %信噪比
inr = 40; %干噪比
xs = sqrt(10^(snr/10))*exp(j*2*pi*fd*t); %构造有用信号
xj = sqrt(10^(inr/10)/2)*[randn(length(thetaJamming),L)+j*randn(length(thetaJamming),L)]; %构造干扰信号
noise = [randn(M,L)+j*randn(M,L)]/sqrt(2);                    %噪声
A = [vs vj]; %阵列流形矩阵
St = [xs;xj]; %输入信号向量
X = A*St + noise; %矩阵形式,含噪声信号
R = X*X'/L; %构造协方差矩阵
wop1 = inv(R)*vs/(vs'*inv(R)*vs); %自适应波束形成权重
sita = 90*[-1:0.001:1]; %扫描方向范围
v = exp(-j*pi*n*sin(sita/180*pi)); %扫描方向矢量
B = abs(wop1'*v); %自适应波束形成方向图
C = abs(vs'*v); %普通波束形成方向图
figure;
plot(sita,20*log10(B/max(B)),'r');
hold on;
plot(sita,20*log10(C/max(C)),'b--');
title('波束图');
xlabel('角度/degree');
ylabel('波束图/dB');
grid on; 
axis([-100 100 -50 0]);
legend('LCMV准则','常规波束形成');
hold off;

可以看到,在-20°和20°分别形成了零陷。
在这里插入图片描述

http://www.lryc.cn/news/176866.html

相关文章:

  • 什么是内容运营?
  • 搭建安信可小安派Windows 开发环境
  • XML文件反序列化读取
  • 会议剪影 | 思腾合力受邀参加2023第二届世界元宇宙大会并作主题演讲
  • 加密算法、哈希算法及其区别+国密简介
  • LeetCode算法二叉树—222. 完全二叉树的节点个数
  • Scrapy-应对反爬虫机制
  • Direct3D字体
  • 麒麟软件操作系统下载
  • ARM---实现1-100求和任务
  • Vue+Three.js实现三维管道可视化及流动模拟续集
  • 基于Xilinx UltraScale+ MPSOC(ZU9EG/ZU15EG)的高性能PCIe数据预处理平台
  • IMX6ULL ARM Linux开发板SD卡启动,SD卡的分区与分区格式化创建
  • 去哪里找图标?
  • Js数组去重都有哪些方法?
  • Vue简单使用
  • 2309C++nlohmann数格示例2
  • 企业沟通平台私有部署,让沟通更高效数据更安全
  • Java流的体系结构(一)
  • 什么是Redux?它的核心概念有哪些?
  • 细胞机器人系统中的群体智能
  • 【办公自动化】用Python将PDF文件转存为图片(文末送书)
  • 不容易解的题9.26
  • 易点易动固定资产管理系统:精准管理与科学采购,降本增效的利器
  • 人大金仓分析型数据库外部表(二)
  • rtp流广播吸顶喇叭网络有源吸顶喇叭
  • Spring学习笔记12 面向切面编程AOP
  • 【0225】源码分析postgres磁盘块(disk block)定义
  • 第九章 动态规划 part11 123. 买卖股票的最佳时机III 188. 买卖股票的最佳时机IV
  • 阿里云服务器共享型和企业级独享有什么区别?