【雷达原理】雷达测速原理及实现方法

一、雷达测速原理

1.1 多普勒频率

 当目标和雷达之间存在相对运动时,若雷达发射信号的工作频率为eq?f_%7B0%7D,则接收信号的频率为eq?f_%7B0%7D+f_%7Bd%7D,其中eq?f_%7Bd%7D为多普勒频率。将这种由于目标相对于辐射源运动而导致回波信号的频率发生变化的现象称为多普勒效应。

如图1-1所示,照射到目标上的波形具有间隔为eq?%5Clambda(波长)的等相位波前,靠近雷达的目标导致回波信号的等相位波前相互靠近(回波信号的波长eq?%7B%5Clambda%7D%27较短),即eq?%5Clambda%20%3E%7B%5Clambda%20%7D%27;反之,远离雷达的目标导致回波信号的等相位波前相互扩展(回波信号的波长eq?%7B%5Clambda%7D%27较长),即eq?%5Clambda%20%3C%7B%5Clambda%20%7D%27

所以有以下结论:当目标靠近雷达运动时,多普勒频率为正;当目标远离雷达运动时,多普勒频率为负。

25ff4e353e8549b8aecd7a672cd35243.png
图1-1 多普勒效应

下面将给出多普勒频率的计算公式,其证明过程可以参考书本上的推导。

设目标的径向速度为eq?v,则目标回波信号的多普勒频率为:

eq?f_%7Bd%7D%3D%5Cfrac%7B2v%7D%7B%5Clambda%20%7D,目标靠近雷达

eq?f_%7Bd%7D%3D%5Cfrac%7B-2v%7D%7B%5Clambda%20%7D,目标远离雷达

1.2 与速度有关的概念

通过发射两个时间间隔为Tc的线性调频信号,则接收到的每个脉冲对应的距离维FFT将在同一个位置具有峰值,但是峰值对应的相位不同。这两个峰值具有相位差,其与目标相对雷达运动产生的多普勒频率相关。

所以,当目标以速度v运动时,对应的相位差为:

eq?%5Comega%20%3D2%5Cpi%20f_%7Bd%7DT_%7Bc%7D%3D%5Cfrac%7B4%5Cpi%20vT_%7Bc%7D%7D%7B%5Clambda%7D                 (1.2-1)

利用式(1.2-1)可计算出运动目标的速度。

(1) 最大测量速度

0597dfa2880347c3a9db9e2fc0caed00.png

只有相位差满足eq?%5Cleft%20%7C%20%5Comega%20%5Cright%20%7C%20%3C%5Cpi,才可以清楚的测量目标的速度,否则会出现速度模糊。

\left | \omega \right | <\pi\Rightarrow \frac{4\pi vT_{c}}{\lambda}<\pi \Rightarrow v<\frac{\lambda}{4T_{c}}             (1.2-2)

由此可得,当雷达以脉冲重复周期Tc发射信号时,可测量目标的最大不模糊速度为:

v_{max} = \frac{\lambda}{4T_{c}}                                             (1.2-3)

(2) 速度分辨率

当雷达前方有两个位置相近而速度不同(v1,v2)的目标时,我们可以发射一系列等间隔的线性调频信号对其进行测量,则距离维FFT的峰值位置相同,但这些峰值对应的离散序列有两个旋转向量(w1,w2),即回波信号的角频率。

帧:将N个等间隔周期的线性调频信号称为一帧;

多普勒维FFT:一帧脉冲间进行FFT,也称为速度维FFT;

雷达的速度分辨能力取决于多普勒维FFT的频率分辨率,两个速度差为△v的目标回波信号的角频率间隔为△w:

\Delta \omega =\frac{4\pi \Delta vT_{c}}{\lambda }                                          (1.2-4)

由离散傅里叶变换的特性可知,要分辨这两个角频率,需要满足:

\Delta \omega >\frac{2\pi }{N}                                                  (1.2-5)

联合式(1.2-4)和式(1.2-5)可得:

\Delta v > \frac{\lambda }{2NT_{c}}                                                  (1.2-6)

因而,速度分辨率为:

v_{res} = \frac{\lambda }{2NT_{c}}                                                    (1.2-7)

(3) 速度点精度

设一帧的脉冲数为N,对其进行多普勒维FFT的点数为N_{fft},则完成FFT的运算后,速度维上的每一个点代表的速度为:

V_{point}=\frac{v_{max} }{\frac{N_{fft}}{2}}= \frac{\lambda}{2N_{fft}T_{c}}                        (1.2-8)

N_{fft}=N,则有:

