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

news/2025/2/12 7:58:33/

常规波束形成仅能使得主波束对准目标方向,从而在噪声环境下检测到目标,但无法对复杂多变的干扰做出响应,所以不能称之为真正意义上的自适应滤波。自适应阵列处理指的是采用自适应算法对空间阵列接收的混合信号进行处理,又可称为自适应波束形成技术,该技术可以有效提取目标信号的参数信息并抑制干扰,尤其对于时域上分不开但空域中能分开的一类干扰有较好的抑制作用。
自适应波束形成本质上是一种最优滤波,而最优波束形成作为理论分析的工具,为实现自适应波束形成打下了基础。最优波束形成的权矢量是按照某一寻优准则,依据阵列接收信号的统计特性得到的。
线性约束最小方差准则(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.ppmy.cn/news/1125968.html

相关文章

线性表(1)

线性表即“把所有数据按照顺序(线性)的存储结构方式,存储在物理空间”。 线性表又分为 顺序表链表 单向链表双向链表 一、顺序表 数据依次存储在连续的物理空间中,就比如数组。 顺序表存储数据时,会提前申请一整块足够…

数据库基础知识以及MySQL简介

关于MySQL的读法 MySQL如何发音?在国内MySQL发音有很多种,Oracle官方文档说他们念作 My sequal[si:kwəl]。 数据库基本概念 数据 数据(Data)是指对客观事物进行描述并可以鉴别的符号,这些符号是可识别的、抽象的。它…

OpenGl材质

在现实世界里,每个物体会对光产生不同的反应。比如,钢制物体看起来通常会比陶土花瓶更闪闪发光,一个木头箱子也不会与一个钢制箱子反射同样程度的光。有些物体反射光的时候不会有太多的散射(Scatter),因而产生较小的高光点&#x…

获取热门电影算法

功能#2:获取热门电影 为我们的“Netflix”项目实现“获取热门电影”功能。 我们将介绍以下内容 描述 解决方案 复杂性措施 时间复杂度 空间复杂度 描述# 现在,我们需要建立一个标准,以便将来自多个国家的顶级电影组合成一个单一的顶级电影…

进程的内存映像

组成部分 代码段:即程序的二进制代码,只读,可被多个进程共享数据段:包括全局变量和静态变量进程控制块PCB:在系统区(内核区),操作系统通过PCB来控制和管理进程堆:用来存放…

VCS flow学习

VCS VCS 是IC从业者常用软件,该篇文章是一个学习记录,会记录在使用过程中各种概念及options。 VCS Flow VCS Flow 可以分为Two-step Flow和Three-step Flow两类。 两步法 两步法只支持Verilog HDL和SystemVerilog的design,两步法主要包括…

燃气安全如何保障?万宾燃气管网监测系统时刻感知管网运行态势

近年来随着我国城镇化建设的加快,燃气已经成为每个家庭的必需品。然而,每年夏季频繁发生的燃气爆炸事故,已经严重危害人民生命财产安全危害社会公共安全和公共利益。为了保障燃气安全运行,近日,许多城市都在大力推进燃…

C语言的stdio.h的介绍

C语言的stdio.h的介绍 C语言的stdio.h的介绍 C语言的stdio.h的介绍C语言stdio.h的介绍 C语言stdio.h的介绍 这个含义是导入标准输入输出库 包含头文件.h&#xff0c;std标准库&#xff0c;io是input output输入输出库 <>代表系统库&#xff0c;自定义的话用""…