对1GHz脉冲多普勒雷达进行快速和慢速处理生成5个移动目标的距离多普勒图研究(Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

2.1 多普勒与距离图中的五个塔格特:

2.2 回波信号和匹配滤波器输出: 

2.3  数据立方体: 看到tha Barker代码相移和目标的回声:

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

本文涉及对1GHz脉冲多普勒雷达进行快速和慢速处理,以生成5个移动目标的距离多普勒图。目标的范围和速度将使用 matlab 函数随机生成。

五个目标的反射率为1、0.5、0.25、0.25和0.1,每个目标的组合回波由下式给出:

屏幕截图 2020-06-03 在 5 52 08 上午

其中t是快速时间,m是慢时间脉冲指数。b(t) 是巴克码,k0 是雷达传播常数。 􏰈

  • 快速处理(测距) 巴克代码用于该雷达的测距。模拟 13 芯片巴克码。假设脉冲宽度为10uS。假设检测是杂乱无章的。杂波是通过假设任何时间样本中的杂波幅度具有瑞利分布的幅度和均匀分布的相位来建模的。杂波功率可以通过更改 SCR 来控制。单个杂波样本可以由
    c(t, m) = sqrt 建模 × exp(2π × rand × j) 注意日志是基数 e
    对于快速时间处理,请使用 10MHz 的采样率(采样间隔为 0.1uS。在每个脉冲传输后产生100uS(1000个样本)的回波。对于 1000 个样本中的每一个,都会生成一个独立的杂波值。使用巴克代码的匹配滤波器将回声装箱到 (1000+200) 范围箱中。额外的 200 个箱用于开始和结束,因为每个脉冲将有 100 个样本。

  • 慢时处理(多普勒) 使用 1000Hz 的 PRF (T = 1ms)。在慢时间内从1024个脉冲产生回波。通过沿 1024 个范围箱中的每一个对 1200 个脉冲进行傅里叶变换来执行慢时处理。生成强度图(1024x1200),显示5个目标中每个目标的距离和多普勒。还要在目标的实际位置放置一个“+”,这在模拟中是已知的。请注意,强度分布应以这些“+”为中心。将慢时间轴转换为多普勒频率(以 Hz 为单位),将快速时间轴转换为以米为单位的范围。请注意,每个脉冲的杂波都是相同的,即对所有脉冲使用相同的 1000 个杂波值。

​生成不同信杂波 (SCR) 比的距离多普勒图:20dB、10dB、3dB、0dB、-10dB。一般信息和说明什么是快时间和慢时间?​

屏幕截图 2020-06-03 在 6 21 42 上午

​目标是创建一个包含 1024 个范围箱的矩阵,每个箱有 1000 个脉冲。
慢时间=更新每个PRI,表示每次一个脉冲,1000个脉冲,每个立方体在慢时间内是1个PRI。
单个脉冲内的时间是快速时间。脉冲之间的时间是慢时间。
快速时间是指给定脉冲的范围箱或范围样本的数量,代表范围延迟。
慢时间只是脉冲数。

在快速时间的不同时间段组成一个 PRI,意味着在每个 PRI 内部,延迟时间。我们可以说我们得到了 1024 次分辨率和 1000 PRI x 轴上的每个脉冲。
如果在x=2,第二个脉冲,快速时间=10。然后下一个脉冲在 x=3,目标 仍然在快速时间 = 10,表示目标没有移动。
如果在 x=4 的下一个脉冲中,我们上升到相应的 y 值,并且目标移动到 快速时间 y= 14 表示它正在移动。
单个脉冲内的时间是快速时间。脉冲之间的时间是慢时间。

FFT
使用FFT,我们从慢时间移动到多普勒频率,从快速时间移动到范围。
原因:因为在移动目标中,相位信息出现在每个接收到的脉冲中。
不同的返回可以在多普勒域而不是时域中分离。
所以,当我们从快速时间移动到范围时,
每个 y 值都变成了范围, 当我们从慢速时间移动到多普勒时,每个x值都变成多普勒频率

当两个目标在相同的y“范围”但不同的x“多普勒”时,这意味着两个目标在相同的范围内,但速度不同。
多普勒频率和速度由 如果两个目标具有相同的多普勒但射程不同,则意味着它们的速度相同,但范围不同。

流程:

  1. 使用 rand 函数生成五个范围、五个速度和法夫反射率。

  2. 使用方程找到每个目标的回波,知道回波将始终比原始信号延迟 2R/C。所以我(到)ia 2R / C。

  3. 在回波方程中,我们得到t-2R/C.(t)这里是快速时间,因为我们有兴趣看到每个脉冲的回波。

  4. 使用Barker代码进行压缩,使脉冲具有180个相移,以增加带宽而不会损失分辨率。在这个雷达中,它用于测距。

  • 从快速时间处理(测距)开始 快速脉冲是1.100微秒,我们生成1000微秒,所以1000个样本。
    在每个脉冲之后,或每个M慢时间,或在每个X处,我们为这1200个样本中的每一个生成一个新的混乱。
    我将使用匹配的过滤器进行 barker 代码,将回声装箱到 200 范围内,以增加 <> 个箱。

  • 慢时处理(多普勒) 使用 PRF = 1000 Hz,T = 1ms 并使用回波方程, 我从 1024 个脉冲中生成了 1024 个回波,并将这些回波堆叠在我的 (S) 中。 然后我沿着 1024 个范围箱获取 1200 个回波或脉冲的 FFT。

📚2 运行结果

2.1 多普勒与距离图中的五个塔格特:

具有坏多普勒频率的塔格特正在远离雷达,而积极的塔格特正在向雷达走来。 

2.2 回波信号和匹配滤波器输出: 

请注意,每当我们同时输入匹配的滤波器输出和回波信号时,我们都会检测到目标。 

2.3  数据立方体: 看到tha Barker代码相移和目标的回声:

部分代码:

% The Echo received for each Target +  Clutter
 for k = 1 : 5
     
Delay = to(k);

S(Delay:Delay+12) = S(Delay:Delay+12)+ p(k).* barker (1:13).* exp(j*2*Ko*u(k)*t);

 
 end

%Matched Filtering with inverse Barker code coefficients 

Sfilterd= filter(a,1,S)/13;

% Building the Matrix Cube
MatrixCube(i,1:L) = Sfilterd(1:L);


end

FFTMatrixCube = fftshift(fft(MatrixCube,[],1));

figure 
% Ploting the Doppler - Range Grapgh
image([-500 500],[-15 15],200*log10(abs(FFTMatrixCube')));
xlabel('Doppler')
ylabel('Range')

figure
X = 1:1:1000;
plot(X,abs(Sfilterd)) 
hold on 
plot(X,abs(S))
hold off
legend('Clutter','Filter output')

L1 = 1:1:1024;
M1 = -500:1:500;
figure
mesh(abs(MatrixCube))

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]林晓斌,张承志,谢梦.脉冲多普勒雷达目标航迹自动起始方法研究[J].科技视界, 2018(12):2.DOI:CNKI:SUN:KJSJ.0.2018-12-005.

[2]李惠峰,赵明.基于多目标的脉冲多普勒雷达导引头系统研究[C]//山东自动化学会;山东理工大学.山东自动化学会;山东理工大学, 2010.

[3]A.Yasotharan,T.Thayaparan.傅里叶变换法用于脉冲多普勒雷达检测加速运动目标的研究[J].空载雷达, 2005(2):7.

🌈4 Matlab代码实现

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

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

相关文章

代码随想录算法训练营第四十六天|139.单词拆分、多重背包、背包问题总结

139.单词拆分 ★ 文档讲解 &#xff1a; 代码随想录 - 139.单词拆分 状态&#xff1a;再次回顾。&#xff08;★&#xff1a;需要多次回顾并重点回顾&#xff09; 本题其实不套完全背包思路来理解反而更简单易懂一点。 动态规划五部曲&#xff1a; 确定dp数组&#xff08;dp ta…

以getPositionList为例,查找接口函数定义及接口数据格式定义

job-app-master/pages/index/index.vue中299行 async getPositionList(type refresh, pulldown false) {this.status 请求中;if (type refresh) {this.query.page 1;} else {this.query.page;}let res await this.$apis.getPositionList(this.query);if (res) {if (type …

福利之舞:员工的心跳与企业的平衡术

引言&#xff1a;员工福利与满意度的关系 在现代企业中&#xff0c;员工福利已经不仅仅是一种待遇&#xff0c;而是与员工满意度、忠诚度和生产力紧密相连的关键因素。一个合理且吸引人的福利制度可以大大提高员工的工作积极性&#xff0c;同时也能够吸引和留住顶尖的人才。但…

.NET 最便捷的Log4Net日志记录器

最便捷的Log4Net使用方法 LOG4NET 配置日志记录器开始引用nuget LOG4NET 配置日志记录器 Apache log4net 库是一个帮助程序员将日志语句输出到各种的工具 的输出目标。log4net是优秀的Apachelog4j™框架的移植 Microsoft.NET 运行时。我们保持了与原始log4j相似的框架 同时利…

Linux CentOS7系统,抓取http协议的数据包

使用 tcpdump 命令 1.首先确认是否安装 [rootlocalhost ~]# which tcpdump /usr/bin/which: no tcpdump in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) [rootlocalhost ~]#我这里没有安装 1.1 安装 tcpdump yum install tcpdump 安装成功如下&#xf…

Linux网络编程:多路I/O转接服务器(select poll epoll)

文章目录&#xff1a; 一&#xff1a;select 1.基础API select函数 思路分析 select优缺点 2.server.c 3.client.c 二&#xff1a;poll 1.基础API poll函数 poll优缺点 read函数返回值 突破1024 文件描述符限制 2.server.c 3.client.c 三&#xff1a;epoll …

OpenCV + CLion在windows环境下使用CMake编译, 出现Mutex相关的错误的解决办法

最近在windows下面用cmake编译OpenCV的项目代码,但是一直碰到找不到mutex的问题&#xff0c;百思不得其解, Executing task: g -g -o bin/debug.exe src/main.cppC:\MinGW\lib\opencv\build\include/opencv2/core/utility.hpp:697:14: error: recursive_mutex in namespace st…

智慧能源管理系统助力某制造企业提高能源利用效率

随着全球能源需求不断增加和能源价格的上涨&#xff0c;企业和机构日益意识到能源管理的重要性。传统的能源管理方式不仅效率低下&#xff0c;还容易造成资源浪费和环境污染。因此&#xff0c;许多企业开始探索采用智慧能源管理系统来提高能源利用效率&#xff0c;降低能源成本…

9. 解谜游戏

目录 题目 Description Input Notes 思路 暴力方法 递归法 注意事项 C代码&#xff08;递归法&#xff09; 关于DFS 题目 Description 小张是一个密室逃脱爱好者&#xff0c;在密室逃脱的游戏中&#xff0c;你需要解开一系列谜题最终拿到出门的密码。现在小张需要打…

Linux:Nginx服务与搭建

目录 一、Nginx概述 二、Nginx三大作用&#xff1a;反向代理、负载均衡、动静分离 三、Nginx和Apache 3.1Nginx和Apache的差异 3.2Nginx和Apache的优缺点比较 四、编译安装niginx 五、创建Nginx 自启动文件 六、Nginx的信号使用 6.1信号 七、升级 nginx1.18 nginx1.2…

项目---日志系统

目录 项目系统开发环境核心技术日志系统介绍为什么需要日志系统? 日志系统框架设计日志系统模块划分代码实现通用工具实现日志等级模块实现日志消息模块实现格式化模块实现落地模块实现日志器模块同步日志器异步日志器缓冲区实现异步工作器实现 回归异步日志器模块建造者模式日…

前端需要理解的工程化知识

1 Git 1.1 Git 常见工作流程 Git 有4个区域&#xff1a;工作区&#xff08;workspace)、index&#xff08;暂存区&#xff09;、repository&#xff08;本地仓库&#xff09;和remote&#xff08;远程仓库&#xff09;&#xff0c;而工作区就是指对文件发生更改的地方&#xff…

Android View动画整理

View 动画相关内容可参考官网 动画资源 此前也有写 View 动画相关的内容&#xff0c;但都只是记录代码&#xff0c;没有特别分析。以此篇作为汇总、整理、分析。 Android View 动画有4中&#xff0c;分别是 平移动画 TranslateAnimation缩放动画 ScaleAnimation旋转动画 Rot…

大数据时代的软件开发实践:利用云计算和AI赋能创新

文章目录 云计算的赋能弹性资源管理远程协作与分布式开发持续集成和持续交付成本效益 人工智能的赋能数据驱动的决策自动化智能预测和优化自适应系统 创新的实践方法数据驱动的创新智能化产品开放式创新迭代和反馈 &#x1f388;个人主页&#xff1a;程序员 小侯 &#x1f390;…

VBJSON报错:缺少:语句结束

项目中使用JSON库VBJSON时报错&#xff1a; 编译错误&#xff1a;缺少&#xff1a;语句结束 cJSONScript和cStringBuilder报相同的错误&#xff0c;都在第一行: VERSION 1.0 CLASS 研究了半天没啥结果&#xff0c;之前使用这个库的时候没有什么问题&#xff0c;所以判定是当前…

yolov8实战之torchserve服务化:使用yolov8x来预打标

前言 最近在做一个目标检测的任务&#xff0c;部署在边缘侧&#xff0c;对于模型的速度要求比较严格&#xff08;yolov8n这种&#xff09;&#xff0c;所以模型的大小不能弄太大&#xff0c;所以原模型的性能受限&#xff0c;更多的重点放在增加数据上。实测yolov8x在数据集上…

【C/C++】父类指针指向子类对象 | 隐藏

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

(四)CUDA应用程序编程接口详解

C语言扩展 CUDA的编程接口是C语言的扩展集&#xff0c;其中主要的是Runtime库&#xff0c;该库分为三个组件&#xff1a;主机组件、设备组件以及公共组件 主机组件&#xff1a;在主机上运行并提供函数来控制和访问一个或多个计算设备 设备组件&#xff1a;设备运行并且提供特…

考研C语言进阶题库——更新41-50题

目录 41.编写程序要求输出整数a和b若a和b的平方和大于100&#xff0c;则输出a和b的平方和&#xff0c;否则输出a和b的和 42.现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的&#xff1a;第一项是1/1&#xff0c;第二项是是…

unity-AI自动导航

unity-AI自动导航 给人物导航 一.地形创建 1.首先我们在Hierarchy面板中创建一个地形对象terrian&#xff0c;自行设定地形外貌&#xff0c;此时我们设置一个如下的地形外观。 二.创建导航系统 1.在主人公的Inspector、面板中添加Nav Mesh Agent &#xff08;导航网格代理&…