☰
MATLAB+Simulink雷达仿真实战:FMCW信号处理与CFAR检测
2026/10/5 13:38:56 网站建设 项目流程

说实话,雷达仿真这件事,第一次上手的人往往容易栽在同一个地方:对着别人的示例代码跑通了一个距离-多普勒图,觉得好像会了,但换一个波形体制、换一个指标,就完全不知道参数怎么改了。我自己这些年做车载毫米波雷达、安防雷达的前期论证,几乎每天都要和这部分内容打交道,最有发言权的一句话就是:建模和仿真的核心从来不是学会调用某个函数,而是搞清楚每个参数、每个模块背后对应的物理量是什么。

MATLAB和Simulink这套组合,在雷达系统设计里几乎是事实标准。它的价值在于能把雷达方程、波形设计、目标回波、噪声杂波、信号处理链全部放在同一个环境里推演,从"这一页公式算出来能不能用"到"这条处理链路的每一级输出长什么样",都能看到量化结果。无论你是刚接触雷达的研究生,还是正在做雷达算法落地的工程师,用这套工具做建模和仿真,都可以少走很多弯路。这篇文章我会从一个实际项目的角度,把整个雷达建模仿真的思路、参数计算、MATLAB代码、Simulink建模流程,以及我踩过的一些坑,一次性讲清楚。

1. 整体设计思路:为什么选MATLAB和Simulink,以及怎么分工

1.1 从"一把算式"到"一条链路":建模层次先想清楚

雷达仿真不是打开软件随便拖几个模块就完事。第一步要做的,是明确你仿真的层次。我习惯把雷达建模分成三个层次:信号级仿真、数据级仿真、系统级仿真。

信号级仿真关注的是波形从发射机发出,经过空间传播、目标反射,回到接收机,再经过混频、滤波、采样、FFT等一系列信号处理的过程。它的输出是距离-多普勒图、CFAR检测点迹这类信号层面的结果。这是最贴近物理层的仿真,也是本文要重点展开的部分。

数据级仿真在信号级之上,输入是检测点迹,输出是目标的航迹、状态估计,典型工具是雷达数据处理算法,比如卡尔曼滤波、联合概率数据互联(JPDA)。系统级仿真更高一层,关心雷达在整机环境下的行为,比如多雷达组网、资源调度、探测覆盖评估。

这三个层次不是非此即彼的关系。实际项目中,算法工程师大部分时间在做信号级仿真,因为波形参数选得好不好、检测算法扛不扛干扰,在信号级就能验证个八九不离十。而Simulink更大的价值在于,当你需要把信号级链路模块化、可视化,甚至生成嵌入式代码时,它能顺滑地接上。所以我个人在项目里的习惯是:MATLAB脚本负责把算法想明白,Simulink负责把链路组织起来,两者配合,中间不用换工具。

1.2 MATLAB负责"把算法想明白",Simulink负责"把链路组织起来"

MATLAB的优势是交互式、矩阵化、试错成本低。你在脚本里定义一个波形对象,生成回波,过一遍匹配滤波,画个频谱,全程十几行代码。改动参数之后重新运行,几十毫秒就出结果,这种感觉在C++里是完全没有的。

Simulink的优势则是模块化、可视化、时序明确。你可以在模型里看到一个信号从"波形生成"走到"发射",经过"目标信道"到"接收",再到"信号处理",数据流和控制流一目了然。这对于和硬件工程师、FPGA工程师沟通尤其有效——你拿一张Simulink模型图,说"回波信号要经过这个处理链再到检测模块",大家一眼就能对齐。

所以我给团队定的工作流程一般是:先在MATLAB脚本里把一段链路跑通,确认每个环节的中间结果和手算一致;然后对照脚本在Simulink里搭模型,复用工具箱里的雷达模块;最后再考虑代码生成或者硬件在环。这个流程的好处是,每一步的对照关系很清楚,不会出现"模型能跑但不知道为什么能跑"的情况。

1.3 工具箱边界:哪些用工具箱,哪些要自己写

MATLAB官方提供Phased Array System Toolbox,这几年改名并整合为Radar Toolbox,里面覆盖了波形生成、发射接收、传播信道、目标回波、检测估计、跟踪滤波等大量模块。日常雷达仿真里,八成以上的基础组件都可以直接调工具箱。

但也有需要自己写的地方。一种是特殊自定义波形,比如一个带巴克码相位调制的发射信号,工具箱的波形对象不一定完全覆盖,你就要自己生成基带数据。另一种是某些系统级约束,比如资源调度时序、协议帧结构,工具箱给的是物理层模型,系统逻辑还得自己搭。

我的建议是:工具箱能覆盖的,优先用工具箱,因为官方模块经过大量验证,数值稳定性好,不容易出错。你自己写的部分集中在项目特定逻辑上,这样代码量少,也方便review。

2. 核心参数与建模细节:动手写代码前要搞懂的几件事

2.1 雷达方程:先算算这个方案到底"看不看得见"

任何雷达系统建模的第一道计算题,都是雷达方程。它回答的问题是:给定目标距离、目标尺寸、发射功率、天线增益、工作频率,接收端能收到多强的回波信号。很多人上来就直接写波形生成代码,这是不对的——你连链路预算都没算过,凭什么确定这个波形能探测到指定距离的目标?

雷达方程的常用形式是:

SNR = (Pt · Gt · Gr · λ² · σ) / ((4π)³ · R⁴ · k · T · B · F · L)

其中Pt是发射峰值功率,Gt和Gr分别是发射和接收天线增益,λ是波长,σ是目标雷达散射截面积(RCS),R是目标距离,k是玻尔兹曼常数,T是接收机噪声温度,B是接收带宽,F是噪声系数,L是系统损耗。

这个公式的物理含义非常直白:信号能量按距离的四次方衰减,所以距离远一点,回波功率掉得极快。举个实际例子,你做一个77GHz的车载雷达,发射功率算10dBm(约0.01W),天线增益各15dB,目标RCS取5平米(差不多一个行人),距离100米时算下来SNR大约只有15dB左右。这个值看起来不高,但后面通过脉冲积累、FFT相干积累,还能再获得额外的处理增益,最终检测概率才有保障。

雷达方程最大的价值是告诉你系统指标的上下限。在做仿真之前,先把方程代入一通,如果SNR连0dB都到不了,那后面的算法再花哨也白搭。这个动作应该在所有建模工作之前做。

2.2 FMCW和脉冲多普勒,波形体制怎么选

雷达体制选型是建模的另一个前置问题。当前民用雷达用得最多的两种体制是调频连续波(FMCW)和脉冲多普勒(PD)。两者的共同点是都要测距测速,但工作机制差别很大。

FMCW雷达发射一个频率随时间线性变化的连续波,接收信号与本振混频后得到一个差拍信号,差拍频率和目标距离成正比。它的优点是结构简单、无盲区、距离分辨率高,特别适合车载、安防这类中近程场景。缺点是发射和接收同时进行,需要较好的收发隔离,单站连续波雷达的发射泄漏问题在硬件实现时要花不少心思。

脉冲多普勒雷达发射高功率脉冲,通过测量脉冲回波延时测距,通过相邻脉冲间的相位变化测速。它适合远距离探测,但存在距离模糊和速度模糊的矛盾,PRF选低了测速模糊,选高了测距模糊,中PRF体制又需要复杂的解模糊算法。

在做仿真时,我建议先从FMCW入手,因为它的参数链条清晰、计算直接,入门门槛也更低。把FMCW跑通之后再去碰脉冲多普勒,概念迁移会容易很多。后面第3章的完整实战案例,我就用FMCW加调频连续波测距测速来展开。

2.3 目标回波、噪声和杂波:仿真里这股"脏东西"怎么加

雷达仿真里最容易被忽略但又最关键的一步,是给回波信号加上噪声和杂波。很多新手直接生成一个无噪的理想回波,然后高高兴兴去做FFT,发现目标峰高得吓人——等到真实环境里被噪声一淹,检测器立刻罢工。

目标回波建模的第一步是点目标模型。点目标假定目标尺寸远小于距离分辨单元,回波可以近似为一个带有延时、幅度衰减和多普勒频移的发射信号副本。延时对应距离,幅度受雷达方程衰减和RCS影响,多普勒频移对应径向速度,三者相乘就得到一个理想点目标回波。更精细的建模可以引入Swerling起伏模型,它描述目标RCS在帧与帧之间随机起伏不同,这是检测性能分析里经常用到的东西。

噪声方面,接收机热噪声通常建模为高斯白噪声,叠加在回波信号上。你可以根据雷达方程算出来的SNR,把噪声功率设置到对应水平。杂波则复杂一些,地面、海面、气象杂波往往服从瑞利、韦布尔或对数正态分布,需要按场景添加。我的经验是,仿真要分层递进:先跑干净环境,确认信号链路本身没错;再加高斯白噪声,看检测算法在不同SNR下的表现;最后再加杂波和目标起伏,模拟真实环境的复杂性。

3. 完整实战:MATLAB手写FMCW雷达测距测速仿真

3.1 参数先定下来:带宽、调频周期、采样率是怎么算出来的

FMCW雷达的参数设计是一套严格绑定的关系链,不是靠感觉随便设的。我常用的参数计算逻辑是这样的:

  • 距离分辨率 ΔR = c / (2B),其中B是扫频带宽。你想分辨1米的目标,就需要约150MHz带宽。
  • 调频斜率 S = B / Tchirp,其中Tchirp是单个扫频周期。
  • 最大不模糊距离 Rmax = c · fs / (2S),其中fs是采样率。差拍信号的最高频率不能超过fs/2,否则混叠。
  • 最大不模糊速度 vmax = λ / (4 · Tchirp),速度分辨率为 Δv = λ / (2 · Nchirp · Tchirp),Nchirp是一帧的chirp数。

这套公式的物理约束很有意思:距离分辨率和带宽绑定,带宽又要落在调频周期和采样率的限制内;最大测速范围和调频周期绑定,调频周期长了速度范围就窄。仿真的时候经常出现"距离够了速度不够""速度够了距离又混叠"的情况,这是FMCW体制本身的博弈,也是雷达工程师日常要权衡的活儿。

我这次仿真选用的参数如下:

参数数值说明
载频 fc77 GHz车载毫米波雷达常用频段
扫频带宽 Bw150 MHz距离分辨率约1 m
调频周期 Tchirp10 us慢时间维积累单位
调频斜率 S1.5e13 Hz/sBw / Tchirp
采样率 fs64 MHz对应最大不模糊距离640 m
一帧chirp数64速度分辨率约3 m/s

我把采样率取64MHz而不是按30MHz的理论最低值来取,是给差拍信号留出频谱余量,避免信号落在采样率边缘导致频谱矩形窗效应恶化。这个习惯很多人不注意,后面会专门讲。

3.2 生成波形和回波:从复数混频到差拍信号

下面直接上代码。我先把参数和距离、速度目标定义好,然后生成一帧64个chirp的回波数据。

%% 参数设置 c = 3e8; fc = 77e9; Bw = 150e6; Tchirp = 10e-6; S = Bw / Tchirp; fs = 64e6; Ns = round(Tchirp * fs); % 单个chirp采样点数 Nchirp = 64; lambda = c / fc; % 目标位置与速度 R0 = 80; % 目标距离80 m vr = 20; % 目标径向速度20 m/s,假定靠近为正 fd = 2 * vr / lambda; % 多普勒频移 %% 生成差拍信号(简化教学模型) t_fast = (0:Ns-1) / fs; beatSig = zeros(Nchirp, Ns); for m = 1:Nchirp % 慢时间:本chirp相对帧起始的时刻 t_slow = (m-1) * Tchirp; % 每个chirp内的目标时延,慢时间上速度引起距离变化 tau = 2 * (R0 - vr * t_slow) / c; % 差拍信号 = 本振共轭 * 回波(频率 = S*tau,多普勒相位积累在慢时间) beatSig(m,:) = exp(1j * 2 * pi * S * tau * t_fast) * exp(1j * 2 * pi * fd * t_slow); end % 添加高斯白噪声,SNR设为10dB SNR_dB = 10; sigPow = mean(abs(beatSig(:)).^2); noisePow = sigPow / (10^(SNR_dB/10)); beatSig = beatSig + sqrt(noisePow/2) * (randn(Nchirp, Ns) + 1j*randn(Nchirp, Ns));

代码里我用了复数基带等效模型,这和在实信号域做混频再低通滤波的结果是等价的,但复基带写起来简洁、计算量小。beatSig的每一行是一个chirp内的差拍信号,行与行之间的相位变化就携带了多普勒信息。

下变频到这里,目标回波的延时变成了差拍信号的频率,目标速度则藏在慢时间方向的相位积累里。下一步就是把这个二维信息用FFT榨出来。

3.3 距离FFT和多普勒FFT:从差拍信号里挖出目标的坐标和速度

差拍信号有两个维度:快时间维(一个chirp内部的采样点)和慢时间维(chirp序号)。沿快时间维做FFT,把时域信号变换到频域,频率对应距离;沿慢时间维做FFT,相位变化对应多普勒频率,也就是速度。

%% 距离-多普勒处理 Nfft_r = Ns; % 距离维FFT点数 Nfft_d = Nchirp; % 多普勒维FFT点数 rngFFT = fft(beatSig, Nfft_r, 2); % 慢时间维FFT并fftshift,让0速度居中 dopFFT = fftshift(fft(rngFFT, Nfft_d, 1), 1); % 坐标轴 rngAxis = (0:Nfft_r-1) / Nfft_r * fs / (2 * S / c); velAxis = (-Nfft_d/2:Nfft_d/2-1) / Nfft_d * lambda / (2 * Tchirp); figure; imagesc(rngAxis, velAxis, 20*log10(abs(dopFFT)+eps)); xlabel('距离 (m)'); ylabel('速度 (m/s)'); title('距离-多普勒图'); colorbar;

跑完这段代码,你应该能在距离约80米、速度约20m/s的位置看到一个明显的峰值。如果峰值位置偏了,先检查参数计算,特别是tau里速度的符号和多普勒频移的符号,这俩最容易打架。

我在这里用的FFT点数就是原始数据长度,没有补零。补零能提升显示分辨率,但不会提升物理分辨率,真实分辨率还是由带宽和一帧时长决定。如果你想认真做分析,不要靠补零来"美化"结果,要回到参数设计上解决问题。

3.4 CFAR检测:把目标从噪声里"抠"出来

距离-多普勒图上峰值肉眼能看到,但算法不会"看"。我们要用恒虚警检测(CFAR)来自动判断哪些单元存在目标。CFAR的思路是,对待检测单元周围的参考单元统计噪声功率,然后根据噪声功率动态设置阈值,保证恒定的虚警概率。

我在这里给一个最简易的一维CA-CFAR实现,沿距离维在每个多普勒通道分别做检测,方便理清原理。CFAR核心理念是"保护单元加参考窗",这个结构在实际工程里也是通行的。

%% 简易CA-CFAR检测 x = abs(dopFFT); nGuard = 4; % 保护单元个数 nTrain = 8; % 参考单元个数 PFA = 1e-6; % 虚警概率 Nref = 2 * nTrain + 1; alpha = Nref * (PFA^(-1/Nref) - 1); % 阈值因子 detMap = zeros(Nchirp, Ns); for ii = nTrain+nGuard+1 : Ns-nTrain-nGuard leftRef = x(:, ii-nTrain-nGuard : ii-nGuard-1); rightRef = x(:, ii+nGuard+1 : ii+nTrain+nGuard); refAvg = (sum(leftRef, 2) + sum(rightRef, 2)) / (2*nTrain); detMap(:, ii) = x(:, ii) > alpha * refAvg; end [row, col] = find(detMap); fprintf('检测到 %d 个目标点\n', length(row));

注意这里有个细节:保护单元要取够宽,不能把目标主瓣的旁瓣算进参考窗,否则强目标旁边的小目标会被"吃掉"。参考窗长度直接影响阈值因子,窗越长阈值越低、检测越激进,但目标密集时更容易互遮。这个度只能靠实测调参,没有万能公式。

3.5 完整结果怎么判断:从距离速度图到检测点迹

检测完成后,把detMap叠到距离-多普勒图上,你应该能看到目标峰值附近的一簇检测点。目标真实位置是单点,但由于FFT旁瓣和加窗效应,检测点会连成一片。这时候一般做重心提取或者局部峰值搜索,把点簇聚合成一个点迹输出。

如果没有加窗函数,FFT旁瓣带来的影响会很明显,强目标旁边可能出现假峰。解决方法是做FFT之前先加窗,比如Hamming窗,代价是主瓣会变宽,两个很近的目标可能就分不开了。这是分辨率与旁瓣抑制之间的经典取舍,仿真的时候要把这个trade-off体现在参数里,不能让结果看起来"完美无瑕"。

