通过范围/多普勒快速傅里叶变换(FFT)方法从模拟的调频连续波(FMCW)波形雷达信号中生成目标并检测其范围和速度,并使用二维恒虚警率(CFAR)可视化显示目标(Matlab代码实现)

    欢迎来到本博客❤️❤️

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

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

本文目录如下:

目录

 ⛳️赠与读者

1 概述

2 运行结果

3 参考文献 

4 Matlab代码实现


 ⛳️赠与读者

‍做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能解答你胸中升起的一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......

1 概述

通过范围/多普勒快速傅里叶变换(FFT)方法从模拟的调频连续波(FMCW)波形雷达信号中生成目标并检测其范围和速度,并使用二维恒虚警率(CFAR)可视化显示目标研究

二维恒虚警率(CFAR)处理的实现步骤如下:

  1. 确定每个维度的训练单元数:同样地,选择保护单元的数量。

  2. 滑动测试单元(CUT):将测试单元(CUT)在整个矩阵上滑动。确保测试单元(CUT)与矩阵边缘之间有足够的空间用于训练单元和保护单元。

  3. 计算训练单元中的信号强度总和:在每次迭代中,将所有训练单元中的信号强度值相加。为了进行求和,需要使用 db2pow 函数将值从对数形式转换为线性形式。

  4. 计算平均值:对所有使用的训练单元的总和值取平均值。取平均值后,再使用 pow2db 函数将其转换回对数形式。

  5. 添加偏移量以确定阈值:在平均值的基础上加上偏移量,从而确定阈值。

  6. 比较测试单元(CUT)的信号强度与阈值:将测试单元(CUT)的信号强度与该阈值进行比较。

  7. 判断并赋值:如果测试单元(CUT)的信号强度大于阈值,则将其赋值为1;否则,将其赋值为0。

一、引言

雷达技术在目标检测和定位方面起着至关重要的作用。在本研究中,我们聚焦于通过范围/多普勒快速傅里叶变换(FFT)方法从模拟的调频连续波(FMCW)波形雷达信号中生成目标并检测其范围和速度,同时利用二维恒虚警率(CFAR)进行可视化显示目标。

二、FMCW波形雷达信号概述

  • FMCW雷达通过频率连续变化的波形发送和接收信号,以测量目标的距离。发送的信号频率在一段时间内缓慢变化,接收到的回波信号则与发送信号相比存在频率偏移。通过测量频率偏移可以计算目标到雷达的距离。这是整个研究的基础信号类型,为后续的目标生成和检测提供了原始信号来源。引用自

三、范围/多普勒快速傅里叶变换(FFT)

  1. 范围检测中的FFT

    • 在雷达测量中,通过对接收到的信号进行FFT处理,可以将时域信号转换为频域信号。对于范围检测来说,这有助于从FMCW波形雷达信号中获取与目标距离相关的信息。例如,不同频率成分在频域中的分布可以反映出目标距离产生的信号特征变化。引用自

  2. 多普勒FFT

    • 在分析目标速度时,FFT同样发挥着关键作用。由于目标的运动导致接收到的信号存在多普勒频移,通过对信号进行多普勒FFT处理,可以将信号转换到频域,从而分析出目标的速度信息。这是因为速度的变化会引起信号频率的变化,而FFT能够很好地捕捉这种频域特征。引用自

四、二维恒虚警率(CFAR)可视化

  1. 确定每个维度的训练单元数和保护单元数量

    • 这是二维CFAR处理的第一步。训练单元数的选择会影响到背景杂波统计特性的估计准确性。合适的保护单元数量能够避免目标信号对训练单元的影响。例如,如果训练单元数过少,可能无法准确估计背景杂波,导致虚警率不稳定;而保护单元数量不足,则可能使目标信号混入训练单元,影响后续的阈值计算。

  2. 滑动测试单元(CUT)

    • 将测试单元(CUT)在整个矩阵上滑动是CFAR处理的关键步骤。确保测试单元(CUT)与矩阵边缘之间有足够的空间用于训练单元和保护单元是必要的。这一步骤的目的是对矩阵中的每个可能的目标位置进行检测。如果滑动过程中没有足够的空间安排训练单元和保护单元,会导致检测不准确,尤其是在矩阵边缘附近的目标可能会被遗漏或者误判。

  3. 计算训练单元中的信号强度总和

    • 在每次迭代中,将所有训练单元中的信号强度值相加。为了进行求和,需要使用db2pow函数将值从对数形式转换为线性形式。这一步骤是为了准确地统计训练单元中的信号能量情况,以便后续计算平均值。如果不进行对数到线性的转换,直接对对数形式的信号强度求和会导致计算结果不符合实际的能量求和情况。

  4. 计算平均值并转换回对数形式

    • 对所有使用的训练单元的总和值取平均值,然后再使用pow2db函数将其转换回对数形式。平均值的计算是为了得到一个代表背景杂波平均能量水平的数值,转换回对数形式是为了与后续的阈值设定和比较在同一度量标准下进行。

  5. 添加偏移量以确定阈值

    • 在平均值的基础上加上偏移量,从而确定阈值。偏移量的选择需要根据实际情况进行调整,它决定了虚警率的大小。如果偏移量过大,可能会导致虚警率过高,即把一些背景杂波误判为目标;如果偏移量过小,则可能会漏检一些较弱的目标信号。

  6. 比较测试单元(CUT)的信号强度与阈值并判断赋值

    • 将测试单元(CUT)的信号强度与该阈值进行比较。如果测试单元(CUT)的信号强度大于阈值,则将其赋值为1,表示检测到目标;否则,将其赋值为0,表示未检测到目标。这一步骤最终实现了目标的检测判定,并为可视化提供了基础数据。

五、结论

通过范围/多普勒快速傅里叶变换(FFT)方法从模拟的调频连续波(FMCW)波形雷达信号中能够有效地生成目标并检测其范围和速度,二维恒虚警率(CFAR)处理为目标的可视化显示提供了可靠的检测结果判定。这一整套方法在雷达目标检测领域有着重要的应用价值,为提高雷达系统的目标检测性能提供了理论和实践依据。

2 运行结果

部分代码:

%% Radar Specifications 
%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Frequency of operation = 77GHz
% Max Range = 200m
% Range Resolution = 1 m
% Max Velocity = 100 m/s
%%%%%%%%%%%%%%%%%%%%%%%%%%%

range_max = 200;        % given radar's max range
delta_r = 1;            % range resolution in meters
max_velocity = 100;
c = 3e8;                % speed of light in meters/sec

%% User Defined Range and Velocity of target
% *%TODO* :
% define the target's initial position and velocity. Note : Velocity
% remains contant

target_range = 110;
target_velocity = -20;

%% FMCW Waveform Generation

% *%TODO* :
%Design the FMCW waveform by giving the specs of each of its parameters.
% Calculate the Bandwidth (B), Chirp Time (Tchirp) and Slope (slope) of the FMCW
% chirp using the requirements above.

3 参考文献 

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。(文章内容仅供参考,具体效果以运行结果为准)

[1]佟亦天.基于锁相双光频梳的雷达信号光子生成与接收处理研究[D].上海交通大学,2019.

[2]肖珍珍.基于CS-DSB外调制的调频连续波激光雷达关键技术研究[D].西南大学,2024.

Matlab代码实现

资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取

                                                           在这里插入图片描述

你可能感兴趣的:(matlab,算法,目标跟踪)