基于Matlab模拟自动驾驶毫米波雷达

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信       无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机 

⛄ 内容介绍

从毫米波雷达技术和汽车自动驾驶的现状出发,总结了毫米波雷达在汽车自动驾驶中的应用现状,展望了发展趋势,分析了关键技术,以期为该行业相关人员提供参考.

⛄ 部分代码

%Assignment - 1 and 2

close all

clear all 

clc

load Assignment2.mat

% Collections in the form of [sensor X fast-time] 

c=299792458; %speed of light

%% Start writing your code ....

%Invoke names according to assignment 1 or 2

%name = ["CollectionA", "CollectionB", "CollectionC", "CollectionD"];

name = ["BS_TCR_0_10", "BS_TCR_0_15", "BS_TCR_0_20", "BS_TCR_0_5"];

NFFTA = 1024; % FFT length angle

NFFTR = 1024; % FFT length range

% Range axis

Ts  = Radar_settings.Chirp_time - Radar_settings.Reset_time - Radar_settings.DwellTime;    % Duration of the ramp section of the chirp in s (Sweep Time)

S = Radar_settings.BW/Ts;

Range  = c/(2*S)*linspace(0,Radar_settings.Fs,NFFTR);      % in meters

%Number of sensors

N = 12;

%Distance between the sensors

d = 2*c/Radar_settings.Fc;

rangeRes_Theory = c/(2*Radar_settings.BW);

for ind = 1:size(name, 2)

    data_to_process= eval(name(ind));  %change to CollectionB, CollectionC and CollectionD

    NSamp = size(data_to_process,2);    

    

    %Zero padding the data, 1st dim to improve the fft

    zero_matrix = zeros([3000-size(data_to_process, 1), size(data_to_process, 2)]); 

    

    %vertical concatenarion of the data

    zero_padded_data = [data_to_process; zero_matrix];

    

    %Doing 2D fft of the data will give me range/angle data

    FFT = fft2(zero_padded_data);

    

    %Shifting the FFT, to get the stationary data in the middle,

    FFT_Shift = fftshift(FFT, 1);

    

    %Defining angle, same dim as that of zero padded matrix

    AoA = linspace(-90, 90, 3000);

    

    %Plotting the data, Surface plot

    figure();

    surf(AoA, Range, db(abs(FFT_Shift)).'); view(2); shading flat;

    ylim([0 10]); 

    %Taking first 15 meters in the range data 

    %other wise the graph goes till 182 m

    xlabel('Angle (in degree)', 'FontSize', 12, 'FontWeight', 'bold');

    ylabel('Range (in meters)', 'FontSize', 12, 'FontWeight', 'bold');

    title('Range/Angle Graph', 'FontSize',12, 'FontWeight', 'bold');

    grid on;

    colorbar;

    caxis([-50 10]);

    

    %Ploting data in polar coordinates, used pudn.com's polarPcolor.m

    %Taking till R = 15m belyond that the data is mostly zero

    figure();

    [h, c]=polarPcolor(Range(:, 1:58),AoA, db(abs(FFT_Shift(:, 1:58))).');

    colorbar;

    caxis([-50 10]);

    

    %Range cuts to find the range resolution Broadside

    figure();

    plot(Range(:,1:58), db(abs(FFT_Shift(size(AoA,2)/2+1,1:58))).', 'LineWidth', 1.5);

    xlabel('Range (in m)');

    ylabel('Angle/Range data (in dB)');

    title('Range cut for AoA = 0 deg');

    ylim([-30, 30]);

    

    %Angle cut to find the angle resolution R = 10 m

    figure();

    plot(AoA(1,:), db(abs(FFT_Shift(:,39))).', 'LineWidth', 1.5);

    xlabel('AoA (in deg)');

    ylabel('Angle/Range data (in dB)');

    title('Angle cut for Range = 6.78 m');

    ylim([-30, 10]);

end

⛄ 运行结果

⛄ 参考文献

[1] 刘敏. 基于自动驾驶车载毫米波雷达间相互干扰的研究[D]. 重庆理工大学.

[2] 李赵, 刘心刚, 袁瑞廷,等. 一种基于毫米波雷达的自动驾驶车辆定位方法:, CN201911237088.8[P]. 2020.

[3] 单祥茹. 自动驾驶之外,毫米波雷达还有哪些潜力可挖?[J]. 中国电子商情:基础电子, 2019(5):3.

[4] 王向荣李韦良曹先彬王向华. 基于毫米波雷达和MATLAB的手势识别实验设计[J]. 实验技术与管理, 2022, 39(11):150-155.

[5] 李赵, 刘心刚, 袁瑞廷,等. 一种基于毫米波雷达的自动驾驶车辆定位方法:, CN110888125A[P]. 2020.

[6] 朱信鹏. 基于汽车毫米波雷达的目标跟踪算法研究[D]. 沈阳理工大学.

[7] 陆叶, 陈嘟, 何剑. 毫米波雷达在汽车自动驾驶中的应用与展望[J].  2020.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于MATLAB毫米波雷达接收发射信号仿真可以通过以下步骤实现。 首先,需要建立一个毫米波雷达系统的仿真模型。该模型应包括雷达天线、天线阵列、发射机、接收机、目标散射模型等主要组成部分。通过MATLAB中的仿真工具,可以根据雷达系统的具体参数和设计要求,建立相应的数学模型。 然后,需要进行目标散射模型的建模。目标散射模型主要描述了目标物体对雷达发射信号的能量回波情况。可以使用合适的数学模型来描述目标物体的反射、散射、绕射等效应,并根据物体的几何形状、材料特性、运动状态等参数进行建模。 接下来,需要生成雷达发射信号。可以利用MATLAB中的信号处理工具生成不同频率、不同调制方式的毫米波信号。可以根据雷达系统的设计要求和目标检测需求,选择合适的参数和信号处理算法进行仿真。 然后,将生成的雷达发射信号与目标散射模型进行卷积运算,得到接收信号。可以使用MATLAB中的卷积运算函数进行仿真计算,得到模拟的接收信号。 最后,可以对接收信号进行后续的信号处理、目标检测和跟踪算法。可以使用MATLAB中的信号处理、图像处理、模式识别等工具进行仿真计算,得到模拟的目标检测和跟踪结果。 综上所述,通过MATLAB可以实现基于毫米波雷达的接收发射信号仿真。通过建立雷达系统模型、目标散射模型、生成发射信号、卷积得到接收信号和进一步信号处理,可以得到毫米波雷达系统的仿真结果,用于性能评估和算法验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值