当前位置: 首页 > 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°分别形成了零陷。
在这里插入图片描述

相关文章:

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

常规波束形成仅能使得主波束对准目标方向,从而在噪声环境下检测到目标,但无法对复杂多变的干扰做出响应,所以不能称之为真正意义上的自适应滤波。自适应阵列处理指的是采用自适应算法对空间阵列接收的混合信号进行处理,又可称为自…...

什么是内容运营?

关于内容运营,在不同种类的公司,侧重点也不一样。 电商平台的内容运营岗更偏内容营销;产品功能比较简单的公司,内容运营和新媒体运营的岗位职责差不多;而内容平台的内容运营更多的是做内容的管理和资源整合。...

搭建安信可小安派Windows 开发环境

搭建小安派Windows 开发环境 Ai-Pi-Eyes 系列是安信可开源团队专门为Ai-M61-32S设计的开发板,支持WiFi6、BLE5.3。所搭载的Ai-M61-32S 模组具有丰富的外设接口,具体包括 DVP、MJPEG、Dispaly、AudioCodec、USB2.0、SDU、以太网 (EMAC)、SD/MMC(SDH)、SP…...

XML文件反序列化读取

原始XML文件 <?xml version"1.0" encoding"utf-8" ?> <School headmaster"王校长"><Grade grade"12" teacher"张老师"><Student name"小米" age"18"/><Student name&quo…...

会议剪影 | 思腾合力受邀参加2023第二届世界元宇宙大会并作主题演讲

由中国仿真学会、中国指挥与控制学会和北京理工大学共同主办&#xff0c;上海市嘉定区安亭镇人民政府和中国仿真学会元宇宙专业委员会承办的第二届世界元宇宙大会于2023年9月20日-22日在上海安亭举行。 大会以“虚实相生、产业赋能”为主题&#xff0c;聚焦元宇宙关键技术发展的…...

加密算法、哈希算法及其区别+国密简介

现代加密算法是信息安全领域中常用的算法&#xff0c;用于保护数据的机密性和完整性。以下是一些常用的现代加密算法&#xff1a; 加密算法&#xff08;Encryption Algorithm&#xff09; 目标&#xff1a;加密算法的主要目标是保密性&#xff08;Confidentiality&#xff09;…...

LeetCode算法二叉树—222. 完全二叉树的节点个数

目录 222. 完全二叉树的节点个数 - 力扣&#xff08;LeetCode&#xff09; 代码&#xff1a; 运行结果&#xff1a; 给你一棵 完全二叉树 的根节点 root &#xff0c;求出该树的节点个数。 完全二叉树 的定义如下&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能…...

Scrapy-应对反爬虫机制

参考自https://blog.csdn.net/y472360651/article/details/130002898 记得把BanSpider改成自己的项目名&#xff0c;还有一个细节要改一下&#xff0c;把代码user换成user_agent 禁止Cookie 在Scrapy项目中的settings文件&#xff0c;可以发现文件中有以下代码: COOKIES_ENA…...

Direct3D字体

D3DX库提供接口ID3DXFont用于在Direct3D应用程序中绘制文本&#xff0c;该接口内部使用GDI(图形设备接口)来绘制文本&#xff0c;因此该接口在性能上略有损失&#xff0c;由于使用GDI所以才能够处理一些复杂的字体和格式。可以用D3DXCreateFontIndirect函数来创建一个ID3DXFont…...

麒麟软件操作系统下载

银河麒麟高级服务器操作系统V10&#xff08;鲲鹏版&#xff09;&#xff1a; https://distro-images.kylinos.cn:8802/web_pungi/download/share/yYdlHoRzAre1mFPK9s3NviID4Lg5w6MW/ 银河麒麟高级服务器操作系统V10&#xff08;飞腾版&#xff09;&#xff1a; https://dist…...

ARM---实现1-100求和任务

.text .globl _start_start:mov r0, #0x1mov r1, #0x1 给r1加一固定1不变mov r2, #0x64 100判断bl sumcmp r1, r2 sum:addcc r1, r1,#0x1 r1自增addcc r0, r0, r1 r0求和movcc pc,lrstop:b stop.end...

Vue+Three.js实现三维管道可视化及流动模拟续集

继上一篇文章中实现了三维管道的可视化和流动模拟,经过反馈,对大家还是有一定帮助,因此就编写了一个续集,相当于增加了一些常见的通用共性功能,主要在前面的基础上增加了以下功能:1.新增直角拐弯的管道,工业中很多管道都是横平竖直的,相当于我们装修的水管或电线等,不…...

