LFM雷达实现及USRP验证【章节2:LFM雷达测距】

目录

1. 参数设计

几个重要的约束关系

仿真参数设计 

2. matlab雷达测距代码

完整源码

代码分析


回顾:LFM的基本原理请详见第一章

本章节将介绍LFM雷达测距的原理及实现

1. 参数设计

  • 几个重要的约束关系

带通采样定理

因此如果我们B=80MHz时,奈奎斯特采样率近似等于2.11倍带宽,因此我们采样率fs设置为2.5倍带宽绰绰有余。 

距离分辨率

\sigma _{R}=c/(2B)

最大目标探测距离

由下式定义,,其中Tr表示脉冲重复周期

Rmax=\frac{1}{2}cTr

当我们Tr设置为0.05s时,按照公式可得最大检测距离Rmax=7500000m,脉冲波形的往返时间也为0.05s,因此我们采样时间也就为0.05s。

采样时间

采样时间可以由上述的最大目标检测距离确定,假设最大目标检测距离为Rmax,则最大采样时间t为,换句话说,采样时间与你的最大检测距离或者检测范围有关

t_{max}=2Rmax/c

若Rmax=1000m,则采样时间约为6.67ns,易知,探测距离越远则采样时间越长

  • 仿真参数设计 

参数设置参数意义
fc载波频率 4GHz
Fs采样率为200MHz(USRP最大采样率受限)
Ts采样周期Ts=1/FS=5ns
BB=0.4Fs=80MHz
Tp时宽10us,Tp=10e-6
c光速,设置为3e8
Tr脉冲重复周期等于1/PRF=50ms
PRF脉冲重复频率为20
lamda波长等于光速/载波频率=75mm(毫米波波段)
Rmax最大探测距离300m
R_resolution距离分辨率=光速/两倍波长=c/(2B)=1.875m

2. matlab雷达测距代码

原始雷达回波经过脉冲压缩之后的回波
  • 完整源码

%==========================================================================
%%   单脉冲LFM雷达测距
%==========================================================================
clear all;clc;close all;

%% LFM参数设置
fc = 4e9;               %载波频率
PRF = 20;               %脉冲重复频率
Tr = 1/PRF;             %脉冲重复周期
B = 80e6;               %带宽
Fs = 2.5*B;             %采样频率
Ts = 1/Fs;              %采样时间
Tp = 10e-6;             %脉宽
c = 3e8;                

lamda = c/fc;           %载波波长                 
R_max = 3000;            %最大检测距离(不能设置太小,不然后面存在问题,回波窗尽量大一些)                
R_min = 0;              %最小检测距离
RCS = [1,1,1];          %目标物体的反射截面积
R_targets = [105,11,60];          %目标距离

%% LFM参数导出                                
K = B/Tp;               %调频斜率      
Rwind = R_max - R_min;  %距离窗                       
twind = 2*Rwind/c;      %利用距离窗计算信号的往返时间窗                     
num_wind_sample = ceil(twind/Ts);%在规定时间窗内总的采样点数计算

%% LFM回波信号生成
t = linspace(2*R_min/c,2*R_max/c,num_wind_sample);%将检测范围所需时间分成与采样点数相同数量的点
num_targets = length(R_targets);%计算目标物体个数
% LTI系统的接收信号
td=ones(num_targets,1)*t-2*R_targets'/c*ones(1,num_wind_sample);
%-----参考章节1中的LTI系统输入输出关系-------
Srt=RCS*(exp(1i*pi*K*td.^2).*(abs(td)<Tp/2));%从点目标来的回波(所有目标物体的叠加)

%% 脉冲压缩
num_chrip_samples = ceil(Tp/Ts);    %将脉宽按照采样间隔离散化得到chrip的时域采样点数
%%循环卷积长度应当大于等于N+N-1,其中弃置区位于长度大于N+N-1的部分(参考章节1中的频域匹配滤波部分)
num_fft = 2^nextpow2(2*num_wind_sample-1);          %方便使用FFT算法,满足2的次方形式
t0 = linspace(-Tp/2,Tp/2,num_chrip_samples);
%对接收信号Srt进行傅里叶变换得到Srw
Srw = fft(Srt,num_fft);
%原始发射信号St及其fft
St = exp(1i*pi*K*t0.^2);%发射的LFM信号(用t0限制了脉宽)
Stw = fft(St,num_fft);%发射信号的频域
%匹配滤波
Sot = fftshift(ifft(Srw.*conj(Stw)));           %脉冲压缩后的信号

