【雷达原理】数字波束形成(DBF)

目录

  • 一、数字波束形成
    • 1.1 DBF原理
    • 1.2 工程应用实现方式
      • 1.2.1 预先存储权矢量
      • 1.2.2 利用DFT/FFT实现DBF
  • 二、DBF应用
    • 2.1 通道间相干积累
    • 2.2 测量目标角度
  • 三、MATLAB代码

一、数字波束形成

数字波束形成(Digital Beam Forming,DBF) 技术,是针对阵列天线,利用阵列天线的孔径,通过数字信号处理在期望的方向形成接收波束。
DBF的物理意义:虽然单个天线的方向图是全向的,但对阵列多个接收通道的信号,利用数字处理方法,对某一方向的入射信号,补偿由于传感器在空间位置不同而引起的传播波程差导致的相位差,实现同相叠加,从而实现该方向的最大能量接收,完成该方向上的波束形成,来接收有用的期望信号,这种把阵列接收的方向增益聚集在一个指定的方向上,相当于形成了一个“波束”。
可以通过改变权值,使得波束指向不同的方向,并实现波束的扫描。通过多通道的并行处理也可以同时形成多个波束,还可以选择合适的窗函数来降低副瓣电平。

1.1 DBF原理

对于 N N N 个间距为 d d d 的阵元组成的接收阵列,考虑 p p p 个远场的窄带信号入射到该阵列上,假设阵元数和通道数相等,即各阵元接收到信号后经过各自的传输信道送到信号处理器,则接收信号矢量可表示为:
X ( t ) = A ⋅ S ( t ) + N ( t ) ( 1 − 1 ) X(t)=A·S(t)+N(t) (1-1) X(t)=AS(t)+N(t)11
其中, X ( t ) = [ x 1 ( t ) , x 2 ( t ) , . . . . . . , x N ( t ) ] T X(t)=[x_{1}(t),x_{2}(t),......,x_{N}(t)]^T X(t)=[x1(t),x2(t),......,xN(t)]T ,为 N × 1 N×1 N×1 维阵列接收快拍信号矢量,; S ( t ) = [ s 1 ( t ) , s 2 ( t ) , . . . . . . , s p ( t ) ] T S(t)=[s_{1}(t),s_{2}(t),......,s_{p}(t)]^T S(t)=[s1(t),s2(t),......,sp(t)]T ,为 p × 1 p×1 p×1 维信号矢量; N ( t ) N(t) N(t) N × 1 N×1 N×1 维噪声信号矢量; A = [ a ( θ 1 ) , a ( θ 2 ) , . . . . . . , a ( θ p ) ] A=[a(θ_{1}),a(θ_{2}),......,a(θ_{p})] A=[a(θ1),a(θ2),......,a(θp)] N × p N×p N×p 维导向矢量矩阵。

i i i 个信号的导向矢量为:
a ( θ i ) = [ 1 , e j 2 π d s i n θ i / λ , . . . , e j 2 π ( N − 1 ) d s i n θ i / λ ] T a(θ_{i})=[1,e^{j2πdsinθ_{i}/λ},...,e^{j2π(N-1)dsinθ_{i}/λ}]^T a(θi)=[1,ej2πdsinθi/λ,...,ej2π(N1)dsinθi/λ]T
在DBF过程中,假设信号的到达方向为 θ θ θ ,则在该方向的导向矢量为:
a ( θ ) = [ 1 , e j 2 π d s i n θ / λ , . . . , e j 2 π ( N − 1 ) d s i n θ / λ ] T a(θ)=[1,e^{j2πdsinθ/λ},...,e^{j2π(N-1)dsinθ/λ}]^T a(θ)=[1,ej2πdsinθ/λ,...,ej2π(N1)dsinθ/λ]T
由式(1-1)知,对于单一信号源,有 X ( t ) = A ⋅ S ( t ) + N ( t ) X(t)=A·S(t)+N(t) X(t)=AS(t)+N(t),波束形成技术与时间滤波类似,即对采样数据 X ( t ) X(t) X(t) 进行加权求和,加权后的输出信号为:
y ( t ) = W H ⋅ X ( t ) = W H ⋅ a ( θ ) ⋅ s ( t ) + W H ⋅ N ( t ) ( 1 − 2 ) y(t)=W^{H}·X(t)=W^{H}·a(θ)·s(t)+W^{H}·N(t) (1-2) y(t)=WHX(t)=WHa(θ)s(t)+WHN(t)12
式中, W = [ W 1 , W 2 , , . . . , W N ] T W=[W_{1},W_{2},,...,W_{N}]^T W=[W1,W2,,...,WN]T ,为DBF的权矢量。

