DDMA信号处理以及数据处理的流程---原始数据生成

Hello,大家好,我是Xiaojie,好久不见,欢迎大家能够和Xiaojie一起学习毫米波雷达知识,Xiaojie准备连载一个系列的文章—DDMA信号处理以及数据处理的流程,本系列文章将从目标生成、信号仿真、测距、测速、cfar检测、测角、目标聚类、目标跟踪这几个模块逐步介绍,这个系列的文章大约是一个7-8篇左右。

最终效果如下:

整体文件的目录树如下:

本篇文章主要讲的是原始数据生成的部分。

基本理论

FMCW雷达基本结构

下图为FMCW雷达基本结构,时序器和本地振荡器产生线性调频信号,调相器进行相位调制,功率放大器增强信号功率,最后由发射天线向外界传播。当信号在外界传输过程中遇到目标后会被反射,反射信号会被接收天线接收,通过低噪声放大器,与发射信号进行混频得到中频信号。中频信号包含目标的距离和速度信息。中频信号通过低通滤波器,经过模数转换后数据就可以用于提取目标信息

发射信号chirp序列

下图为发射chirp发射信号和接收信号序列

单个chirp发射信号表达式为:

S T ( t ) = A T e j [ 2 π ( f c t + 1 2 S t 2 ) ] S_T(t)=A_Te^{j[2\pi(f_ct+\frac{1}{2}St^2)]} ST(t)=ATej[2π(fct+21St2)]

当发射信号遇到目标后,会被反射,形成回波信号,回波信号的表达式为:

S R ( t ) = A R e j 2 π [ ( f c + f d ) ( t − t d ) + 1 2 S ( t − t d ) 2 ] S_R(t)=A_Re^{j{2\pi[(f_c+f_d)(t-t_d)+\frac{1}{2}S(t-t_d)^2]}} SR(t)=ARej2π[(fc+fd)(ttd)+21S(ttd)2]

接收到目标的回波信号与发射信号进行混频得到中频信号,其表达式为:

S I F = A I F e j 2 π [ ( S t d − f d ) t + ( f c + f d ) t d − 1 2 S t d 2 ] S_{IF}=A_{IF}e^{j{2\pi[(St_d-f_d)t+(f_c+f_d)t_d-\frac{1}{2}St_d^2]}} SIF=AIFej2π[(Stdfd)t+(fc+fd)td21Std2]

距离、速度、角度

距离公式:

t d = 2 R c t_d = \frac{2R}{c} td=c2R

速度公式:

f d = 2 v λ f_d = \frac{2v}{\lambda} fd=λ2v

角度公式:

Δ ϕ = 2 π λ d s i n ( θ ) \Delta\phi= \frac{2\pi}{\lambda}dsin(\theta) Δϕ=λ2πdsin(θ)

仿真

雷达参数

基本参数

下表为仿真雷达的基本参数

阵列排布

阵列排布采用均匀阵列,暂不考虑俯仰角测量

仿真代码

generateParameter.m文件

generateParameter.m文件主要是一些雷达参数的宏定义,定义一些雷达的相关变量值;具体代码如下:

% 参数设置
function parameter = generateParameter()parameter.frameNumLoops = 18; %初始化frame循环parameter.frameCount = 0; %帧计数parameter.targetNums = 1; %初始化真实目标parameter.c = 3e8; %光速parameter.frameNums = 70; %帧数parameter.frameTime = 60e-3; %帧周期parameter.startFreq = 76.2e9;  %起始频率parameter.Fs = 18.75e6; %采样率 实采样率37.5MHz的采样率  复采样率为18.75MHz的采样率parameter.tr = 1 / parameter.Fs; %采样间隔parameter.Slope = 20e12; %chirp斜率parameter.Samples = 512;  %采样点parameter.rangeBin = 512; %rangebinparameter.Chirps = 384;  %chirp数parameter.dopplerBin = 384; %dopplerbinparameter.dopplerBinHalf = parameter.dopplerBin / 2; %多普勒bin的一半parameter.TrValid = parameter.Samples / parameter.Fs; %采样有效时间parameter.TrTotal = 38e-6;  %chirp周期parameter.t = 0:parameter.tr:parameter.TrValid - parameter.tr; %chirp时间下标parameter.validBandWidth = parameter.Slope * parameter.TrValid; %有效带宽parameter.totalBandWidth = parameter.Slope * parameter.TrTotal; %总带宽parameter.centerFreq = parameter.startFreq + parameter.validBandWidth / 2; %中心频率parameter.lambda = parameter.c / parameter.centerFreq; %波长parameter.txAntenna = [0 4 8 12]; %发射天线 暂不考俯仰 2944的方位发射天线parameter.rxAntenna = [0 1 2 3]; %接收天线 2944的方位接收天线parameter.txNum = length(parameter.txAntenna); %发射天线的数量parameter.rxNum = length(parameter.rxAntenna); %接收天线的数量parameter.dx = parameter.lambda / 2; %虚拟天线的方位最小间距parameter.subBand = 6; %子带数parameter.emptyBand = 2; %空子带数parameter.validBand = parameter.txNum; %有效子带为发射天线数量parameter.subDopplerBin = parameter.dopplerBin / parameter.subBand; %一个子带dopplerbin的数目parameter.subBandRelation = [0, 1, 2, 3] * parameter.subDopplerBin; %子带间的关系parameter.phaseShift = mod(2*pi .* (1:1:parameter.Chirps).' .* (0:1:parameter.txNum-1) ./ parameter.subBand, 2*pi); %chirp信号的相移值end

generateSignal.m文件

generateSignal.m文件主要目的是生成雷达的原始数据,生成一个维度为 r x N u m s ∗ c h i r p N u m s ∗ s a m p l e s rxNums*chirpNums*samples rxNumschirpNumssamples的矩阵;

具体代码如下:

function rawData = generateSignal(Parameter,target)c = Parameter.c; %光速TrTotal = Parameter.TrTotal;  %脉冲重复周期samples = Parameter.Samples; %采样点chirps = Parameter.Chirps;  %chirp数slope = Parameter.Slope; %chirp斜率startFreq = Parameter.startFreq; %起始频率deltaFreq = Parameter.deltaFreq; %步进频率lambda = Parameter.lambda; %波长txAntenna = Parameter.txAntenna; %发射天线的位置rxAntenna = Parameter.rxAntenna; %接收天线的位置txNum = Parameter.txNum; %发射天线数rxNum = Parameter.rxNum; %接收天线数dx = Parameter.dx; %水平间距targetNum = size(target,1); %目标数t = Parameter.t; %时间序列phaseShift = Parameter.phaseShift; %移相值rawData = zeros(rxNum,chirps,samples);for rxId = 1:rxNum %接收天线循环rxPos = rxAntenna(rxId); %每根接收天线的位置for chirpId = 1:chirps %chirp数目循环Sif = zeros(1,samples);centerFreq = startFreq + (chirpId - 1) * deltaFreq;for txId = 1:txNum %发射天线循环txPos = txAntenna(txId); %每跟发射天线的位置virtualAntennaPos = rxPos + txPos; %虚拟天线位置phaseValue = phaseShift(chirpId,txId); %DDMA移相位值St = exp((1i*2*pi) * (centerFreq * (t + chirpId * TrTotal) + slope / 2 * t.^2) + 1i * phaseValue); %发射信号for targetId = 1:targetNum %目标数目循环targetRange = target(targetId,1); targetSpeed = target(targetId,2); targetAngle = target(targetId,3); %目标信息tau = 2 * targetRange / c; %距离信息fd = 2 * targetSpeed / lambda; %频移信息wx = 2 * pi * virtualAntennaPos / lambda * dx * sind(targetAngle); %天线相位信息Sr = exp((1i*2*pi) * ((centerFreq-fd) * (t - tau + chirpId * TrTotal) + slope / 2 * (t-tau).^2) - 1i * wx);  %回波信号
%                     Sr = exp((1i*2*pi) * ((centerFreq-fd) * (t - tau + chirpId * TrTotal) + slope / 2 * (t-tau).^2));  %回波信号Sif = Sif + St .* conj(Sr);endendrawData(rxId,chirpId,:) = Sif;endrawData(rxId,:,:) = awgn(rawData(rxId,:,:),0); %添加噪声end
end

运行结果如下:

参考文献

  1. Xiaojie雷达之路—TDM-MIMO及雷达处理流程仿真

至此,本片文章就此结束了。

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

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

相关文章

服务部署:Linux系统部署C# .NET项目

1. 安装 .NET SDK 首先,你需要在你的 Linux 系统上安装 .NET SDK。 Ubuntu系统: 下载 Microsoft 包配置文件 wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb 这个命令使用 wge…

大模型日报2024-06-10

大模型日报 2024-06-10 大模型资讯 无需矩阵乘法的语言模型在亿参数规模上表现优异 摘要: 研究表明,无需矩阵乘法的语言模型在亿参数规模上仍能保持顶级性能。这一发现挑战了传统神经网络依赖矩阵乘法的观点,展示了在GPU优化之外的新可能性。 博弈论助力…

MySQL基础---库的操作和表的操作(配着自己的实操图,简单易上手)

绪论​ 勿问成功的秘诀为何,且尽全力做您应该做的事吧。–美华纳;本章是MySQL的第二章,本章主要写道MySQL中库和表的增删查改以及对库和表的备份处理,本章是基于上一章所写若没安装mysql可以查看Linux下搭建mysql软件及登录和基本…

编曲市场行情

编曲市场行情 现在的编曲市场是分层级,金字塔模式的市场,对能力要求很高,也非常卷,也确实能赚钱。 底层编曲人:数量最多,以初学者编曲人居多,大部分是那种自学了一个多月就出来标榜自己 是音…

LabVIEW汽车电机测试系统

1. 背景 随着电动汽车的快速发展,汽车电机作为电动汽车的核心部件,其性能评估变得尤为重要。电机的功率、效率、转速等参数直接影响着电动汽车的性能和续航里程。因此,设计一套全面、准确的汽车电机测试系统对于提高电动汽车的性能和安全性具…

离散数学-万字课堂笔记-期末考试-考研复习-北航离散数学1

第一章 逻辑语言1.1 逻辑运算1.2 命题逻辑合式公式1.3 谓词逻辑合式公式1.4 自然语言命题第二章 命题逻辑语义2.1 命题合式公式语义2.2 推论式与等价式的语义2.3 变换合式公式的语义2.4 命题公式范式2.5 等式演算2.6 完全集第三章 谓词逻辑语义3.1谓词合式公式语义3.2推论关系和…

从渲染管线到着色器Shader实践

浏览器渲染管线原理 浏览器渲染管线是浏览器将HTML、CSS和JavaScript转换为用户可见的网页的过程。这一过程涉及多个步骤,包括解析、布局、绘制和合成等。下面是浏览器渲染管线的详细原理: 解析(Parsing): HTML解析:浏览器下载HTML内容后,首先进行HTML解析,将HTML文本…

GO语言 环境搭建

1. ide GoLand 下载地址 感谢您下载GoLand!

如何提升自己的管理思维?

贯彻组织的核心价值观和文化理念,营造积极正向的工作氛围。通过身体力行,管理者可以影响和带动团队成员,共同营造一个充满活力和凝聚力的工作环境,确保组织文化能够深入人心,成为推动组织前进的强大动力。 总之&#x…

“程序员职业素养全解析:技能、态度与价值观的融合“

文章目录 每日一句正能量前言专业精神专业精神的重要性技术执着追求的故事结论 沟通能力沟通能力的重要性团队合作意识实际工作中的沟通案例结论 持续学习持续学习的重要性学习方法进步经验结论 后记 每日一句正能量 梦不是为想象,而是让我们继续前往。 前言 在数字…

【PowerDesigner】创建和管理CDM之新建实体

目录 🌊1. PowerDesigner简介 🌍1.1 常用模型文件 🌍1.2 PowerDesigner使用环境 🌊2. 创建和管理CDM 🌍​​​​​​2.1 新建CDM 🌍2.2 新建实体 🌊1. PowerDesigner简介 🌍1…

【Linux系统化学习】网络层——IP协议

目录 IP协议 协议头格式 两个问题 网段划分 IP地址的分类 CIDR网段划分(无分类编址) 特殊的IP地址 IP地址的数量限制 私有IP地址和公网IP地址 路由 路由表的查询 IP协议 应用层、运输层上两层协议我们只考虑的是通信的双方对应层,…

操作系统入门系列-MIT6.828(操作系统工程)学习笔记(六)---- 初窥操作系统启动流程(xv6启动)

系列文章目录 操作系统入门系列-MIT6.S081(操作系统)学习笔记(一)---- 操作系统介绍与接口示例 操作系统入门系列-MIT6.828(操作系统工程)学习笔记(二)----课程实验环境搭建&#x…

k8s离线部署Calico网络(2续)

下载离线镜像 百度网盘 链接:https://pan.baidu.com/s/14ReJW-ZyYZFLbwSEBZK6mA?pwdi6ct 提取码:i6ct 1.将离线镜像上传至所有服务器并解压: [rootmaster ~]# tar xf calico.tar.gz [rootmaster ~]# cd calico 2.所有服务器使用for循环导入…

ARM交叉编译

目录 一、介绍 1、本地编译 2、交叉编译 二、交叉工具链 1、概念 2、工具 3、获取方法 三、交叉编译运行程序 1、pc机操作(x86_64) ​2、开发板操作(ARM) 一、介绍 1、本地编译 本地编译是在与目标运行环境相同的机器上…

Java 程序结构 -- Java 语言的变量、方法、运算符与注释

大家好,我是栗筝i,这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 003 篇文章,在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验,并希望进…

【数据结构】详解堆排序当中的topk问题(leetcode例题)

文章目录 前言如何理解topk问题代码逻辑代码实现 前言 Leetcode相关题目:215. 数组中的第K个最大元素 如何理解topk问题 **Top K 问题是一个经典的问题,在计算机科学中,它的目标是在一组数据中找到前 K 个最大或最小的元素。**这个问题在许…

Vue3学习记录第三天

Vue3学习记录第三天 背景说明学习记录Vue3中shallowReactive()和shallowRef()Vue3中toRaw()和markRaw()前端...语法Vue3中readonly()和shallowReadonly()函数前端的防抖 背景 之前把Vue2的基础学了, 这个课程的后面有简单介绍Vue3的部分. 学习知识容易忘, 这里仅简答做一个记录…

【C++进阶】深入STL之 栈与队列:数据结构探索之旅

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C “ 登神长阶 ” 🤡往期回顾🤡:模拟实现list与迭代器 🌹🌹期待您的关注 🌹🌹 ❀stack和queue &#x1f4…

安利一款非常不错浏览器文本翻译插件(效果很不错,值得一试)

官网地址:https://immersivetranslate.com/ “沉浸式翻译”这个词,由我们发明创造。如今,它已然成为“双语对照翻译”的代名词。自2023年上线以来,这款备受赞誉的 AI 双语对照网页翻译扩展,已帮助超过 100 万用户跨越语…