基于Xilinx UltraScale+ MPSOC(ZU9EG/ZU15EG)的高性能PCIe数据预处理平台

PCIE707是一款基于PCIE总线架构的高性能数据预处理FMC载板&#xff0c;板卡具有1个FMC&#xff08;HPC&#xff09;接口&#xff0c;1路PCIe x4主机接口、1个RJ45千兆以太网口、2个QSFP 40G光纤接口。板卡采用Xilinx的高性能UltraScale MPSOC系列FPGA作为实时处理器&#xff0c…...

IMX6ULL ARM Linux开发板SD卡启动,SD卡的分区与分区格式化创建

一、确定TF卡挂载到ubuntu上的设备名称及分区情况 1. 在ubuntu不接入TF卡的情况下&#xff0c; 使用df -lh /dev/sd*命令查看当前"/dev/sd开头"的设备。 ##输入df -lh /dev/sd*命令&#xff0c;敲回车键 ~$ df -lh /dev/sd* 2.将TF卡接入到ubuntu&#xff0c;再次使…...

去哪里找图标?

2023年9月27日&#xff0c;周三下午 为了准备软件工程的期末项目&#xff0c;我需要找给项目找一些图标 目录 1、iconfont 2、material-design-icons 3、Font-Awesome 4、feather 5、Bootstrap 官方图标库 1、iconfont iconfont-阿里巴巴矢量图标库 这个需要注册&…...

Js数组去重都有哪些方法?

1. indexOf 定义&#xff1a; indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果没有找到匹配的字符串则返回 -1。注意&#xff1a;iindexOf() 方法区分大小写。语法&#xff1a; string.indexOf(searchvalue,start)//;searchvalue必需。searchvalue可选…...

Vue简单使用

1.Vue使用环境 安装nodejs&#xff0c;新版nodejs集成npm&#xff1b;使用node -v和npm -v验证是否安装成功 修改npm镜像为淘宝npm镜像&#xff0c;然后使用cnpm指令代替npm npm install -g cnpm --registryhttp://registry.npm.taobao.org插件安装 Vetur Vue智能提示...

2309C++nlohmann数格示例2

JSON指针和JSON补丁 该库支持JSON指针(RFC6901)来处理结构化值.而,JSONPatch(RFC6902)允许描述两个JSON值之间的差异,有效地允许Unix已知的补丁和差异操作. //一个JSON值 json j_original R"({"baz": ["one", "two", "three"]…...

企业沟通平台私有部署,让沟通更高效数据更安全

在现代企业中&#xff0c;高效的内部沟通对于保持团队合作、提升工作效率至关重要。而企业沟通平台私有部署则成为了越来越多企业的选择&#xff0c;以满足数据安全性、合规性以及定制化需求。WorkPlus 作为领先品牌&#xff0c;提供高质量的企业沟通平台私有部署解决方案&…...

Java流的体系结构(一)

文章目录 一、文件读写操作FileReader和FileWriter1.main()2.FileReader1.说明&#xff1a;2.代码案例 3.对read()操作升级&#xff1a;使用read的重载方法4.FileWriter的使用1.说明2.代码 4.FileReader和FileWriter综合使用 二、使用步骤1.引入库 二、测试FileInputStream和Fi…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...

Java并发编程实战 Day 11:并发设计模式

【Java并发编程实战 Day 11】并发设计模式 开篇 这是"Java并发编程实战"系列的第11天&#xff0c;今天我们聚焦于并发设计模式。并发设计模式是解决多线程环境下常见问题的经典解决方案&#xff0c;它们不仅提供了优雅的设计思路&#xff0c;还能显著提升系统的性能…...

如何把工业通信协议转换成http websocket

1.现状 工业通信协议多数工作在边缘设备上&#xff0c;比如&#xff1a;PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发&#xff0c;当设备上用的是modbus从站时&#xff0c;采集设备数据需要开发modbus主站&#xff1b;当设备上用的是西门子PN协议时&#xf…...

ABB馈线保护 REJ601 BD446NN1XG

配电网基本量程数字继电器 REJ601是一种专用馈线保护继电器&#xff0c;用于保护一次和二次配电网络中的公用事业和工业电力系统。该继电器在一个单元中提供了保护和监控功能的优化组合&#xff0c;具有同类产品中最佳的性能和可用性。 REJ601是一种专用馈线保护继电器&#xf…...