W = a ( θ 0 ) W=a(θ_{0}) W=a(θ0) ,即对方向为 θ 0 θ_{0} θ0 的信号进行同相相加时,输出 y ( t ) y(t) y(t) 的模值最大。该过程就是利用了波束形成技术实现对方向为 θ 0 θ_{0} θ0 的选择,即空域滤波

等距线阵空域滤波的结构如图1所示,
图1 等距线阵空域滤波结构图
图1 等距线阵空域滤波结构图
对一个阵元数 N = 16 N=16 N=16 等距线阵,阵元间距为半波长,假设波束指向分别为-30°,0°,30°,经过DBF处理后,在指定的方向形成主瓣,其余方向形成旁瓣,数字波束形成方向图如图2所示。
在这里插入图片描述
在这里插入图片描述
图2 数字波束形成方向图
由图2可看出,未加窗时,阵列的波束形成方向图的副瓣电平为-13.15dB,采用对权矢量进行加窗处理,可以降低副瓣电平,例如加泰勒窗后,副瓣电平降低为-30.06dB,但其主瓣的3dB宽度为8.2°,相比未加窗处理的主瓣展宽了1.8°。

接收天线的阵元数不同,数字波束形成方向图也有较大区别,以波束指向为0°,未加窗处理为例,取阵元数分别为 N = 8 、 N = 16 、 N = 32 N=8、N=16、N=32 N=8N=16N=32 时,得到数字波束形成方向图如图3所示。
在这里插入图片描述
由图3可以看出,当阵元数成倍数增加时,其方向图的3dB宽度成倍数减小;旁瓣数量会随着阵元数的增加而增加;副瓣电平均相同。

1.2 工程应用实现方式

1.2.1 预先存储权矢量

采用公式(1-2)进行DBF处理需要 N 2 N^2 N2 次复数乘法运算,当波束扫描的角度间隔较小,即波位数量较多时,计算量是极大的,不利于实时计算。
因此实际工程应用时,要设置合理的波束扫描间隔,并充分挖掘硬件的性能(并行计算),可以通过提前计算出权矢量的数值,预先存储在文件中,在使用时进行导入即可计算。

1.2.2 利用DFT/FFT实现DBF

在不同的方向进行DBF处理时需要采用不同的权矢量,对方向 θ θ θ 的权矢量为:
W ( θ ) = [ 1 , e − j 2 π d s i n θ / λ , . . . , e − j 2 π d s i n θ ( N − 1 ) / λ ] T ( 1 − 3 ) W(θ)=[1,e^{-j2πdsinθ/λ},...,e^{-j2πdsinθ(N-1)/λ}]^T(1-3) W(θ)=[1,ej2πdsinθ/λ,...,ej2πdsinθ(N1)/λ]T13
将DBF处理搜索的波位的角度按下式进行量化:
s i n θ k = λ k N d , k = 0 , 1 , . . . , N − 1 ( 1 − 4 ) sinθ_{k}=\frac{λk}{Nd},k=0,1,...,N-1(1-4) sinθk=Ndλkk=0,1,...,N114
则得到的权矢量为 W ( θ k ) W(θ_{k}) W(θk)
W ( θ k ) = [ 1 , e − j 2 π N k , . . . , e − j 2 π N ( N − 1 ) k ] T ( 1 − 3 ) W(θ_{k})=[1,e^{-j\frac{2π}{N}k},...,e^{-j\frac{2π}{N}(N-1)k}]^T(1-3) W(θk)=[1,ejN2πk,...,ejN2π(N1)k]T13
由式(1-3)可知,DBF的权矢量 W ( θ k ) W(θ_{k}) W(θk) 为离散傅里叶变换(DFT)的旋转因子 W N n k W_{N}^{nk} WNnk ,因此可以利用DFT或者FFT实现DBF处理,同时得到N个波位的DBF结果。

