基于粒子群优化算法的时间调制非线性频偏FDA(Matlab代码实现)

news2024/10/5 3:06:45

🎉🎉🎉🎉欢迎您的到来😊😊😊

🥬博客主页博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

📝床头铭将来的我一定会感谢现在奋斗的自己!

目录

🌈1 概述

🌟2 运行结果

⛳️3 参考文献

💥4 Matlab代码实现


🎁专栏目录链接:

🌈🌈🌈路径规划、神经网络预测、电气代码、智能算法及其应用、优化调度、图像处理、车间调度、信号处理、浪漫的她、数学建模🌟🌟🌟

🌈1 概述

   本文为了抑制FDA波束方向图的时变特性,提出了一种基于粒子群优化算法的时间调制非线性频偏FDA。根据仿真结果可以说明,该方法可以抑制FDA的时变特性,并且相较于传统时变抑制方法一时间调制频偏和时间调制非线性频偏,得到的波束方向图聚焦性更好。

🌟2 运行结果

 

 

 

部分代码:

%% TMLFO-FDA
clc;clear ;close;


%% ------TMLFO-FDA雷达参数设置
j=sqrt(-1);
M=18; %发射阵元数目
f0=5e9; %载波中心频率
delta_f=2000; %相邻阵元频率偏移
c=3e8;        %光速
lamda=c/f0;  %波长
d=lamda/2;    %阵元间距
D=d*(0:M-1);
Ru=c/delta_f;  %最大无模糊距离
theta=(-90:1:90)*pi/180; %测量角度向量
R=linspace(0,3e5,1000); %测量距离向量
f=f0+(0:M-1)*delta_f; %阵元载频向量(均匀线性增加)
R0 = 1e5; %天线指向目标的距离
theta0 = 30/180*pi;  %%天线指向目标的角度
T=linspace(0,0.2e-3,500);% 一个Tp
g=log((1:M));

%% ----波束方向图 t=0ms
P1 = zeros(length(theta),length(R)); %波束方向图
 for n = 1 : length(theta)
    for m = 1 : length(R)
%          Delta_f=TMLFO(f0,d,c,M,theta0,R0,0.01e-3);
%          a1=exp(-j*2*pi/c*(Delta_f'*R(m)-f0*D'*sin(theta(n)))); %导向矢量
%          w=exp(-j*2*pi/c*(Delta_f'*R0-f0*D'*sin(theta0)));

         a1=tmfo_AF(g,theta0,R0,theta(n),R(m),T(1));
          w1=ones(M,1);
         P1(n,m) =dot(a1,w1);
    end
 end
 
P1=P1';
figure(1); 
imagesc(theta*180/pi,R,abs(P1)/max(max(abs(P1)))); 
xlabel('\theta^o'); ylabel('R/m'); 
axis tight; axis xy;
title('');
colorbar;


%% -----时间角度维波束方向图
P2 = zeros(length(theta),length(T)); %波束方向图
 for n = 1 : length(theta)
    for m = 1 : length(T)
%         Delta_f=TMLFO(f0,d,c,M,theta0,R0,T(m));
         a2=tmfo_AF(g,theta0,R0,theta(n),R0,T(m));
          w2=tmfo_AF(g,theta0,R0,theta0,R0,T(1));
