CN110447014A - 经由循环缓冲器访问高帧率雷达数据 - Google Patents

经由循环缓冲器访问高帧率雷达数据 Download PDF

Info

Publication number
CN110447014A
CN110447014A CN201880019295.3A CN201880019295A CN110447014A CN 110447014 A CN110447014 A CN 110447014A CN 201880019295 A CN201880019295 A CN 201880019295A CN 110447014 A CN110447014 A CN 110447014A
Authority
CN
China
Prior art keywords
data frame
radar data
radar
data
cyclic buffer
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.)
Granted
Application number
CN201880019295.3A
Other languages
English (en)
Other versions
CN110447014B (zh
Inventor
贾森·P·桑德斯
加布里尔·O·陶布曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to CN202311664389.5A priority Critical patent/CN117785506A/zh
Publication of CN110447014A publication Critical patent/CN110447014A/zh
Application granted granted Critical
Publication of CN110447014B publication Critical patent/CN110447014B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1637Sensing arrangement for detection of housing movement or orientation, e.g. for controlling scrolling or cursor movement on the display of an handheld computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/033Indexing scheme relating to G06F3/033
    • G06F2203/0339Touch strips, e.g. orthogonal touch strips to control cursor movement or scrolling; single touch strip to adjust parameter or to implement a row of soft keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/12Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/22Details of telephonic subscriber devices including a touch pad, a touch sensor or a touch detector

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

描述了用于经由循环缓冲器访问高帧率雷达数据的技术和设备。在一些实施方式中,雷达传感器收集关于由雷达场检测到的对象的雷达数据并且将所述数据存储到循环缓冲器中。数据管理器监测所述循环缓冲器并且处理来自多个应用的数据请求。通过使用所描述的技术和设备,所述多个应用可以从所述循环缓冲器有效地访问所请求的雷达帧数据,从而减少与提供所请求的数据相关联的存储器需求和处理器资源使用。

Description

经由循环缓冲器访问高帧率雷达数据
背景技术
使用高帧率雷达数据的应用变得越来越普遍。例如,雷达传感器可以用来检测姿势,映射环境或者提高非雷达传感器的性能。高帧率雷达传感器的有用性创建环境,在这些环境中,多个应用需要更多且不同类型的雷达数据(例如,原始或者最低限度地处理的雷达数据、数字同相和正交数据、范围多普勒数据等)。目前,为了向多个应用提供来自单个雷达传感器的雷达数据,应用使用时间共享技术访问数据,该时间共享技术允许每个应用预定义的时间以获得它使用的特定数据。在其它情况下,每个应用都具有提供请求的数据的专用雷达传感器。在任何一种情况下,雷达传感器通常根据来自应用的请求收集该数据并且根据需要将数据存储在一个或者多个应用有权访问的存储器位置中。这些技术因此需要额外的存储器和/或传感器,并且使用额外的处理资源来管理数据请求。进一步地,在一些情况下,应用(诸如,用户界面)可能需要访问实时雷达数据,在时间共享的情况下,这需要更多处理资源来管理对实时数据的请求。
发明内容
本文描述了用于经由循环缓冲器访问高帧率雷达数据的技术以及能够经由循环缓冲器访问高帧率雷达数据的系统。技术提供雷达传感器、循环缓冲器和数据管理器。雷达传感器将高帧率雷达数据(作为雷达数据帧)写入循环缓冲器,该循环缓冲器充当多个应用的共同存储器位置,该多个应用使用雷达数据帧。数据管理器监测循环缓冲器,管理来自多个应用的数据请求,并且确定存储在循环缓冲器中的雷达数据帧是否与请求的数据相对应。当数据帧与请求相对应时,数据管理器可以例如将通知发送至请求应用或者另外使应用读取对应的雷达数据帧,该通知包括对应的雷达数据帧的存储器地址。应用然后可以在雷达数据帧被重写入循环缓冲器之前读取雷达数据帧。以这种方式,多个应用可以访问存储在单个存储器位置中的雷达数据帧,这减少了存储器需求和处理器资源使用两者。
提供此发明内容是为了介绍关于经由循环缓冲器访问高帧率雷达数据的简化概念,下面在具体实施方式中对此进行了进一步描述。本发明内容既不旨在识别要求保护的主题的基本特征,也不旨在用于确定要求保护的主题的范围。
附图说明
参照附图描述用于经由循环缓冲器访问高帧率雷达数据的技术和系统的实施例。在所有附图中使用相同的编号来表示相同的特征和部件:
图1图示了可以实施能够经由循环缓冲器访问高帧率雷达数据的技术的示例环境。
图2图示了图1的计算设备的示例实施方式,该计算设备可以经由循环缓冲器访问高帧率雷达数据。
图3图示了存储有多个雷达数据帧的示例循环缓冲器。
图4图示了能够访问循环缓冲器的示例数据管理器。
图5图示了能够经由循环缓冲器访问高帧率雷达数据的示例方法。
图6图示了在循环缓冲器的另一种示例实施方式的背景下图5的方法的附加细节。
图7图示了能够经由循环缓冲器访问高帧率雷达数据的另一种示例方法。
图8图示了在示例过程的背景下图7的方法的附加细节。
图9图示了示例计算系统,该示例计算系统可以实施能够经由循环缓冲器访问高帧率雷达数据的技术或者在该示例计算系统中能够实现这些技术。
具体实施方式
综述
本文描述了用于经由循环缓冲器访问高帧率雷达数据的技术以及能够经由循环缓冲器访问高帧率雷达数据的设备。技术提供了雷达数据的共同存储器位置以及可以处理来自多个应用的数据请求和能够访问每个应用的请求的数据的数据管理器。
考虑例如一种系统,该系统包括以高帧率收集雷达数据的多个雷达传感器和对使用雷达数据有不同需求的多个应用。在该示例中,一个应用仅仅可以将雷达数据用于特定雷达位置(例如,方位角、仰角和范围的特定组合)。另一个应用仅仅可以使用关于具有大雷达截面的非移动的对象的数据。又一个应用可能需要雷达数据,该雷达数据为高准确度测量提供最小方位角、仰角、范围和多普勒分辨率。另一个应用可能需要目标以满足预定义最小信噪比,以最小化假警报和来自环境杂波和噪音的影响。
传统技术通常规定,单独的雷达传感器将它们的数据写入分开的存储器,并且应用然后搜索该存储器中符合它们的需求的数据。因为雷达传感器不断以高帧率收集数据,所以存储器需求快速增加。另外,当前技术所需的大量数据操作,诸如,将数据写入存储器,消耗可以用于其它任务的处理器资源。进一步地,应用必须搜索和过滤数据以找到满足应用的特定需求的数据,以再次使用处理器资源和减缓数据收集。
将用于存储和访问雷达数据的传统技术与本文中描述的系统和技术进行对比,该系统和该技术在几个方面得到改善。例如,循环缓冲器可以被实施为页面锁定存储器(例如,固定存储器(pinned memory)),该页面锁定存储器允许雷达传感器将数据写入固定数量的物理存储器地址。这减少了写入数据所需的处理器资源并且也提高了传输速度。进一步地,因为它是循环缓冲器,所以存储器的大小是恒定的并且可以由用户设置,这减少了总体存储器需求。另外,数据管理器减少应用确定和读取与应用相关的数据所需的处理器资源。
这些只是本文所描述的技术和系统如何可以改善对高帧率雷达数据的访问的几个例子。它们的其它示例和实施方式在本文中都有描述。本文现在转向示例环境,在该示例环境之后描述示例装置、方法和部件。
示例环境
图1图示了可以实施能够经由循环缓冲器访问高帧率雷达数据的技术的示例环境。示例环境100包括计算设备102,该计算设备102具有应用104和基于雷达的数据收集系统106。基于雷达的数据收集系统106表示能够无线地捕获高帧率雷达数据的功能,该高帧率雷达数据描述目标对象108的各种特性。例如,基于雷达的数据收集系统106可以使用雷达信号110来无线地感测、检测和识别目标对象108的大小、形状、位置、速度和其它特性。目标对象108是实体,基于雷达的数据收集系统106正在收集关于该实体的数据。因此,目标对象108可以是物理对象或者姿势。例如,目标对象108可以是椅子、人或者人做出的姿势。基于雷达的数据收集系统106包括循环缓冲器112,该循环缓冲器112可以存储高帧率雷达数据作为雷达数据帧114。循环缓冲器112是存储器,该存储器可由计算设备102的应用104或者其它部件访问。基于雷达的数据收集系统106、循环缓冲器112和/或雷达数据帧114的实施方式和使用可能变化,并且贯穿本文被描述。
应用104可以是使用基于雷达的数据收集系统106所捕获的雷达数据来执行各种操作的任何应用。雷达信号110通常表示由基于雷达的数据收集系统106发送和接收的一个或者多个射频(RF)信号。在一些实施方式中,基于雷达的数据收集系统106使用指向目标对象108的单个天线发出雷达场或者信号。在其它实施方式中,多个雷达信号分别在相应天线上发送。当发送的信号到达目标对象108时,发送的信号的至少一部分被反射回基于雷达的数据收集系统106并且被处理,如下面进一步描述的。在该示例环境中,计算设备102被图示为移动设备,但是要认识到,这仅仅是出于讨论的目的,并且在不脱离要求保护的主题的范围的情况下,可以利用其它设备。
雷达信号110可能具有功率、载波频率、突发周期性、脉冲宽度、调制类型、波形、相位关系等的任何合适的组合。在雷达信号110中发送的相应信号中的一些或者全部可能彼此区别以创建特定的分集方案。示例分集方案包括:时间分集方案,该时间分集方案适时地在不同的点发送同一信号的多个版本;频率分集方案,该频率分集方案使用几个不同的频率信道发送信号;或者空间分集方案,该空间分集方案在不同的传播路径上发送信号。在一些实施方式中,雷达信号110的配置以及反射信号如何被基于雷达的数据收集系统106处理可以由计算设备102的用户或者由应用104动态地配置、控制或者影响。
已经一般地描述了能够实施经由循环缓冲器访问高帧率雷达数据的环境,现在考虑图2,图2图示了图1的计算设备102的示例实施方式200。在示例实施方式200中,计算设备102包括基于雷达的数据收集系统106,该基于雷达的数据收集系统106的附加细节贯穿本文被描述。在其它实施方式中,基于雷达的数据收集系统106可以作为单独的系统操作,该单独的系统通信连接至计算设备102。
计算设备102可以是各种设备中的任何一种,诸如,智能电话、平板计算机、膝上型计算机、台式计算机或者服务器。具体地,计算设备102可以是移动设备。计算设备102包括一个或者多个计算机处理器202和计算机可读介质204,该计算机可读介质204包括存储器介质和存储介质。操作系统(未示出)和一个或者多个应用206可以体现为计算机可读介质204上的计算机可读指令,该一个或者多个应用206可以包括参照图1描述的应用104或者以与参照图1描述的应用104相似的方式实施。应用206和/或操作系统可以由计算机处理器202执行以实现计算设备102的各种功能。
应用206的各个非限制性示例在图2中也被图示为示例应用206-1至206-4。如图2所示,示例应用206-1是被遮挡的姿势系统的姿势识别应用,该姿势识别应用使例如放在手提包中的设备能够检测手提包外的姿势。示例应用206-2被实施为基于雷达的姿势识别系统的部分,该基于雷达的姿势识别系统提供雷达场(被示出为虚线立方体),在该雷达场中,用户可以通过在雷达场内做出姿势与计算设备交互。示例应用206-3被实施为医疗诊断系统的部分,该医疗诊断系统使用雷达来测量生理特征或者评估身体异常运动,诸如,面部痉挛,这可以帮助诊断各种医疗状况(例如,中风或者帕金森氏病的症状)。示例应用还包括映射应用206-4,该映射应用206-4可以用来识别用于配置和使用计算设备102的情景认知设置的空间的三维上下文映射。
计算设备102还可以包括网络接口208和显示器210。网络接口208可以通过各种有线、无线或者光学网络中的任何一种传递数据。例如,网络接口208可以通过局域网(LAN)、无线局域网(WLAN)、个域网(PAN)、广域网(WAN)、内联网、互联网、对等网络、点对点网络或者网状网络进行通信。显示器210可以与计算设备102集成在一起或者与其相关联(例如,作为台式计算机的单独的监测器)。显示器210可以显示信息、数据、状态报告、或者各种用户界面中的任何一种用户界面,这些用户界面允许用户修改、控制计算设备102的操作或者另外与计算设备102的操作交互。
在该示例中,计算设备102的基于雷达的数据收集系统106包括循环缓冲器112、雷达传感器214和数据管理器216。循环缓冲器112可以被实施为参照图1或者另外在本文中描述的循环缓冲器112或者与其相似。基于雷达的数据收集系统106的部件可以集成为单一装置或者作为彼此通信耦合的单独部件操作。基于雷达的数据收集系统106可以收集和存储来自一个或者多个雷达数据源(诸如,雷达传感器214)的雷达数据帧114。基于雷达的数据收集系统106还可以实现通过一个或者多个应用206访问存储在循环缓冲器112中的雷达数据帧114。例如,雷达传感器214可以将多个雷达数据帧114写入循环缓冲器112,该循环缓冲器112按照各种实施方式接收和存储多个雷达数据帧114。雷达传感器214通常可以通过RF或者雷达信号的传输和接收无线地检测目标。一旦被存储在循环缓冲器112中,数据管理器216便可以实现通过一个或者多个应用206访问多个雷达数据帧114,如本文所描述的。
在一些实施方式中,循环缓冲器112被配置为随机存取存储器(RAM)的区域或者分区,该RAM可以存储多个雷达数据帧114。循环缓冲器112可以包括从雷达传感器214或者多个不同的雷达传感器接收的雷达数据帧。雷达数据帧可以包括任何合适类型的雷达数据,诸如,数字同相和正交数据(I/Q数据)或者范围多普勒数据。参照图3描述多个雷达数据帧114的附加细节。
通常,循环缓冲器(诸如,循环缓冲器112)是按顺序写入的预先配置的大小(例如,固定大小)的存储器缓冲器(循环缓冲器也被称为环形缓冲器)。例如,在具有十个存储地址的示例缓冲器中,数据从第一地址(例如,“1、2、3......8、9、10”或者“9、10、1......6、7、8”)开始被顺序地写入地址。当所有地址已经被写入时,要被写入的下一个数据被存储在原始的第一地址中,重写之前在该位置写入的任何数据(按照之前的示例顺序,第一地址是“1”和“9”)。循环缓冲器112可以由计算设备102的操作系统或者存储器控制器(未示出)提供,该计算设备102管理RAM或者其它存储器。例如,计算设备102的操作系统可以将RAM的固定区域分配成循环缓冲器。可替代地或者另外,循环缓冲器可以由另一个设备或者服务(诸如,服务器或者基于云的服务)提供。
循环缓冲器112可以是固定存储器,该固定存储器是页面锁定存储器,该页面锁定存储器无法被页出物理存储器并且无法在正常系统操作下被操作系统回收/重新分配。在一些实施方式中,循环缓冲器112是或者包括多端口存储器,该多端口存储器允许多个应用和/或设备进行同时读取访问。例如,由设备或者服务提供以充当循环缓冲器112的RAM区域本身可以是多端口存储器。在其它情况下,雷达数据帧114可以被传送至单独的多端口循环缓冲器以供多个应用和/或设备访问(例如,并行访问)。
雷达传感器214表示通过RF或者雷达信号的传输和接收无线地检测目标的功能。雷达传感器214可以将多个雷达数据帧114写入存储器,诸如,循环缓冲器112。雷达传感器214可以被实施为嵌入计算设备102的系统和/或雷达启用的部件,诸如,片上系统(SoC)或者片上传感器。然而,应当注意,雷达传感器214可以任何其它合适的方式实施。例如,雷达传感器214可以被实施为:一个或者多个集成电路(IC)、具有嵌入式处理器指令(或者被配置为访问存储有处理器指令的存储器)的处理器、具有嵌入式固件的硬件元件、具有各种硬件部件的印刷电路板组件、或者它们的任何组合。此处,雷达传感器214包括雷达发射元件218、一个或者多个天线(多个)220和数字信号处理器(DSP或者数字信号处理部件)222,它们可以被一致地用来无线地检测计算设备102的环境中的各种类型的目标。
通常,雷达发射元件218被配置为提供雷达场。雷达场可以被配置为至少部分地反射一个或者多个目标对象。在一些情况下,目标对象可以包括计算设备102的用户或者存在于计算设备102的环境中的其他人。在其它情况下,目标对象包括用户的身体属性,诸如,手部动作、呼吸率或者其它生理特征。
产生的雷达场可以是各种辐射场中的任何一种,包括宽场、窄场、成形场(例如,半球、立方体、扇形、圆锥体或者圆柱体)、操纵场、未操纵场、近范围场或者远范围场。另外,雷达发射元件218可以使用连续波信号或者脉冲多普勒信号并且使用各种频率、更新率、脉冲宽度、脉冲间歇期(IPP)、发送功率和调制中的任何一种。雷达发射元件218提供的雷达场可能是小尺寸(诸如,0或者1毫米到1.5米、)或者中等尺寸(诸如,1米至30米)。要认识到,这些尺寸仅仅是出于讨论的目的,并且可以使用任何其它合适的尺寸或者范围的雷达场。例如,当雷达场具有中等尺寸时,雷达传感器214可以被配置为接收和处理雷达场的反射,以基于来自人体组织的由身体、手臂或者腿部运动引起的反射来提供大身体姿势。在一些方面中,雷达场可以被配置为使雷达传感器214能够检测更小且更准确的姿势,诸如,微小姿势。
雷达传感器214通过发送无线电波和接收反射的无线电波检测附近的目标,如下面关于天线220描述的。无线电波是不可见的并且可以设计为穿透各种材料(例如,木材、玻璃、塑料、纺织品或者尼龙)和从其它材料(诸如,人体组织和皮肤)反射。雷达传感器214也可以计算目标的三维位置和速度,如下面关于DSP 222描述的。
天线(多个)220发送和接收雷达传感器214的RF信号。在一些情况下,雷达发射元件218与天线220耦合以发送雷达场。如本领域的技术人员认识到的,这是通过将电信号转换为电磁波以进行传输和将电磁波转换为电信号以进行接收来实现的。雷达传感器214可以包括任何合适配置中的任何合适数量的天线中的一个或者阵列。例如,天线220中的任何一个都可以被配置为偶极天线、抛物线天线、螺旋天线、平面阵列、倒F天线、单极天线等。在一些实施例中,天线220构造或者形成在芯片中(例如,作为SoC的部分),而在其它实施方式中,天线220是单独的部件、金属、电介质、硬件等,它们附接至或者包括在雷达传感器214内。
在雷达传感器214的一些实施方式中,天线220可以是专用的(例如,第一天线220可以指向发送信号并且第二天线220可以指向接收信号)。在其它实施方式中,天线220可以是多用途的(例如,单个天线220指向发送和接收信号)。因此,可以使用天线220的不同组合,作为诸如,利用与被配置用于接收的四个专用天线220结合的配置用于传输的两个专用天线220的实施方式或者利用被配置为发送和接收的单个天线220的实施方式。天线220的放置、大小和/或形状可以选择以增强特定传输模式或者分集方案,诸如,设计为捕获关于环境的信息的模式或者方案,如本文中进一步描述的。
天线220可以在物理上彼此分开一段距离,这段距离允许雷达传感器214通过不同的信道、不同的无线电频率和不同的距离共同发送和接收指向目标对象的信号。在一些实施方式中,天线220可以被空间分布以支持三角测量技术,而在其它实施方式中,天线220可以并列放置以支持波束形成技术。虽然未被示出,但是每个天线220都可以与相应的收发器路径相对应,该相应的收发器路径物理路由和管理用于传输的输出信号和用于捕获和分析的输入信号。
DSP 222通常表示用于执行与数字处理雷达信号和基于雷达信号生成雷达数据相关的操作的功能。例如,DSP 222可以使用诸如数字波束形成、多普勒滤波、噪声估计、杂波消除和目标检测等技术处理雷达信号。通过这些技术,DSP 222可以生成雷达数据,该雷达数据包括原始或者最低限度地处理的雷达数据、数字同相和正交数据、范围多普勒数据等。
在一些情况下,DSP 222进一步处理雷达数据以提供表征雷达数据的雷达特征。例如,DSP 222可以确定检测到的目标的数量、这些目标的信噪比以及检测到的杂波的特性(例如,振幅、多普勒频率、范围、方位角、仰角)。DSP 222也可以通过测量目标的范围、方位角、仰角、径向速度和/或雷达截面来描述目标特性、位置或者动态。DSP 222可以进一步计算目标的三维位置和速度。DSP 222也可以包括基于测量预测目标的未来位置和速度的跟踪功能。通过使用目标的预测位置和速度,DSP 222可以自动确定未来的辐射模式特性以增加检测目标的概率。
进一步地,DSP 222可以用来控制由雷达发射元件218和/或天线220生成和发送的信号的配置,诸如,将多个信号配置为形成特定分集或者波束形成方案。在一些情况下,DSP222接收输入配置参数,该输入配置参数控制RF信号的传输参数(例如,频率和/或功率级),诸如,通过数据管理器216。依次的,DSP 222基于输入配置参数修改RF信号。有时,DSP 222的信号处理功能包括在信号处理功能或者算法的库中,该信号处理功能或者算法也可经由应用206或者应用编程接口(API)访问和/或配置。DSP 222可以实施在硬件、软件、固件或者其任何组合中。
DSP 222可以将雷达数据写入存储器(诸如,循环缓冲器112)作为多个雷达数据帧114。雷达数据帧114与时间段相关联,该时间段从发送特定信号开始并且结束于接收到返回信号。因此,雷达数据帧114包含在特定返回信号上或者基于特定返回信号收集的数据,包括原始或者最低限度地处理的数据,诸如,I/Q和范围多普勒数据。DSP 222可以与发送和接收雷达信号的速率一致的各种帧率写入雷达数据帧。例如,DSP 222可以每隔100微秒或者每隔100毫秒写入新的雷达数据帧。约100微秒到100毫秒的这种帧率可以被称为雷达数据帧的高帧率,该高帧率可能适用于捕获用户姿势(例如,微小姿势)的非常快的动作、高水平的细节或者完美细节。
如上所述,循环缓冲器112可以是固定存储器,诸如,RAM的部分或者计算设备102的其它存储器。通过使用固定存储器,允许DSP 222使用用于写入雷达数据帧114的缓冲器的物理RAM地址而不是虚拟地址。依次的,物理地址允许DSP 222使用直接存储器访问(DMA)将雷达数据帧114写入循环缓冲器112。固定存储器的DMA操作可以通过与计算设备102的处理器分开的存储器控制器(例如,DMA启用的控制器)或者存储器管理器实施。因此,经由DMA实施的数据写入(或者读取)操作消耗计算设备102和/或DSP 222的更少的处理器资源,从而释放处理器来处理其它任务和降低应用的总功耗。
除了雷达数据,DSP 222还可以写入雷达数据帧114,该雷达数据帧114也包含关于雷达传感器的其它信息和/或雷达数据。图3图示了循环缓冲器112的示例实施方式302,该示例实施方式302包括多个雷达数据帧304-1至304-N。306中的详细视图示出每个雷达数据帧304都可以包括雷达数据部分308和报头数据部分310两者。雷达数据部分308包括本文所描述的雷达数据(例如,I/Q数据、范围多普勒数据或者与目标特性相关的数据)。报头数据部分310可以包括关于雷达数据或者收集数据的雷达传感器的各种信息中的任何一种。例如,报头数据部分310可以包括时间戳、关于收集数据的雷达传感器的信息(例如,位置、配置)、雷达信号的类型(例如,频率、IPP、调制、波束形成角)、上述雷达数据的特性中的一个或者多个、上述输入配置参数或者雷达数据的类型(例如,I/Q数据、范围多普勒数据、目标特性)。
返回图2,数据管理器216表示能够通过一个或者多个应用访问多个雷达数据帧114的功能。数据管理器216可以被实施为系统、子系统和/或嵌入计算设备102的雷达启用的部件,诸如,片上系统(SoC)。然而,应当注意,数据管理器216可以任何其它合适的方式或者本文所描述的部件的组合实施。例如,数据管理器216可以被实施为一个或者多个集成电路(IC)、具有嵌入式处理器指令(或者被配置为访问存储有处理器指令的存储器)的处理器、具有嵌入式固件的硬件元件、具有各种硬件部件的印刷电路板组件、或者它们的任何组合。
考虑图4,图4图示了基于雷达的数据收集系统106的数据管理器216的示例实施方式。如图4所示,基于雷达的数据收集系统106与计算设备102分开。在其它实施方式中,基于雷达的数据收集系统106可以与计算设备102集成在一起以在单个设备中提供本文所描述的功能。在示例实施方式400中,数据管理器216包括处理器402、存储器404和通信接口406,它们可以被一致地用来使多个应用206能够访问存储在循环缓冲器112上的雷达数据帧。处理器402表示使数据管理器216能够接收来自利用雷达数据的多个应用206的数据请求,处理数据请求和使应用206能够访问请求的数据的功能。
存储器404是处理器402和/或通信接口406可以用来存储关于数据请求的信息,访问关于多个应用206的信息,或者与执行本文所描述的数据管理器216的功能相关的其它目的的存储器。通信接口406允许数据管理器216与计算设备102(包括应用206、网络接口208和显示器210)的其它部件之间的通信。在一些实施方式中,通信接口406也可以通过各种有线、无线或者光学网络408(在图4中被图示为云)中的任何一种,诸如,局域网(LAN)、无线局域网(WLAN)、个域网(PAN)、广域网(WAN)、内联网、互联网、对等网络、点对点网络或者网状网络,传递数据。网络408可以在基于雷达的数据收集系统106与计算设备102之间提供通信功能。网络408也可以托管基于雷达的数据收集系统106的一个或者多个功能(例如,通过提供处理器资源或者存储器分配)。
示例方法
图5描绘了能够经由循环缓冲器访问高帧率雷达数据的示例方法500。示例方法500被示出为一组框,该一组框指定执行的操作,但是并不一定受限于所示的用于执行相应框的操作的次序或者组合。进一步地,一个或者多个操作中的任何操作都可以重复、组合、重组或者链接以提供多种附加和/或替代方法。在下面的讨论的部分中,可以参考图1的示例环境100和图2至图4中详述的实体和过程,对它们的参考仅仅是示例性的。本技术并不限于在一个设备上操作的一个实体或者多个实体的性能。
在502中,分析来自应用的读取雷达数据帧的请求。分析可以由各种设备中的任何一种(诸如,上述数据管理器216)执行。请求可以包括对请求的雷达数据帧的特定需求。例如,请求可以包括雷达数据帧的特性。雷达数据帧的特性可以与数据的各个方面相关,包括雷达数据帧被如何收集,诸如,雷达的类型或者采样率。在其它情况下,特性可以与参照图3描述的请求的雷达数据帧的报头数据部分310中的信息或者数据本身的各种属性(诸如,目标范围、目标多普勒或者信噪比)相关。请求也可以包括对写入循环缓冲器的最新雷达数据帧的请求。因此,请求可以是针对具有某种特性的任何数据帧、或者针对已经写入的最新雷达数据帧或者针对包括特性等的最新雷达数据帧。
分析请求可以包括各个步骤中的任何一个,诸如,确定雷达数据帧的时间窗口、确定雷达数据帧的雷达数据帧间隔或者确定一组连续雷达数据帧。时间窗口是应用需要雷达数据帧(例如,应用可以在开始于特定时间并且持续100微秒、200微秒或者300毫秒的时间窗口期间请求的雷达数据帧)的时间间隔。确定时间窗口允许数据管理器216确定雷达数据帧与应用的请求相关联。雷达数据帧间隔是应用请求的雷达数据帧之间的时间间隔。例如,即使新的雷达数据帧可能每一毫秒(或者更快)都是可用的,应用也可以每分钟、每小时或者每30毫秒请求的雷达数据帧。
在504中,确定存储在循环缓冲器中的当前雷达数据帧与应用请求读取的雷达数据帧相对应(该步骤可以被称为“确定对应关系”)。确定可以由各种设备中的任何一种(诸如,上述数据管理器216)执行。在一些实施方式中,确定存储在循环缓冲器中的当前雷达数据帧与雷达数据帧相对应是在接收到中断之后执行的,该中断指示当前雷达数据帧写入循环缓冲器(例如,循环缓冲器112)完成。例如,作为DMA写入过程的部分,雷达传感器214可以将中断信号发送至数据管理器216,以通知数据管理器216特定雷达数据帧已经被写入。
确定对应关系可以包括确定当前雷达数据帧的各个方面都与请求的雷达数据帧相对应,诸如,确定当前雷达数据帧的特性与请求的雷达数据帧的特性相对应(如上所述)或者确定当前雷达数据帧是写入循环缓冲器的最新雷达数据帧。确定对应关系的其它方面可以包括确定当前雷达数据帧的时间在请求的雷达数据帧的时间窗口内,确定当前雷达数据帧发生在雷达数据帧间隔,或者确定当前雷达数据帧是一组连续雷达数据帧中的一个雷达帧。
图6图示了循环缓冲器112的另一种示例实施方式602,该示例实施方式602包括当前雷达数据帧604-1至604-N并且接收示例应用请求606-1至606-5。在示例循环缓冲器602中,每个当前雷达数据帧604都包括参照图3描述的雷达数据部分和报头数据部分。进一步地,当前雷达数据帧604-1是最旧雷达数据帧并且当前雷达数据帧604-N是最新的。假设请求606-1包括雷达数据帧的特性。数据管理器216可以确定(例如,基于雷达数据帧604的报头数据部分中的信息)当前雷达数据帧604-1包括特性并且从而确定当前雷达数据帧604-1与雷达数据帧应用请求606-1相对应。同样,假设请求606-2包括对写入示例循环缓冲器602的最新雷达数据帧的请求,数据管理器216可以使用雷达数据帧604的报头数据部分中的信息来确定当前雷达数据帧604-N是最新雷达数据帧并且从而确定当前雷达数据帧604-N与请求606-2中请求的雷达数据帧相对应。
继续图6的示例,假设数据管理器216已经分析了参照图5描述的示例请求606-3、606-4和606-5。进一步假设对请求606-3的分析确定了请求的雷达数据帧的时间窗口,对请求606-4的分析确定了请求的雷达数据帧的雷达数据帧间隔,以及对请求606-5的分析确定了请求的一组连续雷达数据帧。
数据管理器216可以使用雷达数据帧604的雷达数据部分和/或报头数据部分中的信息来确定当前雷达数据帧604-6在确定的时间窗口内。例如,假设确定的时间窗口是从时间T1延伸到时间T2的间隔608并且当前雷达数据帧604-6仅仅是在窗口内的当前雷达数据帧604。利用这种信息,数据管理器216可以确定当前雷达数据帧604-6在时间窗口内并且因此与请求606-3中请求的雷达数据帧相对应。
以相似的方式,数据管理器216可以确定当前雷达数据帧604-1、604-3和604-5发生在确定的雷达帧间隔。例如,假设为请求606-4确定的确定雷达帧间隔是一分钟并且当前雷达数据帧604-1至604-5每隔30秒被写入。利用这种信息,数据管理器216可以确定当前雷达数据帧604-1、604-3和604-5发生在雷达数据间隔(即,它们之间间隔一分钟)并且因此与请求606-4中请求的雷达数据帧相对应。
数据管理器216也可以确定当前雷达数据帧604是一组连续雷达数据帧中的一个雷达数据帧。例如,通过使用当前雷达数据帧604的雷达数据部分和/或报头数据部分中的信息,数据管理器216可以确定当前雷达数据帧604-3、604-4和604-5是一组连续雷达数据帧。数据管理器216然后可以使用对连续组的确定来确定当前雷达数据帧604-3、604-4和604-5中的任何一个是确定的连续组的一个雷达数据帧并且因此与请求606-5中请求的雷达数据帧相对应。
现在返回图5,在506中,在当前雷达数据帧被重写之前,使应用读取存储在循环缓冲器中的当前雷达数据帧。可以通过各种设备中的任何一种设备(诸如,上述数据管理器216)使应用读取当前雷达数据帧。例如,数据管理器216可以通过将当前雷达数据帧的地址提供至应用来读取当前雷达数据帧。应用然后可以在正常操作过程中读取雷达数据帧。如上所述,然而,循环缓冲器(例如,循环缓冲器112)具有固定尺寸,并且当数据已经写入循环缓冲器的所有地址时,下一个数据元素将被写入具有最旧数据的地址。在一些实施方式中,因此,数据管理器216可以通过将硬件中断发送至应用使应用读取当前雷达数据帧,将硬件中断发送至应用会迫使应用读取雷达数据帧。如本文所描述的,代替或者除了发送当前雷达数据帧的地址,可以发送硬件中断。
通过上述技术,基于雷达的数据收集系统106可以接收来自一个或者多个应用的请求以从循环缓冲器存储器读取雷达数据帧。基于雷达的数据收集系统106可以确定存储的雷达数据帧中的哪些雷达数据帧与应用请求的雷达数据帧相对应并且使应用读取与请求相对应的雷达数据帧。以这种方式,基于雷达的数据收集系统106可以实现对应用的雷达数据的同步实时访问,这些应用在它们的操作中使用雷达数据。
图7图示了能够经由循环缓冲器访问高帧率雷达数据的另一种示例方法700。示例方法700被示出为一组框,该一组框指定执行的操作,但是并不一定受限于所示的用于执行相应框的操作的次序或者组合。进一步地,一个或者多个操作中的任何操作都可以重复、组合、重组或者链接以提供多种附加和/或替代方法。在下面的讨论的部分中,可以参考图1的示例环境100和图2至图6中详述的实体和过程,对它们的参考仅仅是示例性的。本技术并不限于在一个设备上操作的一个实体或者多个实体的性能。
在702中,监测存储在循环缓冲器中的多个雷达数据帧。多个雷达数据帧可以存储在循环缓冲器(诸如,循环缓冲器112)中或者在另一个存储器中。监测可以由各种设备中的任何一种(诸如,本文所描述的数据管理器216)执行。例如,数据管理器216可以监测雷达数据帧的各个方面,包括存储在图3中描述的示例循环缓冲器112的雷达数据部分308和报头数据部分310中的任何一个或者两个中的信息。
在704中,从多个应用中的任何一个或者多个应用接收从循环缓冲器读取雷达数据帧的请求。继续步骤702的示例,数据管理器216接收来自图2描述的示例应用206中的任何应用的读取请求。
在706中,确定存储在循环缓冲器中的多个雷达数据帧中的一个雷达数据帧以与读取请求相对应。确定可以由各种设备(诸如,数据管理器216)执行。对应关系的确定的附加细节是参照图8来描述的。
在708中,使请求应用读取雷达数据帧,该雷达数据帧被确定为与读取请求相对应。在对应的雷达数据帧重写入循环缓冲器之前,使应用读取对应的雷达数据帧。步骤710和712描述了数据管理器216的示例如何可以使请求应用读取对应的雷达数据帧。
在710中,数据管理器216将对应的雷达数据帧可以被读取的通知发送至请求应用。通知将地址包括在对应的雷达数据帧的循环缓冲器中,这允许请求应用在正常操作过程中读取对应的雷达数据帧并且因此使请求应用在正常操作过程中读取对应的雷达数据帧。
在712中,另外或者作为步骤710的动作的替代,数据管理器216将中断信号发送至请求应用。中断信号迫使应用暂停其当前操作并且在恢复其它操作之前读取对应的雷达帧。关于图8描述关于中断信号的附加细节。
图8图示了在示例过程800的背景下方法700的附加细节,该示例过程800可以被实施为使多个应用能够访问多个雷达数据帧。在示例过程800中,雷达传感器214将多个雷达数据帧114-1至114-N写入循环缓冲器112。数据管理器216监测存储在循环缓冲器112中的多个雷达数据帧114。数据管理器216可以监测雷达数据帧114的雷达数据部分和报头数据部分(例如,图3描述的雷达数据部分308和报头数据部分310)两者。如本文所描述的,雷达传感器214可以经由DMA将雷达数据帧114写入循环缓冲器。可选地,作为DMA写入过程的部分,雷达传感器214可以将中断信号发送至数据管理器216,以警告数据管理器216特定雷达数据帧已经被写入。
数据管理器216也从多个应用206中的任何一个应用接收读取雷达数据帧的请求。数据管理器216然后确定存储在循环缓冲器112中的多个雷达数据帧114中的一个雷达数据帧与读取雷达数据帧的请求相对应。确定存储的雷达数据帧114中的一个雷达数据帧与请求的雷达数据帧相对应可以使用各种方法来实现,诸如,通过将雷达数据帧请求与雷达数据帧114的雷达数据部分308和/或报头数据部分310进行比较。在一些情况下,在与请求相对应的雷达数据帧被写入之前,数据管理器可以接收请求。在这些情况下,数据管理器可以存储请求(例如,在参照图4描述的存储器404中)和在请求的雷达数据帧114被写入之后确定对应关系。
在对应的雷达数据帧114被雷达传感器重写之前,数据管理器216然后使请求应用206读取存储在循环缓冲器中的对应的雷达数据帧114。数据管理器216可以通过发送请求的雷达数据帧在特定地址的循环缓冲器112中的通知使应用206读取对应的雷达数据帧114,这使得应用206能够在正常操作过程中读取雷达数据帧114。数据管理器216也可以发送中断信号,该中断信号迫使应用206读取雷达数据帧114。中断信号可以代替通知,或者是除通知之外。例如,数据管理器216可以发送通知并且如果应用206在阈值时间内没有读取雷达数据帧114,则发送硬件中断以确保在雷达数据帧114被重写入循环缓冲器112中之前应用206会读取请求的雷达数据帧114。
如本文所描述的,循环缓冲器112可以是多端口存储器,该多端口存储器允许多个应用和/或设备进行同时访问。因为DMA过程可以提供中断(在图8中被示出为虚线)以警告数据管理器216雷达数据帧114已经被写入,所以数据管理器216可以提供对数据请求的实时或者近实时响应,即使在对特定雷达数据帧114的同步请求的情况下。
在一些实施方式中,数据管理器216也可以从另一个应用206接收读取另一个雷达数据帧114的另一个请求。另一个应用206可以与原始应用不同的方式处理雷达数据帧114。例如,数据管理器216可以接收来自应用206-1的请求,该请求可以用来检测被遮挡的姿势,并且然后接收来自应用206-4的另一个请求,该请求可以被用来识别空间的三维上下文映射。通过使用与上面描述的技术相似的技术,数据管理器216然后可以确定存储在循环缓冲器中的多个雷达数据帧114中的另一个雷达数据帧与另一个请求(来自应用206-4的请求)相对应并且在另一个雷达数据帧被重写之前使另一个应用(应用206-4)读取存储在循环缓冲器中的另一个雷达数据帧114。在一些实施方式中,单独的雷达数据帧114可以被不同的应用使用并且根据该应用的目的以不同的方式被处理。
示例应用
所描述的技术和设备可以与机器学习技术配对,以使用雷达数据和位置数据预测通过雷达传感器检测到的目标对象的方向、运动和位置。例如,基于雷达的数据收集系统106可以与机器学习技术一起被用来确定和预测用户的手的二维(2D)或者三维(3D)位置。知道用户的手的3D(x,y,z)位置是许多用户交互系统(诸如,触摸屏、计算机鼠标设备、姿势识别系统和手写识别系统)的基础。用于确定(x,y,z)位置的基于雷达的技术允许用户在传感器的范围内的空间中的任何地方提供输入,诸如,手写姿势。雷达传感器所确定的(x,y,z)坐标可以由现有的手写识别系统使用,就像用户把自己的手指或触控笔按压在触摸屏上一样。
在基于雷达的数据收集系统106的该示例实施方式中,应用从数据管理器216请求与特定目标对象相关的雷达数据帧。应用也从位置传感器请求表示目标对象的物理位置的数据。位置传感器可以是各种传感器中的任何一种或者组合,诸如,电容式或者光电式接近传感器、或者超声传感器。
示例应用把配对数据(S,P)序列视作输入,在该配对数据(S,P)序列中,S是雷达数据(来自循环缓冲器112)并且P是来自位置传感器的数据。示例应用使用能够使用(S,P)配对数据训练的机器学习模型来学习新的输入S如何能够被转变成相应位置P。可以使用用于序列学习的各种机器学习模型中的任何一种机器学习模型,诸如,隐马尔可夫模型或者递归神经网络。
在一些实施方式中,S可以是来自雷达传感器214的原始数据。在其它情况下,S可以是各种处理的数据中的任何一种,诸如,早期雷达数据(例如,来自雷达返回图像的振幅和相位信息)或者最低限度地处理的雷达数据(例如,范围多普勒数据、微多普勒数据或者I/Q数据)。在一些情况下,P是表示目标对象在(x,y,z)坐标中的绝对位置。在其它情况下,P表示与当前点与后面的点之间的运动相对应的相对位置(x,y,z)。
序列(S,P)可以被同步,使得每个传感器输出S与位置P之间存在直接映射。在其它情况下,序列(S,P)仅仅部分可以被同步。例如,当S和P的采样频率不同时,序列可能具有不同的长度,在这种情况下,来自一个序列的多个样本与来自其它序列的一个样本相对应。进一步地,有时可能需要预测在沿z轴的特定2D(x,y)平面中或者被排除在沿z轴的特定2D(x,y)平面外的手势。因此,单独的模型可以针对(x,y)坐标和(z)坐标被训练。
所描述的实施方式可以用来训练应用,以使用基于雷达的手势识别以计算用户的手的(x,y)或者(x,y,z)位置。以这种方式,用户可以从一段距离与计算设备交互。例如,用户的手写可以从一段距离识别,从而允许数据(例如,动画或者签名)在不与触摸屏接触的情况下输入。在另一种情况下,技术可以使用户的手能够被识别为光标,从而允许用户在不必使用触摸输入的情况下解锁来自使用光标的附加功能。
示例计算系统
图9图示了示例计算系统900的各个部件,该示例计算系统900可以被实施为参考之前的图1至图8描述的任何类型的客户端、服务器和/或计算设备,以实施经由循环缓冲器访问高帧率雷达数据。
计算系统900包括通信设备902,该通信设备902实现设备数据904(例如,雷达数据、接收的数据、正在接收的数据、预定要进行广播的数据、数据的数据包等)的有线和/或无线通信。设备数据904或者其它设备内容可以包括设备的配置设置、存储在设备上的媒体内容、和/或与设备的用户相关联的信息(例如,在雷达场内的人的身份)。存储在计算系统900上的媒体内容可以包括任何类型的音频、视频和/或图像数据。计算系统900包括一个或者多个数据输入906,经由该一个或者多个数据输入906,可以接收任何类型的数据、媒体内容和/或输入,诸如,人的话语、与雷达场的交互、用户可选择的输入(显式或者隐式)、消息、音乐、电视媒体内容、录制的视频内容和从任何内容或者数据源接收到的任何其它类型的音频、视频或者图像数据。
计算系统900还包括通信接口908,该通信接口908可以被实施为串行和/或并行接口、无线接口、任何类型的网络接口、调制解调器中的任何一个或者多个,并且可以被实施为任何其它类型的通信接口。通信接口908在计算系统900与通信网络之间提供连接和/或通信链接,通过该通信网络,其它电子、计算和通信设备用计算系统900对数据进行通信。
计算系统900包括一个或者多个处理器910(例如,微处理器、控制器等中的任何一种),该一个或者多个处理器可以处理各种计算机可执行指令以控制计算系统900的操作并且实现用于经由循环缓冲器访问高帧率雷达数据或者其中能够体现经由循环缓冲器访问高帧率雷达数据的技术。可替代地或者另外,计算系统900可以利用硬件、固件或者结合通常在912中标识出的处理和控制电路实施的固定逻辑电路系统中的任何一个或者组合来实施。虽然未被示出,但是计算系统900可以包括耦合设备内的各个部件的系统总线或者数据传输系统。系统总线可以包括不同的总线结构(诸如,存储器总线或者存储器控制器、外围设备总线、通用串行总线和/或利用各种总线架构中的任何一个的处理器或者本地总线)中的任何一个或者组合。
计算系统900还包括计算机可读介质914,诸如,支持永久和/或非暂时性数据存储(即,仅仅与信号传输形成对比)的一个或者多个存储器设备,该一个或者多个存储器设备的示例包括随机存取存储器(RAM)、非易失性存储器(例如,只读存储器(ROM)、闪存、EPROM、EEPROM等中的任何一个或者多个)以及磁盘存储设备。磁盘存储设备可以被实施为任何类型的磁性或者光学存储设备,诸如,硬盘驱动器、可录和/或可重写光盘(CD)、任何类型的数字多功能光盘(DVD)等。计算系统900还可以包括海量存储媒体设备(存储介质)916。
计算机可读介质914提供数据存储机制以存储设备数据904以及各种设备应用918和与计算系统900的操作方面有关的任何其它类型的信息和/或数据。例如,操作系统920可以作为具有计算机可读介质914的计算机应用被维护并且在处理器910上执行。设备应用918可以包括设备管理器,诸如,任何形式的控制应用、软件应用、信号处理和控制模块、特定装置自带的代码、抽象模块或者手势识别模块等。设备应用918还包括用于经由循环缓冲器访问高帧率雷达数据的系统部件、引擎或者管理器,诸如,基于雷达的数据收集系统106,包括循环缓冲器112、雷达传感器214和数据管理器216。计算系统900还可以包括一个或者多个机器学习系统或者有权访问一个或者多个机器学习系统。
结论
虽然用于经由循环缓冲器访问高帧率雷达数据的技术和能够经由循环缓冲器访问高帧率雷达数据的装置的实施例已经用特定于特征和/或方法进行了描述,但是要理解,所附权利要求的主题并不一定受限于所描述的特定特征或者方法。更确切地说,公开了特定特征和方法作为能够经由循环缓冲器访问高帧率雷达数据的示例实施方式。

Claims (22)

1.一种装置,所述装置包括:
循环缓冲器,所述循环缓冲器被配置为存储多个应用的多个雷达数据帧;
雷达传感器,所述雷达传感器被配置为将所述多个雷达数据帧写入所述循环缓冲器;
数据管理器,所述数据管理器被配置为:
监测存储在所述循环缓冲器中的所述多个雷达数据帧;
从所述多个应用中的应用接收读取雷达数据帧的请求;
确定存储在所述循环缓冲器中的所述多个雷达数据帧中的一个雷达数据帧与读取所述雷达数据帧的所述请求相对应;以及
在所述多个雷达数据帧中的所述一个雷达数据帧被所述雷达传感器重写之前,使所述应用读取存储在所述循环缓冲器中的所述多个雷达数据帧中的所述一个雷达数据帧。
2.根据权利要求1所述的装置,其中,所述雷达传感器被配置为以在100微秒与100毫秒之间的相应间隔将所述多个雷达数据帧中的每个雷达数据帧写入所述循环缓冲器。
3.根据权利要求1或者2所述的装置,其中,所述雷达传感器被配置为使用直接存储器访问将所述多个雷达数据帧写入所述循环缓冲器。
4.根据前述权利要求中任一项所述的装置,其中,所述循环缓冲器包括被配置为固定存储器的存储器的至少一部分。
5.根据前述权利要求中任一项所述的装置,其中,所述装置包括移动设备,所述移动设备包括所述雷达传感器。
6.一种方法,所述方法包括:
分析来自应用的读取雷达数据帧的请求;
确定存储在循环缓冲器中的当前雷达数据帧与所述雷达数据帧相对应,所述循环缓冲器存储多个应用的多个雷达数据帧;以及
在所述当前雷达数据帧被重写之前,使所述应用读取存储在所述循环缓冲器中的所述当前雷达数据帧。
7.根据权利要求6所述的方法,其中,分析所述请求包括:确定所述雷达数据帧的时间窗口,以及其中,确定所述当前雷达数据帧与所述雷达数据帧相对应包括:确定所述当前雷达数据帧的时间在所述雷达数据帧的所述时间窗口内。
8.根据权利要求6或者7所述的方法,其中,所述请求包括所述雷达数据帧的特性,以及其中,确定所述当前雷达数据帧与所述雷达数据帧相对应包括:确定所述当前雷达数据帧的特性与所述雷达数据帧的所述特性相对应。
9.根据权利要求6至8中任一项所述的方法,其中,所述请求是针对写入所述循环缓冲器的最新雷达数据帧,并且所述确定包括:确定所述当前雷达数据帧是写入所述循环缓冲器的所述最新雷达数据帧。
10.根据权利要求6至9中任一项所述的方法,其中,分析所述请求包括:确定所述雷达数据帧的雷达数据帧间隔,以及其中,确定所述当前雷达数据帧与所述雷达数据帧相对应包括:确定所述当前雷达数据帧发生在所述雷达数据帧间隔内。
11.根据权利要求6至10中任一项所述的方法,其中,分析所述请求包括:确定所述请求是针对一组连续雷达数据帧,以及其中,确定所述当前雷达数据帧与所述雷达数据帧相对应包括:确定所述当前雷达数据帧是所述一组连续雷达数据帧中的一个雷达数据帧。
12.根据权利要求6至11中任一项所述的方法,其中,确定存储在所述循环缓冲器中的所述当前雷达数据帧与所述雷达数据帧相对应是在接收到中断之后执行的,所述中断指示将所述当前雷达数据帧写入所述循环缓冲器完成。
13.根据权利要求6至12中任一项所述的方法,其中,使所述应用读取所述当前雷达数据帧包括:将中断发送至所述应用。
14.根据权利要求6至13中任一项所述的方法,其中,使所述应用读取所述当前雷达数据帧包括:将所述循环缓冲器中的所述当前雷达数据帧的地址提供至所述应用。
15.根据权利要求13和14所述的方法,其中,使所述应用读取所述当前雷达数据帧包括:将提供所述当前雷达数据的所述地址的通知发送至所述应用,以及如果所述应用在阈值时间量内没有读取所述雷达数据帧,则发送所述中断。
16.一种数据管理器,所述数据管理器被配置为:
监测循环缓冲器,所述循环缓冲器存储多个应用的多个雷达数据帧;
从所述多个应用中的应用接收读取雷达数据帧的请求;
确定存储在所述循环缓冲器中的所述多个雷达数据帧中的一个雷达数据帧与读取所述雷达数据帧的所述请求相对应;以及
在所述多个雷达数据帧中的所述一个雷达数据帧被重写之前,使所述应用读取存储在所述循环缓冲器中的所述多个雷达数据帧中的所述一个雷达数据帧。
17.根据权利要求16所述的数据管理器,其中,所述数据管理器被配置为在所述多个雷达数据帧中的所述一个雷达数据帧被存储在所述循环缓冲器中之前接收所述请求。
18.根据权利要求16或者17所述的数据管理器,所述数据管理器进一步被配置为:
从另一个应用接收读取另一个雷达数据帧的另一个请求;
确定存储在所述循环缓冲器中的所述多个雷达数据帧中的另一个雷达数据帧与所述另一个请求相对应;以及
在所述多个雷达数据帧中的所述另一个雷达数据帧被重写之前,使所述另一个应用读取存储在所述循环缓冲器中的所述多个雷达数据帧中的所述另一个雷达数据帧。
19.根据权利要求16至18中任一项所述的数据管理器,所述数据管理器进一步被配置为:
从另一个应用接收读取所述雷达数据帧的另一个请求,所述另一个应用被配置为与所述应用不同地处理所述雷达数据帧;
确定存储在所述循环缓冲器中的所述多个雷达数据帧中的所述一个雷达数据帧与所述另一个请求相对应;以及
在所述多个雷达数据帧中的所述另一个雷达数据帧被重写之前,使所述另一个应用读取存储在所述循环缓冲器中的所述多个雷达数据帧中的所述一个雷达数据帧。
20.根据权利要求16至19中任一项所述的数据管理器,其中,所述多个雷达数据帧包括同相和正交数据。
21.根据权利要求16至20中任一项所述的数据管理器,其中,所述多个雷达数据帧包括范围多普勒数据。
22.根据权利要求16至20中任一项所述的数据管理器,其中,所述多个雷达数据帧包括来自多个雷达传感器的雷达数据帧。
CN201880019295.3A 2017-09-21 2018-08-29 经由循环缓冲器访问高帧率雷达数据 Active CN110447014B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311664389.5A CN117785506A (zh) 2017-09-21 2018-08-29 经由循环缓冲器访问高帧率雷达数据

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/711,824 2017-09-21
US15/711,824 US10747275B2 (en) 2017-09-21 2017-09-21 Access to high frame-rate radar data via a circular buffer
PCT/US2018/048585 WO2019060114A1 (en) 2017-09-21 2018-08-29 ACCESS TO HIGH-FLOW RADAR DATA BY CIRCULAR BUFFER

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311664389.5A Division CN117785506A (zh) 2017-09-21 2018-08-29 经由循环缓冲器访问高帧率雷达数据

Publications (2)

Publication Number Publication Date
CN110447014A true CN110447014A (zh) 2019-11-12
CN110447014B CN110447014B (zh) 2023-12-12

Family

ID=64664372

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201880019295.3A Active CN110447014B (zh) 2017-09-21 2018-08-29 经由循环缓冲器访问高帧率雷达数据
CN202311664389.5A Pending CN117785506A (zh) 2017-09-21 2018-08-29 经由循环缓冲器访问高帧率雷达数据

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202311664389.5A Pending CN117785506A (zh) 2017-09-21 2018-08-29 经由循环缓冲器访问高帧率雷达数据

Country Status (3)

Country Link
US (2) US10747275B2 (zh)
CN (2) CN110447014B (zh)
WO (1) WO2019060114A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10747275B2 (en) 2017-09-21 2020-08-18 Google Llc Access to high frame-rate radar data via a circular buffer
JP7136199B2 (ja) * 2018-04-17 2022-09-13 株式会社ソシオネクスト ジェスチャ認識方法及びジェスチャ認識装置
CN112673276A (zh) * 2018-09-06 2021-04-16 苹果公司 超声波传感器
EP3748498A1 (en) * 2019-06-03 2020-12-09 NXP USA, Inc. System and method for system for acquiring data
EP3757608A1 (en) * 2019-06-28 2020-12-30 Google LLC Smart device with an integrated radar system
US11693086B2 (en) * 2019-06-28 2023-07-04 Google Llc Smart device with an integrated radar system
CN112099970A (zh) * 2020-09-04 2020-12-18 中国第一汽车股份有限公司 一种视频数据处理方法、装置、设备及存储介质
JP7480675B2 (ja) * 2020-10-29 2024-05-10 株式会社デンソー 中継装置
JPWO2024057375A1 (zh) * 2022-09-13 2024-03-21
CN117129947B (zh) * 2023-10-26 2023-12-26 成都金支点科技有限公司 一种基于miniunet的平面变换法雷达信号识别方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761194A (zh) * 2013-12-28 2014-04-30 华为技术有限公司 一种内存管理方法及装置
CN106443607A (zh) * 2016-10-25 2017-02-22 华域汽车系统股份有限公司 一种车载雷达数据处理算法验证系统
CN107111581A (zh) * 2015-01-19 2017-08-29 微软技术许可有限责任公司 存储器描述符列表高速缓存和管道处理

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606707A (en) * 1994-09-30 1997-02-25 Martin Marietta Corporation Real-time image processor
US5699067A (en) * 1996-06-28 1997-12-16 Hughes Aircraft Company Radar plot display with low CPU loading
US7325122B2 (en) 2004-02-20 2008-01-29 International Business Machines Corporation Facilitating inter-DSP data communications
EP2390679B1 (en) * 2010-05-27 2012-10-03 Mitsubishi Electric R&D Centre Europe B.V. Automotive radar with radio-frequency interference avoidance
US9215124B2 (en) * 2010-11-03 2015-12-15 Broadcom Corporation Unified vehicle network frame protocol
US9569312B2 (en) * 2011-09-27 2017-02-14 Xcube Research And Development, Inc. System and method for high-speed data recording
EP2761406A4 (en) 2011-09-30 2015-05-13 Intel Corp DETECTION OF SEGMENTATION OF GESTURE DATA IN MOBILE DEVICES
JP5701810B2 (ja) 2012-04-06 2015-04-15 株式会社東芝 センサデータ記録装置、方法及びプログラム
US9684066B2 (en) 2013-10-28 2017-06-20 Texas Instruments Incorporated Light radar signal processing apparatus, systems and methods
GB2546343A (en) * 2016-01-15 2017-07-19 Stmicroelectronics (Grenoble2) Sas Apparatus and methods implementing dispatch mechanisms for offloading executable functions
CN109789878B (zh) * 2016-10-03 2022-04-29 日立安斯泰莫株式会社 车载电子控制装置
US10332320B2 (en) * 2017-04-17 2019-06-25 Intel Corporation Autonomous vehicle advanced sensing and response
US10747275B2 (en) 2017-09-21 2020-08-18 Google Llc Access to high frame-rate radar data via a circular buffer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761194A (zh) * 2013-12-28 2014-04-30 华为技术有限公司 一种内存管理方法及装置
CN107111581A (zh) * 2015-01-19 2017-08-29 微软技术许可有限责任公司 存储器描述符列表高速缓存和管道处理
CN106443607A (zh) * 2016-10-25 2017-02-22 华域汽车系统股份有限公司 一种车载雷达数据处理算法验证系统

Also Published As

Publication number Publication date
US20190086971A1 (en) 2019-03-21
US10921866B2 (en) 2021-02-16
WO2019060114A1 (en) 2019-03-28
US20200326759A1 (en) 2020-10-15
CN117785506A (zh) 2024-03-29
US10747275B2 (en) 2020-08-18
CN110447014B (zh) 2023-12-12

Similar Documents

Publication Publication Date Title
CN110447014A (zh) 经由循环缓冲器访问高帧率雷达数据
Wang et al. m-activity: Accurate and real-time human activity recognition via millimeter wave radar
Yu et al. Noninvasive human activity recognition using millimeter-wave radar
Zhang et al. u-DeepHand: FMCW radar-based unsupervised hand gesture feature learning using deep convolutional auto-encoder network
US20220326367A1 (en) Smart-Device-Based Radar System Performing Gesture Recognition Using a Space Time Neural Network
Abedi et al. AI-powered noncontact in-home gait monitoring and activity recognition system based on mm-wave FMCW radar and cloud computing
US11923090B2 (en) Early skin condition diagnostics using sonic sensors
US20240027600A1 (en) Smart-Device-Based Radar System Performing Angular Position Estimation
US20230366982A1 (en) Method and apparatus with radar data recognition
Kong et al. Gesture recognition system based on ultrasonic FMCW and ConvLSTM model
Wang et al. Wi-mesh: A wifi vision-based approach for 3d human mesh construction
Liu et al. Long-range gesture recognition using millimeter wave radar
US9151834B2 (en) Network and personal electronic devices operatively coupled to micro-impulse radars
Guo et al. Point transformer-based human activity recognition using high-dimensional radar point clouds
Raeis et al. CAE-MAS: Convolutional Autoencoder Interference Cancellation for Multiperson Activity Sensing With FMCW Microwave Radar
Hu et al. Radar-Based Fall Detection: A Survey
Ram et al. Modeling and simulation of human motions for micro-Doppler signatures
Hu et al. A Survey on Radar-Based Fall Detection
Hu et al. mmPose-FK: A Forward Kinematics Approach to Dynamic Skeletal Pose Estimation Using mmWave Radars
Fioranelli et al. Radar sensing in healthcare: Challenges and achievements in human activity classification & vital signs monitoring
Sen et al. A Dataset for Multi-intensity Continuous Human Activity Recognition through Passive Sensing
Zou et al. A Review of Human Activity Recognition Based on Millimeter-Wave Radar
Wang et al. Human Detection in Realistic Through-the-Wall Environments using Raw Radar ADC Data and Parametric Neural Networks
Yang et al. Bespoke simulator for human activity classification with bistatic radar
Stadelmayer et al. Light-Weight and Person-Independent Radar-Based Hand Gesture Recognition for Classification and Regression of Continuous Gestures

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
GR01 Patent grant
GR01 Patent grant