采用快速傅里叶变换(FFT)可以减少DFT的计算时间复杂度,其复数乘法的运算次数为 ( N / 2 ) l o g N (N/2)logN (N/2)logN

案例:
设有32个阵元组成间距为半波长的等距线阵,同一距离单元的两个目标的方位角分别为-20°和30°,对接收信号利用128点FFT进行DBF处理,得到的结果如下:
在这里插入图片描述
x坐标代表角度维,每个点的角度精度为Ag_point =0.8952,仿真计算得到的目标角度为:A1=-Ag_point *(23-1)=-19.6954°,A2=Ag_point *(128-97) =27.75°。与实际设定角度存在一定范围的差异,由角度分辨率有关。

二、DBF应用

2.1 通道间相干积累

2.2 测量目标角度

三、MATLAB代码

1.DBF方向图

clc;
clear;
close all;%% DBF方向图
N = 16;
d_lambda = 0.5;
theta = (-90:0.1:90);% 1、不同波束指向
theta0 = -30;
pattern = Antenna_Pattern(N,d_lambda,theta0,theta);
figure;
plot(theta,20*log10(pattern/max(pattern)),'b-');
hold on;theta0 = 0;
pattern = Antenna_Pattern(N,d_lambda,theta0,theta);
plot(theta,20*log10(pattern/max(pattern)),'r-.');
theta0 = 30;
pattern = Antenna_Pattern(N,d_lambda,theta0,theta);
plot(theta,20*log10(pattern/max(pattern)),'m--');
xlabel('方位/°');ylabel('归一化方向图/dB');xlim([-90 90]);ylim([-50 0]);
legend('\theta=-30','\theta=0','\theta=30');
title(['阵元数N=',num2str(N)]);% 2、固定波束指向时,对比加窗前后效果
theta0 = 0;
pattern = Antenna_Pattern(N,d_lambda,theta0,theta);
figure;
plot(theta,20*log10(pattern/max(pattern)),'b-');
hold on;select = 3;
pattern = Antenna_Pattern(N,d_lambda,theta0,theta,select);
plot(theta,20*log10(pattern/max(pattern)),'k--');
xlabel('方位/°');ylabel('归一化方向图/dB');xlim([-90 90]);ylim([-50 0]);
legend('未加窗','加泰勒窗');
title(['阵元数N=',num2str(N)]);% 3、固定波束指向时,对比不同阵元数的波束形成方向图
theta0 = 0;
N = 8;
pattern = Antenna_Pattern(N,d_lambda,theta0,theta);
figure;
plot(theta,20*log10(pattern/max(pattern)),'b-');
hold on;N = 16;
pattern = Antenna_Pattern(N,d_lambda,theta0,theta);
plot(theta,20*log10(pattern/max(pattern)),'r-.');
N = 32;
pattern = Antenna_Pattern(N,d_lambda,theta0,theta);
plot(theta,20*log10(pattern/max(pattern)),'k--');
xlabel('方位/°');ylabel('归一化方向图/dB');xlim([-90 90]);ylim([-50 0]);
legend('N = 8','N = 16','N = 32');
title('波束指向0度,未加窗');

2.雷达系统仿真模型

