我制作了一个毫米波材料分类雷达

Hacker News Top 工具

摘要

详细介绍了构建一个使用FMCW、Capon波束成形和神经网络对建筑材料进行分类的毫米波雷达原型,重点关注墙壁中的石棉检测。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/06/30 18:38

# 我是如何打造一款毫米波材料分类雷达的 来源:https://gauthier-lechevalier.com/radar 2025 · [雷达, 射频, 数字信号处理, 嵌入式, 波束赋形, 创业] 雷达原型内部结构——外壳内的开发板 (https://gauthier-lechevalier.com/manual/radar_page/product_inside.jpeg) 原型——IWRL6432 + ESP32 封装在外壳内 --- 得益于 Claude Code,软件现在已变成一种商品。所以下一步自然是硬件。过去 6 个月我一直在搞一个硬件创业项目,真的超级难。 我造了一台能够分类材料的雷达,这是我在“毕业设计”项目中的故事。顺带一提,这个项目最终没做成(正如你将在下文看到,因为资金短缺)。 我住在欧洲,石棉是每个国家都普遍存在且令人头疼的问题。这东西填满了墙壁,需要有人上门告诉你建筑里是否有石棉污染材料。如果有,你可能从小就一直吸入毒气。石棉会致癌,严重危害健康。 传统的检测方法是采集墙面样本,送到实验室,然后他们告诉你墙里是否有石棉。当然,中间有很多环节,基于法规和你对中毒的恐惧,从中赚取高额费用。所以 1 美元的分析费到了最终用户手里就变成了 60 美元,如果要做几十次,价格会飙升。 ## 想法 所以我的项目是造一台能替你检测石棉的雷达。它基于材料科学和波动物理,而这恰好是我的专长领域(刚毕业的工程硕士)。于是我的设备计划就诞生了:做一台石棉感应雷达。 接着,我需要设计电子部分。因为我不是傻瓜(希望你也不是),我订购了开发板来快速打样。具体来说:一块德州仪器的 IWRL6432 BOOST 开发板,和一个 ESP32 开发套件。把它们组装起来,开始捣鼓 DSP 算法来检测材料。 我搭建了这个测试台来测试材料对我那台特殊材料雷达的电磁响应。我可以快速更换材料并压紧,以便测试我的设备。 我最终用 Capon 波束赋形方法得到密度谱,再将密度谱输入神经网络。这样我就能对材料表面进行分类,在“同一表面、同一层材料”的假设以及“材料变化是突然且不连续”的前提下,就能判断“整层由 x,y,z 材料构成”。 ## 数字信号处理链 完整数字信号处理链框图 (https://gauthier-lechevalier.com/manual/radar_page/DPC.jpg) 端到端 DSP 链 雷达采用 FMCW 体制:它不发射单频点,而是随时间向上扫频(chirp)。DSP 链的全部任务就是将这些 chirp 的回波转换为材料特征。流程如下: - **Chirp 生成与表征**TX 天线发射线性频率扫描。下游的一切都取决于扫频的精确形状(起始频率、斜率、带宽),所以我做的第一件事就是表征前端实际输出的 chirp 特性。 - **混频与差拍信号**接收到的回波与发射 chirp 进行混频。输出的是一个低频“差拍”音调,其频率与到反射面的往返距离成正比。 - **距离 FFT**对差拍信号做 FFT,将频率转换为距离。每个距离单元对应材料内的一个深度,这样我就能得到随距离变化的反射能量。 - **Capon 波束赋形(到达角)**在 MIMO 接收阵列上使用 Capon(MVDR)波束赋形,解析每个距离单元的到达角,从而得到锐利的角密度谱,而不是模糊的回波。 所有这些的输出是一个每距离、每角度的密度“谱”——也就是雷达前方任何表面的电磁指纹。这个谱正是我输入到神经网络进行分类的张量。 使用雷达扫描表面——AI 处理前的密度谱 chirp 表征 (https://gauthier-lechevalier.com/manual/radar_page/chirp_caracterization.jpg) chirp 表征 我在这个上面花了两个月时间,搞定工具链,并陷入嵌入式固件著名的“编译-烧录-调试”循环中。 ## AI 部分 既然现在每个人都在用 AI,那不妨在你的发明里也加入 AI,为它带来前所未有的新能力。所以我们做的是:放入一个神经网络,它接收 DSP 链的输出,并输出材料类别。 这个模型实际上“学习”了材料的电磁特性(ε' 和 ε''),只是一个经典的 CNN。 ## 机械与射频 然后到了机械外壳阶段,我开始制作一个外观模型,直到我最终得出结论:围绕开发板进行设计是更好的方法。 制作机械外壳 我还深入了射频原型制作的兔子洞。随便问谁,他们都会告诉你射频简直是黑魔法。偏微分方程、物理、混沌系统全集中在一个领域。所以我开始对我的天线建模,以捕捉电路中发生的事情,从而反向工程出原理。 下面是我如何优化天线形状,使其与 TI 开发板上的天线具有相同特性。 我在 OpenEMS 中编写参数化仿真,计算天线的特性,然后通过外推从 TX 到 RX(MIMO 阵列)的传递函数,我就能用卷积运算来模拟我的 chirp 如何发射、在表面反射、并被天线接收的过程。 完整的 chirp 发射/反射/接收仿真 端口电压随时间变化,仿真结果 我让仿真得到的特征与真实测量输出足够接近。然后唯一的问题就是弄到含有石棉的材料。 ## 反向工程 TI 天线的小技巧 首先,我使用了 openEMS,它是 Ansys HFSS(许可证费用贵得离谱)的开源替代品。它采用 FDTD 仿真来模拟麦克斯韦方程在材料中的传播。 更多关于 FDTD 的信息:en.wikipedia.org/wiki/Finite-difference_time-domain_method (https://en.wikipedia.org/wiki/Finite-difference_time-domain_method)(我使用了 Yee 方法)。 但是,openEMS 的问题在于它不能在 GPU 上运行,所以最好减小仿真的规模(包括时间和空间域),以便快速获得结果并进行迭代(尤其是当你正在做参数优化来寻找天线尺寸时😉)。 那么我是怎么做到快速仿真的呢?我“取了个巧”:只计算从 TX 到 RX 的传递函数,然后使用卷积运算来仿真如果发射一个 chirp、在表面反射、再接收回来,仿真会如何表现。这样,在我的 PC 上,仿真时间就从 1 小时减少到了 2 分钟。 时域 vs 频域的高斯脉冲 (https://gauthier-lechevalier.com/manual/radar_page/my_visual_approx_time_domain_vs_freq_domain_gaussian_pulse.jpg) 高斯脉冲,时域 vs 频域 一个小“坑”:当你想获得传递函数时(这是信号论的好方法),发送一个狄拉克脉冲,你应该能获得所识别系统的传递函数。然而,狄拉克脉冲会使仿真不稳定(无法收敛),因此,与其发送狄拉克脉冲,不如发送高斯脉冲,然后在频域中将输出除以输入,得到传递函数。(在 MIMO 中处理方式有点奇特,因为涉及某种矩阵除法,但可行。) 所以一开始我发送高斯脉冲。如果你学过信号论,你知道高斯函数的傅里叶变换还是高斯函数,但当我查看仿真输出时,我却得到了奇怪的正弦波形。同样根据信号论,如果高斯函数不中心对齐于零,实际上你会得到正弦形状,而高斯函数只是该正弦波的包络。 TX 到 RX 传递函数伯德图 (https://gauthier-lechevalier.com/manual/radar_page/Bode_diagram.png) TX→RX 传递函数(伯德图) 利用伯德图,将 chirp 与传递函数进行卷积,得到仿真接收信号。 看看结果: ## 关于石棉的简短说明 石棉实际上并不是一个整体材料,它是一种看起来像纤维的矿物,很难定义,因为石棉有多个家族。需要理解的关键点是,它由微小碎片组成,如果吸入,会导致肺部严重炎症,并迅速损伤肺部。 更多信息请观看此视频: https://www.youtube.com/watch?v=cMx139eTxoc&t=4s 当材料中存在石棉时,它的电磁特性(ε' 和 ε'')会发生变化。但需要回答的大问题是:雷达的灵敏度是否足以一致地区分没有石屑的材料和包含石屑的同类材料?以及能区分到什么浓度? ## 概念验证 我们展示了材料感应雷达的 POC,视频如下: 材料感应雷达——概念验证演示 (https://youtu.be/XGdzh9miRk4) 分类器是在波束赋形特征上训练的。以下是跨越多个材料层时的准确率表现: 跨多层材料分类准确率 (https://gauthier-lechevalier.com/manual/radar_page/multilayer_accuracy.jpg) 多层分类准确率 以下是说明哪些材料被分类的字典:class_dict = { "wood_alu":0, "wood_book":1, "wood_stone":2, "wood_plastique":3, "stone_alu":4, "stone_wood":5, "stone_book":6, "stone_plastique":7, "stone_plexiglas":8 } 数据集大小:每个类别 500 Kb 的频谱数据,来自不同的环境和方向。 ## 为什么我们停止了 不幸的是,由于资金短缺,我们项目就此止步。故事细节是这样的:当我终于展示了 POC 后,我去找客户,但很难找到相信我们的客户。他们不愿在拿到产品之前签署任何意向书。他们还要求产品获得所有欧洲法规认证(没错,我的用户非常怀疑)。我有 POC 的事实并没有帮上太大忙。 不过,我们取得了很多成就:让实际的雷达在基础材料(木头、铜、铝、塑料等)上正常工作,并且我还学到了很多关于嵌入式固件编程、产品设计以及尝试建立硬件创业公司的经验。 ## 经验教训 - 做硬件时,永远、永远要先做一个登陆页面来验证付费意愿:在开始造任何东西之前就开放预购,搭配 Stripe 预购系统并支持退款。 - 制作一个发布视频来获得早期预购,并衡量你在营销上要花多少钱。如果没人来,你就没有创业公司,你只有一门生意。 - 使用开发板做原型,快速砍掉无用的组件,让设计尽可能精简。 - 围绕你的电子元件设计 3D 外壳,而不是反过来。做 PCB 很花时间,交期更长。 - 把你的产品设计成可升级的,以便根据客户反馈进行更新。支持 OTA 更新,并让代码向后兼容。这是我最热门的观点…… - 如果你不知道怎么搞,用我的开源核心工具,它可以让你远程 Claude Code 硬件:https://www.nanoforgeflow.com/ - 射频是个大麻烦,尽量避免它,或者找能帮你驾驭它的开源工具。 --- ← 返回 (https://gauthier-lechevalier.com/)

相似文章

AI如同雷达而非死亡射线

Reddit r/ArtificialInteligence

本文认为,人工智能的长期价值可能在于检测与可视化,而非替代人力。文章以雷达的发展以及道丁系统将检测整合进协调反应的历史类比进行论证。