隔空操作的迷你雷达,聊聊你不为人知的黑科技

分享到:

最近谷歌I/O中亮相的迷你雷达(project soli)着实令人眼前一亮。现场展示中,该雷达可以捕捉手指的细微运动,可以隔空通过手势控制手表屏幕翻页,可以通过变化手指与屏幕距离实时改变UI元素,好像巫师施展魔法操作一般。怀着好奇心,本文来聊聊雷达背后的黑科技,作为科普。

雷达,英文Radar(Radio Detection And Ranging),利用发射“无线电磁波”得到反射波来探测目标物体的距离,角度,和瞬时速度。从1922年无线电之父马可尼(Guglielmo Marchese Marconi)提出雷达概念至今,雷达多用于军事侦查和预警,在二次世界大战中也发挥了重要的作用。于是在人们的普遍印象中,雷达似乎就应该有着巨型的抛物天线,笨重,昂贵,而且功耗巨大。然而,这种观念基本已经落伍了。随着天线尺寸和芯片的极度缩小,在可预见的未来,更多的雷达设备将会以微型器件面世。如图1所展示的那样,它们不仅能嵌入可穿戴设备,成为物联网的一类重要传感器,也会逐渐走入寻常百姓家,为生活和日常起居带来方便。

1

图1  传统的探测侦查雷达(左)以及Project Soli中用于手势识别的迷你雷达(右)

相比于其它隔空操作技术,比如体感相机、超声波等,雷达有着一些天然优势:比如无论白天黑夜,暴晒寒风,皆可正常工作;在体积、成本,以及功耗上都比Kinect等体感相机来得要更低;高频雷达测量物体距离通常可以精确到毫米级别;而低频雷达则可以做到“穿墙而过”,完全无视遮挡物的存在。这些特性让雷达,尤其是微型雷达,在未来都有着广阔的应用前景。除体感手势识别之外,亦可用于商业和住宅的室内室外监控,甚至隔空测量生命体征。
雷达组成

一般雷达由发射器、接收器、发射/接收天线、信号处理单元,以及终端设备组成。发射器通过发射天线将经过调频或调幅的电磁波发射出去;部分电磁波触碰物体后被反射回接收器,这就好比声音碰到墙壁被反射回来一样;信号处理单元分析接受到的信号并从中提取有用的信息诸如物体的距离、角度,以及行进速度;这些结果最终被实时地显示在终端设备上。传统的军事雷达还常配有机械控制的旋转装置用以调整天线的朝向,而新型雷达则更多通过电子方式做调整。

为节省材料和空间,通常发射器和接收器可以共享同一个天线,方法是交替开关发射或接收器避免冲突。终端设备通常是一个可以显示物体位置的屏幕,但在迷你雷达的应用中更多是将雷达提取的物理信息作为输入信号传送给诸如手表或其它电子设备。信号处理单元才是雷达真正的创意和灵魂所在,主要利用数学物理分析以及计算机算法对雷达信号作过滤、筛选,并计算出物体的方位。在这基础之上,还可以利用前沿的机器学习算法对捕捉的信号作体感手势识别等等。

测距与测速

目前雷达的基本功能仍然是测距和测速。比如警察执法中通常会使用测速雷达来判断车辆是否超速。测距和测速背后的基本原理并不难理解。就那测距来说吧,最简单的做法就是发射一个脉冲波,并等待其返回接收器。因为电磁波是以光速行进的,那么通过测量等待时间就可以间接地获取距离了(如图2所示),是不是很简单呢?

2

图2 电 磁波遇到障碍物后,大部分能量散射到空间各个角落,小部分能量被反射回接收天线。通过精确测量发射到接受回波的时间,就可以推断雷达到物体的距离。

当然,发射脉冲对于发射机的峰值功率有较高要求,并且电路实现相对复杂。更普遍地低功耗获取距离信息的方法是对发射信号的频率作调制。此类雷达的专业术语叫做FMCW(Frequency Modulation Continuous Wave),方法是发射一个线性调频信号(chirp),其波形见图3。因为频率与距离的关系是线性的,通过检测反射波与发射波当前的频率差异即可推断物体的距离。从演示来看,笔者估计谷歌I/O发布的project soli就是一款基于FMCW的微型雷达。

3
图3 线性调频信号波形(左)。通过反射波与发射波的频率差可推测物体距离(右)