V_{point}= \frac{\lambda}{2NT_{c}}                                               (1.2-9)

二、 动目标检测(MTD)技术

6aafaaa3f1e54d8b9048831890c5af35.png
图2-1   MTI滤波器特性

MTI滤波器虽然可以抑制杂波信号,但无法区分具有不同速度的运动目标回波信号,导致雷达无法实现对具有相同距离不同速度的运动目标的检测。动目标检测(Moving Target Detection,MTD)技术采用一组相邻且部分重叠的滤波器组,覆盖目标的整个多普勒频率范围,从每个滤波器的输出,获取对应目标的多普勒频率,从而得到运动目标的速度。

c529aa4a7f464b58bdb0d34dac580eed.png
图2-2  MTD滤波器特性

在工程应用中,通常采用(MTI+MTD)的方式,先利用MTI滤波器将雷达探测到的杂波及低速运动目标滤除,再采用MTD滤波器将不同速度的运动目标进行区分。

2.1 MTD算法原理

MTD算法的实现方式有两类:时域上采用FIR滤波器,频域上采用离散傅里叶变换(DFT)。对脉冲压缩后的数据,在同一距离单元的多个脉冲采用FFT进行处理,可得到不同速度的运动目标。

具有N个输出的横向滤波器,经过各重复周期的不同加权求和后,可以作为N个相邻的窄带滤波器组。其原理性结构如图2-3所示。

每个滤波器的权值可表示为:

N%7D

其中,i为滤波器的下标,k为同一距离单元的脉冲序列的下标,i=0,1,2,N-1,k=0,1,2,N-1。

可以得到MTD滤波器组的输入eq?x%28i%29与输出eq?y%28k%29的对应关系为:

N%7D%2Ck%3D0%2C1%2C2%2C...%2CN-1

上式与DFT的计算公式是等效的,所以可以用DFT实现MTD滤波器组。当N的取值为2的正整数次幂时,则可以采用DFT的快速算法——快速傅里叶变换(FFT)进行计算。

2.2 MTD算法仿真

设定3个目标,其距离分别为300米,600米,900米,速度分别为0m/s,10m/s,-15m/s,RSC分别为0.1㎡,1㎡,5㎡,利用上述目标参数产生模拟回波信号,对该信号进行二维FFT,即先在距离维上进行FFT,再对其多普勒维进行FFT,计算结果如图目标幅度值与目标的RCS及距离有关。

图2-3   二维FFT后的计算结果

三、MATLAB仿真代码

clc;
clear;
close all;

%% LFM信号参数
B = 25e6;               % 带宽
T_chirp = 100e-6;       % 脉冲宽度
PRF = 1/T_chirp;        % 脉冲重复频率
u = B/T_chirp;          % 调频斜率
fs = 2*B;               % 采样率
NumADC = T_chirp*fs;       % 单个脉冲的采样点数
NumChirp = 128;             % 脉冲数
c = physconst('LightSpeed');        % 光速
f0 = 77e9;                          % 载频
Lambda = c/f0;                      % 波长

R_max = fs*c/(2*u);                 % 最大测量距离
V_max = Lambda*PRF/4;               % 最大测量速度

%% 目标参数
tarNum = 3;
tar_R0 = [300,600,900];           % 目标距离
tar_V0 = [0,10,-15];           % 目标速度
Rcs = [0.1,1,5];

%% 模拟信号
Tt = linspace(0,T_chirp*NumChirp,NumADC*NumChirp);
Phase_t = @(f0,u,t) 2*pi*(f0*t+1/2*u*t.^2);        % LFM信号的相位表达式

Signal_Tx = exp(1j*Phase_t(f0,u,Tt));           % 发射信号
Signal_Rx = 0;
for kk = 1:tarNum
    tar_R = tar_R0(kk)+tar_V0(kk)*Tt;
    tao = 2*tar_R/c;                % 目标回波的时延
    Ar = Rcs(kk)./(tar_R.^4);       % 目标回波幅度
    Signal_Rx = Signal_Rx + Ar.*exp(-1j*Phase_t(f0,u,(Tt-tao)));        % 接收信号
end

% 混频
Signal_Mix = Signal_Tx.*Signal_Rx;

rawData = reshape(Signal_Mix,NumADC,NumChirp);
clear Signal_Tx;
clear Signal_Rx;
clear Signal_Mix;

%% 距离维FFT
Nfft1 = 4096;            % FFT点数
R_point = (fs/Nfft1)*c/(2*u);    % 距离点精度
delta_R = c/(2*B);              % 距离分辨率