从这个例子也能看出,雷达仿真不是跑出一张漂亮的图就完事,关键是要理解图上每一个亮斑是怎么来的。理解了之后,你换一个目标距离、换一个速度,再去预测峰值位置,预测对了,说明你的参数和物理模型是自洽的。

4. Simulink链路建模:把代码里的处理流程改成模块化模型

4.1 雷达Simulink模型怎么组织:发射机-目标-接收机-处理链

MATLAB代码跑通之后,下一步我通常会把它搬进Simulink,让整条链路可视化、模块化。Simulink建模雷达系统的基本架构是:信号源模块产生发射波形,经过目标信道模块(模拟延时、衰减、多普勒),再经过接收机模块(混频、滤波、采样),最后是信号处理模块(FFT、CFAR、检测输出)。

如果你装了官方工具箱,Simulink里有Radar Transceiver、Radar Target、Radar Detector等现成模块,直接拖出来连起来就能搭一个完整的雷达模型。但我更推荐刚开始时用Simulink基础模块自己搭一条最小链路,因为这样你对"信号在每个模块之间是怎么流动的"感知会强得多。官方模块更像黑盒,适合你已经完全理解底层原理之后使用。

我自己用的模型结构大致是:Signal From Workspace导入一个chirp发射波形,用Variable Integer Delay模拟回波延时,用Gain模块模拟路径衰减,用AWGN Channel模块加噪声,再用Buffer模块把一帧数据重组,送给FFT模块做距离维处理,最终Scope显示频谱。整个过程和MATLAB脚本里的逻辑一一对应。

4.2 一个最小可行模型的搭建步骤

我在这里给出一个不依赖额外工具箱的Simulink最小链路搭建步骤,适合新手快速上手:

  1. 新建空白模型,从Simulink Sources库拖入Signal From Workspace,变量名填你在基础工作区里定义好的发射信号txsig,采样时间和1/fs设置一致。
  2. 用Delay或Variable Integer Delay模块模拟目标回波延时。延时采样点数用round(2*R/c*fs)计算,这是目标距离的物理映射。
  3. 用Gain模块模拟回波幅度衰减,增益系数根据雷达方程算出来的回波功率相对于发射功率的比例来设。
  4. 用Communications Toolbox的AWGN Channel模块(如果没有这个工具箱,可以自己用Random Number Generator加上Gain、Add模块搭建等效噪声源)把噪声叠加进去。
  5. 用Buffer模块把流式采样的数据按每一帧长度打包,输出一个矩阵,这是后面FFT能按帧处理的关键。
  6. 用DSP System Toolbox的FFT模块做距离维FFT,再用Array Plot或者Scope显示频谱。

搭完之后运行,Simulink输出的距离谱应当和MATLAB脚本里的结果形状一致。这一步的目的是验证模型结果和脚本结果的一致性,不一致就说明某个模块配置错了,要逐个环节排查。

4.3 外部模式、C代码生成和硬件在环:从仿真走向落地

Simulink建模不只是为了看波形。当你的雷达算法要往实际平台迁移时,Simulink的优势会完全体现出来:它能直接从模型生成嵌入式C代码,也可以跑外部模式,把模型部署到目标硬件上,实时调参、实时采集数据。

这一步在工程上非常实用。过去算法验证和嵌入式实现是两拨人、两套代码,中间容易出理解偏差。现在你可以在Simulink里把模型参数固定,生成C代码交给嵌入式工程师,同时用外部模式连接开发板,在线调整滤波器系数、检测阈值,观察实时响应。包括我前面提到的FMCW参数整定,在真实硬件上可以用外部模式直接改chirp周期,比反复烧写程序效率高得多。

不过要提醒一句,模型的采样率、数据类型、状态初始化这些事情,在纯仿真时随意点无所谓,一旦准备生成代码,全部都要显式配置。我见过不少同事在仿真阶段“跑得挺好”,一开代码生成就报错,原因基本都是数据维度和采样率没有显式定义。所以如果你有落地计划,建议从第一天就把这些规范养成。

5. 雷达仿真中的高频问题和排查实录

5.1 目标距离"看错"了:采样率、带宽与折叠问题

这是雷达仿真里最常见的一类问题。目标明明在150米,距离-多普勒图上却在两个位置出现峰,或者目标出现在一个不是真实位置的距离上。

