关于雷达 SDK
英飞凌的雷达软件开发工具包(SDK)是使用其 XENSIV 系列中任何雷达传感器的必备工具。其核心是一个 C/C++ 库,该库实现了诸如设备配置与控制、输出数据检索与采集,以及各种信号处理算法(例如,动目标显示、距离 - 多普勒图、数字波束形成器)等基本操作。它还具备更高级算法的实现,包括运动感应、存在感应和目标跟踪。
对于那些更喜欢使用高级语言的用户,SDK 还提供了 Python 和 Matlab 的封装器。这些额外的抽象层允许访问 C/C++ 库的最基本功能(即设备配置和数据检索),便于在科学计算环境中开发更复杂的雷达处理算法。请注意,对于每种支持的语言,SDK 都附带了几个示例应用程序以及详细的文档。
遗憾的是,这个资源不能在英飞凌的网站上以简单的.zip 压缩包形式下载。相反,它与一系列软件捆绑在一起,英飞凌将其称为雷达开发套件(RDK)。因此,要获取雷达 SDK 的访问权限,必须首先下载并安装 RDK。这是一个相当繁琐的过程,即使完成安装后,也不完全清楚在哪里找到 SDK 以及如何使用它。以下部分试图通过 1)引导你完成安装过程,以及 2)指出开始使用 SDK 所需的基本资源,来消除这些困惑。
英飞凌的 RDK 包含以下软件组件:
- 雷达 SDK
- 雷达融合图形用户界面(GUI)
- ifxdaq 数据采集工具
虽然本简短教程仅关注雷达 SDK,但你可能会发现其他工具对你的开发目的同样有价值。我鼓励你也去了解一下它们。
支持的传感器
作为快速参考,以下概述了 RDK 支持的 XENSIV 传感器和开发板:
传感器 | 开发板 | 图片 | ||
---|---|---|---|---|
BGT60LTR11AIP BGT60LTR11SAIP | DEMO BGT60LTR11AIP | |||
BGT60UTR11AIP | DEMO BGT60UTR11AIP | |||
BGT60TR13C | DEMO BGT60TR13C | |||
BGT60ATR24C | BGT60ATR24C ES Shield | |||
BGT24ATR22 | DEMO BGT24ATR22 YPA DEMO BGT24ATR22 DPA | |||
安装
以下说明介绍了如何在运行 Windows 系统的计算机上安装最新版本的 RDK(即 3.6.5 版本)。不过,在开始操作之前,先简要说明一下操作系统的情况。虽然雷达 SDK 与 Windows、Linux 和 macOS 兼容,但在步骤 1 中你会注意到,RDK 的唯一安装选项是针对 Windows 系统的。这可能是因为雷达融合 GUI 仅适用于 Windows 系统,使得整个 RDK 与 Linux 和 macOS 不兼容。因此,如果你希望在 Linux 或 macOS 上使用雷达 SDK,最简单的选择是先在 Windows 机器上安装,然后将 SDK 文件(见下面的步骤 5)复制到你喜欢的环境中。
- 点击RDK的下载页面的链接。在那里,你会找到两个安装选项:通过启动器安装或下载。如果你已经安装了英飞凌开发者中心启动器,通过启动器安装这个选项会很方便,因为它可以帮助你管理软件包的安装、更新和卸载。英飞凌的其他工具和软件也可以通过启动器获取,如果你经常使用英飞凌的产品,这将是一个非常有用的工具。不过,在本教程中,我们将使用下载选项并手动进行安装。
- 点击下载链接,下载完成后打开.exe 文件(如图 1 所示)。请注意,你必须登录你的英飞凌账户才能开始下载。
图 1 : 从下载页面下载RDK安装程序并启动
- 执行安装程序后,你会立即看到图 2 所示的窗口,提示你选择安装模式。这两个选项的唯一区别是安装程序选择的默认安装目录。如果你选择 “Install for me only ”,建议的目标目录将是
C:\Users\<user_name>\Infineon\
。如果你选择 “Install for all users ” 模式,C:\Infineon\
将是建议的目标目录。选择最适合你系统的选项。
图 2 : 安装程序提示选择安装模式。
- 接受许可协议并点击 “Next ” 后,你可以选择是进行快速安装(即应用图 3 中显示的所有默认安装设置)还是自定义安装。我建议选择自定义安装路径,因为它允许你选择自己喜欢的安装目录,决定创建哪些快捷方式,以及是否安装雷达融合 GUI。做出选择后,点击 “Install ”。
图 3 : 选择自定义安装选项并接受所有默认值后给出的安装设置摘要。
- 最后,导航到安装位置,并进入
<RDK_installation_directory>\assets\software\
目录(如图 4 所示)。在那里,你会找到打包在radar_sdk.zip
压缩文件中的雷达 SDK 文件。只需将此文件解压到你选择的位置(我更喜欢解压到同一目录),然后就可以开始开发你的雷达解决方案了!
图 4 : 雷达SDK存档安装RDK后的位置。
探索雷达 SDK
此时你可能已经注意到,RDK 和雷达 SDK 的文件组织方式相当不直观。在你熟悉所有内容的位置之前,找到你要找的东西需要递归地探索目录结构,直到最终偶然发现它。本节通过指出在初次熟悉这些工具时应该访问的最重要的文件和目录,减少了一些猜测工作。
请注意,对于下面给出的路径,将<RDK_installation_directory>
替换为你在上一节中选择的安装目录(见图 3),将<SDK_extraction_directory>
替换为你在步骤 5 中选择的解压位置。
<RDK_installation_directory>/index.html
你应该首先打开的这个文件对 RDK 及其每个软件组件进行了简要描述。阅读索引页面上提供的概述后,一定要访问页面顶部的每个链接。在那里你会找到有用的信息,包括:
- RDK 的发布历史,概述了随时间所做的更改(添加了哪些功能、修复了哪些错误以及仍然存在哪些问题);
- 一个快速入门指南,解释如何开始使用 C/C++ 库以及 Python 和 Matlab 封装器;
- 所提供示例应用程序的概述以及它们与哪些传感器兼容;
- 硬件文档的链接,包括传感器数据手册、评估套件用户手册和电路板设计文件;
- 关于雷达融合 GUI 和 ifxdaq 记录工具的介绍性信息,因为它们也是 RDK 的一部分。
<SDK_extraction_directory>/radar_sdk/doc/documentation.html
打开此文件可以找到英飞凌为雷达 SDK 提供的优秀文档。它分为几个部分,首先是对调频连续波(FMCW)雷达的良好介绍,适合那些不完全理解其工作原理的人。然后,一旦你了解了修改雷达参数如何影响设计指标(即最大距离、距离分辨率、最大速度和速度分辨率),就可以开始使用 C/C++ 库来配置和测试你选择的 XENSIV 设备。有关构建库并在 C/C++ 应用程序中使用它的详细说明,请参阅相应部分。当然,SDK 的 API 通过 Doxygen 注释进行了详尽的记录。或者,对于那些希望有更多抽象的用户,也提供了关于开始使用 Python 和 Matlab 封装器的详细说明。使用这些语言获取和处理传感器数据要简单得多,这使它们成为应用程序开发的不错选择。请注意,使用这些封装器中的任何一个都不需要从源代码构建 SDK。此外,文档中还有其他部分支持应用程序开发,这些部分描述了雷达时域数据的输出格式、SDK 支持的算法以及用于评估的示例应用程序。
<SDK_extraction_directory>/radar_sdk/examples/
此目录中可以找到 C、Python 和 Matlab 的示例应用程序。有关运行它们所需的所有信息,请参阅 SDK 文档。
<SDK_extraction_directory>/radar_sdk/sdk/
在此目录中,你可以找到实际的 SDK 库和封装器。有时你可能会发现,为了完全理解一个函数的作用或一种算法的工作方式,深入研究源代码是必要的。这里就是探索的起点!
总结
雷达 SDK 包是使用英飞凌 XENSIV 雷达传感器进行任何工作的必备工具。遗憾的是,安装和开始使用这个工具比预期的要复杂一些。对于 Linux 和 / 或 macOS 用户来说尤其如此,因为目前没有针对他们的官方支持安装选项。然而,在安装 RDK 并找到 / 解压 SDK 之后,英飞凌提供的文档页面将成为你后续开发过程的优秀参考资料。