低成本FMCW雷达的详细实验,我也想尝试亲手组装一部

需要本文英文原文的请给“雷达通信电子战”微信公众号发送“190809”,会有英文原文下载链接的自动回复,资料仅供学习参考。

文末还有一个对可能困扰你的问题的回答,去看看!


1

实验目标


本实验演示了调频连续波(FMCW)雷达的基本操作,能够进行距离和速度测量。完成本实验后,你将会:


•了解FMCW雷达如何通过现成的商用组件进行组装,并集成在树莓派平台上


•了解使用I/Q信号识别运动方向


•运用傅里叶分析和了解雷达信号多普勒处理的基础知识


•了解带宽和离散化对分辨率的影响


•能够了解到实验室系统中的瓶颈


2

实验设备


本实验中使用的设备如图1所示。它由商用雷达模块,Innosent GmbH的IVS-162组成,控制单元由树莓派和英国电子公司生产的AD/DA扩展卡ADC DAC Pi Zero组成,还有基于LM358运算放大器的调谐电压的非反相放大器。该设备的基本原理图如图2所示。


如果你想自己搭建系统,总成本约为1000瑞典克朗(七百多元人民币),并且可以在课程网站上找到组装指导。


图1:FMCW雷达的设备


图2:雷达系统简图


2.1

雷达模块


该系统的核心是雷达模块。根据制造商网站的信息,推荐应用于开门器和工业应用,其主要功能有:


•VCO收发器的中心频率为24GHz


•FMCW/FSK能力;因此可以测量距离和识别静止物体(取决于调制方式)


•发送和接收路径分离以获得最大增益


•用于识别运动方向的立体声(双通道)操作


•IF前置放大器,限制带宽以实现最低噪声性能


•外形尺寸紧凑


图3:雷达传感器的工作原理。虚线部分的工作载波为24GHz,放大器包含低通滤波


图3给出了系统简图。传感器的工作频率由调谐电压决定。其中电压[0 10V]对应于频率[24.0GHz, 24.6GHz],接收信号与发送信号混合,经过低通和放大,并出现在I(同相)的输出端。接收信号还与90°反相发送信号混合,经过低通和放大,并出现在Q(正交)的输出端。更多数据可在数据表中找到。

2.2

 运算放大器

使用ADC DAC Pi Zero卡扩展的树莓派可以提供可变电压,最高可达2.048V。


为了更好利用雷达模块的带宽,可以用基于LM358运算放大器的非反相放大器电路来提升此电压。该放大器由9 V电池驱动,允许调谐电压在0到7V之间变化(OP的最大输出总是略低于驱动电压)。


 通过这样设置,雷达模块的工作频率从f1=24.0GHz变为f2=24.425 GHz,相应的AD/DA卡的输出电压从0变为2.048V.


2.3

 模数转换卡

ADC DAC Pi Zero卡有两个输出和两个输入。


输出O1用于控制雷达模块的调谐电压,输出O2用作开关信号(处于低电平时,雷达模块启用)。输入IN1和IN2用于采样雷达模块的I和Q输出。


2.4

 树莓派

系统的最后一部分是树莓派单元,它是一台安装了linux操作系统的完整计算机。它可以用任何语言编程,然而,我们仍坚持使用python语言,这是一种非常类似于matlab的脚本语言。


为了演示使用编译语言实现加速,我们还有一种版本是C语言的控制程序,但不需要编码。


该单元由插入迷你USB连接器的USB电缆供电。


01

连接树莓派


实验室中有专用的键盘和带有USB连接器的鼠标。还有用于连接显示器的HDMI电缆,通过其micro-USB端口为树莓派供电的USB电缆。


•将键盘,鼠标和显示器连接到树莓派。


•只有在完成上述操作后,才能将micro-USB连接到固定计算机上的常规USB端口(仅供电)。树莓派会根据连接的显示器选择正确的屏幕分辨率。


•你应该可以在屏幕上看到启动过程。结束的时候会显示关于标准密码未更改的警告消息,单击此窗口。


•打开命令窗口(ctrl-alt-T或顶行的图标)。这是我们要进行操作的地方。


•如果您需要在树莓派中保存一些数据,如保存的图形等,你可以使用U盘。


02

启动树莓派

启动树莓派后,你将看到图4中的警告消息。警告消息可以忽略,因为它只是通知用户更改树莓派的默认密码。


图4:初始警告消息




更改屏幕分辨率


