单脉冲测角-和差比幅法-方向图传播因子-函数编写

方向图传播因子-函数编写

      • 和差比幅法单脉冲测角原理
      • 代码
      • 仿真结果
      • 参数说明

和差比幅法单脉冲测角原理

有关单脉冲测角和差比幅法的原理已经在博文单脉冲测角-和差比幅法中详细介绍了,我们在实际仿真的时候,往往需要在给定来波方向下方向图转化因子(directional pattern propagation fac-tor ,DPPF)的输出,它的输入是来波方向,输出即波束形成之后的系数——方向图转化因子,它表示阵列下经过各阵元加权求和后对某一个来波方向的信号的影响。
在编程的时候,往往希望采用模块化的结构,我将求方向图转化因子的过程编写为了一个函数,供参考。这个函数中除了能输出DPPF之外,还可以绘制和差波束方向图、单脉冲比鉴角曲线、一次函数法拟合曲线以及在该来波方向下的拟合值。
由于差波束比幅法的单脉冲比MRC为:
M R C = Δ ( φ ) Σ ( φ ) = ∣ a H ( φ l ) a ( φ ) ∣ − ∣ a H ( φ r ) a ( φ ) ∣ ∣ w Σ H a ( φ ) ∣ MRC=\frac{\Delta(\varphi)}{\Sigma(\varphi)}=\frac{\left| a^H(\varphi_l)a(\varphi) \right|-\left| a^H(\varphi_r)a(\varphi) \right|}{\left| w^H_{\Sigma}a(\varphi)\right|} MRC=Σ(φ)Δ(φ)= wΣHa(φ) aH(φl)a(φ) aH(φr)a(φ)
可以看到,和波束和两个相减的波束都是取幅度,所以该函数中也取了幅度。

代码

该函数MonopulseSumDiffFactor的代码如下:

function [sumFactor,diffFactor,fitSlope]=MonopulseSumDiffFactor(elementNum,thetaDseire,thetaMain,thetaDOA,plotEnableHigh)
% 该函数用于单脉冲测角-和差比幅法的方向图仿真和方向图传播因子的生成
%  Author:huasir 2023.11.20 @Beijing
% Input : 
%   * elementNum: 阵元数
%   * thetaDseire:和波束的指向角度
%   * thetaDOA:来波的DOA
%   * thetaMain:3dB主瓣宽度,theta_main = 2theta_mbs
%   * 在该宽度内形成对称的两个波束,实际的波束宽度可以更小
%   * plotEnableHigh: 绘图控制符,1:打开绘图,0:关闭绘图
% Output : 
%    * sumFactor:和波束方向图传播因子
%    * diffFactor:差波束方向图传播因子
%    * fitSlope: 拟合斜率
N = elementNum; %阵元数
theta = (-90:0.1:90); %观测角度范围
theta0 = thetaDseire; %波形形成的方向
thetaL = thetaDseire-1/2*thetaMain; %用于构造差波束的波束1的角度
thetaR = thetaDseire+1/2*thetaMain; %用于构造差波束的波束2的角度,thetaL和thetaR关于theta0对称
theta0 = theta0*pi/180; %弧度换算为角度
theta = theta*pi/180; %弧度换算为角度;
thetaL = thetaL*pi/180; %弧度换算为角度
thetaR = thetaR*pi/180; %弧度换算为角度
d_lembda = 1/2; %阵元间距比波长,一般采用半波长
%% 构造和差波束
a = exp(j*2*pi*d_lembda*(0:N-1)'*sin(theta)); %导向矢量
wSigma = exp(j*2*pi*d_lembda*(0:N-1)'*sin(theta0)); %和波束权向量
wDeltaL = exp(j*2*pi*d_lembda*(0:N-1)'*sin(thetaL)); %用于构造差波束的波束1的权向量
wDeltaR = exp(j*2*pi*d_lembda*(0:N-1)'*sin(thetaR)); %用于构造差波束的波束2的权向量
ySigma = abs(wSigma'*a); %和波束
yDelta = abs(wDeltaL'*a)-abs(wDeltaR'*a); %差波束
%% 绘制和差波束
if plotEnableHigh==1
    figure;
    plot(theta*180/pi,20*log10(ySigma/max(ySigma)),'linewidth',1); %绘制和波束
    hold on;
    plot(theta*180/pi,20*log10(yDelta/max(yDelta)),'linewidth',1); %绘制差波束
    legend('和波束','差波束');
    xlabel('方位角/°');ylabel('归一化功率方向图/dB');
    axis tight;% axistight 使得图形框图靠近数据
    grid on; %添加栅格线
    ylim([-30, 0]); % 为了限制y值范围,使得图像显示的更加合理
    title(sprintf('阵元数:%d,波束方向:%.0f°',N,theta0))%添加图题
end
%% 提取主瓣区域附近的和差波束,并计算单脉冲比
thetaL = thetaDseire-1/2*thetaMain %用于构造差波束的波束1的角度
thetaR = thetaDseire+1/2*thetaMain %用于构造差波束的波束2的角度,thetaL和thetaR关于theta0对称
m1 = round((thetaL-(-90))/0.1+1); %截取主瓣内部分区域对应的下标
m2 = round((thetaR-(-90))/0.1+1); %截取主瓣内部分区域对应的下标
MRC = yDelta(m1:m2)./ySigma(m1:m2); %%计算单脉冲比
%% 绘制单脉冲比曲线
if plotEnableHigh==1
    figure;
    plot((thetaL:0.1:thetaR),MRC,'linewidth',1);
    set(gca,'XTick',[thetaL:1:thetaR]); %设置要显示的坐标轴的刻度
    xlabel('角度(°)');ylabel('和差比幅');
    axis tight;% axistight 使得图形框图靠近数据
    grid on; %添加栅格线
    title('单脉冲比曲线');
end
%% 拟合为一次函数y=kx+b
p = polyfit(MRC,(thetaL:0.1:thetaR),1); % x为单脉冲比,y为角度,第3个输入参数'1'表示拟合为1次函数,返回的p是一个包含两个元素的向量,分别是参数k和b
%% 绘制拟合效果图
yFit = polyval(p,MRC); % 由拟合函数计算得到的角度 
if plotEnableHigh==1
    figure;
    plot((thetaL:0.1:thetaR),MRC,'o','linewidth',1); %点图
    hold on; %保持绘图窗口,在此基础上继续绘图
    plot(yFit,MRC,'linewidth',1); %拟合出的一次函数
    set(gca,'XTick',[-5:1:5]); %设置要显示的坐标轴的刻度
    xlabel('角度(°)');ylabel('和差比幅');
    axis tight;% axistight 使得图形框图靠近数据
    grid on; %添加栅格线
    title('拟合效果图');
end
%% 输出指定角度下来波的方向图转化因子
tempTheta = thetaDOA; %任意取一个角度
tempTheta = tempTheta*pi/180; %角度转化为弧度
aTheta = exp(j*2*pi*d_lembda*(0:N-1)'*sin(tempTheta)); %导向矢量
ySum = abs(wSigma'*aTheta); %和波束的方向图转化因子
yDiff = abs(wDeltaL'*aTheta)-abs(wDeltaR'*aTheta); %差波束的方向图转化因子
% tempMRC = yDiff/ySum
%% 传递参数
sumFactor = ySum; %和波束的方向图传递因子
diffFactor = yDiff; %差波束的方向图传递因子
fitSlope = p(1); %拟合一次函数的斜率,(yDiff/ySum)*p(1)即为输出的角度
fprintf('由拟合曲线得到的角度为%.2f\n',(yDiff/ySum)*p(1));
end

仿真结果

编写主函数进行调用

clear all;close all;clc;
N = 8; %阵元数
theta0 = 0; %波形形成的方向
thetaMian = 10; %
DOA = 2;
plotEnableHigh = 1;
[sumFactor,diffFactor,fitSlope]=MonopulseSumDiffFactor(N,theta0,thetaMian,DOA,plotEnableHigh);

绘制出来的和差波束、单脉冲比曲线以及拟合图如下:
在这里插入图片描述

图1. 比幅法和差波束

在这里插入图片描述

图2. 单脉冲比曲线

在这里插入图片描述

图3. 拟合效果图

参数说明

由拟合曲线得到的角度为1.92°,与2°相差不大。这里的差波束是由两个波束相减得到的,这两个波束指向的角度位于和波束两侧,一左一右,一般而言,这两个角度得位于主瓣内,关于主瓣的计算方式可以参考博文波束形成中的主瓣宽度 ,其计算公式如下。
对于常见的均匀线性阵列结构,阵元间距 d = 1 / 2 λ d=1/2\lambda d=1/2λ的情况下,可以得到主波束宽度为:
θ m b s = 2 θ 0.5 = 50.7 λ N 1 / 2 λ c o s θ Δ ( ∘ ) = 101.4 N c o s θ Δ ( ∘ ) \theta{mbs}=2\theta_{0.5}=\frac{50.7\lambda }{ N1/2\lambda cos\theta_{\Delta}}(^\circ)=\frac{101.4 }{ Ncos\theta_{\Delta}}(^\circ) θmbs=2θ0.5=N1/2λcosθΔ50.7λ()=NcosθΔ101.4()
对于本仿真而言, θ Δ = 0 ° \theta_{\Delta}=0° θΔ= N = 8 N=8 N=8,可以得到主瓣宽度为:
θ m b s = 2 θ 0.5 = 50.7 λ N 1 / 2 λ c o s θ Δ ( ∘ ) = 101.4 N c o s θ Δ ( ∘ ) = 101.4 8 ≈ 12. 6 ∘ \theta{mbs}=2\theta_{0.5}=\frac{50.7\lambda }{ N1/2\lambda cos\theta_{\Delta}}(^\circ)=\frac{101.4 }{ Ncos\theta_{\Delta}}(^\circ)=\frac{101.4}{8}\approx12.6^{\circ} θmbs=2θ0.5=N1/2λcosθΔ50.7λ()=NcosθΔ101.4()=8101.412.6
这里我们取更小的角度,取10°,所以形成差波束的两个角度分别为-5°和5°。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安防视频监控平台EasyCVR服务器部署后出现报错,导致无法级联到域名服务器,该如何解决?

视频监控平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,安防监控平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持视频定时轮播。视频监控…

005 OpenCV直方图

目录 一、环境 二、直方图原理概述 三、代码 一、环境 本文使用环境为: Windows10Python 3.9.17opencv-python 4.8.0.74 二、直方图原理概述 OpenCV是一个广泛使用的开源计算机视觉库,它提供了许多用于图像处理和分析的函数和算法。其中&#xff…

虚拟机里为什么桥接模式可以广播,NAT模式不能广播?

在虚拟机网络配置中,桥接模式(Bridged mode)允许虚拟机在与主机相同的网络上作为一个独立的设备出现。这意味着虚拟机可以接收和发送广播消息,就像物理机器一样,因为它们处于同一个物理网络上。 相反,NAT模…

单片非晶磁性测量系统典型磁参数的不确定度与重复性

典型磁参数的不确定度与重复性 典型的测试点 最佳不确定度 ( k 2 ) 最佳重复性 损耗Ps P1.0 ④ 3.0% 1.0% P1.3 3.0% 1.0% P1.4 3.0% 1.0% P1.5 3.0% 1.0% 磁感Bm B25 ⑤ 1.0% 0.3% B50 1.0% 0.3% B80 1.0% 0.3% 单片非晶磁性测量系统测量条件 &…

著名的勃艮第葡萄酒是如何分类的?

勃艮第代表了与他们的地理位置密切相关的所有葡萄酒和葡萄酒风格,1936年法国根据产地对勃艮第葡萄酒进行了分类,勃艮第地区内的100个被批准的葡萄酒种植区被界定,这些地块被分为四个等级,最高等级代表了种植最高品质葡萄酒的最佳土…

亚马逊防关联如何做?看这一篇就够了

我们都知道亚马逊在众多跨境电商平台里属于严格的那个,商家们常常调侃亚马逊死法千万种,但最惨的还是账户被平台关联封号。有的新手刚注册还没开始就被关联封号了,有的业绩不错的店铺操作没注意,在别的地方登录了一下就被封了&…

软件定义卫星:数字卫星实践

随着巨型低轨卫星星座、卫星互联网等计划的推进,近年来全球卫星产业迅速发展,在轨卫星呈现规模化、网络化以及智能化趋势。大规模卫星系统为飞机、船舶、车辆等提供了各种各样的天基服务,对国防、科研、生产生活具有重要意义。 与此同时&…

Python基础:迭代器(Iterators)详解

什么是迭代器? 迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 1. 迭代对象 Python中使用迭代器的地方很多,大多数的容器对象都是可迭代对象&#xff…

Analyzing coredump file by gdb

1 coredump文件简介 在Linux中,当进程崩溃或异常终止时,系统会将进程的内存状态写入一个coredump文件中,这个文件包含了进程崩溃时的内存映像,可以用于分析进程崩溃的原因。 2 coredump文件的存储路径 执行如下指令查询coredum…

猫罐头哪个牌子质量好性价比高?推荐十款猫罐头品牌排行榜!

当前口罩形势严峻,海外罐头的价格飙升,且市场上充斥着难以辨别真伪的产品。除了海外罐头,您是否有其他口碑良好的国产罐头推荐? 作为从事了6年猫咪铲屎官的我来说,对于猫咪的日常饮食来源有一些经验。我也给我家的猫咪…

pikach靶场暴力破解

pikach靶场暴力破解 文章目录 pikach靶场暴力破解安装pikach靶场暴力破解第一关第二关第三关第四关 安装pikach靶场 进入github下载pikach的源码 不是linux推荐下载压缩包 下载完成后放入phpstudy中进行解压放入www网站根目录下 在数据库中新建数据库为pikachu create data…

OpenCV [c++](图像处理基础示例小程序汇总)

OpenCV [c++](图像处理基础示例小程序汇总) 推荐 原创 NCUTer 2023-04-04 14:18:49 文章标签 Image 图像处理 文章分类 计算机视觉 人工智能 在51CTO的第一篇博文 阅读数1467 一、图像读取与显示 #include<opencv2/opencv.hpp> #include<iostream>using…

Vue3 源码解读系列(八)——生命周期

生命周期 正常的生命周期 // 注册钩子函数 const onBeforeMount createHook(bm/* BEFORE_MOUNT */) const onMounted createHook(m/* MOUNTED */) const onBeforeUpdate createHook(bu/* BEFORE_UPDATE */) const onUpdated createHook(u/* UPDATED */) const onBeforeUnm…

【中间件】中间件的宏观探讨漫谈

中间件探讨 内容管理 intro中间件和框架why use常用相关Middleware接入层服务层 本文主要是宏观上再次探讨一下中间件 cfeng之前单纯的分享过缓存、消息队列、还有就是Spring Cloud下面提供的一些中间件的使用&#xff0c;但是整体上就是感觉很松散的&#xff0c;所以cfeng现在…

金蝶云星空ScpSupRegHandler任意文件上传漏洞复现 [附POC]

文章目录 金蝶云星空ScpSupRegHandler任意文件上传漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 金蝶云星空ScpSupRegHandler任意文件上传漏洞复现 [附POC] 0x01 前言 免责声明&#xff1a;请…

江苏专转本考试时,遇到不会的题目该怎么办呢??

有很多同学最近在问&#xff0c;如果专转本考试时遇到 不会的题目怎么办&#xff1f;&#xff1f; 考场上题目太陌生没见过会不会凉凉 以学姐自身经验分享&#xff0c;其实未必会凉凉&#xff0c;当时我在16届计算机考试时&#xff0c;遇上了填空题新题型&#xff0c;当时在考…

武汉凯迪正大KDHG-220P互感器综合测试仪

主要特点 武汉凯迪正大KDHG-220P互感器综合测试仪&#xff0c;仅需进行简单的数字设定&#xff1a;设定互感器的额定参数。仪器将全过程自动记录数据&#xff0c;并自动将变比极性、伏安特性曲线等计算并显示出来&#xff0c;省去换线、手动调压、人工记录、整理、描曲线等烦琐…

【旅游行业】Axure旅游社交平台APP端原型图,攻略门票酒店民宿实战模板

作品概况 页面数量&#xff1a;共 110 页 兼容软件&#xff1a;Axure RP 9/10&#xff0c;不支持低版本 应用领域&#xff1a;旅游平台&#xff0c;酒店住宿 作品申明&#xff1a;页面内容仅用于功能演示&#xff0c;无实际功能 作品特色 本作品为「旅游社交平台」移动端…

单链表相关面试题--7.链表的回文结构

/* 解题思路&#xff1a; 此题可以先找到中间节点&#xff0c;然后把后半部分逆置&#xff0c;最近前后两部分一一比对&#xff0c;如果节点的值全部相同&#xff0c;则即为回文。 */ class PalindromeList { public:bool chkPalindrome(ListNode* A) {if (A NULL || A->ne…

【JS】BMI身体质量指数计算工具

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍BMI身体质量指数计算工具的JS实现。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次…