%          a2=exp(-j*2*pi/c*(-Delta_f'*T(m)*c-D'*f0*sin(theta(n))+Delta_f'*R0)); %导向矢量
%          w2=exp(-j*2*pi/c*(-Delta_f'*T(1)*c-D'*f0*sin(theta0)+Delta_f'*R0)); 
        % w2=ones(12,1);
        P2(n,m) =w2'*a2;
    end
 end
%% 画图:时间角度维
% P2=P2';
figure(2); 
imagesc(T,theta*180/pi,abs(P2)/max(max(abs(P2)))); 
ylabel('\theta^o'); xlabel('时间/ms'); 
axis tight; axis xy;
title('');
colorbar;

%% --------------时间距离维波束方向图     
P3 = zeros(length(R),length(T)); %波束方向图
 for n = 1 : length(R)
    for m = 1 : length(T)
         a3=tmfo_AF(g,theta0,R0,theta0,R(n),T(m));
          w3=tmfo_AF(g,theta0,R0,theta0,R0,T(1));
%         Delta_f=TMLFO(f0,d,c,M,theta0,R0,T(m));
%          a3=exp(-j*2*pi/c*(-Delta_f'*T(m)*c+Delta_f'*R(n)-D'*f0*sin(theta0))); %导向矢量
%          w3=exp(-j*2*pi/c*(-Delta_f'*T(1)*c+Delta_f'*R0-D'*f0*sin(theta0))); 
        P3(n,m) =w3'*a3;
    end
 end
%% 画图:时间距离维波束方向图
% P3=P3';
figure(3); 
imagesc(T,R,abs(P3)/max(max(abs(P3)))); 
ylabel('R/m'); xlabel('时间/ms'); 
axis tight; axis xy;
title('');
colorbar;

完整代码:基于粒子群优化算法的时间调制非线性频偏FDA(Matlab代码实现)

  

⛳️3 参考文献

[1]陈楚舒,盛川,谢军伟,王博,单泉铭.非线性频偏FDA对测向系统的欺骗研究[J].空军工程大学学报(自然科学版),2020,21(03):70-77.

[2]顾斯祺. 频控阵波束综合技术及其优化设计研究[D].南京理工大学,2019.DOI:10.27241/d.cnki.gnjgu.2019.000853.

💥4 Matlab代码实现

tmfo_AF.m为时间调制频偏FDA导向矢量函数;

TMFO_FDA为仿真时间调制频偏FDA波束方向图;

TMLFO_FDA为仿真时间调制对数频偏FDA波束方向图;. 

non_liner_a.m为非线性频偏FDA的导向矢量函数;. 

cost_function1.m为PSO算法的代价函数; 

pso2.m为进过PSO算法优化后的FDA每个阵元频偏系数矢量函数; 

pso_TMFO_fda.m为仿真经过PSO算法优化后的时间调制非线性频偏FDA波束方向图。

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

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

相关文章

ARM64下构建 UEFI 模块

构建Application工程目录 mkdir edk2/ShellPkg/Application/ShellHello 目录内容如下: 编写 ShellHello.c /* edk2/ShellPkg/Application/ShellHello/ShellHello.c*/ #include <Uefi.h> #include <Library/UefiLib.h> #include <Library/DebugLib.h> #i…

上手之Python之异常

什么是异常 当检测到一个错误时&#xff0c;Python解释器就无法继续执行了&#xff0c;反而出现了一些错误的提示&#xff0c;这就是所谓的“异常”, 也就是我们常说的BUG bug单词的诞生 早期计算机采用大量继电器工作&#xff0c;马克二型计算机就是这样的。 1945年9月9日&…

【JVM技术专题】 深入学习JIT编译器实现机制「 原理篇」

前提概要 解释器 Java程序最初是通过解释器(Interpreter)进行解释执行的&#xff0c;当虚拟机发现某个方法或代码块的运行特别频繁的时候&#xff0c;就会把这些代码认定为“热点代码”&#xff08;hotspot code&#xff09;。正因为如此&#xff0c;我们的hotspot的虚拟机就是…

将matlab数据导入到Python中使用

相信不少小伙伴都遇到过和我一样的问题&#xff0c;就是在尝试使用scipy.io.loadmat将matlab类型的数据导入python中的时候遇到如下错误提示。 import scipy as sc# 设定需要导入的matlab数据目录 path_TE00 r"D:\Window自带文件夹\桌面\PIC Design\Lumerical\Tutorials…

Apollo GraphQL

一、Apollo GraphQL介绍 Apollo 是一个开源的 GraphQL 开发平台&#xff0c; 提供了符合 GraphQL 规范的服务端和客户端实现。使用 Apollo 可以帮助我们更方便快捷的开发使用 GraphQL。 ● 官网&#xff1a;https://www.apollographql.com/ ● GitHub 相关开源仓库&#xff1a…

Vite+Vue+Electron环境搭建

因为electron可以直接加载html文件&#xff0c;也可以直接加载url链接&#xff0c;所以&#xff0c;我们可以在调试过程中使用url地址&#xff0c;来动态显示我们的改变过程。 electron简单来说就是对html的一种封装&#xff0c;所以我们先来搭建vue的开发环境&#xff0c;这里…

LQ0135 左孩子右兄弟【DFS+二叉树】

题目来源&#xff1a;蓝桥杯2021初赛 C A组H题 题目描述 对于一棵多叉树&#xff0c;我们可以通过“左孩子右兄弟” 表示法&#xff0c;将其转化成一棵二叉树。 如果我们认为每个结点的子结点是无序的&#xff0c;那么得到的二叉树可能不唯一。 换句话说&#xff0c;每个结点可…

并发编程之ForkJoin框架

什么是 Fork/Join 框架 Fork/Join 是从 java7 开始提供的并行执行任务的框架&#xff0c;是一个把大任务分割成若干个小任务&#xff0c;最终汇总每个小任务的结果&#xff0c;得到大任务结果的框架. 如下图&#xff1a; Fork/Join 的特性 ForJoinPool 不是为了替代 Execu…

毕业仅1年,干Python赚了50W!网友:不是吹的

前言 惊讶 ​Py现状&#xff1a;Python职位月薪5W起&#xff1f; 其他程序员&#xff1a;心态塌了&#xff01; 秒杀各行业薪资榜单&#xff0c;拿下编程语言排行榜的Python&#xff0c;工资真的如网上说的开挂了吗&#xff1f;有人在网上发现这样的一条评论信息&#xff1a…

公众号网课查题接口题库

公众号网课查题接口题库 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 题库&#xff1a;题库后台&#xff08;点击跳转&#xf…

Navicat 现已支持 OceanBase 企业版

近期&#xff0c;PremiumSoft CyberTech Limited 公司发布了 Navicat 16.1.3 版本&#xff0c;正式支持蚂蚁集团旗下的 OceanBase 企业版&#xff08;MySQL 兼容模式&#xff09;。此次合作旨在帮助用户通过 Navcicat 进行 OceanBase 企业版的数据库开发及管理&#xff0c;更大…

说说 Redis 事务

Redis 事务简介# Redis 只是提供了简单的事务功能。其本质是一组命令的集合&#xff0c;事务支持一次执行多个命令&#xff0c;在事务执行过程中&#xff0c;会顺序执行队列中的命令&#xff0c;其他客户端提交的命令请求不会插入到本事务执行命令序列中。命令的执行过程是顺序…

MPLS综合实验

目录 实验要求 划分IP地址 首先对MPLSVPN骨干网络进行配置 首先配置IP地址 启动IGP协议 激活MPLS和LDP VRF空间的创建 将接口划入到VRF空间中 R1和R5通过静态路由在CE和PE上配置 建立MP-BGP 对站点R1和R5进行配置 首先把IP给配置好 在VRF空间中发布路由信息 对站点…

2000-2020上市公司全要素生产率LP方法含原始数据和Stata代码

1、时间&#xff1a;2000-2020年 2、指标包括&#xff1a;stkcd、year、证券代码、固定资产净额、营业总收入、营业收入、营业成本、销售费用、管理费用、财务费用、支付给职工以及为职工支付的现金、员工人数、折旧摊销、行业代码、上市日期、AB股交叉码、退市日期、年末是否…

windows下用Java跑通spark官方文档的quick-start

这里写自定义目录标题前置环境官方示例三个小坑maven文件引用不明确未传递master url前置环境 见上一篇&#xff1a;https://blog.csdn.net/shuzip/article/details/115606522 官方示例 https://spark.apache.org/docs/3.1.1/quick-start.html /* SimpleApp.java */ import…

廊坊特色农业 国稻种芯·中国水稻节:河北复合农业促增收

廊坊特色农业 国稻种芯中国水稻节&#xff1a;河北复合农业促增收 新闻中国采编网 中国新闻采编网 谋定研究中国智库网 中国农民丰收节国际贸易促进会 国稻种芯中国水稻节 中国三农智库网-功能性农业农业大健康大会报道&#xff1a;河北廊坊安次区“稻蟹共作”新模式 特色农业…

Codeforces Round #773 (Div. 2)

A. Hard Way 题目链接&#xff1a;Problem - A - Codeforces 样例输入&#xff1a; 5 8 10 10 4 6 2 4 6 0 1 4 2 14 1 11 2 13 2 0 0 4 0 2 4 0 1 1 1 0 0样例输出&#xff1a; 0.0000000 0 2.0000 0.00 1题意&#xff1a;给定一个三角形的三个顶点&#xff0c;输入保证三角…

echarts画各种形状水波图

各种形状水波图 代码 用的是echarts绘制&#xff0c;echarts相关api可以参考echarts官网&#xff0c;形状修改series.shape即可修改形状&#xff0c;这里用的是SVG路径 <html><head><meta charset"utf-8"><link href"https://fonts.google…

jQuery网页开发案例:jQuery常用API--jQuery 尺寸、位置操作及 电梯导航案例和节流阀(互斥锁)

jQuery 尺寸 以上参数为空&#xff0c;则是获取相应值&#xff0c;返回的是数字型。如果参数为数字&#xff0c;则是修改相应值。参数可以不必写单位。这个width方法不包含边框 innerWidth()包含widthpadding 注意这个要大写 outerWidth()包含width padding border outerW…

(JavaSE) 数组

文章目录1. 数组的作用2. 数组的创建及初始化2.1 数组的创建2.2 数组的初始化3. 数组的使用3.1 数组中元素的访问3.2 遍历数组方法4. 数组是引用类型4.1 JVM中的内存有那些4.2 数组如何开辟空间4.3 数组 null 的意思4.4 引用不能同时指向多个对象4.5 数组作为方法返回值5. 二维…