树莓派通常会检测连接显示器的最佳分辨率。但是,在某些情况下,它的效果并不好,应手动设置屏幕分辨率。要手动设置分辨率,请打开终端并键入:


sudo raspi -config


打开配置菜单后,转到高级选项>分辨率并设置屏幕分辨率。然后,将设备重新启动。


03

命令行处理的基础知识

你不需要了解很多linux命令行来使用树莓派。这里总结了一些基础知识,你可以在实验期间充分使用谷歌搜索进行辅助。


ls:列出当前文件夹中的文件。


pwd:列出当前文件夹的名称。


cd:更改文件夹:cd <文件夹名称>移动到新文件夹,


cd ..移动到上一级文件夹。文件夹名称由斜杠来分隔/ 

home / pi / myfiles。


nano:一个简单的文本编辑器。在命令窗口中运行,底部显示一个命令菜单。


leafpad:具有简单GUI的文本编辑器。


python3:(第3版)python语言。写入python3 doppler.py来运行脚本doppler.py。Python是开源社区中的一种流行语言,具有类似于matlab的计算能力。与matlab的一个重要区别是没有必要使用尾随分号。


04

保存Python数据

在整个实验过程和报告中,你需要保存测量数据。通过单击“保存”按钮然后指定文件路径,可以保存图5中所示的Python图形。外部USB存储器可以在路径下找到


/ media / pi / USB NAME


其中USB NAME是U盘的名称。

图5:Python图形,保存按钮位于下方红圈的位置


3

实验1:连续波多普勒雷达


在我们的第一个实验中,我们将使用固定频率并仅研究多普勒频移。这是雷达模块的最基本操作,目的是为了进行运动检测。


为了检测运动方向,我们使用I和Q信号。


3.1

 脚本

控制雷达模块的代码是:


• doppler.py (located in /home/pi/myfiles/radar/)


该脚本包括一个无限循环,该循环不断读取雷达模块的I和Q引脚上的模拟电压,并将它们组合成复杂的数值。该脚本需要经过N次连续测量,并构建分析信号。

由于采样信号加载在约2 V的直流电压上,因此首先减去平均值,然后应用傅里叶变换(快速傅里叶变换,FFT)

A中峰值的位置对应于多普勒主频率。正频率意味着物体朝向雷达方向运动,负频率表示物体远离雷达方向运动。


该脚本以纯文本形式输出多普勒主频率,并更新整个频谱的图形。为了从下面的测量中获得结果,您需要在文本编辑器(nano或leafpad)中打开脚本,并进行适当的更改。例如,关于输出不同的结果,在脚本中查找变量PlotMode。


一定要保留原始脚本的副本,防止由于意外更改无法修正的内容。


3.2

测量

为了获得便于观察的明确信号,可以在雷达模块前面放一个小风扇。风扇叶片的周期性运动产生许多尖峰,并且尖峰之间的间隔与风扇旋转频率成比例。


•根据数据表中的参数,使用雷达距离方程估算雷达模块的SNR,作为距离的函数。选定一个目标,其雷达散射截面,噪声系数。的最大范围是多少? 


(提示:数据表以等效各向同性辐射功率表示输出功率。接收增益可以根据方位角和仰角的波束宽度估算。噪声带宽没有明确规定,但制造商提到对于没有频率调制的类似模块,噪声带宽至少100MHz。你可以使用500MHz。)


•捕获并保存原始时域数据的图形,包括直流电平。


•捕获并保存已去除直流电平的时域数据图。


•捕获并保存频域数据图。估算SNR。计算风扇的旋转频率。


•在代码中插入时序控件,并测量以下时间


-    循环运行时间


-    使用FFT进行信号处理。


-    输出部分,包括将写入文本和绘图。尝试使用图形绘图,只显示文本输出。


在实验报告中的数据应当包含三个不同N值。


•取下风扇,并尝试检测手在朝向或远离雷达时的移

动。能否看到多普勒频移的不同表现?


•能否提出改进系统的方法,例如提高SNR或多普勒频移分辨率?


4

实验2:调频连续波雷达


在本实验中,我们用调谐电压来控制雷达模块的工作频率。由于AD / DA的速率有限,结果将是频率步进调制,其中每个步骤都与实验1中的情况类似。在这种情况下将体现出不同操作频率之间的相位变化。这样不仅可以得到速度,还可以确定距离。 

4.1

 脚本

启用频率调制的脚本是:


• fmcw.py (located in /home/pi/myfiles/radar/)