现象可能原因排查思路
距离峰值出现在最大不模糊距离附近并伴随镜像峰差拍信号混叠,采样率不够提高fs,或减小Tchirp,或降低最大探测距离指标
两个目标距离差很小但图上分不开带宽不够,距离分辨率不足放宽Bw,重算距离分辨率
目标速度显示成负值或折叠目标速度超过vmax缩小Tchirp,或改用更高PRF体制
目标峰很强但旁边出现一对对称小峰FFT未加窗导致旁瓣加Hamming窗,或者调整CFAR保护单元宽度

排查折叠问题的通用方法是:先根据设定的参数算出Rmax和vmax,再看看目标距离和速度是否落在不模糊范围内。很多时候问题不在代码,而在参数设计阶段就没算清楚。

5.2 CFAR阈值怎么调:虚警多、漏检多怎么办

CFAR调参是雷达仿真里最需要经验的地方。阈值因子设得太大,会漏检:目标明明存在,但幅度没过阈值;设得太小,全是虚警:噪声冒个尖就被当成目标。

我的建议是,先在没有目标的噪声区域统计噪声功率,然后观察目标峰值比噪声高多少dB。以10dB SNR为例,目标峰通常比噪声底高10dB以上,CFAR阈值可以设在噪声底上方8dB左右作为一个初始参考。然后看虚警率和漏检率的表现,再微调参考窗长度和阈值因子。虚警和漏检是一对矛盾,最终取值取决于系统指标里对两者的要求,不是"越小越好"。

如果多目标距离很近,标准CA-CFAR很容易出现互遮。这时候换成OS-CFAR,也就是对参考窗内排序取第k个值作为噪声估计,抗多目标能力会好很多。工具箱里也有现成的CFARDetector,但它不是万能的,理解里面的参考窗配置和保护单元的物理含义,比会调用函数重要得多。

5.3 Simulink模型越跑越慢、代码生成报错等工程问题

Simulink模型运行速度慢几乎是必然碰到的问题。第一件事是检查求解器设置。雷达信号处理模型本质是离散系统,一定要用离散求解器加固定步长,如果用连续求解器,模型会尝试在极小的步长上进行数值积分,白白消耗大量计算资源。

模型仍然慢的话,可以开加速模式(Accelerator),或者把数据记录模块的日志量调小。很多时候慢不是因为计算,而是因为Simulink把每一个信号都往工作区里存了一份,数据量一大就崩。只在需要分析的节点加To Workspace,其他节点不加,速度往往能快好几倍。

代码生成报错方面,最常见的是"信号维度和采样率没有显式设置"。你需要在模型中用Signal Specification模块把每个信号的数据类型、维度、采样时间定死。蓝牙、SPI、CAN这些外设接口各有各的采样习惯,但Simulink的代码生成只认清晰的信号定义。这个工作虽然琐碎,但越早做越好,别等到生成代码阶段再来补。

6. 写在实操之后:一些长期管用的经验

做了这么久雷达仿真,我最大的体会是:建模的本质是你对雷达系统的理解程度,工具只是把理解转化成可视化的结果。不要依赖工具箱黑盒,试着把差拍信号生成、FFT、CFAR这些核心步骤自己手写一遍,理解每个复数运算的物理含义,再回来看官方模块的配置文档,你会发现很多参数一看就懂。

给我留下最深印象的是一次车载雷达项目调试,当时目标检测距离总差十几米。查了半天发现不是算法问题,而是采样率恰好卡在差拍信号理论的边缘,频谱稍微一滚降,弱目标就被滤掉了。换成更高采样率之后,问题立刻消失。这类细节,教科书不会告诉你,只有自己动手仿真、改参数、看中间波形,才能真正攒下经验。

还有一个小技巧想分享:每改一个系统参数,我习惯性地把雷达方程、Rmax、vmax、距离分辨率、速度分辨率这几个值打印在命令行窗口,和仿真结果放在一起对比。一旦目标检测位置和理论值偏差超过一个分辨率单元,系统里一定有问题。这个方法陪我抓过无数次bug,建议你也试试。

这套MATLAB加Simulink的雷达建模仿真流程,后续还可以往很多方向扩展。你可以接入真实雷达采集的数据做回放验证,可以在Simulink里引入目标跟踪模块做完整处理链,也可以配合代码生成把算法部署到嵌入式平台。

雷达系统设计是个系统工程,仿真只是起点,但做好这个起点,后面的一切都会顺很多。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询