32阵元 MVDR和DREC DOA估计波束方向图对比

2023-12-29 10:12

本文主要是介绍32阵元 MVDR和DREC DOA估计波束方向图对比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

32阵元 MVDR和DREC DOA估计波束方向图对比

一、原理

MVDR原理:https://zhuanlan.zhihu.com/p/457528114

DREC原理(无失真响应特征干扰相消器):http://radarst.ijournal.cn/html/2019/3/201903018.html

主要参数:
阵元:32个阵元,可以设置。
期望信号:1个,角度、信噪比可以设置。
干扰信号:2个,角度、信噪比可以设置。

二、效果

波束方向图效果:
在这里插入图片描述

三、代码

部分代码:

clc;
clear all;
close all;
%% 
v=2;    %波长为2
d =v/2; %阵元间距
N=32;   %阵元个数
theta_3db = 2/N*180/pi; %-3db波束宽度
for ix=1:1:NA(ix,1)=(ix-1)*d;%阵元间距向量
end%% 接收信号模型
fs=10;  %信号频率
fj1=1;  %干扰1频率
fj2=2;  %干扰2频率SNR= -10; %信噪比
JNR1=20;  %干噪比1
JNR2=20;  %干噪比2theta_s=10*pi/180;  %信号入射方向
theta_j1=20*pi/180; %干扰1,间距大于主瓣宽度
theta_j2=25*pi/180; %干扰2,间距大于主瓣宽度A0=sqrt(10^(SNR/10)); %信号幅度
A1=sqrt(10^(JNR1/10));%干扰1幅度
A2=sqrt(10^(JNR2/10));%干扰2幅度
for k=1:1:Nas(k,1)=exp(j*2*pi*sin(theta_s)*A(k,1)/v);  %信号方向导向矢量aj1(k,1)=exp(j*2*pi*sin(theta_j1)*A(k,1)/v);%干扰1方向导向矢量aj2(k,1)=exp(j*2*pi*sin(theta_j2)*A(k,1)/v);%干扰2方向导向矢量
end
M =1000;%快拍数
t=0:1/(4*fs):(M-1)/(4*fs);%快拍时间T=length(t);%快拍时间长度
S0=A0*exp(sqrt(-1)*(2*pi*fs*t+pi*rand(1,T)));    %构造信号   
J1=A1*exp(sqrt(-1)*(2*pi*fj1*t+pi*rand(1,T)));   %构造干扰信号1 
J2=A2*exp(sqrt(-1)*(2*pi*fj2*t+pi*rand(1,T)));   %构造干扰信号2 S=as*S0;  %信号乘以信号方向导向矢量
I1=aj1*J1;%干扰1乘以干扰1方向导向矢量
I2=aj2*J2;%干扰2乘以干扰2方向导向矢量Noise=zeros(N,T);%构造归一化高斯噪声
for k=1:1:NNoise(k,:)=(randn(1,T)+sqrt(-1)*randn(1,T))/sqrt(2);
endX=S+I1+I2+Noise; % 叠加两个干扰信号和噪声,得到新的信号X
R=X*X'/T;        % 干扰和噪声的协方差矩阵%% 图形绘制
figure(1);
Fa=20*log10(abs(F_s)./max_st); %归一化方向图 db
plot(theta_scan/pi*180, Fa,'b');hold on
Fa=20*log10(abs(Fsum)./maxs);%归一化方向图 db
plot(theta_scan/pi*180, Fa,'r'); grid on;Fa1=20*log10(abs(Fsum1)./maxs1);%归一化方向图 db
plot(theta_scan/pi*180, Fa1,'g');
xlabel('theta/°');
ylabel('幅度/dB');
title('波束方向图');
legend('原始波束扫描方向图','MVDR波束方向图','DREC波束方向图')

四、信噪比SNR和信干噪比SINR的关系

信噪比的表达式为:

S N R = 10 lg ⁡ P S P N S N R=10 \lg \frac{P_S}{P_N} SNR=10lgPNPS,其中:

SNR:信噪比,单位是dB。
PS:信号的有效功率。
PN:噪声的有效功率。

信干噪比SINR(Signal to Interference plus Noise Ratio)指的是系统中信号与干扰和噪声之和的比。

信干噪比表达式为:

S I N R = 10 lg ⁡ P S P I + P N S I N R=10 \lg \frac{P_S}{P_I+P_N} SINR=10lgPI+PNPS,其中:

SINR:信干噪比,单位是dB。
PS:信号的有效功率。
PN:噪声的有效功率。
PI:干扰信号的有效功率。

由上述理论可知,SNR增加,即相对于Ps增加,当PI和PN不变时,SINR会逐渐增大,如下图所示是SNR和SINR的关系:
在这里插入图片描述

五、干噪比INR和信干噪比SINR的关系

由第四节所述,当干噪比INR增加时,相当于PI增加,因此当PN和PS不变时,SINR会逐渐降低。如下图所示:
在这里插入图片描述
代码下载链接:https://mbd.pub/o/bread/ZZicm5Zy

这篇关于32阵元 MVDR和DREC DOA估计波束方向图对比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/549191

相关文章

Linux中的more 和 less区别对比分析

《Linux中的more和less区别对比分析》在Linux/Unix系统中,more和less都是用于分页查看文本文件的命令,但less是more的增强版,功能更强大,:本文主要介绍Linu... 目录1. 基础功能对比2. 常用操作对比less 的操作3. 实际使用示例4. 为什么推荐 less?5.

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细

PostgreSQL 序列(Sequence) 与 Oracle 序列对比差异分析

《PostgreSQL序列(Sequence)与Oracle序列对比差异分析》PostgreSQL和Oracle都提供了序列(Sequence)功能,但在实现细节和使用方式上存在一些重要差异,... 目录PostgreSQL 序列(Sequence) 与 oracle 序列对比一 基本语法对比1.1 创建序

exfat和ntfs哪个好? U盘格式化选择NTFS与exFAT的详细区别对比

《exfat和ntfs哪个好?U盘格式化选择NTFS与exFAT的详细区别对比》exFAT和NTFS是两种常见的文件系统,它们各自具有独特的优势和适用场景,以下是关于exFAT和NTFS的详细对比... 无论你是刚入手了内置 SSD 还是便携式移动硬盘或 U 盘,都需要先将它格式化成电脑或设备能够识别的「文

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

python中字符串拼接的几种方法及优缺点对比详解

《python中字符串拼接的几种方法及优缺点对比详解》在Python中,字符串拼接是常见的操作,Python提供了多种方法来拼接字符串,每种方法有其优缺点和适用场景,以下是几种常见的字符串拼接方法,需... 目录1. 使用 + 运算符示例:优缺点:2. 使用&nbsjsp;join() 方法示例:优缺点:3

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Golang中拼接字符串的6种方式性能对比

《Golang中拼接字符串的6种方式性能对比》golang的string类型是不可修改的,对于拼接字符串来说,本质上还是创建一个新的对象将数据放进去,主要有6种拼接方式,下面小编就来为大家详细讲讲吧... 目录拼接方式介绍性能对比测试代码测试结果源码分析golang的string类型是不可修改的,对于拼接字