%% 数据处理
N0 = ceil(num_fft/2-num_chrip_samples/2);
Z = abs(Sot(N0:N0+num_wind_sample-1));
%归一化并取dB表示
Z = Z/max(Z);
Z_dB = 20*log10(Z);

%% 绘图
figure(1)
plot(t*10e6,real(Srt));
axis tight,xlabel('时间 / us');ylabel('幅度'),title('原始雷达回波');
figure(2)
plot(t*c/2,Z_dB);
axis([R_min,R_max,-60,0]);
xlabel('距离 / m'),ylabel('幅度 / dB'),title('脉冲压缩测距')
  • 代码分析

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

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

相关文章

SQL优化13连问,收藏好!

1.日常工作中&#xff0c;你是怎么优化SQL的&#xff1f; 大家可以从这几个维度回答这个问题&#xff1a; 分析慢查询日志 使用explain查看执行计划 索引优化 深分页优化 避免全表扫描 避免返回不必要的数据&#xff08;如select具体字段而不是select*&#xff09; 使用…

【Android -- 开发工具】Xshell 6 安装和使用教程

一、简介 Xshell 其实就是一个远程终端工具&#xff0c;它可以将你的个人电脑和你在远端的机器连接起来&#xff0c;通过向 Xshell 输入命令然后他通过网络将命令传送给远端Linux机器然后远端的Linux机器将其运行结果通过网络传回个人电脑。 二、Xshell 6 的安装 首先&#…

如何通过命令行查看CentOS版本信息和linux系统信息

1.如何查看已安装的CentOS版本信息&#xff1a; 1.cat /proc/version 2.uname -a 3.uname -r 4.cat /etc/centos-release 5.lsb_release -a 6.hostnamectl1. 第一种方式输出的结果是&#xff1a; Linux version 3.10.0-1127.el7.x86_64 (mockbuildkbuilder.bsys.centos.org) …

算法基础-回溯算法

回溯算法大致分为以下几类&#xff1a; 组合&#xff1a;组合、组合总和、电话号码的字母组合 分割&#xff1a;分割回文串、复原IP地址 子集&#xff1a;子集 排列&#xff1a;全排列 棋盘问题&#xff1a;N皇后、解数独 其他&#xff1a;递增子序列、重新安排行程 一、什么是…

gns3:动态路由(ospf) area0 骨干网络(域间)(ABR)+ ospf 连接 rip (外部)(ASBR)+ 区域划分

1.配置好接口ip 全部处于up状态2.配置好lookback口 增加一个虚拟直连网段全部为 255.255.255.0的子网掩码实现上边ospf之间通信r1的全局模式router ospf 1network 192.168.1.0 0.0.0.255 area 1network 1.1.1.0 0.0.0.255 area 1宣告直连 并且划分area 区域为1r2全局模式router…

一种LCD屏闪问题的调试

背景 项目使用ESP32-S3 RGB接口驱动的LCD, 框架 idf-v5.0, LVGL-v7.11 显示画面正常, 但肉眼可见的像是背光在闪烁, 背光电路是应用很久的经典电路, 且排查背光驱动无错, 但开机一段时间后, 闪烁会明显减轻 记录 这块屏的显示驱动芯片为ST7701S, 查看芯片手册有说明特定的上…

全网最完整,接口测试总结彻底打通接口自动化大门,看这篇就够了......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 所谓接口&#xff0…

音视频开发—MediaCodec 解码H264/H265码流视频

使用MediaCodec目的 MediaCodec是Android底层多媒体框架的一部分&#xff0c;通常与MediaExtractor、MediaMuxer、AudioTrack结合使用&#xff0c;可以编码H264、H265、AAC、3gp等常见的音视频格式 MediaCodec工作原理是处理输入数据以产生输出数据 MediaCodec工作流程 Med…

SpringBoot整合Flink(施耐德PLC物联网信息采集)

SpringBoot整合Flink&#xff08;施耐德PLC物联网信息采集&#xff09;Linux环境安装kafka前情&#xff1a;施耐德PLC设备&#xff08;TM200C16R&#xff09;设置好信息采集程序&#xff0c;连接局域网&#xff0c;SpringBoot订阅MQTT主题&#xff0c;消息转至kafka&#xff0c…

计算机网络体系结构——“计算机网络”