雷达的另一项优势是可以测量物体的瞬时速度,这就要提到物理中鼎鼎大名的“多普勒效应”了。其大意是说,反射波的频率会因为物体行进的速度改变而改变。经典的例子是声波的传播。远方急驶过来的火车鸣笛声变得尖细(即频率变高),而远去的火车鸣笛声变得低沉(即频率变低)。见图4。那么,利用此规律,只需洞悉了频率变化就可以推断物体的速度了!

44

图4 多普勒效应演示 反射波的频率因物体速度大小和方向不同而改变

手势识别

前面所讲的测距或者测速都把物体想像成一个抽象的点。而真实的物体如手掌则可以认为是一堆三维点的集合体。所以在反射波中已然蕴藏了许多个点的距离与速度信号。同时呈现这些信息的一个好方法叫做距离-多普勒映射(Range-Dopler Map),简称RDM(如图5)。RDM中的横轴是速度,纵轴是距离。它可以认为是一张反射波的能量分布图或概率图,每一个单元的数值都代表了反射波从某个特定距离和特定速度的物体得到的反射波能量。仔细看的话,从RDM中已然可以窥见探测物体的特征身形!基于RDM及其时间序列, 我们可以采用机器学习的方法识别特定的能量模式变化,进而识别手势及动作。在Soli推出之前,Nvidia也做过类似的研究,参见注释[1]。

5

图5 距离-多普勒(速度)映射的等高线表示示例 每一个单元值代表了反射波中具有对应距离和速度的点的集合的反射能量。该映射可以作为特征向量用于机器学习识别手势动作。

相位阵列与定位

当然,除了简单的手势识别之外,雷达还有很多其它妙用哦,比如说定位!回想一下,无论测距或者测速或者手势识别,都不能精准地指出物体所在的3D位置有木有。当然要实现定位也不难,最简单粗暴的做法就是利用一个有向天线和一个机械旋转装置嘛,通过不停地旋转天线来扫描天空的各个位置。
这种通过机械方式旋转天线的方法,对于移动产品来说显得很笨重,耗电量大且不方便。一个聪明且有趣的解决办法是通过“相位阵列”以电子的方式调控天线的合成方向,也被称为波束成形(beamforming)。其主要原理是使用多个发射器,通过调整波形的相位和波形间的相长和相消干涉(constructive and destructive interference) 来达到控制合成发射波的朝向问题。更简单地说,就是“打时间差”!为便于理解,不妨想像水波之间的干涉条纹(如图6)。如果可以自由任性轻松地调整天线朝向,再配合上测距的原理,雷达就可以实现自动定位啦!

6

图6 波束成形演示 通过调整不同发射波的相位(时间差)来模拟天线朝向

定位的另一个常用方法是使用多个接收器!因为多个接收器收到的反射波的相位(时间)略有不同,通过测量它们之间的相位差即可作定位,在此就不详细叙述了。从介绍上看,谷歌新款的迷你雷达拥有2个发射器和4个接收器,这样就可以同时利用波束成形和相位差的方法作手掌定位。

应用前景展望

尽管雷达技术本身已有近百年历史,在军事,通讯等领域都有着广泛的应用,但迷你雷达的研究和商业应用直到最近才初露端倪,相信它在未来的可穿戴设备,室内外监控,体征检测等领域都有着广阔的应用前景。关于体征检测方面,做到比较前沿的是位于挪威的Novelda公司 (https://www.xethru.com/en/),其宣传视频显示甚至可以通过雷达隔空检测心跳,呼吸等,如同科幻片一般。对迷你雷达感兴趣的读者朋友们也可进一步阅读注释[2]作为入门读物。可以想见,在一个充满微型雷达的未来世界里,人人都是懂得魔法的巫师 !

原文刊载于《程序员》杂志8A刊

参考文章:

[1] P. Molchanov, S. Gupta, K. Kim, and K. Pulli. "Short-Range FMCW Monopulse Radar for Hand-Gesture Sensing",  in IEEE International Radar Conference, May 2015
[2] G. Charvat. “Small and Short-Range Radar Systems”, CRC Press, 1st edition,April 2014

作者:顾志强,计算机科学博士。热爱研究和分享黑科技带来的最新成果。曾先后在苹果人机交互实验室与谷歌 [x] 实验室,从事苹果手表触屏以及谷歌眼镜的研发项目,并取得多项专利和若干创新项目奖项。本文节选自他目前正在筹备的新书《硅谷黑科技》。