这个与前一个实验中的多普勒脚本有些类似,但不是所有测量的频率都相同,而是从24.00 GHz到大约24.425 GHz。频率可以从低到高(向上调频)或从高到低(向下调频)步进。该脚本执行一次向上调频和一次向下调频,并保存相应的分析信号(I和Q)



每个信号都加载在直流电平和对应于调谐电压的斜坡函数上,需要减去该调谐电压。这是在函数EstimateAmplitudeOffset()中实现的,具体细节不再说明。


一旦分离了直流电平和斜坡,脚本就会计算两个信号的傅里叶变换,并提取每个信号中的主频率Δf1和Δf2,然后根据下列公式可以计算距离和速度。



其中B = 425 MHz是系统的带宽。


4.2

 测量

将雷达模块指向天花板。当雷达探测路径中没有物体移动时,输出信号应该是稳定的。


•捕获并保存时域原始数据的图形,包括直流电平和斜坡。


•捕获并保存已分离直流和斜坡的时域数据图。


•捕获并保存频域数据图。尝试估算SNR和天花板的距离是多少?


•在代码中插入时序控制,并测量以下时间:


-    频率上升信号和频率下降信号扫描的时间。


-    使用斜坡提取和FFT进行信号处理。


-    输出部分,包括写入文本和绘图。尝试使用图形绘

图,只显示文本输出。


在实验报告中的数据应当包含三个不同N值。


•引入一些速度分量,比如挥动手掌。对频率升降信号的对称性有什么影响?


•能否估算分辨率范围?可以使用零填充数据来改进吗?制作并保存适用于实验报告的插图。


亲手组装一部廉价的FMCW雷达


需要本文的英文原文的请给“雷达通信电子战”微信公众号发送“190809”,会有下载链接的自动回复,资料仅供参考。


关注微信公众号,更多超专业知识在等你


有人问我们:《永久铁杆会员》真的能永久吗?如果加入后没几天就不更新了咋办?
这或许是很多人的顾虑所在吧,说“是对早期支持者(前999名)的一个承诺,让你看到我们的决心;同时也是给我们自己的一个压力,这正是我们能够坚持三年多来持续更新的动力。最大的信任不是来自说了什么,而是做了什么。三年多的持续更新足以回答上面的问题了。
客观来说,没有人能保证“永久”提供某项服务。从我们的角度来说,这三年多连续的付出和积累已远超该价格体现的价值。从某单一用户来说,你需要的可能并不是所有内容,而是某个特定的专业方向,或许从这点来说你可能觉得不值,的确会如此。
但我们也有全局的考虑,那就是每个人的专业方向可能很窄,但我们面向的是雷达通信电子战方向很广泛。我们想为尽量多的人提供尽量全和尽量深的专业知识,我们不能保证每个方向都能带你到前沿,我们力求为初学者打牢基础,拓展在其他领域的见识。为工作者提供不同的视角和经验。
当然,你靠自己花费一段时间和精力,在某一个方向上肯定能走到前沿,但走到那里的却只有你自己。但我们的定位不同,我们的立足点在用户,如果我们找到了一个这样的领路者或者一份这样的资料,那么受益的将是所有关注我们的人。这或许就是我们“雷达通信电子战”的价值所在。
我们不追八卦,不捧热点,我们只关注对大家有用的知识,可能对你个人不一定有用,但总会对部分人有用,而随着时间的积累,或许你也可以成为可能受用的这部分人。
我们说“永久”是对铁杆会员的一个承诺,就是只要我们还在更新,那么已经加入的你终将持续的享受相应的服务。我们也在为永久铁杆会员营造一个积极主动互帮互助互相交流探讨的交流环境,让每一个人有所归属,有所依靠。虽然不一定能满足你的所有需求,但可以相信的是:我们或许可能你们背后的一个智囊团,成为一个帮你链接网络的一个弱节点。
我们说只收999名永久铁杆会员,不超过2个微信群,目前已过半,这是结合我们目前的时间和精力来考虑的。我们根据自己的能力做范围内的事情。若我们找到了更多有能力的人,可以支撑起更多责任的时候,这项限制可能会被打破,但不是可见的现在。

我们目前考虑的是先服务好早期这批看好并相信我们的永久铁杆会员,让你们满意,有归属感。因为有了你们的支持,有了我们的承诺,才有可能让“永久”真的成为永久。

点击“阅读原文”即可加入“永久铁杆会员