clc;
clear;
close all;%%  雷达系统仿真模型
setParameter();     %  设置雷达系统参数global para;
% 设置目标参数
set_TarInfo.tarNum = 2;
set_TarInfo.tar_R0 = [500,500];                 % 目标距离
set_TarInfo.tar_V0 = [0,0];                             % 目标速度
set_TarInfo.tar_Ag = [-20,30];                         % 目标角度
set_TarInfo.Rcs = [1,5];                                % 目标rcs
set_TarInfo.SNR = 10;                                           % 信噪比% 雷达发射和接收信号模型
para.Tx_Num = 1;        % 发射阵元数目
para.Rx_Num = 32;        % 接收阵元数目
global NumChirp;
NumChirp = 1;
rawData = RadarSigModel_MultiCh(set_TarInfo);%% 雷达信号处理
global NumADC;fs = para.fs;
u = para.u;
c = para.c;
Rx_Num = para.Rx_Num;Nfft1 = 2^ceil(log2(NumADC));                           % 距离维FFT点数
Nfft3 = 128;                                             % 通道间FFT点数
R_point = (fs/Nfft1)*c/(2*u);                           % 距离点精度
Ag_point = 2/Nfft3*180/pi;                              % 距离维FFT
win1 = hamming(NumADC);       % 加汉明窗
fft_Data = zeros(Nfft1,Rx_Num);
for ii = 1:Rx_Numfft_Data(:,ii) = fft(rawData(:,:,ii).*win1,Nfft1);
end% 角度维FFT
win3 = hamming(Rx_Num);       % 加汉明窗
fft3_Data = zeros(Nfft1,Nfft3);
for jj = 1:Nfft1fft3_Data(jj,:) = fft(fft_Data(jj,:).*win3',Nfft3);
endfigure;
mesh(mag2db(abs(fft3_Data)));xlabel('角度维');ylabel('距离维');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/869971.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Python绘制气泡图

使用Python绘制气泡图 气泡图效果代码 气泡图 气泡图通过气泡的大小表示数据的一个维度,用于展示三个维度的数据。例如,可以展示城市的人口、面积和GDP。 效果 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mjj27sP7-1720…

PDF 分割拆分 API 数据接口

PDF 分割拆分 API 数据接口 文件处理,PDF 高效的 PDF 分割工具,高效处理,可永久存储。 1. 产品功能 高效处理大文件;支持多语言字符识别;支持 formdata 格式 PDF 文件流传参;支持设置每个 PDF 文件的页数…

Docker核心知识手册

Docker核心知识手册 文章目录 Docker核心知识手册1 安装Docker1.1 环境说明1.2 安装1.3 修改配置1.4 启动 2 Docker基础命令2.1 查看Docker相关信息2.2 配置Docker镜像加速 3 Docker镜像相关命令3.1 搜索官方镜像3.2 获取镜像3.3 查看当前主机镜像列表3.4 导出镜像3.5 删除镜像…

java.time.ZonedDateTime介绍

java.time.ZonedDateTime 是 Java 8 引入的新日期时间 API 的一部分,用于表示带有时区的日期和时间。它结合了日期、时间和时区信息,使得处理跨时区的日期时间变得更加简单和直观。 主要特性 表示日期和时间,并包括时区。提供了一系列方法来操作和格式化日期时间。支持从其…

三、CoInitialize是以单线程的方式创建com对象是什么意思

CoInitialize函数是COM(Component Object Model)编程中的一个关键API,用于初始化COM库并为当前线程创建一个“公寓”(Apartment)。当提到CoInitialize是以单线程的方式创建COM对象时,这是指它准备当前线程以…

电脑压缩视频怎么压缩,电脑压缩视频大小

随着科技的进步,我们越来越喜欢用视频记录生活中的点点滴滴。但随之而来的问题就是,视频文件体积庞大,给我们的存储和分享带来了不小的困扰。那么,有没有什么方法能够轻松解决这个问题呢?答案当然是肯定的!…

SpringSecurity认证逻辑源码分析

SpringSecurity源码分析-认证逻辑 1. Spring-security-core包中的三个重要类 SecurityContext 这个类中就两个方法getAuthentication()和setAuthentication()这个类用来存储Authentication对象 public interface SecurityContext extends Serializable {Authentication getAu…

element 如何实现文件上传下载导出

上传&#xff1a; 前端&#xff1a; <div><el-dialogtitle"低值易耗文件上传":visible.sync"dialogUploadVis"width"25%"><el-uploadclass"upload-demo"drag:on-change"handleChange":file-list"uplo…

如何保证Redis缓存和数据库的数据一致性

前言 如果项目业务处于起步阶段&#xff0c;流量非常小&#xff0c;那无论是读请求还是写请求&#xff0c;直接操作数据库即可&#xff0c;这时架构模型是这样的&#xff1a; 但随着业务量的增长&#xff0c;项目业务请求量越来越大&#xff0c;这时如果每次都从数据库中读数据…

【Redis】简单了解Redis中常用的命令与数据结构

希望文章能给到你启发和灵感&#xff5e; 如果觉得文章对你有帮助的话&#xff0c;点赞 关注 收藏 支持一下博主吧&#xff5e; 阅读指南 开篇说明一、基础环境说明1.1 硬件环境1.2 软件环境 二、Redis的特点和适用场景三、Redis的数据类型和使用3.1字符串&#xff08;String&…

QT界面动画呼吸框实现

#include #include Q_OBJECT //自定义属性 对应的参数作用为 // 类型 属性名 获取值的函数 设置属函数&#xff08;其中READ、WRITE为其格式&#xff09; Q_PROPERTY(int opacity READ opacity WRITE setOpacity) public: int opacity() const; //获取值 void setOpacity(in…

LabVIEW电容器充放电监测系统

概述 为了对车用超级电容器的特性进行研究&#xff0c;确保其在工作时稳定可靠并有效发挥性能优势&#xff0c;设计了一套车用超级电容器充放电监测系统。该系统通过利用传感器、USB数据采集卡、可调直流稳压电源、电子负载以及信号调理电路&#xff0c;完成对各信号的采集和超…

企业数字化转型怎么干?

目录 企业数字化转型是什么&#xff1f; 企业数字化转型为什么&#xff1f; 企业数字化转型怎么干&#xff1f; 企业数字化转型是什么&#xff1f; 先看一下案例&#xff0c;华为经历了多次战略转型&#xff0c;它是如何在危机中成长&#xff0c;涅槃重生&#xff1f; 199…

springboot中通过jwt令牌校验以及前端token请求头进行登录拦截实战

前言 大家从b站大学学习的项目侧重点好像都在基础功能的实现上&#xff0c;反而一个项目最根本的登录拦截请求接口都不会写&#xff0c;怎么拦截&#xff1f;为什么拦截&#xff1f;只知道用户登录时我后端会返回一个token&#xff0c;这个token是怎么生成的&#xff0c;我把它…

软设之桥接模式

桥接模式的意图是&#xff1a;将抽象部分与它的实现部分分离&#xff0c;使它们都可以独立变化。 比如说汽车是一个抽象的概念&#xff0c;但汽车有不同品牌和型号&#xff0c;这些汽车有不同的驱动方式&#xff0c;比如烧油或者电动。假如用传统的方式&#xff0c;每增加一个…

底软基础 | 嵌入式程序员编程必看的525钟C/C++ 安全编程问题

《360 安全规则集合》简称《安规集》&#xff0c;是一套详细的 C/C 安全编程指南&#xff0c;由 360 集团质量工程部编著&#xff0c;将编程时需要注意的问题总结成若干规则&#xff0c;可为制定编程规范提供依据&#xff0c;也可为代码审计或相关培训提供指导意见&#xff0c;…

VBA即用型代码手册:根据预定义的文本条件删除行

我给VBA下的定义&#xff1a;VBA是个人小型自动化处理的有效工具。可以大大提高自己的劳动效率&#xff0c;而且可以提高数据的准确性。我这里专注VBA,将我多年的经验汇集在VBA系列九套教程中。 作为我的学员要利用我的积木编程思想&#xff0c;积木编程最重要的是积木如何搭建…

Spring Boot 事件监听机制实战【自定义 Spring Boot 事件监听】

前言&#xff1a; 上一篇我们分析了 Spring Boot 事件监听的原理&#xff0c;本篇我们来自定义实现自己的监听器。 Spring Boot 系列文章传送门 Spring Boot 启动流程源码分析&#xff08;2&#xff09; Spring Boot 启动流程源码分析&#xff08;2&#xff09; Spring Bo…

LINUX命令行界面常用指令

目录 1. 命令行交互 2. 常用命令 2.1 打开命令行界面 2.2 打印当前目录的绝对路径 2.3 查询文件目录 2.4 了解命令结果 2.5 查看功能命令 2.6 清屏 2.7 切换路径 2.8 创建目录 1. 命令行交互 进入命令行交互界面&#xff1a;CTRLaltF2&#xff1b; 退出命令行交互…

怎么做好菲律宾TikTok直播带货?

TikTok目前是全球最受欢迎的APP之一&#xff0c;菲律宾TikTok直播已成为品牌出海的新趋势。作为一种新兴的引流渠道&#xff0c;出海电商卖家正通过直播带货模式实现流量变现。 在进行菲律宾TikTok直播时&#xff0c;关键在于能否吸引和留住消费者并促成购买。因此&#xff0c;…