各位CSDN的uu们你们好呀&#xff0c;今天小雅兰来学习一个全新的知识点&#xff0c;就是计算机网络啦&#xff0c;下面&#xff0c;开始虚心学习。 计算机网络的概念 计算机网络的功能 计算机网络的组成 计算机网络的分类 标准化工作 计算机网络的性能 计算机网络的概念 …

Hadoop集群环境配置搭建

一、简单介绍 Hadoop最早诞生于Cutting于1998年左右开发的一个全文文本搜索引擎 Lucene&#xff0c;这个搜索引擎在2001年成为Apache基金会的一个子项目&#xff0c;也是 ElasticSearch等重要搜索引擎的底层基础。 项目官方&#xff1a;https://hadoop.apache.org/ 二、Linux环…

SpringBoot 结合RabbitMQ与Redis实现商品的并发下单【SpringBoot系列12】

SpringCloud 大型系列课程正在制作中&#xff0c;欢迎大家关注与提意见。 程序员每天的CV 与 板砖&#xff0c;也要知其所以然&#xff0c;本系列课程可以帮助初学者学习 SpringBooot 项目开发 与 SpringCloud 微服务系列项目开发 1 项目准备 SpringBoot 整合 RabbitMQ 消息队…

【前端八股文】浏览器系列:性能优化——HTML、CSS、JS、渲染优化

文章目录HTMLCSSCSS加载会造成阻塞吗JavaScript渲染优化参考本系列目录&#xff1a;【前端八股文】目录总结 是以《代码随想录》八股文为主的笔记。详情参考在文末。 代码随想录的博客_CSDN博客-leecode题解,ACM题目讲解,代码随想录领域博主 性能优化&#xff0c;从以下几个方…

【C++】STL容器、算法的简单认识

几种模板首先认识一下函数模板、类模板、栈模板。函数模板函数模板就是一个模型&#xff0c;而模板函数是函数模板经过类型实例化的函数。如下template<class T>是一个简单的函数模板&#xff1a;template<class T> T Max(T a, T b) {return a > b ? a : b; } …

Joomla未授权访问漏洞CVE-2023-23752

1、前言Joomla是一套全球知名的内容管理系统&#xff08;CMS&#xff09;&#xff0c;其使用PHP语言加上MySQL数据库所开发&#xff0c;可以在Linux、Windows、MacOSX等各种不同的平台上运行。2月16日&#xff0c;Joomla官方发布安全公告&#xff0c;修复了Joomla! CMS中的一个…

cjson文件格式介绍

cjson是一种轻量级的JSON解析库&#xff0c;它支持将JSON格式的数据转换为C语言中的数据结构&#xff0c;同时也支持将C语言中的数据结构转换为JSON格式的数据。cjson的文件格式是指在使用cjson库时&#xff0c;将JSON格式的数据存储在文件中&#xff0c;然后通过cjson库读取文…

C++ 学习笔记(十)(继承、抽象篇)

前言&#xff1a;主要是自己学习过程的积累笔记&#xff0c;所以跳跃性比较强&#xff0c;建议先自学后拿来作为复习用。 文章目录1 定义父类和子类1.1 定义父类访问说明符 protected1.2 定义子类1.3 子类向父类的转换1.4 转换的例外1.5 子类的构造函数1.6 静态成员不能继承1.7…

clip精读

开头部分 1. 要点一 从文章题目来看-目的是&#xff1a;使用文本监督得到一个可以迁移的 视觉系统 2.要点二 之前是 fix-ed 的class 有诸多局限性&#xff0c;所以现在用大量不是精细标注的数据来学将更好&#xff0c;利用的语言多样性。——这个方法在 nlp其实广泛的存在&…

2023年ACM竞赛班 2023.3.20题解

目录 瞎编乱造第一题 瞎编乱造第二题 瞎编乱造第三题 瞎编乱造第四题 瞎编乱造第五题 不是很想编了但还是得编的第六题 不是很想编了但还是得编的第七题 还差三道题就编完了的第八题 还差两道题就编完了的第九题 太好啦终于编完了 为啥一周六天早八阿 瞎编乱造第一题…

【Matlab算法】粒子群算法求解一维线性函数问题(附MATLAB代码)

MATLAB求解一维线性函数问题前言正文函数实现可视化处理可视化结果前言 一维线性函数&#xff0c;也称为一次函数&#xff0c;是指只有一个自变量xxx的函数&#xff0c;且函数表达式可以写成yaxbyaxbyaxb的形式&#xff0c;其中aaa和bbb是常数。具体来说&#xff0c;aaa称为斜…