win1 = hamming(NumADC);       % 加窗
fft_Data = zeros(Nfft1,NumChirp);
for ii = 1:NumChirp
    fft_Data(:,ii) = fft(rawData(:,ii).*win1,Nfft1);
end

x1 = (1:NumChirp)';
y1 = R_point*(0:Nfft1-1)';
figure(101);
mesh(x1,y1,mag2db(abs(fft_Data)));xlabel('脉冲数');ylabel('距离维');title('1维FFT');
ylim([0 2000]);


%% 速度维FFT
win2 = hamming(NumChirp);       % 加窗
Nfft2 = NumChirp;
fft2D_Data = zeros(Nfft1,Nfft2);
for ii = 1:Nfft1
    fft2D_Data(ii,:) = fft(fft_Data(ii,:).*win2',Nfft2);
end

V_point = Lambda*PRF/(2*Nfft2);
figure(103);
mesh(x1,y1,mag2db(abs(fft2D_Data)));xlabel('速度维');ylabel('距离维');title('MTD');
ylim([0 2000]);

参考文献

[1]陈伯孝, 等. 现代雷达系统分析与设计[M]. 西安:西安电子科技大学出版社, 2012.9.

[2] Introduction to mmwave Sensing:FMCW Radars.

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

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

相关文章

FATFS文件系统

文件系统是为了存储和管理数据&#xff0c;而在存储设备上建立的一种组织结构。 Windows常用的文件系统&#xff1a; 1、FAT12 2、FAT16 3、FAT32 4、exFAT 5、NTFS FAT&#xff1a;File Alloction Table 文件分配表 在小型的嵌入式存储设备大多…

Bwapp学习笔记

1.基本sql语句 #求绝对值 select abs(-1) from dual; #取余数 select mod(10,3); #验证show databases结果是取之于schemata表的 show databases; select schema_name from information_schema.schemata; #查询当前的数据库 select database(); -- 查询数据库版本 s…

Java研学-Servlet 基础

一 概述 1 介绍 Servlet&#xff08;Server Applet&#xff09;是Java Servlet的简称&#xff0c;称为小服务程序或服务连接器&#xff0c;用Java编写的服务器端程序&#xff0c;具有独立于平台和协议的特性&#xff0c;主要功能在于交互式地浏览和生成数据&#xff0c;生成动…

【数据结构】什么是树?

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 &#x1f4cc;树的定义 &#x1f4cc;树的相关概念 &#x1f4cc;线性结构与树结构的对比 &#x1f4cc;树的抽象数据类型 &#x1f4cc;树的存储结构 &#x1f38…

叮咚,微信年度聊天报告(圣诞节版)请查收~丨GitHub star 16.8k+

微信年度聊天报告——圣诞节特别版&#xff0c;快发给心仪的ta吧~ 开源地址 GitHub开源地址&#xff1a;https://github.com/LC044/WeChatMsg 我深信有意义的不是微信&#xff0c;而是隐藏在对话框背后的一个个深刻故事。未来&#xff0c;每个人都能拥有AI的陪伴&#xff0c;…

Docker - 镜像 | 容器 日常开发常用指令 + 演示(一文通关)

目录 Docker 开发常用指令汇总 辅助命令 docker version docker info docker --help 镜像命令 查看镜像信息 下载镜像 搜索镜像 删除镜像 容器命令 查看运行中的容器 运行容器 停止、启动、重启、暂停、恢复容器 杀死容器 删除容器 查看容器日志 进入容器内部…

2024年【北京市安全员-B证】考试题库及北京市安全员-B证模拟试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年【北京市安全员-B证】考试题库及北京市安全员-B证模拟试题&#xff0c;包含北京市安全员-B证考试题库答案和解析及北京市安全员-B证模拟试题练习。安全生产模拟考试一点通结合国家北京市安全员-B证考试最新大纲…

直接插入排序【从0-1学数据结构】

文章目录 &#x1f497; 直接插入排序Java代码C代码JavaScript代码稳定性时间复杂度空间复杂度 我们先来学习 直接插入排序, 直接排序算是所有排序中最简单的了,代码也非常好实现,尽管直接插入排序很简单,但是我们依旧不可以上来就直接写代码,一定要分析之后才开始写,这样可以提…

手写线程池

手写线程池 线程池原理 线程池的组成主要分为3个部分&#xff0c;这三部分配合工作就可以得到一个完整的线程池&#xff1a; 任务队列&#xff0c;存储需要处理的任务&#xff0c;由工作的线程来处理这些任务 通过线程池提供的API函数&#xff0c;将一个待处理的任务添加到任…

从归并排序引申到排序链表-图解

从归并排序引申到排序链表 文章目录 从归并排序引申到排序链表归并排序递归版非递归版 排序链表递归版非递归版 归并排序 递归版 //合并排序public static void mergeSort(int[] nums) {mergeSortHelper(0, nums.length, nums); //没有-1}private static void mergeSortHelper…

python 使用 pip 安装第三方库 导入不成功

本文是什么意思呢&#xff1f; 就是你需要使用一些库安装老师或者网上说的 通过pip 安装下载了第三方库&#xff0c;但是使用 import xxx from xxx import xx &#xff0c;pycharm ide 导入的下面还有红色波浪线&#xff0c;导入不成功。 这是什么原因&#xff1f; 这是pyc…

飞天使-k8s知识点5-kubernetes基础名词扫盲

文章目录 deploymentspodNodeserviceskubectl 实现应用伸缩kubectl 实现滚动更新kubernetes架构 deployments 中文文档 http://docs.kubernetes.org.cn/251.htmldeployment是用来创建和更新应用的&#xff0c;master 会负责将创建好的应用实例调度到集群中的各个节点 应用实例…

Qt 开源项目

Qt 开源项目 Omniverse View链接技术介绍 QuickQanava链接技术介绍QField链接技术介绍 AtomicDEX链接技术介绍 Status-desktop链接技术介绍 Librum链接技术介绍 A Simple Cross-Platform ReaderQPrompt链接技术介绍 GCompris链接技术介绍 Scrite链接技术介绍 QSkinny链接技术介…

力扣思维题——寻找重复数

题目链接&#xff1a;https://leetcode.cn/problems/find-the-duplicate-number/description/?envTypestudy-plan-v2&envIdtop-100-liked 这题的思维难度较大。一种是利用双指针法进行计算环的起点&#xff0c;这种方法在面试里很难说清楚&#xff0c;也很难想到。大致做…

银河麒麟v10 二进制安装包 安装mysql 8.35

银河麒麟v10 二进制安装包 安装mysql 8.35 1、卸载mariadb2、下载Mysql安装包3、安装Mysql 8.353.1、安装依赖包3.2、安装Mysql3.3、安装后配置 1、卸载mariadb 由于银河麒麟v10系统默认安装了mariadb 会与Mysql相冲突&#xff0c;因此首先需要卸载系统自带的mariadb 查看系统…

Quartz.NET 事件监听器

1、调度器监听器 调度器本身收到的一些事件通知&#xff0c;接口ISchedulerListener&#xff0c;如作业的添加、删除、停止、挂起等事件通知&#xff0c;调度器的启动、关闭、出错等事件通知&#xff0c;触发器的暂停、挂起等事件通知&#xff0c;接口部分定义如下&#xff1a…

面试题:JVM 对锁都进行了哪些优化?

文章目录 锁优化自旋锁和自适应自旋锁消除锁粗化逃逸分析方法逃逸线程逃逸通过逃逸分析&#xff0c;编译器对代码的优化 锁优化 jvm 在加锁的过程中&#xff0c;会采用自旋、自适应、锁消除、锁粗化等优化手段来提升代码执行效率。 自旋锁和自适应自旋 现在大多的处理器都是…

C++入门-【13-C++ 多维数组】

C 多维数组 C 支持多维数组。多维数组声明的一般形式如下&#xff1a; type name[size1][size2]...[sizeN]; 例如&#xff0c;下面的声明创建了一个三维 5 . 10 . 4 整型数组&#xff1a; int threedim[5][10][4]; 二维数组 多维数组最简单的形式是二维数组。一个二维数组&am…

超维空间S2无人机使用说明书——32、使用yolov7进行目标识别

引言&#xff1a;为了提高yolo识别的质量&#xff0c;提高了yolo的版本&#xff0c;改用yolov7进行物体识别&#xff0c;同时系统兼容了低版本的yolo&#xff0c;包括基于C的yolov3和yolov4&#xff0c;也有更高版本的yolov8。 简介&#xff0c;为了提高识别速度&#xff0c;系…

Android Studio各种Gradle常见报错问题及解决方案

大家好&#xff0c;我是咕噜铁蛋&#xff01;在开发Android应用程序时&#xff0c;我们可能会遇到各种Gradle错误。这些错误可能来自不同的原因&#xff0c;例如依赖项问题、配置错误、版本冲突等。今天我通过搜索整理了一下&#xff0c;在这篇文章中&#xff0c;我将分享一些常…