FMCW DDMA-MIMO 雷达波形MATLAB仿真

电子说

1.3w人已加入

描述

本文首发于公众号【调皮连续波】,其他平台为自动同步,内容若不全或乱码,请前往公众号阅读。保持关注调皮哥,和1.5W雷达er一起学习雷达技术!

 

【正文】

编辑|雷达小助理  审核|调皮哥


 

1、DDMA-MIMO波形原理

 

在通信系统中,复用、分集、多址三个概念本质上是不同的,但是在雷达系统中,我感觉论文里大家都在混用,感觉这三个概念没有什么区别。比如TDM-MIMO,一些论文说是时分复用,一些论文又说时分多址,真会把人搞昏。

 

DDMA被称多普勒分多址,或者多普勒多通道分离、多普勒分集发射。DDMA波形通过DDMA的多天线同时发射,结合雷达上新的相关检测信号链,能够比常用的 TDMA(时间分集发射)波形获得更高的 SNR(信噪比)和更远的探测距离,分集发射增益如下公式所示。同时采用基于 Empty-band 的波形设计实现DDMA从而全面提升雷达的性能。 

其中,Nt是发射天线个数。 

 

DDMA波形原理本文不再论述,读者可直接阅读相关论文及其引用文献:

Fast-Chirp FDMA MIMO Radar System Using Range-Division Multiple-Access and Doppler-Division Multiple-Access。

 

DDM-MIMO雷达技术存在一些缺点,限制了其在汽车雷达中的应用。在多目标场景中,每个目标将在距离多普勒谱中生成一个真实位置,但在同一距离单元之间伴随着多根发射天线的干扰,当有多个目标在相同距离但速度不同时出现问题,真正的目标和干扰将被混淆。

 

2、DDMA-MIMO MATLAB仿真

 

仿真环境:MATLAB2022a

操作系统: Windos10

4T4R,2个空带,R=30m,V=0m/s,snr=20dB的仿真距离速度谱效果:

 

matlab

 

4T4R,2个空带R1=30m,V1=0m/s,R2=50m,V2=10m/s,R3=100m,V3=20m/s,SNR=20dB仿真距离速度谱效果

matlab

 

12T16R,4个空带R1=30m,V1=0m/s,R2=50m,V2=10m/s,R3=100m,V3=20m/s,SNR=20dB仿真距离速度谱效果

matlab

 

3、关键代码解析

 

主程序RSP.m,包含了雷达参数、目标参数、DDMA-MIMO信号建模、距离维FFT和速度维FFT。

 

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
%% 公众号 :调皮连续波%% 时间:2023年05月11日clc;clear all;close all;
%% 雷达参数设置parameter  = generateParameter();%% 雷达回波信号建模rawData    = generateSignal(parameter);firstChirp = rawData(1,:,1);
%% 雷达信号处理rangeRes     = parameter.c / (2 * parameter.BandwidthValid); %距离分辨率 有效带宽rangeIndex   = (0:parameter.rangeBin-1) * rangeRes;speedRes     = parameter.lambda / (2 * parameter.dopplerBin * parameter.Tr);dopplerIndex = (-parameter.dopplerBin/2parameter.dopplerBin/2 - 1) * speedRes;angleRes     = parameter.lambda / (parameter.virtualAntenna * parameter.dx) * 180 / pi;angleIndex   = (-parameter.virtualAntenna/2parameter.virtualAntenna/2 - 1) * angleRes;
%%1D FFTfft1dData    = fft(firstChirp);figure(3);plot(db(abs(fft1dData)./max(abs(fft1dData))));xlabel('距离(m)'); ylabel('幅值(dB)');title('距离维FFT');
%% 2D FFT%% 距离-多普勒谱channelNum    = size(rawData,1);rangebinNum   = size(rawData,2);dopplerbinNum = size(rawData,3);fft2dDataPower= zeros(size(rawData));fft2dDataDB   = zeros(size(rawData));fftRADataPower= zeros(size(rawData));
for chanId = 1channelNum    fft2dDataPower(chanId,:,:) = RDfftMatrix(rawData(chanId,:,:));end
figure(4);imagesc(dopplerIndex',rangeIndex,db(abs(squeeze(fft2dDataPower(2,:,:)))));axis xyview(2);xlabel('速度(m/s)'); ylabel('距离(m)'); zlabel('幅值');title('DDMA-MIMO(RD谱)');

 

DDMA信号建模,首先按照不同Chirp和发射通道生成相位值,后让所有发射通道的信号叠加,最后根据目标参数获得回波信号,然后混频得到中频信号,叠加噪声。

 

空带Empty_Band设置如下:

  •  
Empty_band  =4;%空带数目

 

相位和发射信号模型如下:

  •  
  •  
phi_offset = (chirpId-1)*(txId-1)*2*pi/(txNum+Empty_band);St1 = 10*exp(1j*2*pi*(centerFreq*(t+(chirpId-1)*Tr)+slope/2*t.^2)+1j*phi_offset); %发射信号

 

好了,总的来说DDMA-MIMO仿真并不是那么难,感兴趣的朋友可以试试,本文所涉及到的代码已经放入会员库,年度会员可以直接下载,非会员请私信。

 

2023年度会员内容更新公告(05.11)
序号 类别 内容 文件路径
1 雷达代码 本文内容 根目录雷达代码库

matlab

 

【点击以下链接可直达各个业务模块】

 

加入雷达群

加入年度会员(专属VIP群)

雷达项目交流

付费咨询

商业推广合作

文章投稿指南

【本期结束】


本文是空闲时个人的心得体会,仅供参考。目前我还有很多内容需要学习,如果还有没有说到或者不全面的地方,还请指正,感谢大家。


喜欢本文,可以转发朋友圈。欢迎关注【调皮连续波】和备用号【跳频连续波】


审核编辑 黄宇


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分