CN117222911A - 雷达应用编程接口 - Google Patents
雷达应用编程接口 Download PDFInfo
- Publication number
- CN117222911A CN117222911A CN202280031441.0A CN202280031441A CN117222911A CN 117222911 A CN117222911 A CN 117222911A CN 202280031441 A CN202280031441 A CN 202280031441A CN 117222911 A CN117222911 A CN 117222911A
- Authority
- CN
- China
- Prior art keywords
- radar
- gesture
- programming interface
- application programming
- radar system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 75
- 238000001514 detection method Methods 0.000 claims description 78
- 238000012545 processing Methods 0.000 claims description 75
- 238000003909 pattern recognition Methods 0.000 claims description 52
- 230000033001 locomotion Effects 0.000 claims description 43
- 230000008859 change Effects 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 30
- 230000007704 transition Effects 0.000 claims description 12
- 239000000428 dust Substances 0.000 claims description 5
- 230000000704 physical effect Effects 0.000 claims description 4
- 238000013461 design Methods 0.000 abstract description 6
- 230000006399 behavior Effects 0.000 description 24
- 238000004891 communication Methods 0.000 description 20
- 238000004422 calculation algorithm Methods 0.000 description 16
- 238000010801 machine learning Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000009877 rendering Methods 0.000 description 11
- 238000001228 spectrum Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 239000000463 material Substances 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 9
- 230000035945 sensitivity Effects 0.000 description 9
- 210000003811 finger Anatomy 0.000 description 8
- 230000036541 health Effects 0.000 description 8
- 239000000203 mixture Substances 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000013079 data visualisation Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005305 interferometry Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013480 data collection Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000010287 polarization Effects 0.000 description 4
- 241000282472 Canis lupus familiaris Species 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 210000003414 extremity Anatomy 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000035484 reaction time Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 230000036461 convulsion Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000004851 dishwashing Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 208000010125 myocardial infarction Diseases 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000029058 respiratory gaseous exchange Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/02—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
- G01S7/41—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
- G01S7/417—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section involving the use of neural networks
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/02—Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
- G01S13/50—Systems of measurement based on relative movement of target
- G01S13/58—Velocity or trajectory determination systems; Sense-of-movement determination systems
- G01S13/62—Sense-of-movement determination
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Electromagnetism (AREA)
- Software Systems (AREA)
- Radar Systems Or Details Thereof (AREA)
- User Interface Of Digital Computer (AREA)
- Image Analysis (AREA)
Abstract
描述实现雷达应用编程接口(210)的技术和装置。雷达应用编程接口(210)为诸如智能设备(104)的应用(206)的外部实体提供标准化语言以与雷达系统(102)通信,而不必了解由雷达系统(102)采用的设计和操作复杂性。利用雷达应用编程接口(210),第三方可以容易地与雷达系统(102)交互,并为各种不同的应用(206)定制雷达系统(102)的使用。以此方式,雷达应用编程接口(210)可以使其他实体能够扩展雷达系统(102)的利用,从而提供附加特征来增强用户体验。
Description
背景技术
雷达是可以检测对象的有用设备。相对于像相机的其他类型的传感器,雷达可以在许多不同的环境条件下提供改进的性能,这些环境条件诸如低照明和有雾,或者具有移动或重叠的对象。雷达还可以穿过诸如手提包或口袋的一个或多个遮挡检测对象。
雷达可以是一项复杂的技术,为了实现目标性能,需要进行特定折衷考虑。示例折衷考虑包括检测范围;离程(range)、多普勒和角度分辨率;离程和多普勒模糊性;灵敏度;虚警率;反应时间;大小;功耗;和成本。由于复杂的设计和操作考虑,雷达通常是为特定应用定制的。例如,一些雷达提供导航辅助,其他雷达可以绘制环境地图,还有一些雷达可以协助用户与电子设备交互。
虽然雷达具有许多优点,但它可能被其他外部实体视为黑匣子,这些实体可能不知道使雷达能够实现目标性能的复杂性。因此,电子设备中的应用利用由雷达提供的特征可能是具有挑战性的。因此,雷达可能限于支持几个特定的应用。
发明内容
描述实现雷达应用编程接口(API)的技术和装置。雷达应用编程接口为诸如智能设备的应用的外部实体提供标准化语言,以与雷达系统通信,而不必了解由雷达系统采用的设计和操作复杂性。利用雷达应用编程接口,第三方可以容易地与雷达系统交互,并为各种不同的应用定制雷达系统的使用。以此方式,雷达应用编程接口可以使其他实体能够扩展雷达系统的利用,从而提供附加特征来增强用户体验。
下文描述的方面包括一种由智能设备的雷达系统执行的方法。该方法包括经由智能设备的雷达应用编程接口的多个层中的第一层接受来自智能设备的应用的第一请求。第一请求包括指定与手势相关联的状态的序列的模式辨识序列。雷达应用编程接口的多个层与雷达系统的不同操作层级相关联。该方法还包括经由雷达应用编程接口的多个层中的第二层接受来自智能设备的应用的第二请求。第二请求包括用于检测手势的雷达系统的检测范围。该方法另外包括基于检测范围来修改雷达系统的硬件配置。该方法进一步包括使用硬件配置来发射和接收雷达信号。雷达信号的至少一部分从执行手势的对象反射。该方法还包括基于模式辨识序列和所接收的雷达信号来辨识手势。响应于该辨识,该方法包括经由雷达应用编程接口向应用发送指示手势的发生的响应。
下文描述的方面还包括一种包括雷达系统的装置,该雷达系统被配置成执行所描述的方法中的任一种。
下文描述的方面包括一种包括计算机可执行指令的计算机可读存储介质,这些指令响应于由处理器执行而使得雷达系统执行所描述的方法中的任一种。
下文描述的方面还包括一种具有用于提供雷达应用编程接口的装置的系统。
附图说明
参考以下附图描述用于实现雷达应用编程接口的装置和技术。贯穿附图使用相同的数字来指代相同的特征和组件:
图1示出其中可以实现基于智能设备的雷达系统的示例环境;
图2-1示出作为智能设备的一部分的雷达系统的示例实现方式;
图2-2示出雷达系统的示例系统介质;
图3-1示出示例雷达应用编程接口;
图3-2示出雷达应用编程接口的多个层与雷达系统的操作层级之间的示例关系;
图4示出由应用向雷达应用编程接口提供的用于手势辨识的示例请求;
图5-1示出与远近推移手势相关联的示例模式辨识序列;
图5-2示出与远近推移手势相关联的示例对象行为;
图6-1示出与滑动手势相关联的示例模式辨识序列;
图6-2示出与滑动手势相关联的示例对象行为;
图7-1示出与探伸手势相关联的示例模式辨识序列;
图7-2示出与探伸手势相关联的示例对象行为;
图8示出雷达系统的示例天线阵列和示例收发器;
图9示出硬件抽象模块、对象跟踪器、检测模块、雷达应用编程引擎和雷达应用编程接口的示例操作;
图10示出由检测模块实现的示例方案;
图11示出由雷达系统使用雷达应用编程接口执行的示例方法;以及
图12示出体现或其中可以实现使得能够使用雷达应用编程接口的技术的示例计算系统。
具体实施方式
雷达是可以检测对象的有用设备。相对于像相机的其他类型的传感器,雷达可以在许多不同的环境条件下提供改进的性能,这些环境条件诸如低照明和有雾,或者具有移动或重叠的对象。雷达还可以穿过诸如手提包或口袋的一个或多个遮挡检测对象。
雷达可以是一项复杂的技术,为了实现目标性能,需要进行特定折衷考虑。示例折衷考虑包括检测范围;离程、多普勒和角度分辨率;离程和多普勒模糊性;灵敏度;虚警率;反应时间;大小;功耗;和成本。由于复杂的设计和操作考虑,雷达通常是为特定应用定制的。例如,一些雷达提供导航辅助,其他雷达可以绘制环境地图,还有一些雷达可以协助用户与电子设备交互。
虽然雷达具有许多优点,但它可能被其他外部实体视为黑匣子,这些实体可能不知道使雷达能够实现目标性能的复杂性。因此,电子设备中的应用利用由雷达提供的特征可能是具有挑战性的。因此,雷达可能限于支持几个特定的应用。
为了应对这一挑战,描述了实现雷达应用编程接口(API)的技术。雷达应用编程接口为诸如智能设备的应用的外部实体提供标准化语言,以与雷达系统通信,而不必了解由雷达系统采用的设计和操作复杂性。利用雷达应用编程接口,第三方可以容易地与雷达系统交互,并为各种不同的应用定制雷达系统的使用。以此方式,雷达应用编程接口可以使其他实体能够扩展雷达系统的利用,从而提供附加特征来增强用户体验。
操作环境
图1是示例环境100-1至100-6的图示,该示例环境中可以体现使用雷达系统的技术和包括雷达系统的装置。在所描绘的环境100-1至100-6中,智能设备104包括能够经由(图2-1的)雷达应用编程接口与智能设备104的多种不同应用对接的雷达系统102。智能设备104在环境100-1至100-5中被示出为智能电话,并且在环境100-6中被示出为智能车辆。
在环境100-1至100-4中,用户执行不同类型的手势,其由雷达系统102检测。在一些情况下,用户使用肢体或身体部位来执行手势。替选地,用户也可以使用触控笔、手持对象、指环或可以反射雷达信号的任何类型的材料来执行手势。通过使用雷达应用编程接口,雷达系统102的操作可以基于请求雷达系统102辨识的手势的类型而被动态地定制。
在环境100-1中,用户通过在智能设备104上方沿着水平维度(例如,从智能设备104的左侧到智能设备104的右侧)移动手来做出滚动手势。在环境100-2中,用户做出探伸(reach)手势,这减小了智能设备104与用户的手之间的距离。环境100-3中的用户做出手势以在智能设备104上玩游戏。在一个实例中,用户通过在智能设备104上方沿着垂直维度(例如,从智能设备104的底侧到智能设备104的顶侧)移动手来做出推动手势。使用由雷达应用编程接口传递的信息,雷达系统102可以辨识由用户执行的手势。在环境100-4中,智能设备104存放在手提包中,并且雷达系统102通过检测被手提包遮挡的手势来提供遮挡手势辨识。
雷达系统102还可以辨识图1中未示出的其他类型的手势或运动。手势的示例类型包括转动把手(knob-turning)手势,其中用户弯曲他们的手指以握住假想的门把手,并以顺时针或逆时针方式旋转他们的手指和手以模仿转动假想的门把手的动作。手势的另一示例类型包括锭轴扭转(spindle-twisting)手势,用户通过一起摩擦拇指和至少一个其他手指来执行该手势。手势可以是二维的,诸如那些与触敏显示器一起使用的手势(例如,双指捏合、双指张开或轻击)。手势也可以是三维的,诸如许多手语手势,例如美国手语(ASL)和世界上其他手语的手势。在检测到这些手势中的每个时,智能设备104可以执行动作,诸如显示新内容、移动光标、激活一个或多个传感器、打开应用等等。以此方式,雷达系统102提供智能设备104的免触摸控制。
在环境100-5中,雷达系统102针对场境感知(contextual awareness)生成周围环境的三维地图。雷达系统102还检测和跟踪多个用户,以使两个用户都能够与智能设备104交互。雷达系统102还可以执行生命体征检测。在环境100-6中,雷达系统102监测驾驶车辆的用户的生命体征。示例生命体征包括心率和呼吸率。例如,如果雷达系统102确定驾驶员正在入睡,则雷达系统102可以使得智能设备104向用户发出警报。替选地,如果雷达系统102检测到威胁生命的紧急情况,诸如心脏病发作,则雷达系统102可以使得智能设备104向医疗专业人员或紧急服务发出警报。在一些实现方式中,环境100-6中的雷达系统102可以支持用于自主驾驶和/或导航辅助的碰撞避免。通常,雷达系统可以支持各种不同的应用,包括无触摸手势控制、健康监测(例如,睡眠跟踪或生命体征监测)、健身跟踪、接近检测、空间映射和人类活动辨识(例如,跌倒检测、注意力、坐着或站立)。
雷达系统102的一些实现方式在应用于智能设备104的场境中时特别有利,对于智能设备104问题趋同。这可以包括对雷达系统102的间距和布局的限制以及低功率的需求。智能设备104的示例性整体横向尺寸可以是例如大约八厘米乘大约十五厘米。雷达系统102的示例性占据区(footprint)甚至可能更有限,诸如包括天线在内大约四毫米乘六毫米。雷达系统102的示例性功耗可以在几毫瓦到几十毫瓦的数量级(例如,在大约两毫瓦和二十毫瓦之间)。雷达系统102的此类有限占据区和功耗的要求使得智能设备104能够在空间有限的封装中包括其他期望的特征(例如,相机传感器、指纹传感器、显示器等)。参考图2-1进一步描述智能设备104和雷达系统102。
图2-1示出作为智能设备104的一部分的雷达系统102。智能设备104用各种非限制性示例设备来示出,包括台式计算机104-1、平板计算机104-2、膝上型计算机104-3、电视104-4、计算手表104-5、计算眼镜104-6、游戏系统104-7、微波炉104-8和车辆104-9。还可以使用其他设备,诸如家庭服务设备、智能扬声器、智能恒温器、安全相机、婴儿监测器、Wi-FiTM路由器、无人机、触控板、绘图板、上网本、电子阅读器、家庭自动化和控制系统、墙壁显示器以及另一家用电器。应注意,智能设备104可以是可穿戴的、不可穿戴但移动的、或者相对固定的(例如,台式计算机和电器)。雷达系统102可以用作独立的雷达系统,或者与许多不同的智能设备104或外围设备一起使用或嵌入其中,诸如在控制家用电器和系统的控制面板中,在汽车中控制内部功能(例如,音量、巡航控制或甚至汽车的驾驶),或者作为膝上型计算机的附件来控制膝上型计算机上的计算应用。
智能设备104包括一个或多个计算机处理器202和至少一个计算机可读介质204,计算机可读介质204包括存储器介质和存储介质。体现为计算机可读介质204上的计算机可读指令的应用和/或操作系统(未示出)可以由计算机处理器202执行,以提供本文描述的一些功能性。计算机可读介质204还包括应用206,该应用206使用由雷达系统102生成的雷达数据来执行功能,诸如存在检测、基于手势的免触摸控制、用于自主驾驶的碰撞避免、健康监测、健身跟踪、空间映射、人类活动辨识等等。
智能设备104还可以包括用于通过有线、无线或光学网络传送数据的网络接口208。例如,网络接口208可以通过局域网(LAN)、无线局域网(WLAN)、个人区域网(PAN)、有线区域网(WAN)、内联网、互联网、对等网络、点对点网络、网状网络等传送数据。智能设备104还可以包括显示器(未示出)。
智能设备104包括雷达应用编程接口210(例如,雷达API 210)。雷达应用编程接口210提供诸如应用206或另一雷达系统的外部实体与雷达系统102之间的接口。通常,雷达应用编程接口210提供标准化语言,外部实体(例如,应用206)和雷达系统102可以使用该标准化语言来彼此通信。在一些方面中,雷达应用编程接口210将由一个或多个外部实体(例如,一个或多个应用206)提供的各种请求转化成雷达系统102可以执行的操作配置。
通过雷达应用编程接口210,应用206可以控制雷达系统102的操作和/或从雷达系统102接收信息,而不必了解雷达系统102如何工作。雷达应用编程接口210定义应用206与雷达系统102之间的交互,包括可用的请求和响应的类型、如何发送请求或响应、数据格式以及其他约定。此外,雷达应用编程接口210可以确保符合其他规定和指南,包括由诸如联邦通信委员会(FCC)的机构提供的那些规定和指南。有时,该信息在标准文档中被捕获,这使得第三方能够相应地对应用206进行编程。例如,雷达应用编程接口210可以定义跨各种不同类型的雷达系统102通用的一组功能块,并使非雷达工程师(例如,开发者、爱好者和研究人员)能够以独特的方式应用这些功能块来实现不同的目标。雷达应用编程接口210还可以使各种不同的应用或外部实体能够与各种不同类型的雷达系统102(例如,具有不同硬件设计、操作配置和/或性能能力的雷达系统)通信。
雷达应用编程接口210可以用软件、可编程硬件或其某种组合来实现。雷达应用编程接口210可以在雷达系统102的内部或外部。在一些实现方式中,雷达应用编程接口210包括存储在CRM 204内并可由计算机处理器202执行的指令。在其他实现方式中,用于实现雷达应用编程接口210的指令存储在雷达系统102的CRM(例如,系统介质220)内,并且可由处理器(例如,系统处理器218)执行。
雷达系统102可以实现一个或多个不同类型的雷达,诸如调频连续波(FMCW)雷达、脉冲多普勒雷达、连续波(CW)雷达、相位调制扩频雷达、脉冲雷达、使用Zadoff-Chu序列或恒包络零自相关(CASAC)序列的雷达、或者多输入多输出(MIMO)雷达。雷达系统102包括通信接口212,以将雷达数据发射到远程设备,尽管当雷达系统102集成在智能设备104内时不需要使用该接口。通常,由通信接口212提供的雷达数据是雷达应用编程接口210和应用206可用的格式。
雷达系统102还包括至少一个天线阵列214和至少一个收发器216,以发射和接收雷达信号。天线阵列214包括至少一个发射天线元件和至少一个接收天线元件。在一些情况下,天线阵列214包括多个发射天线元件和/或多个接收天线元件。利用多个发射天线元件和多个接收天线元件,雷达系统102可以实现能够在给定时间发射多个不同波形(例如,每个发射天线元件的不同波形)的多输入多输出雷达。天线元件可以是圆极化的、水平极化的、垂直极化的或者它们的组合。
对于包括三个或更多个接收天线元件的实现方式,天线阵列214的多个接收天线元件可以以一维形状(例如,线)或二维形状(例如,矩形排列、三角形排列或“L”形排列)定位。一维形状使雷达系统102能够测量一个角度维度(例如,方位角或仰角),而二维形状使雷达系统102能够测量两个角度维度(例如,确定对象的方位角和仰角两者)。与接收天线元件相关联的元件间距可以小于、大于或等于雷达信号的中心波长的一半。
收发器216包括用于经由天线阵列214发射和接收雷达信号的电路和逻辑。收发器216的组件可以包括放大器、移相器、混频器、开关、模数转换器或用于调节雷达信号的滤波器。收发器216还包括执行诸如调制或解调的同相/正交(I/Q)操作的逻辑。可以使用各种调制,包括线性频率调制、三角频率调制、步进频率调制或相位调制。替选地,收发器216可以产生具有相对恒定频率或单音的雷达信号。收发器216可以被配置成支持连续波或脉冲雷达操作。
收发器216用来生成雷达信号的频谱(例如,频率范围)可以包含在1和400千兆赫(GHz)之间、4和100GHz之间、1和24GHz之间、2和4GHz之间、30和80GHz之间、57和64GHz之间或大约2.4GHz的频率。在一些情况下,该频谱可以被划分为具有类似或不同带宽的多个子频谱。带宽可以在500兆赫(MHz)、1GHz、2GHz等数量级。在一些情况下,带宽大约为中心频率的20%或更多,以实现超宽带(UWB)雷达。
不同的频率子频谱可以包括例如在大约57和59GHz、59和61GHz或者61和63GHz之间的频率。尽管上述示例频率子频谱是连续的,但是其他频率子频谱可能不是连续的。为了实现相干性,收发器216可以使用具有相同带宽的多个频率子频谱(连续的或不连续的)来生成多个雷达信号,这些雷达信号同时或在时间上分开发射。在一些情况下,可以使用多个连续的频率子频谱来发射单个雷达信号,从而使得雷达信号具有宽带宽。
雷达系统102还包括一个或多个系统处理器218和至少一个系统介质220(例如,一个或多个计算机可读存储介质)。参考图2-2进一步描述系统介质220。
图2-2示出雷达系统102的示例系统介质220。系统介质220包括至少一个数字信号处理(DSP)模块222、至少一个雷达数据处理模块224和至少一个应用编程接口(API)引擎226。数字信号处理模块222、雷达数据处理模块224和/或应用编程接口引擎226可以使用硬件、软件、固件或其组合来实现。在此示例中,系统处理器218实现数字信号处理模块222、数据处理模块224和应用编程接口引擎226。在替选实现方式(未示出)中,数字信号处理模块222、雷达数据处理模块224或应用编程接口引擎226中的至少一个被包括在计算机可读介质204内,并且由计算机处理器202实现。例如,数字信号处理模块222可以被包括在系统介质220内并由系统处理器218执行,而雷达数据处理模块224和应用编程接口引擎226可以被包括在计算机可读介质204内并由计算机处理器202执行。在此情况下,雷达系统102可以经由通信接口212向智能设备104提供雷达数据,使得计算机处理器202可以处理雷达数据。
数字信号处理模块222对接收的雷达信号的模拟和/或数字样本执行低级处理,以提供实时信号处理。信号处理的示例类型可以包括非相干积分、杂波抑制、检测阈值、噪声消除、多普勒滤波、干涉测量和/或数字波束成形。数字信号处理模块222的一些功能可能涉及重复的数学运算,诸如加法、减法和乘法。可以执行这些重复的数学运算来实现傅里叶变换(例如,快速傅里叶变换)。在示例实现方式中,数字信号处理模块222包括硬件抽象模块228。通常,数字信号处理模块222处理由收发器216提供的原始数据,并以雷达数据处理模块224可用的格式生成预处理的数据。
雷达数据处理(RDP)模块224对从数字信号处理模块222接收的预处理数据执行中级和/或高级处理,以提供实时数据处理。雷达数据处理模块224可以执行诸如对象跟踪、杂波跟踪、手势辨识、存在检测、生物特征辨识、导航辅助和/或健康监测的功能。这些功能可以使用启发式算法和/或机器学习算法来实现。在示例实现方式中,雷达数据处理模块224包括对象跟踪器230和检测模块232。
数字信号处理模块222和雷达数据处理模块224可以被设计成兼容各种不同类型的雷达系统102,包括具有不同类型硬件、不同硬件配置和/或不同操作配置(例如,FMCW雷达、脉冲多普勒雷达或脉冲雷达)的雷达系统102。换句话说,数字信号处理模块222和/或雷达数据处理模块224至少在某种程度上对于雷达系统102的硬件实现方式和操作是不限的(agnostic)。
由数字信号处理模块222和/或雷达数据处理模块224生成的数据可以是自描述的。在一些情况下,数据本身的结构描述了数据的格式和含义。在其他情况下,数字信号处理模块222和/或雷达数据处理模块224可以经由通过雷达应用编程接口210的查询提供关于数据的格式和含义的信息。示例数据格式包括打包或压缩的数据格式(例如,一定数量的13比特整数)、未打包的数据格式(例如,32比特浮点数组)或者行交错或逐行的多维数据的维度。
在数字信号处理模块222和/或雷达数据处理模块224内实现的每个模块(或功能)可以具有定义的输入和/或输出。这些输入和/或输出中的一些可以被标准化,以使得使用雷达应用编程接口210的外部实体(例如,应用206)能够容易地为不同的用例和各种雷达类型定制数字信号处理模块222和/或雷达数据处理模块224的操作。特别地,外部实体可以利用雷达应用编程接口210来指定实现链(或实现序列),该实现链处理接收的雷达信号的样本并为应用206输出雷达数据。实现链可以表示以特定顺序执行的一组数字信号处理模块222和/或雷达数据处理模块224。通过指定实现链,外部实体可以定制启用或禁用哪些模块,以及这些模块操作的顺序。
输入和/或输出可以与一个或多个标准渲染平面相关联。在一些情况下,模块的输入和输出可以参考相同的标准渲染平面。在此情况下,该模块对输入数据进行操作,而不改变输入数据的格式。因而,输出数据与输入数据具有相同的格式(或与相同的标准渲染平面相关联)。在其他情况下,模块的输入和输出可以参考不同的标准渲染平面。与特定类型相关联的模块可以支持特定输入和输出。在此情况下,模块对输入数据进行操作,并变换输入数据的格式以生成输出数据。因而,输出数据与输入数据具有不同的格式(或者与不同的标准渲染平面相关联)。
利用与模块相关联的标准渲染平面的知识,工程师可以容易地换入或换出不同的模块,从而以实现期望的计算成本、存储成本、可配置性、稳健性或性能的方式来操作雷达系统102。示例标准渲染平面可以包括一个或多个信道的接收的雷达信号的原始数字样本、表示距离多普勒图的信息、表示距离多普勒方位角仰角图的信息、表示干涉图的信息、对象数据(例如,关于一个或多个对象的位置信息、运动信息和/或物理信息)、手势数据、生物特征数据、健康数据、碰撞避免数据等等。一些渲染平面可以包括表示模块的不确定性的信息。这种不确定性信息可以被其他模块用来辨识错误或不良感测条件。
一些模块可以支持多个标准渲染平面(例如,支持具有替选表示的数据)。作为示例,对象跟踪器230可以输出网格表示,这可以被认为是“密集”表示。在网格表示中,每个网格元素(或单元)识别在该位置处是否存在对象。因此,网格表示可以包含关于不包含对象的位置的附加信息。替选地,对象跟踪器230可以输出对象列表,这可以被认为是“稀疏”表示。在对象列表中,每个列出的对象都可以包括关于其网格位置的信息。对象列表可以具有比网格表示更小的存储器大小,因为对象列表可能不包括关于不包含对象的网格元素的信息。在此情况下,外部实体可以利用雷达应用编程接口210来指定适当的标准渲染平面,这取决于下游模块是否可以利用由网格表示提供的附加信息。
应用编程接口引擎226可以充当雷达应用编程接口210与雷达系统102的组件(例如,天线阵列214、收发器216和/或系统处理器218)之间的接口。在一些情况下,应用编程接口引擎226根据由雷达应用编程接口210接收的请求来修改雷达系统102的操作。例如,应用编程接口引擎226可以激活天线阵列214内的特定数量的天线元件,或者使得收发器216生成由雷达应用编程接口210指定的特定类型的雷达信号。作为另一示例,应用编程接口引擎226可以使得系统处理器218执行由雷达应用编程接口210指定的实现链和/或使得实现链内的模块利用由雷达应用编程接口210提供的一个或多个参数操作。
应用编程接口引擎226还可以向雷达应用编程接口210提供信息,雷达应用编程接口210可以将该信息传递给应用206。可选地,应用编程接口引擎226可以重新格式化从雷达应用编程接口210接收或提供给雷达应用编程接口210的数据。下面进一步描述硬件抽象模块228、对象跟踪器230和检测模块232的操作。
硬件抽象模块228将由收发器216提供的原始数据变换成不限硬件(hardware-agnostic)的数据。不限硬件的数据可以由对象跟踪器230和/或检测模块232来处理。特别地,硬件抽象模块228使来自各种不同类型的雷达信号的复杂数据(complex data)符合预期输入。这使得对象跟踪器230或检测模块232能够处理由雷达系统102接收的不同类型的雷达信号,包括那些对调频连续波雷达、相位调制扩频雷达或脉冲雷达使用不同调制方案的信号。硬件抽象模块228还可以归一化来自具有不同中心频率、带宽、发射功率水平或脉宽的雷达信号的复杂数据。
另外,硬件抽象模块228符合使用不同硬件架构生成的复杂数据。不同的硬件架构可以包括定位于智能设备104的不同表面上的不同天线阵列214,或者天线阵列214内的不同天线元件组。通过使用硬件抽象模块228,下游模块可以处理由具有不同增益的不同天线元件组、各种数量的不同天线元件组或者具有不同天线元件间距的不同天线元件组生成的复杂数据。此外,硬件抽象模块228使得这些下游模块能够在具有不同限制的雷达系统102中操作,这些限制影响可用的雷达调制方案、传输参数或硬件架构的类型。
对象跟踪器230识别外部环境内的对象,并编译每个对象的行为的历史。特别地,对象跟踪器230可以编译关于对象的位置(例如,距离和/或角度)、运动(例如,离程变化率和/或速率)、物理特性(例如,大小、雷达散射截面和/或材料组成)或其某种组合的信息。对象跟踪器230可以使用各种不同的跟踪算法来实现,包括与阿尔法-贝塔跟踪器(alpha-beta tracker)、卡尔曼滤波器或多假设跟踪器(MHT)相关联的算法。
检测模块232可以分析由对象跟踪器230为诸如手势辨识、存在检测、碰撞避免、健康监测等等的一个或多个用例提供的数据。对于手势辨识,检测模块232辨识手势,并且可以在与手势和非手势相关联的运动之间进行区分。参考图10进一步描述检测模块232。在一些实现方式中,检测模块232被实现为状态机。
尽管没有明确示出,但是系统介质220或计算机可读介质204还可以包括传感器融合模块、雷达通信模块、数据收集模块、数据可视化工具和/或雷达模拟器。传感器融合模块可以将来自雷达系统102的数据与由外部传感器提供的数据相组合,外部传感器诸如是另一雷达系统或另一类型的传感器(例如,相机)。
雷达通信模块使得雷达系统102能够与智能设备104外部的另一实体通信,诸如与另一智能设备104的雷达系统通信。利用直接通信,这些雷达系统可以彼此配置以支持双基地雷达感测,利用诸如三角测量的技术,使得能够更快地获取感兴趣的对象,和/或维持对暂时变得模糊但被另一雷达系统检测到的感兴趣的对象的跟踪。利用雷达通信模块,雷达系统可以在各种不同的环境和情况下共享信息并提高性能。
数据收集模块可以记录可用于系统处理器218以供系统开发和集成的数据。示例数据可以包括由收发器216提供的数据,或者由数字信号处理模块222、雷达数据处理模块224和/或应用编程接口引擎226生成的数据。在一些情况下,数据收集模块捕获由收发器216提供的原始数据,并且不执行附加功能来减少计算成本。
数据可视化工具可以提供使用数据收集模块收集的数据的视觉描述。以此方式,数据可视化工具可以使得应用206的开发者更容易查看和了解由雷达系统102生成的数据。在示例实现方式中,数据可视化工具利用描述数据包含的环境或活动的标签来标记数据。在另一示例实现方式中,数据可视化工具图形化地描绘由雷达系统102生成的一些数据,诸如表示距离多普勒图的信息或表示对象的移动的信息。其他数据可视化工具可以描绘雷达系统102的操作方面,诸如由雷达系统102使用的视场、由雷达系统102生成的雷达发射信号、或者雷达系统102的天线方向图。
雷达模拟器可以将虚拟数据注入到数字信号处理模块222、雷达数据处理模块224和/或应用编程接口引擎226中。虚拟数据可以包括由外部源提供的数据或由雷达模拟器生成的模拟数据。在一些实现方式中,雷达模拟器可以通过渲染具有对象和/或杂波的虚拟环境并分析虚拟环境内的虚拟雷达波的交互来生成模拟数据。雷达模拟器还可以能够注入噪声,以帮助算法开发者和集成测试工程师了解噪声源可能对雷达系统102的性能产生的影响。利用雷达模拟器,应用206的开发者可以确定将雷达系统102用于特定用例的可行性。参考图3-1进一步描述雷达应用编程接口210。
图3-1示出示例雷达应用编程接口210。有时,雷达应用编程接口210可以包括多个应用编程接口,其使得应用206能够与雷达系统102的不同操作层级通信。多个应用编程接口可以表示雷达应用编程接口210的多个层或层级。作为示例,雷达应用编程接口210可以包括用例应用编程接口302(用例API 302)、机器学习(ML)和算法应用编程接口304(ML和算法API 304)、数字信号处理(DSP)应用编程接口306(DSP API 306)、硬件抽象应用编程接口308(硬件抽象API 308)或它们的某种组合。
雷达应用编程接口210可以按照多个层310来描述,其中每个层与雷达系统102的特定操作层级相关联,如参考图3-2进一步描述的。通常,雷达应用编程接口210的上部层被设计成使得具有较少雷达经验和知识的工程师能够容易地与雷达系统102的较高操作层级进行交互。雷达应用编程接口210的较低层被设计成使得具有较多雷达经验和知识的工程师能够控制雷达系统102的较低操作层级。
用例应用编程接口302表示雷达应用编程接口210的第一层310-1(或上部层)。用例应用编程接口302可以使非雷达工程师能够与雷达系统102对接,而不需要从硬件或软件的角度了解关于雷达系统102的操作和/或雷达系统102的能力的较低级细节。用例应用编程接口320可以标准化应用206和雷达系统102之间的交互,用于各种用例,包括手势辨识、存在检测、生物特征辨识、导航辅助和/或健康监测。
机器学习和算法应用编程接口304表示雷达应用编程接口210的第二层310-2(或中上层)。使用机器学习和算法应用编程接口304,具有一些雷达知识的工程师可以在雷达系统102内建立和训练机器学习模型。另外,机器学习和算法应用编程接口304可以使这些工程师能够定制核心算法,该核心算法使雷达系统102能够分析高级雷达数据(例如,预处理的雷达数据)。
数字信号处理应用编程接口306表示雷达应用编程接口210的第三层310-3(例如,中下层)。数字信号处理应用编程接口306可以定义雷达系统102可以执行以处理原始数据的函数库。这些函数可以生成频谱图、计算多普勒、执行数字波束成形等等。使用数字信号处理应用编程接口306,具有一些雷达知识的工程师可以定制由雷达系统102执行的数字信号处理。
硬件抽象应用编程接口308表示雷达应用编程接口308的第四层310-4(例如,较低层)。硬件抽象应用编程接口308可以抽象雷达系统102的硬件实现方式的细节,并实现独立于雷达系统102的硬件的标准化输出。使用硬件抽象应用编程接口308,具有雷达知识的工程师可以定制雷达系统102内的包括天线阵列214和/或收发器216的硬件的操作和配置。
有时,雷达系统102可以根据各种一个或多个可用配置312来操作。在一些情况下,这些配置312根据雷达系统102的限制和/或智能设备104的限制得出。一些限制被认为是固定限制,其不太可能随时间变化。例如,固定限制可以是基于与雷达系统102相关联的硬件限制(例如,与天线阵列214、收发器216和/或系统处理器218相关联)。示例固定限制包括雷达系统102的可用频带、带宽、发射功率水平、天线配置和/或双工配置。其他限制被认为是动态限制,其可能随时间变化。示例动态限制包括可用功率量(例如,智能设备104的电池电量)、可用存储器的量(例如,系统介质220或计算机可读介质204的大小)、和/或处理能力量(例如,系统处理器218或计算机处理器202的处理能力)。
可用配置312表示用于生成雷达信号、发射雷达信号、接收反射的雷达信号和/或处理反射的雷达信号的雷达系统102的操作配置。在一些情况下,可用配置312指定雷达信号的可调整特性,诸如载波频率、带宽、雷达波形(例如,调制类型)和/或发射功率水平。可用配置312还可以包括雷达系统102的硬件配置、雷达系统102的软件配置、雷达系统102的雷达感测性能度量、雷达系统102和/或智能设备104的可用资源、或它们的某种组合。可用配置312可以包括至少一个默认配置。
示例硬件配置包括天线配置,诸如用于发射和接收的单个天线、用于发射和/或接收的相位阵列、或MIMO操作。另一示例硬件配置包括双工配置,诸如实现脉冲多普勒雷达的半双工配置或实现调频连续波雷达的全双工配置。
示例软件配置可以包括雷达信号处理配置。雷达信号处理配置指定雷达系统102可以用来确定关于对象的显式信息的信号处理技术。一些雷达信号处理配置可以被定制为较不复杂,并利用较少存储器。例如,第一雷达信号处理配置执行傅里叶变换(例如,快速傅里叶变换(FFT))并使用检测阈值算法。利用这些技术,第一雷达信号处理配置可以检测对象并测量到对象的距离。其他雷达信号处理配置可能更复杂,并利用更多存储器,以减少虚警并提高准确性。例如,第二雷达信号处理配置可以包括用于监测杂波的杂波跟踪器、用于提高检测对象的可能性并提高测量精度的跟踪算法、和/或用于测量与对象的一个或多个角度的数字波束成形器。
在一个方面中,雷达应用编程接口210可以使工程师能够根据可用配置312之一来配置雷达系统102。在另一方面中,雷达应用编程接口210可以使工程师能够参考可用配置312,并基于可用配置312创建新的定制配置。
在操作期间,应用206向雷达应用编程接口210发送请求314。请求314可以指定雷达系统102的特定操作配置,或者从雷达系统102请求特定信息。示例类型的信息可以包括可用配置312的列表、雷达系统102的性能能力、由雷达系统102收集的特定类型的数据或者错误报告。请求314可以应用于用例应用编程接口302、机器学习和算法应用编程接口304、数字信号处理应用编程接口306和/或硬件抽象应用编程接口308。一些请求314可以重置或重启雷达系统102。
雷达应用编程接口210可以将请求314映射到雷达系统102的配置316(例如,可用配置312之一)。有时,雷达应用编程接口210可以从应用206或各种不同的应用接收多个请求314。雷达系统102可以一起处理这些请求314,并确定满足多个请求314的雷达系统102的适当配置316。以此方式,雷达应用编程接口210使得雷达系统102能够高效地为各种不同的应用206或用例提供雷达感测。雷达系统102接收该配置316并相应地操作。
雷达系统102向雷达应用编程接口210发送雷达数据318。雷达数据318可以指示是否检测到特定手势,或者包括由雷达系统102收集的数据(例如,接收到的信号的原始数字样本或表示距离多普勒图的数据)。响应于接收到雷达数据318,雷达应用编程接口210可以格式化雷达数据318并向应用206提供响应320。在一些情况下,响应320可以包括雷达数据318。响应320还可以包括与假正例(false positive)相关联的错误报告。利用该信息,应用206可以对请求314进行适当的调整以减少假正例。各种应用编程接口可以与雷达系统102的不同操作层级相关联,如参考图3-2进一步描述的。
图3-2示出雷达应用编程接口210的多个层310-1至310-4与雷达系统102的操作层级322-1至322-4之间的示例关系。在所描绘的配置中,雷达系统102与多个层级322(或操作层级)相关联。通常,上部层级322包括对较高层级雷达数据(例如,预处理的雷达数据)进行操作的模块。在接收期间,这些模块可以在接收过程接近结束时执行,以生成由应用206请求的雷达数据318。较低层级322可以包括对较低层级雷达数据(例如,原始雷达数据)进行操作的模块。在接收期间,这些模块可以在接收过程接近开始时(或者至少在与上部层级322相关联的模块之前)执行。较低层级322还可以涉及雷达系统102的硬件配置。
如图3-2中所示,雷达数据处理模块224与雷达系统102的第一层级322-1(例如,第一操作层级)和第二层级322-2(例如,第二操作层级)相关联。特别地,检测模块232与第一层级322-1相关联,并且对象跟踪器230与第二层级322-2相关联。数字信号处理模块222与雷达系统102的第三层级322-3(例如,第三操作层级)相关联。雷达系统102的硬件324——其包括天线阵列214和收发器216——与第四层级322-4相关联。
雷达应用编程接口210的每个层310可以与雷达系统102的一个或多个层级322相关联。特别地,雷达应用编程接口210的每个层310可以直接或经由应用编程接口引擎226间接地与雷达系统102的对应层级322通信。通过这些通信,雷达应用编程接口210的每个层310可以管理与雷达系统102的对应层级322相关联的操作参数和/或模块。雷达应用编程接口210还可以从雷达系统102的对应层级322提取信息和/或定制与对应层级322相关联的模块的输入和/或输出。
在该示例中,用例应用编程接口302与检测模块232相关联。利用这种关系,用例应用编程接口302可以定制雷达系统102的操作,用于手势辨识、存在检测、生物特征辨识、碰撞避免、健康监测等等。特别地,用例应用编程接口302可以指定检测模块232的不同状态,如参考图10进一步描述。
机器学习和算法应用编程接口304与对象跟踪器230相关联。利用这种关系,机器学习和算法应用编程接口304可以定制对象跟踪器230的操作,并指定对象跟踪器230的输出格式。
数字信号处理应用编程接口306与数字信号处理模块222(或硬件抽象模块228)相关联。利用这种关系,数字信号处理应用编程接口306可以定制雷达系统102的数字信号处理操作,其可以包括杂波抑制、噪声消除、检测阈值、多普勒滤波、干涉测量和/或数字波束成形。数字信号处理应用编程接口306还可以指定诸如积分时间和更新速率的特征。
硬件抽象应用编程接口308与硬件324相关联。利用这种关系,硬件抽象应用编程接口308可以定制天线阵列214和/或收发器216的操作。例如,硬件抽象应用编程接口308可以指定发射的雷达信号的波形参数,诸如发射功率、频率、带宽、调制类型(例如,频率或相位调制)。硬件抽象应用编程接口308还可以指定辐射方向图(例如,主瓣的方向和/或波束宽度)、脉冲宽度、脉冲重复频率(PRF)(例如,脉冲间周期(IPP))、脉冲的数量、占空比、或极化(例如,水平极化、垂直极化和/或圆极化)等。
在一些情况下,硬件抽象应用编程接口308可以使外部方能够指定雷达系统102的较高层级操作方面,诸如检测范围,并将其映射到一个或多个操作参数,诸如发射功率。作为另一示例,硬件抽象应用编程接口308可以使用户能够指定分辨率(例如,距离、多普勒和/或角度),并将其映射到一个或多个操作参数(例如,带宽、积分时间或活动天线元件的数量)。参考图4至10进一步描述用于支持手势辨识的雷达应用编程接口120和雷达系统102的操作。
图4示出由应用206生成并向雷达应用编程接口210提供的用于手势辨识的示例请求314。在此示例中,雷达应用编程接口210可以表示用例应用编程接口302。雷达应用编程接口210使得应用206能够定制雷达系统102的操作以用于手势辨识。以此方式,应用206可以控制雷达系统102可以检测到的手势的类型以及雷达系统102的假正例率(例如,雷达系统102将其他运动错误地辨识为手势的比率)。
对于手势辨识,应用206向雷达应用编程接口210发送请求314。请求314包括模式辨识序列402,模式辨识序列402指定对象在执行手势时的行为状态序列。手势逐步经过至少两个状态。每个状态可以描述可以使用雷达感测来测量或确定对象执行手势的一个或多个特性(或特征)。例如,每个状态可以描述执行手势的对象的相对或绝对位置、与执行手势的对象相关联的运动(例如,离程变化率、速率、加速度或其任何导数)、执行手势的对象的定向或雷达散射截面、执行手势的对象的组成、和/或其某种组合。
每个模式辨识序列402至少包括描述手势的开始行为或开始特征的开始状态,以及描述手势的结束行为或结束特征的结束状态。根据手势的复杂性,一些模式辨识序列402还可以包括一个或多个中间状态,其描述手势的发生在开始和结束状态之间的一个或多个行为或特征。使用模式辨识序列402,应用206可以以将其与其他类型的运动或手势区分开来的方式来定义手势。以此方式,应用206可以控制雷达系统102检测特定手势的灵敏度以及雷达系统102忽略与手势不相关联的其他运动的能力。
增加灵敏度可以使雷达系统102能够检测具有不同变化的由各种不同用户执行的手势。例如,一些用户可以使用不同的速度或使用不同程度的微妙或夸张来执行手势。增加灵敏度还可以提高残疾人执行手势的可达性(accessibility)。然而,增加灵敏度也可能导致雷达系统102生成假正例。例如,雷达系统102可能基于用户执行与手势不相关的其他运动而意外地检测到手势,这些运动诸如吸尘、带着智能设备104行走、在智能设备104旁边遛狗、在智能设备104旁边叠衣服、在智能设备104旁边铺床、在智能设备104旁边洗碗、重新定位接近智能设备104的对象等等。通过定义模式辨识序列402,应用206可以控制雷达系统102的灵敏度水平,并管理雷达系统102的假正例率。
模式辨识序列402包括状态404-1、404-2…404-P,其中P表示正整数。每个状态404-1至404-P定义在手势的一部分期间对象的行为。各个状态404-1至404-P可以包括至少一个准则406,并且可以可选地传递一个或多个输出408。准则406可以包括一个或多个进入准则、一个或多个退出准则或其某种组合。进入准则表示用于进入状态404-1至404-P的准则,并且退出准则表示用于退出状态404-1至404-P的准则。每个准则406可以指定阈值、条件比较(例如,大于、小于或等于)、逻辑运算(例如,AND、OR或NOT)、有效值的范围、或增量变化(例如,位移)。
示例准则406包括位置准则410、运动准则412、物理特性准则414和持续时间准则416。位置准则410包括与执行手势的对象的位置相关联的准则。例如,位置准则410可以包括离程准则418(例如,距离准则或斜距(slant-range)准则)或角度准则420(例如,方位角准则和/或仰角准则)。
运动准则412包括与执行手势的对象的运动相关联的准则。例如,运动准则412可以包括离程变化率准则422或速率准则424。作为另一示例,运动准则412可以包括加速度或加加速度准则(未示出)。离程变化率准则422可以是基于多普勒确定的离程变化率或距离确定的离程变化率。
物理特性准则414包括与执行手势的对象的物理特性相关联的准则。例如,物理特性准则414可以包括雷达散射截面(RCS)准则426(RCS准则426),其描述对象的雷达散射截面的行为。另外地或替选地,物理特性准则414可以包括材料组成准则428,其描述对象的组成(例如,人体组织、金属、木材或布料)。尽管未示出,物理特性准则414还可以包括与对象的大小或尺寸相关联的准则。
持续时间准则416指定满足至少一个其他准则的持续时间。该持续时间可以根据雷达系统102检测到对象的时间间隔或雷达帧的数量(例如,实例)来指定。
输出408使当前状态404能够将信息传递到模式辨识序列402内的下一状态404。示例输出408可以包括位置信息(例如,距离或角度)、运动信息(例如,多普勒频率、离程变化率或速率)、或物理信息(例如,大小、雷达散射截面、材料组成)。通过接收输出408,下一状态404可以评估对象的行为是否保持相对类似于前一状态或在整个手势中变化。
通常,模式辨识序列402可以包括任何数量的状态404-1至404-P,其使得模式辨识序列402能够定义简单或复杂的手势。相对于诸如远近推移(pump)手势或手语的更复杂手势,诸如探伸手势的简单手势可以具有更少的状态404。每个状态404-1至404-P的准则406可以允许严格或宽松的容限,这影响了雷达系统102用于检测手势的灵敏度和假正例率。参考图5-1至图7-2中的各种手势进一步描述示例模式辨识序列402。
图5-1示出与对象500执行远近推移手势502相关联的示例模式辨识序列402-1。为了执行远近推移手势502,对象500朝向智能设备104移动,并且相对于雷达系统102以大约恒定的角度远离智能设备104移动。在图5-1中,对象500被示出为人的手。然而,可以替选地使用其他类型的对象,包括无生命对象。
在此示例中,模式辨识序列402-1包括状态404-1、404-2和404-3。状态404-1包括角度准则420、离程变化率准则422-1和持续时间准则416-1,它们表征对象500在其接近智能设备104时的行为。状态404-2包括角度准则420和离程变化率准则422-1,它们表征了对象500在其距离智能设备104较短距离处减慢时的行为。状态404-3包括角度准则420、离程变化率准则422-3和持续时间准则416-2,它们表征对象500在其远离智能设备104移动时的行为。
跨状态404-1至404-3的准则可以是类似的,诸如在角度准则420的情况下,或者是不同的,诸如在离程变化率准则422-1、422-2和422-3的情况下。为了减少假正例,状态404-1至404-3可以包括其他准则。例如,状态404-1至404-3可以包括雷达散射截面准则426,以在用手指指向垂直于手的运动的方向做出的远近推移手势502或者用手指卷曲成拳头做出的另一远近推移手势502之间进行区分。作为另一示例,状态404-1至404-3可以包括材料组成准则428,以在用手做出的远近推移手势502和用触控笔做出的远近推移手势502之间进行区分。参考图5-2进一步描述与状态404-1至404-3相关联的准则406。
图5-2示出对象500执行远近推移手势502的示例行为。图形504描绘在远近推移手势502的持续时间内对象500的离程变化率。可以基于测量的多普勒频率或对象500的测量到的离程(例如,距离)的变化来确定离程变化率。在此情况下,离程变化率从负值变为正值。图形506描绘在远近推移手势502的持续时间内对象500的角度。在此情况下,角度保持相对恒定,其是远近推移手势502的特性。对于该示例,考虑状态404-1到404-3的准则406表示退出准则。
在时间T0处,对象500具有小于状态404-1的离程变化率准则422-1的离程变化率。对象500还具有保持在由状态404-1的角度准则420指定的余量内的角度。在此情况下,对象500可以处于任何角度,只要该角度没有显著变化(例如,变化不超过指定的余量)。对象500在由持续时间准则416-1指定的持续时间内满足离程变化率准则422-1和角度准则420。因此,远近推移手势502的第一部分由状态404-1来表征。
在时间T1和T2之间,对象500的离程变化率在由状态404-2的离程变化率准则422-2指定的阈值之间。这些阈值使得离程变化率准则422-2能够捕获离程变化率变化符号(例如,从负变到正)。这指示对象500从朝向智能设备104行进改变方向到远离智能设备104行进。此外,对象500的角度保持在角度准则420内。以此方式,远近推移手势502的第二部分由状态404-2来表征。
在时间T3处,对象500的离程变化率大于状态404-3的离程变化率准则422-3。此外,对象500的角度保持在角度准则420内。对象在由持续时间准则416-2指定的持续时间内满足离程变化率准则422-3和角度准则420。以此方式,远近推移手势502的第三部分由状态404-3来表征。
通过辨识满足依序的状态404-1、404-2和404-3的准则的对象,雷达系统102可以辨识远近推移手势502,并且雷达应用编程接口210可以向应用206发送响应320,指示发生了远近推移手势502。应用206可以响应于接收到响应320而执行动作。例如,应用206可以停止定时器、点击按钮、激活所选选项或暂停媒体。
一些应用206可以在状态404-1至404-3中的一个或多个内添加附加准则406,或者收紧准则406的容限以减少假正例。例如,应用206可以向状态404-2添加离程准则418,以要求对象500在距离智能设备104的最小距离内。作为另一示例,应用206可以将雷达散射截面准则426或材料组成准则428添加到状态404-1至404-3,以在由用户执行的远近推移手势502和当用户在智能设备104旁边时铺他们的床时床单的翻转之间进行区分。作为又一示例,离程变化率准则422-1和422-3可以被适当地设置成使得能够检测远近推移手势502并拒绝与吸尘相关联的检测,后者可能具有较慢的离程变化率,其不满足离程变化率准则422-1或422-3。
图6-1示出与对象500执行滑动手势602相关联的示例模式辨识序列402-2。为了执行滑动手势602,对象500沿着相对直的路径跨智能设备104移动。对于全向滑动手势,直的路径可以沿任何方向定向。替选地,直的路径可以沿着与方向特定的滑动手势相关联的特定方向(例如,从上到下的方向、从下到上的方向、从左到右的方向或从右到左的方向)定向。在图6-1中,对象500被示出为人的手。然而,可以替选地使用其他类型的对象,包括无生命对象。
在此示例中,模式辨识序列402-2包括状态404-1和404-2。状态404-1包括角度准则420-1、速率准则424和持续时间准则416-1,它们表征对象500在其开始跨智能设备104滑动时的行为。状态404-2包括角度准则420-2、速率准则424和持续时间准则416-2,它们表征对象500在其继续跨智能设备104滑动时的行为。
跨状态404-1和404-2的准则406可以是类似的,诸如在速率准则424的情况下,或者是不同的,诸如在角度准则420-1和420-2的情况下。参考图6-2进一步描述与状态404-1和404-2相关联的准则406。
图6-2示出对象500执行滑动手势602的示例行为。图形604描绘在滑动手势602的持续时间内对象500的速率。可以基于对象500的测量位置的变化来确定速率。在此情况下,速率保持相对恒定。图形606描绘在滑动手势602的持续时间内对象500的角度。在此情况下,角度随时间变化,这是滑动手势602的特性。对于该示例,考虑状态404-1和404-2的准则406表示退出准则。
在时间T0和T1之间,对象500的速率高于由状态404-1的速率准则424指定的阈值。此外,对象500的角度变化由角度准则420-1指定的量。对象500在由持续时间准则416-1指定的持续时间内满足速率准则424和角度准则420-1。因此,滑动手势602的第一部分由状态404-1来表征。
在时间T1和T2之间,对象500的速率保持高于由速率准则424指定的阈值。此外,对象500的角度变化由角度准则420-2指定的量。对象500在由持续时间准则416-2指定的持续时间内满足速率准则424和角度准则420-1。因此,滑动手势602的第二部分由状态404-2来表征。
通过辨识满足依序的状态404-1和404-2的准则的对象,雷达系统102可以辨识滑动手势602,并且雷达应用编程接口210可以向应用206发送响应320,指示发生了滑动手势602。应用206可以响应于接收到响应320而执行动作。例如,应用206可以滚动内容或播放播放列表中的下一首歌曲。
模式辨识序列402-2的其他实现方式可以包括支持沿着特定方向的滑动手势602的角度准则420。为了辨识从左到右的滑动手势602,状态404-1的角度准则420-1可以识别对象500是否出现在智能设备104的左侧。此外,状态404-2的角度准则420-2可以识别对象500是否行进到智能设备104的右侧。
一些应用206可以在状态404-1和404-2中的一个或多个内添加附加准则406,或者收紧准则406的容限以减少假正例。例如,应用206可以将材料组成准则428添加到状态404-1和404-2,以在由用户执行的滑动手势602和用户跨智能设备104移动无生命对象(例如,杯子或纸)之间进行区分。
图7-1示出与对象500执行探伸手势702相关联的示例模式辨识序列402-3。为了执行探伸手势702,对象500沿着相对直的路径朝向智能设备104移动。在此示例中,模式辨识序列402-3包括状态404-1和404-2。状态404-1包括离程准则418-1、离程变化率准则422和持续时间准则416-1,它们表征对象500在其开始伸向智能设备104时的行为。状态404-2包括离程准则418-2、离程变化率准则422和持续时间准则416-2,它们表征对象500在其继续伸向智能设备104时的行为。
跨状态404-1和404-2的准则406可以是类似的,诸如在离程变化率准则422的情况下,或者是不同的,诸如在离程准则418-1和418-2的情况下。参考图7-2进一步描述与状态404-1和404-2相关联的准则406。
图7-2示出对象500执行探伸手势702的示例行为。图形704描绘在探伸手势702的持续时间内对象500的离程变化率的绝对值。可以基于测量的多普勒频率或对象500的测量离程(例如,距离)的变化来确定离程变化率。在此情况下,离程变化率保持相对恒定。图形706描绘在探伸手势702的持续时间内对象500的离程(例如,距离)。在此情况下,离程随时间减小,这是探伸手势702的特性。对于该示例,考虑状态404-1和404-2的准则表示退出准则。
在时间T0和T1之间,对象500的离程变化率的绝对值高于由状态404-1的离程变化率准则422指定的阈值。此外,对象500的离程小于离程准则418-1。对象500在由持续时间准则416-1指定的持续时间内满足离程变化率准则422和离程准则418-1。因此,探伸手势702的第一部分由状态404-1来表征。
在时间T1和T2之间,对象500的离程变化率的绝对值高于由离程变化率准则422指定的阈值。此外,对象500的离程小于离程准则418-2。对象500在由持续时间准则416-2指定的持续时间内满足离程变化率准则422和离程准则418-2。因此,探伸手势702的第二部分由状态404-2来表征。
通过辨识满足依序的状态404-1和404-2的准则406的对象,雷达系统102可以辨识探伸手势702,并且雷达应用编程接口210可以向应用206发送响应320,指示发生了探伸手势702。应用206可以响应于接收到响应320而执行动作。例如,应用206可以激活传感器、发起面部认证或打开显示器。参考图8至图10进一步描述雷达系统102的操作。
图8示出雷达系统102的示例天线阵列214和示例收发器216。在所描绘的配置中,收发器216包括发射器802和接收器804。发射器802包括至少一个压控振荡器806和至少一个功率放大器808。接收器804包括至少两个接收信道810-1至810-M,其中M是大于一的正整数。每个接收信道810-1至810-M包括至少一个低噪声放大器812、至少一个混频器814、至少一个滤波器816和至少一个模数转换器818。天线阵列214包括至少一个发射天线元件820和至少两个接收天线元件822-1至822-M。发射天线元件820耦合到发射器802。接收天线元件822-1至822-M分别耦合到接收信道810-1至810-M。雷达系统102的其他实现方式可以包括多个发射天线元件820和/或单个接收天线元件822。
在传输期间,压控振荡器806生成在射频下的调频雷达信号824。功率放大器808放大调频雷达信号824,以便经由发射天线元件820传输。发射的调频雷达信号824由雷达发射信号826表示,其可以包括多个啁啾。作为示例,雷达发射信号826包括16个啁啾,它们可以以连续突发或作为时间分离的脉冲来发射。例如,每个啁啾的持续时间可以在几十或几千微秒的数量级(例如,在大约30微秒(μs)和5毫秒(ms)之间)。
啁啾的各个频率可以随时间增加或减少。雷达系统102可以采用双斜率循环(例如,三角频率调制)来随时间线性增加和线性减少啁啾的频率。双斜率循环使得雷达系统102能够测量由对象500的运动引起的多普勒频移。通常,啁啾的传输特性(例如,带宽、中心频率、持续时间和发射功率)可以被定制以实现用于检测对象500的一个或多个特性的特定检测范围、离程分辨率或多普勒灵敏度。在一些情况下,啁啾的特性由应用206使用雷达应用编程接口210来定制。例如,应用编程接口引擎226可以可选地配置发射器802,以根据雷达应用编程接口210生成特定类型的雷达信号。
在接收期间,每个接收天线元件822-1至822-M接收雷达接收信号828-1至828-M,其表示雷达发射信号826的延迟版本。延迟量与雷达系统102的天线阵列214和对象500之间的距离成比例。特别地,该延迟表示雷达发射信号826从雷达系统102传播到对象500所花费的时间和雷达接收信号828-1至828-M从对象500传播到雷达系统102所花费的时间的总和。通常,雷达接收信号828-1至828-M之间的相对相位差是由于接收天线元件822-1至822-M的定位差异造成的。如果对象500正在移动,则由于多普勒效应,雷达接收信号828-1至828-M相对于雷达发射信号826在频率上偏移。类似于雷达发射信号826,雷达接收信号828-1至828-M由一个或多个啁啾组成。
在每个接收信道810-1至810-M内,低噪声放大器812放大雷达接收信号828,并且混频器814将放大的雷达接收信号828与调频雷达信号824混频。特别地,混频器执行拍频操作(beating operation),该拍频操作对雷达接收信号828进行下变频和解调,以生成拍频信号830。
拍频信号830的频率表示调频雷达信号824与雷达接收信号828之间的频率差,其与斜距成比例。尽管未示出,但是拍频信号830可以包括多个频率,其表示来自外部环境内的不同对象或对象部分的反射。在一些情况下,这些不同对象以不同速度移动,在不同方向上移动,或者相对于雷达系统102定位在不同的斜距处。
滤波器816对拍频信号830进行滤波,并且模数转换器818对滤波的拍频信号830进行数字化。接收信道810-1至810-M分别生成数字拍频信号832-1至832-M,这些信号被提供给系统处理器218进行处理。收发器216的接收信道810-1至810-M耦合到系统处理器218,如图9中所示。
图9示出硬件抽象模块228、对象跟踪器230、检测模块232、应用编程接口引擎226和雷达应用编程接口210的示例操作。系统处理器218连接到接收信道810-1至810-M,并且还可以与雷达应用编程接口210通信。在所描绘的配置中,系统处理器218实现硬件抽象模块228、对象跟踪器230、检测模块232和应用编程接口引擎226。尽管未示出,但是硬件抽象模块228、对象跟踪器230、检测模块232和/或应用编程接口引擎226可以替选地由计算机处理器202实现。
在一些实现方式中,应用编程接口引擎226可以处置系统处理器218与雷达应用编程接口210之间的通信。例如,应用编程接口引擎226可以接受来自雷达应用编程接口210的模式辨识序列402,并将模式辨识序列402传递到检测模块232或者根据模式辨识序列402来配置检测模块232。应用编程接口引擎226还可以将雷达数据318从检测模块232传递到雷达应用编程接口210。在一些情况下,应用编程接口引擎226以由雷达应用编程接口210指定的方式来格式化雷达数据318。在其他实现方式中,雷达应用编程接口210和检测模块232可以在不经由应用编程接口引擎226对接的情况下进行通信。在此情况下,雷达应用编程接口210将模式辨识序列402传递到检测模块232,并且检测模块232将雷达数据318传递到雷达应用编程接口210。
在此示例中,硬件抽象模块228接受来自接收信道810-1至810-M的数字拍频信号832-1至832-M。数字拍频信号832-1至832-M表示原始或未处理的复杂数据。硬件抽象模块228基于数字拍频信号832-1至832-M来执行一个或多个操作以生成复杂雷达数据(complexradar data)900。复杂雷达数据900包括幅度和相位信息(例如,同相和正交分量)两者。在一些实现方式中,复杂雷达数据900包括表示每个接收信道810-1至810-M的距离多普勒图的信息。在其他实现方式中,复杂雷达数据900包括角度信息。角度信息可以隐含在复杂雷达数据900内,诸如在多个距离多普勒图内。替选地,系统处理器218或对象跟踪器230执行数字波束成形,以显式地提供角度信息,诸如以表示四维距离多普勒方位角仰角图的信息的形式。其他形式的复杂雷达数据900也是可能的。例如,复杂雷达数据900可以包括每个接收信道810-1至810-M的复杂干涉测量数据(complex interferometry data)。复杂干涉测量数据是距离多普勒图的正交表示。在又一示例中,复杂雷达数据900包括活动雷达帧的数字拍频信号832-1至832-M的频域表示。有时,复杂雷达数据900可以包括上述示例中的任何的组合。例如,复杂雷达数据900可以包括与距离多普勒图和复杂干涉测量数据相关联的幅度信息。尽管未示出,但是雷达系统102的其他实现方式可以直接向应用编程接口引擎226提供数字拍频信号832-1至832-M。
对象跟踪器230分析复杂雷达数据900,并识别复杂雷达数据900内的各个对象。随着时间的推移,对象跟踪器230编译关于这些对象的信息,包括位置信息、运动信息、物理特性信息或其某种组合。在该示例中,对象跟踪器230生成对象500-1至500-O的雷达时间线902-1至902-O,其中O表示正整数。在一些情况下,对象跟踪器230生成与最接近的移动对象500相关联的单个雷达时间线902。这可以加速应用编程接口引擎226的执行。
检测模块232从对象跟踪器230接受雷达时间线902-1至902-O,并从雷达应用编程接口210接受模式辨识序列402。检测模块232辨识雷达时间线902-1至902-O中的至少一个内的模式辨识序列402,并向雷达应用编程接口210发送雷达数据318。基于雷达数据318,雷达应用编程接口210生成响应320,该响应320被提供给应用206。参考图10进一步描述检测模块232的操作。
图10示出由检测模块232实现的示例方案。对于手势辨识,检测模块232基于由模式辨识序列402指定的状态404-1至404-P来实现状态机。检测模块232接受与对象500相关联的雷达时间线902。雷达时间线902包括事件1000-1至1000-A的列表,其中A表示正整数。每个事件1000可以包括时间戳1002、位置信息1004、运动信息1006、物理特性信息1008或其某种组合。位置信息1004、运动信息1006和物理特性信息1008可以是基于测量数据、平滑数据和/或预测数据。
当雷达时间线902满足每个状态的准则406时,检测模块232遍历状态404-1至404-P来转变。响应于完成状态404-P,检测模块232向雷达应用编程接口210发送雷达数据318,以使得雷达应用编程接口210向应用206发送响应320。该过程可以针对多个雷达时间线902-1至902-O执行。在一些情况下,当对象跟踪器230编译雷达时间线902-1至902-O时,这些操作可以并行执行。
在一些情况下,雷达系统102可以观测到与手势不相关联的其他运动。这些其他运动可以包括吸尘、行走、遛狗、叠衣服、铺床和/或重新定位对象。如果这些其他运动被雷达系统102观测到,则检测模块232可以基于模式辨识序列402确定这些其他运动不与手势相关联。考虑状态404-1至404-P是以使得在手势和这些其他运动之间进行区分的方式定义的。特别地,状态404-1至404-P描述手势的不同于其他运动的一个或多个特征。当其他运动发生时,检测模块232确定不满足状态404-1至404-P中的至少一个的准则406。以此方式,雷达系统102确定其他运动不与手势相关联。雷达系统102不一定必须在这些其他运动之间进行区分或识别这些其他运动中的每个。可选地,一些雷达系统102可以利用描述这些其他运动的特征的附加模式辨识序列404。以此方式,雷达系统102可以显式地辨识这些其他运动中的一个或多个。
有时,雷达系统102可以根据多种模式操作,或者在相同时间间隔期间支持多个应用206。在此情况下,系统处理器218可以执行检测模块232的可以并行运行的多个实例。在此情况下,检测模块232的每个实例可以由对应的应用206使用雷达应用编程接口210来配置。例如,检测模块232的一个实例可以被配置用于由第一应用206的手势辨识,并且检测模块232的另一实例可以被配置用于由第二应用206的健康监测。此外,检测模块232的第三实例可以被不同地配置用于由第三应用206的手势辨识。
示例方法
图11描绘由雷达系统102使用雷达应用编程接口210执行的示例方法1100。方法1100被示出为执行的操作(或动作)的集合,但不必限于本文示出操作的顺序或组合。此外,可以重复、组合、重组或链接一个或多个操作中的任何操作,以提供广泛的附加和/或替选方法。在以下讨论的部分中,可以参考图1的环境100-1至100-6,以及图2-1、图2-2、图3-1或图4中详细描述的实体,对它们的参考仅作为示例。这些技术不限于由在一个设备上操作的一个实体或多个实体来执行。
在1102处,经由智能设备的雷达应用编程接口的多个层中的第一层接受来自智能设备的应用的第一请求。第一请求包括指定与手势相关联的状态的序列的模式辨识序列。雷达应用编程接口的多个层与雷达系统的不同操作层级相关联。例如,雷达系统102经由智能设备104的雷达应用编程接口210的第一层310-1来接受来自智能设备104的应用206的第一请求314,如图3-1中所示。第一请求314包括模式辨识序列402,其指定与手势相关联的状态404-1至404-P的序列,如图4中所示。示例手势可以包括远近推移手势502、滑动手势602、探伸手势702、或者上文参考图1所描述的任何手势。雷达应用编程接口210的多个层310与雷达系统102的不同操作层级322相关联,如图3-2中所示。雷达应用编程接口210的第一层310-1可以对应于用例应用编程接口302。
在1104处,经由雷达应用编程接口的多个层中的第二层接受来自智能设备的应用的第二请求。第二请求包括用于检测手势的雷达系统的检测范围。例如,雷达系统102经由雷达应用编程接口210的第四层310-4接受来自应用206的第二请求314。第二请求314包括用于检测手势的雷达系统102的检测范围。雷达应用编程接口210的第四层310-4可以对应于硬件抽象应用编程接口308。
在1106处,基于检测范围来修改雷达系统的硬件配置。例如,应用编程接口引擎226修改雷达系统102的硬件配置(例如,硬件324)以实现指定的检测范围。特别地,应用编程接口引擎226调整发射功率、脉冲的数量、天线阵列214内的活动天线元件的数量和/或雷达系统102的波束成形模式,以实现指定的检测范围。硬件配置可以包括可用配置312中的一个。
在1108处,使用硬件配置来发射和接收雷达信号。雷达信号的至少一部分从执行手势的对象反射。例如,雷达系统102发射雷达发射信号826并接收雷达接收信号828-1至828-M,如图8中所示。雷达发射信号826的至少一部分从执行手势的对象500反射。对象500可以包括用户的肢体或无生命对象,诸如触控笔。
在1110处,基于模式辨识序列和接收雷达信号来辨识手势。例如,雷达系统102基于模式辨识序列402和雷达接收信号828-1至828-M来辨识手势。特别地,对象跟踪器230编译对象500的雷达时间线902。雷达时间线902描述对象500随时间的行为。该行为可以包括位置信息1004、运动信息1006和/或物理特性信息1008。检测模块232辨识对象500的雷达时间线902内的模式辨识序列402。特别地,检测模块232实现状态机,并且响应于雷达时间线902满足与依序的状态404-1至404-P相关联的准则406而辨识模式辨识序列402。
在1112处,经由雷达应用编程接口向应用发送响应。该响应指示手势的发生。例如,雷达应用编程接口210向应用206发送指示手势的发生的响应320。
示例计算系统
图12示出示例计算系统1200的各种组件,该示例计算系统1200可以被实现为参考先前的图2-1和图2-2所描述的任何类型的客户端、服务器和/或计算设备,以实现雷达应用编程接口210。
计算系统1200包括通信设备1202,通信设备1202实现设备数据1204(例如,接收的数据、正在接收的数据、被调度用于广播的数据或数据的数据包)的有线和/或无线通信。通信设备1202或计算系统1200可以包括一个或多个雷达系统102。设备数据1204或其他设备内容可以包括设备的配置设置、存储在设备上的媒体内容和/或与设备的用户相关联的信息。存储在计算系统1200上的媒体内容可以包括任何类型的音频、视频和/或图像数据。计算系统1200包括一个或多个数据输入1206,经由该一个或多个数据输入可以接收任何类型的数据、媒体内容和/或输入,诸如人类话语、用户可选择的输入(显式或隐式)、消息、音乐、电视媒体内容、记录的视频内容、以及从任何内容和/或数据源接收的任何其他类型的音频、视频和/或图像数据。
计算系统1200还包括通信接口1208,其可以被实现为串行和/或并行接口、无线接口、任何类型的网络接口、调制解调器中的任何一个或多个,并且可以被实现为任何其他类型的通信接口。通信接口1208提供计算系统1200与通信网络之间的连接和/或通信链路,其他电子、计算和通信设备通过该通信网络与计算系统1200通信数据。
计算系统1200包括一个或多个处理器1210(例如,微处理器、控制器等中的任何),该一个或多个处理器1210处理各种计算机可执行指令来控制计算系统1200的操作。替选地或另外地,计算系统1200可以用硬件、固件或固定逻辑电路中的任何一个或组合来实现,该固定逻辑电路结合通常在1212处识别的处理和控制电路来实现。尽管未示出,但是计算系统1200可以包括耦合设备内的各种组件的系统总线或数据传送系统。系统总线可以包括不同总线结构中的任何一种或组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种总线架构中的任何的处理器或本地总线。
计算系统1200还包括计算机可读介质1214,诸如实现持久和/或非暂时性数据存储(即,与单纯的信号传输相反)的一个或多个存储器设备,其示例包括随机存取存储器(RAM)、非易失性存储器(例如,只读存储器(ROM)、快闪存储器、EPROM、EEPROM等中的任何一个或多个)和磁盘存储设备。磁盘存储设备可以被实现为任何类型的磁性或光学存储设备,诸如硬盘驱动器、可记录和/或可重写紧密光盘(CD)、任何类型的数字多功能光盘(DVD)等。计算系统1200还可以包括大容量存储介质设备(存储介质)1216。
计算机可读介质1214提供数据存储机制来存储设备数据1204,以及各种设备应用1218和与计算系统1200的操作方面相关的任何其他类型的信息和/或数据。例如,操作系统1220可以利用计算机可读介质1214被维持为计算机应用,并在处理器1210上执行。设备应用1218还可以包括设备管理器,诸如任何形式的控制应用、软件应用、信号处理和控制模块、特定设备本地的代码、特定设备的硬件抽象层等等。
设备应用1218还包括实现雷达应用编程接口210的任何系统组件、引擎或管理器。在此示例中,设备应用1218包括图2-2的应用206、雷达应用编程接口210和应用编程接口引擎226。
总结
尽管已经用特定于特征和/或方法的语言描述了使用雷达应用编程接口的技术和包括雷达应用编程接口的装置,但应理解,所附权利要求的主题不必限于所描述的特定特征或方法。相反,特定特征和方法被公开为雷达应用编程接口的示例实现方式。
下文提供一些示例。
示例1:一种由智能设备的雷达系统执行的方法,该方法包括:
经由智能设备的雷达应用编程接口的多个层中的第一层接受来自智能设备的应用的第一请求,第一请求包括指定与手势相关联的状态的序列的模式辨识序列,雷达应用编程接口的多个层与雷达系统的不同操作层级相关联;
经由雷达应用编程接口的多个层中的第二层接受来自智能设备的应用的第二请求,第二请求包括用于检测手势的雷达系统的检测范围;
基于检测范围来修改雷达系统的硬件配置;
使用硬件配置来发射和接收雷达信号,雷达信号的至少一部分从移动的对象反射;
基于模式辨识序列和所接收的雷达信号来辨识手势;以及
响应于辨识,经由雷达应用编程接口向应用发送指示手势的发生的响应。
示例2:根据示例1的方法,其中:
雷达系统的不同操作层级包括:
与雷达系统的雷达数据处理模块相关联的第一操作层级;以及
与雷达系统的收发器的操作相关联的第二操作层级;
雷达应用编程接口的多个层中的第一层与第一操作层级相关联;以及
雷达应用编程接口的多个层中的第二层与第二操作层级相关联。
示例3:根据示例1的方法,进一步包括:
经由雷达应用编程接口的多个层中的第三层接受来自智能设备的应用的第三请求,第三请求包括指定与数字信号处理或数据处理相关联的模块的序列的实现链;以及
基于实现链来修改雷达系统的软件配置。
示例4:根据任何先前示例的方法,其中:
状态的序列包括至少两个状态,至少两个状态包括:
描述手势的至少一个开始特征的开始状态;以及
描述手势的至少一个结束特征的结束状态;以及
至少一个开始特征和至少一个结束特征各自描述能够使用雷达感测来确定的对象执行手势的的特性。
示例5:根据任何先前示例的方法,其中:
状态的序列内的每个状态包括与手势相关联的至少一个准则;
状态的序列包括第一状态;
第一状态包括第一准则;以及
第一准则包括以下中的至少一个:
用于进入第一状态的进入准则;或者
用于退出第一状态的退出准则。
示例6:根据示例5的方法,其中,进入准则或退出准则包括以下中的至少一个:
位置准则;
运动准则;
信号特性准则;或者
持续时间准则。
示例7:根据任何先前示例的方法,其中,手势的辨识包括:
基于所接收的雷达信号来编译对象的雷达时间线,该雷达时间线描述对象随时间的行为;以及
在雷达时间线内检测模式辨识序列。
示例8:根据示例7的方法,其中,雷达时间线包括多个事件,每个事件包括以下中的至少一个:
时间戳;
关于对象的位置信息;
关于对象的运动信息;或者
关于对象的物理特性信息。
示例9:根据示例7或8的方法,其中:
手势包括远近推移手势;以及
检测模式辨识序列包括:
根据状态的序列中的第一状态,检测对象在第一持续时间内沿着一角度以绝对值高于第一阈值的离程变化率朝向雷达系统移动;
根据状态的序列中的第二状态,检测对象从朝向雷达系统移动到远离雷达系统移动来改变方向;以及
根据状态的序列中的第三状态,检测对象在第二持续时间内沿着该角度以绝对值高于第二阈值的离程变化率远离雷达系统移动。
示例10:根据示例7或8的方法,其中:
手势包括滑动手势;以及
检测模式辨识序列包括:
根据状态的序列中的第一状态,检测对象在第一持续时间内以高于阈值的速率改变角度;以及
根据状态的序列中的第二状态,检测对象在第二持续时间内以高于阈值的速率沿着与第一状态相同的方向改变角度。
示例11:根据示例10的方法,其中:
滑动手势包括定向滑动手势;以及
检测对象改变角度进一步包括检测对象沿着与定向滑动手势相关联的方向改变角度。
示例12:根据示例7或8的方法,其中:
手势包括探伸手势;以及
检测模式辨识序列包括:
根据状态的序列中的第一状态,检测对象在第一持续时间内移动朝向雷达系统并具有小于第一阈值的离程;以及
根据状态的序列中的第二状态,检测对象在第二持续时间内移动朝向雷达系统并具有小于第二阈值的离程。
示例13:根据任何前述示例的方法,其中:
对象执行除了手势之外的其他运动;以及
该方法包括基于模式辨识序列来确定其他运动不与手势相关联。
示例14:根据示例13的方法,其中,其他运动与以下中的至少一个相关联:
人在吸尘;
该人带着智能设备行走;
该人在智能设备旁边遛狗;
该人在智能设备旁边叠衣服;
该人在智能设备旁边铺床;或者
该人重新定位接近智能设备的对象。
示例15:根据任何前述示例的方法,其中:
修改硬件配置包括调整发射功率、调整脉冲的数量、调整天线阵列内的活动天线元件的数量、和/或调整雷达系统的波束成形模式,以实现指定的检测范围。
示例16:一种装置,包括:
雷达系统,其被配置成执行示例1至15的方法中的任一种。
示例17:一种包括指令的计算机可读存储介质,这些指令响应于由处理器执行而使得雷达系统执行示例1至15的方法中的任一种。
Claims (17)
1.一种由智能设备的雷达系统执行的方法,所述方法包括:
经由所述智能设备的雷达应用编程接口的多个层中的第一层接受来自所述智能设备的应用的第一请求,所述第一请求包括指定与手势相关联的状态的序列的模式辨识序列,所述雷达应用编程接口的所述多个层与所述雷达系统的不同操作层级相关联;
经由所述雷达应用编程接口的所述多个层中的第二层接受来自所述智能设备的所述应用的第二请求,所述第二请求包括用于检测所述手势的所述雷达系统的检测范围;
基于所述检测范围来修改所述雷达系统的硬件配置;
使用所述硬件配置来发射和接收雷达信号,所述雷达信号的至少一部分从执行所述手势的对象反射;
基于所述模式辨识序列和所接收的雷达信号来辨识所述手势;以及
响应于所述辨识,经由所述雷达应用编程接口向所述应用发送指示所述手势的发生的响应。
2.根据权利要求1所述的方法,其中:
所述雷达系统的所述不同操作层级包括:
与所述雷达系统的雷达数据处理模块相关联的第一操作层级;以及
与所述雷达系统的收发器相关联的第二操作层级;
所述雷达应用编程接口的所述多个层中的所述第一层与所述第一操作层级相关联;以及
所述雷达应用编程接口的所述多个层中的所述第二层与所述第二操作层级相关联。
3.根据权利要求1所述的方法,进一步包括:
经由所述雷达应用编程接口的所述多个层中的第三层接受来自所述智能设备的所述应用的第三请求,所述第三请求包括指定与数字信号处理或数据处理相关联的模块的序列的实现链;以及
基于所述实现链来修改所述雷达系统的软件配置。
4.根据任一前述权利要求所述的方法,其中:
所述状态的序列包括至少两个状态,所述至少两个状态包括:
描述所述手势的至少一个开始特征的开始状态;以及
描述所述手势的至少一个结束特征的结束状态;以及
所述至少一个开始特征和所述至少一个结束特征各自描述能够使用雷达感测来确定的所述对象执行所述手势的特性。
5.根据任一前述权利要求所述的方法,其中:
所述状态的序列内的每个状态包括与所述手势相关联的至少一个准则;
所述状态的序列包括第一状态;
所述第一状态包括第一准则;以及
所述第一准则包括以下中的至少一个:
用于进入所述第一状态的进入准则;或者
用于退出所述第一状态的退出准则。
6.根据权利要求5所述的方法,其中,所述进入准则或所述退出准则包括以下中的至少一个:
位置准则;
运动准则;
信号特性准则;或者
持续时间准则。
7.根据任一前述权利要求所述的方法,其中,所述手势的所述辨识包括:
基于所接收的雷达信号来编译所述对象的雷达时间线,所述雷达时间线描述所述对象随时间的行为;以及
在所述雷达时间线内检测所述模式辨识序列。
8.根据权利要求7所述的方法,其中,所述雷达时间线包括多个事件,每个事件包括以下中的至少一个:
时间戳;
关于所述对象的位置信息;
关于所述对象的运动信息;或者
关于所述对象的物理特性信息。
9.根据权利要求7或8所述的方法,其中:
所述手势包括远近推移手势;以及
检测所述模式辨识序列包括:
根据所述状态的序列中的第一状态,检测所述对象在第一持续时间内沿着一角度以绝对值高于第一阈值的离程变化率朝向所述雷达系统移动;
根据所述状态的序列中的第二状态,检测所述对象从朝向所述雷达系统移动到远离所述雷达系统移动来改变方向;以及
根据所述状态的序列中的第三状态,检测所述对象在第二持续时间内沿着所述角度以绝对值高于第二阈值的离程变化率远离所述雷达系统移动。
10.根据权利要求7或8所述的方法,其中:
所述手势包括滑动手势;以及
检测所述模式辨识序列包括:
根据所述状态的序列中的第一状态,检测所述对象在第一持续时间内以高于阈值的速率改变角度;以及
根据所述状态的序列中的第二状态,检测所述对象在第二持续时间内以高于所述阈值的所述速率沿着与所述第一状态相同的方向改变所述角度。
11.根据权利要求10所述的方法,其中:
所述滑动手势包括定向滑动手势;以及
检测所述对象改变所述角度进一步包括检测所述对象沿着与所述定向滑动手势相关联的方向改变所述角度。
12.根据权利要求7或8所述的方法,其中:
所述手势包括探伸手势;以及
检测所述模式辨识序列包括:
根据所述状态的序列中的第一状态,检测所述对象在第一持续时间内移动朝向所述雷达系统并具有小于第一阈值的离程;以及
根据所述状态的序列中的第二状态,检测所述对象在第二持续时间内移动朝向所述雷达系统并具有小于第二阈值的离程。
13.根据任一前述权利要求所述的方法,其中:
所述对象除了所述手势之外还执行其他运动;以及
所述方法包括基于所述模式辨识序列来确定所述其他运动不与所述手势相关联。
14.根据权利要求13所述的方法,其中,所述其他运动与以下中的至少一个相关联:
人在吸尘;
所述人在带着所述智能设备行走;
所述人在所述智能设备旁边遛狗;
所述人在所述智能设备旁边叠衣服;
所述人在所述智能设备旁边铺床;或者
所述人在重新定位接近所述智能设备的对象。
15.根据任一前述权利要求所述的方法,其中:
修改所述硬件配置包括调整发射功率、调整脉冲的数量、调整天线阵列内的活动天线元件的数量和/或调整所述雷达系统的波束成形模式,以实现指定的检测范围。
16.一种装置,包括:
雷达系统,所述雷达系统被配置成执行根据权利要求1至15所述的方法中的任一种。
17.一种包括指令的计算机可读存储介质,所述指令响应于由处理器执行而使得所述雷达系统执行根据权利要求1至15所述的方法中的任一种。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163192500P | 2021-05-24 | 2021-05-24 | |
US63/192,500 | 2021-05-24 | ||
PCT/US2022/072525 WO2022251825A1 (en) | 2021-05-24 | 2022-05-24 | Radar application programming interface |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117222911A true CN117222911A (zh) | 2023-12-12 |
Family
ID=82358448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280031441.0A Pending CN117222911A (zh) | 2021-05-24 | 2022-05-24 | 雷达应用编程接口 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP4348292A1 (zh) |
JP (1) | JP2024520285A (zh) |
KR (1) | KR20230165914A (zh) |
CN (1) | CN117222911A (zh) |
WO (1) | WO2022251825A1 (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120280900A1 (en) * | 2011-05-06 | 2012-11-08 | Nokia Corporation | Gesture recognition using plural sensors |
US10579150B2 (en) * | 2016-12-05 | 2020-03-03 | Google Llc | Concurrent detection of absolute distance and relative movement for sensing action gestures |
US10914834B2 (en) * | 2017-05-10 | 2021-02-09 | Google Llc | Low-power radar |
-
2022
- 2022-05-24 CN CN202280031441.0A patent/CN117222911A/zh active Pending
- 2022-05-24 JP JP2023568039A patent/JP2024520285A/ja active Pending
- 2022-05-24 WO PCT/US2022/072525 patent/WO2022251825A1/en active Application Filing
- 2022-05-24 KR KR1020237037752A patent/KR20230165914A/ko unknown
- 2022-05-24 EP EP22736111.0A patent/EP4348292A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2024520285A (ja) | 2024-05-24 |
KR20230165914A (ko) | 2023-12-05 |
EP4348292A1 (en) | 2024-04-10 |
WO2022251825A1 (en) | 2022-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10936185B2 (en) | Smartphone-based radar system facilitating ease and accuracy of user interactions with displayed objects in an augmented-reality interface | |
US11435468B2 (en) | Radar-based gesture enhancement for voice interfaces | |
CN111812633B (zh) | 检测基于智能设备的雷达系统中的参考系变化 | |
US10921866B2 (en) | Access to high frame-rate radar data via a circular buffer | |
EP4131064A1 (en) | Gesture recognition method and related apparatus | |
US20230161027A1 (en) | Smart-Device-Based Radar System Performing Near-Range Detection | |
US20220326367A1 (en) | Smart-Device-Based Radar System Performing Gesture Recognition Using a Space Time Neural Network | |
US20240027600A1 (en) | Smart-Device-Based Radar System Performing Angular Position Estimation | |
US11860294B2 (en) | Electromagnetic vector sensors for a smart-device-based radar system | |
CN117222911A (zh) | 雷达应用编程接口 | |
US20210396867A1 (en) | Multi-Radar System | |
Cheraghinia et al. | A Comprehensive Overview on UWB Radar: Applications, Standards, Signal Processing Techniques, Datasets, Radio Chips, Trends and Future Research Directions | |
CN111830503B (zh) | 执行对称多普勒干扰减轻的基于智能设备的雷达系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |