This disclosure relates generally to method and apparatus for motion detection and/or gesture recognition systems based on wireless signals.
A wireless local area network (WLAN) may be formed by one or more access points (APs) that provide a shared wireless medium for use by a number of client devices. Each AP, which may correspond to a Basic Service Set (BSS), periodically broadcasts beacon frames to enable compatible client devices within a wireless range of the AP to establish and maintain a communication link with the WLAN. WLANs that operate in accordance with the IEEE 802.11 family of standards are commonly referred to as Wi-Fi networks, and client devices that communicate with the AP in a Wi-Fi network may be referred to as wireless stations (STAs).
Bluetooth technology also allows a number of wireless devices to communicate with each other using radio-frequency signals. Although similar in some aspects to Wi-Fi devices, Bluetooth devices typically communicate with each other without the presence of an AP (or other central controller). In addition, although Bluetooth devices typically have shorter wireless ranges than Wi-Fi devices, Bluetooth radios are less expensive and consume less power than Wi-Fi radios. As a result, Bluetooth technology is particularly well suited for applications (such as the Internet of Things) in which minimizing power consumption may be more important than achieving high data rates.
The Internet of Things (IoT) may refer to a communication system in which a wide variety of objects and devices wirelessly communicate with each other. Although many IoT devices such as smart appliances, smart televisions, and smart thermostats support both Wi-Fi and Bluetooth communication protocols, some IoT devices such as TV remote controls, sensors, and other battery powered devices may only support Bluetooth communications, for example, to minimize power consumption.
In relation to various features and capabilities of the IoT devices, there is a strong desire to include the capability for detection of motion and/or gesture recognition in such devices. In one example, one may have the desire to detect motion of an object and/or gesture recognition in a proximity of a television set. The result of the motion detection and/or gesture recognition may be used as a way to interact with the television set, as one example. Among many different functions that could be envisioned are for example: changing the television channel, increasing or decreasing television speakers volume, animating a picture on the television screen, etc.
Considering IoT devices are envisioned to include many different devices having a requirement of low manufacturing cost, adding the capability for detection of motion and/or gesture recognition in such devices should be through a low cost solution and with minimal reconfiguration or minimal change of the existing design of such IoT devices.
Various aspects of the disclosure for motion detection and/or gesture recognition in a wireless communication device may include a transmit/receive radio frequency switch including a control input for controlling radio frequency signal routing of the switch from a radio frequency transmit port of the wireless device to an antenna and from the antenna to a radio frequency receive port of the wireless device, a first radio frequency coupler for coupling to the radio frequency transmit port of the wireless device and for passing of transmit signals from the radio frequency transmit port to the antenna through the switch, a second radio frequency coupler for coupling to the radio frequency receive port of the wireless device and for passing of receive signals from the antenna to the radio frequency receive port through the switch, and a connector for connecting a transmit isolation port of the first coupler to a receive isolation port of the second coupler. One or more connectors may be connecting a transmit coupled port of the first coupler and a receive coupled port of the second coupler to ground. A processor coupled with computer readable memory for storing instructions that when executed by the processor cause the processor to perform operations including: determining whether a source address of a received data packet is a source address of the wireless device, determining whether a process for the motion detection and/or gesture recognition is enabled in the wireless device, and processing one or more received signals for the motion detection and gesture recognition occurring in a proximity of the wireless device if the source address of the received data packet is the source address of the wireless device and the process for the motion detection and gesture recognition is enabled in the wireless device. The received data packet is carried by at least one of the one or more received signals that are transmitted from the transmit port of the wireless device and received at the receive port of the wireless device while maintaining signal routing of the switch to route transmit signals from the radio frequency transmit port of the wireless device to the antenna. The operation may include enabling the process for the motion detection and/or gesture recognition based on whether a channel condition experienced by the wireless device exhibiting an amount of signal interference below a signal interference threshold. The received data packet may be a Bluetooth data packet carrying the source address. The processing of one or more received signals for the motion detection and/or gesture recognition may include correlating at least one characteristic pattern of the one or more received signals to one or more different characteristic patterns associated with different motion and/or gesture recognition characteristic patterns. The operation may include performing one or more specific task based at least on a result of the correlating at least one characteristic pattern of the one or more received signals to one or more different characteristic patterns. The operation may include indicating presence of motion and/or recognizing a gesture of an object or body in the proximity of the wireless device when the correlating at least one characteristic pattern of the one or more received signals to one or more different characteristic patterns satisfies a correlation threshold. The one or more received signals may be transmitted based on a Time Division Duplex (TDD) transmission scheme. A receive operation of the wireless device may be in an active receiving state during a transmit timing portion of the TDD transmission scheme. The one or more received signals are transmitted from the transmit port of the wireless device and received at the receive port of the wireless device. The one or more received signals may be transmitted in an active communication with another device. The operation may include determining a channel condition experienced by the wireless device and adjusting a correlation threshold level based on the determined channel condition for correlating at least one characteristic pattern of the one or more received signals to one or more different characteristic patterns.
The following description is directed to certain implementations for the purposes of describing the innovative aspects of this disclosure. However, a person having ordinary skill in the art will readily recognize that the teachings herein can be applied in a multitude of different ways. The described implementations may be implemented in any device, system or network that is capable of transmitting and receiving RF signals. The transmission and reception of the RF signals may be according to a particular communication Standard, such as any of the IEEE 802.11 standards, and the Bluetooth® specification. Moreover, the device may also be operating in accordance with any of the cellular communication protocols such as (but not limited to) code division multiple access (CDMA), frequency division multiple access (FDMA), time division multiple access (TDMA), Global System for Mobile communications (GSM), GSM/General Packet Radio Service (GPRS), and Enhanced Data GSM Environment (EDGE), or other known communication signals that are used to communicate within a wireless, cellular or internet of things (TOT) network, such as a system utilizing 3G, 4G or 5G, or further implementations thereof, technology.
Given the increasing number of IoT devices deployed in home and business networks, it is desirable to have a feature of motion detection and/or gesture recognition in the area served by such devices. In one example, when a person enters or leaves a particular area or room, based on the detection of motion and/or gesture recognition in the area, such IoT devices can be turned on or off. More specifically, many home networks may include smart devices and appliances such as smart TVs and entertainment systems, smart garage doors, smart lighting systems, smart sound systems, smart security systems, and smart temperature control systems that may benefit from the information indicating movement of a person or object and/or gesture recognition within and around such home networks. However, because dedicated motion sensors can increase costs and complexity of such IoT devices, it would be desirable to detect motion and/or gesture recognition without adding or using dedicated motion sensors.
In some implementations, the IoT device may perform one or more operations based on at least one of the detected motion and the gesture recognition. In some aspects, a software program executing instructions in the IoT device may send commands to one or more firmware or hardware components to trigger one or more operations in response to at least one of the detected motion and the gesture recognition. In addition, or in alternative, the IoT device may send commands to other devices for performing one or more operations.
Each of the IoT devices 110a-110d may be any suitable device capable of operating according to one or more communication protocols associated with IoT systems. For example, each of the IoT devices 110a-110d can be a smart television (TV), a remote control for the smart TV, a smart appliance, a smart meter, a smart thermostat or other temperature control system, a smart sensor, a gaming console, a set-top box, a smart light switch, a component of a smart sound system (such as a speaker), a smart garage opener, and the like. In some implementations, each of IoT devices 110a-110d may include a transceiver, one or more processing resources (such as processors or ASICs), one or more memory resources, and a power source (such as a battery). The memory resources may include a non-transitory computer-readable medium (such as one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, etc.) that stores instructions for performing operations described throughout.
The IoT device 200 may optionally include one or more of sensors 221, an input/output (I/O) device 222, a display 223, a user interface 224, and any other suitable component. For one example in which IoT device 200 is a smart television, the display 223 may be a TV screen, the I/O device 224 may provide audio-visual inputs and outputs, the user interface 224 may be a control panel, a remote control, and so on. For another example in which the IoT device 200 is a smart appliance, the display 223 may provide status information, and the user interface 224 may be a control panel to control operation of the smart appliance.
The memory 230 may include a database 231 that stores profile information for a plurality of wireless devices such as Bluetooth devices, APs, stations, and other IoT devices. The profile information for a particular device may include, for example, the SSID, MAC address, the device's IP address, channel information, RSSI values, throughput values, channel state information (CSI), supported data rates, connection history, a trustworthiness value indicating a level of confidence about the device service location, and any other suitable information pertaining to or describing the operation of the device. The profile information may also include, for example, preferred frequency bands or channels, frequency hopping schedules, a number of capabilities, and any other suitable information pertaining to or describing the operation of the device.
The memory 230 also may include a non-transitory computer-readable storage medium (such as one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, and so on) that may store the following software (SW) modules:
The processor 220 may be any one or more suitable processors capable of executing scripts or instructions of one or more software programs stored in the IoT device 200 (such as within the memory 230). Although memory 230 is shown desperately, one or more segments of memory 230 may be a part of processor 220. Processor 220 may execute the frame exchange software module 232 to create and exchange messages and packets (such as advertising messages, device discovery messages, service discovery messages, and data packets) between the IoT device 200 and other wireless devices.
The processor 220 may execute the channel conditions estimation software module 234 to estimate channel conditions based on one or more packets received from other wireless devices. In some implementations, the channel conditions estimation software module 234 may be executed based on sequences contained in received Bluetooth packets. The channel conditions estimation software module 234 may also determine whether motion detection and/or gesture recognition processes could be carried out. For example, when the interference level as determined by the channel conditions estimation software module 234 is at or below a particular level, the process for motion detection and/or gesture recognition may be carried out. The interference may be caused by a number of devices in the same or nearby area transmitting wireless signals that are received at IoT device 200. Therefore, the channel conditions estimation software module 234 may enable or disable, depending on the interference level, the processes for motion detection and/or gesture recognition.
The processor 220 may execute the correlation software module 235 to determine, over a period of time or a plurality of different times, whether certain correlation exists in a wireless received signal for the purpose of further processing of the signal. Moreover, the correlation software module 235 may determine whether the characteristics changes or differences in the received wireless signals are at least correlating to any number of different characteristics variation patterns. For example, memory 230 may store certain wireless signal characteristics variations (e.g. the phase and/or amplitude variations patterns and/or frequency of such variations) that are representing the effect of different possible motion of an object and/or gesture in a proximity of the IoT device 200. Several of such wireless signal characteristics variations patterns associated with different movement and gestures are depicted and explained in relation to
The processor 220 may execute the motion detection and gesture recognition software module 236 to detect or determine motion of an object/person and/or recognize gesture based on the changes or differences determined by at least the received signal characteristics determination software module 233 and/or the correlation software module 235. In some implementations, the motion detection software module 236 may be executed to detect motion and/or recognize gesture based on the differences of the received signal at different times.
The processor 220 may execute the task-specific software module 237 to facilitate the performance of one or more tasks that may be specific to the IoT device 200. For one example in which the IoT device 200 is a smart TV, execution of the task specific software module 237 may cause the smart TV to turn on and off, to select an input source, to select an output device, to stream video, to select a channel, and so on (or to control one or more operations of an associated remote control). For another example in which the IoT device 200 is a remote control for the smart TV, execution of the task specific software module 237 may cause the remote control to control one or more operations of the smart TV, to control one or more operations of the remote control, or both.
In some aspects, when the IoT device 200 detects motion of an object/person and/or recognizes certain hand or body gestures, the IoT device 200 may transmit a message that may control the operation of other devices. For one example, if the IoT device 200 determines that a person is walking towards the smart TV, the IoT device 200 may cause the smart TV to turn on. For another example, if the IoT device 200 determines that a person is walking away from the smart TV, the IoT device 200 may cause the smart TV to turn off. Conversely, when the IoT device 200 detects an absence of motion and/or gesture recognition for a period of time, the IoT device 200 may transmit a message that turns off the smart TV. In this example, detecting absence of any movement in a proximity of the television set may cause the task specific software module 237 to be executed to turn off the television set after a period of time.
In some aspects, execution of the task specific software module 237 also may be used to exchange capabilities with another wireless device and to negotiate a number of parameters for motion detection and/or gesture recognition operations. The number of negotiated parameters may include, for example, a channel to be used for transmitting packets and supplemental information, a frequency-hopping schedule to be used for transmitting packets and supplemental information, and one or more characteristics of the supplemental information to be appended to packets.
Implementations of the subject matter described throughout can be used to detect motion and/or recognize gesture using wireless signals transmitted and received by the IoT devices of such wireless networks without using dedicated motion sensors. Generally, in network 100, a receiving device may receive, from a transmitting device, a packet that contains or is associated with a source identifying sequence (i.e. identification sequence) that is known to the receiving device. In some aspects, the packet may be a Bluetooth packet (such as a Bluetooth Low Energy (BLE) packet) including a supplemental information that contains the known sequence. In other aspects, the packet may be transmitted using another suitable wireless communications protocol (such as a Wi-Fi packet compatible with the IEEE 802.11 standards), and the source identifying sequence may be included within or appended to the packet in any suitable manner.
Referring to
System 400 may be coupled with a number of receive antennas and a number of transmit antennas, although one receive antenna 406 and one transmit antenna 407 are shown. For a packet exchange with a destination device, a data packet such as BLE packet 300 may be transmitted from a source device. Considering a number of devices may be receiving the transmitted BLE packet 300, the receiving devices examine the content of access address 302 field, and if the destination address does not match with the address of the receiving device, the receiving device ignores the reception of BLE packet 300. If the destination address is matched with the address of the receiving device, the BLE packet 300 may further be processed by various blocks in system 400. Moreover, the packet exchanges may continue over a number of transmissions from the source device to a destination device. During such packet transmissions, considering the receive antenna 406 and transmit antenna 407 are in a close proximity of each other, receive antenna 406 may also receive (i.e. pick up a reflections) the signal carrying the BLE packet 300 transmitted from transmit antenna 407. Generally, when a signal is transmitted in a space, the transmitted signal is scattered by being reflected from the objects/person in a proximity of the transmitting device. The receive antenna 406 may receive a reflection of the transmitted signal. Normally, an IoT device including the system 400 should ignore the received BLE packet 300 because the source address of the access address field 302 belongs to the same device that has received the BLE packet 300. In accordance with one or more aspects of the disclosure provided throughout, when the source address of the access address field 302 belongs to the same device that has received the BLE packet 300, system 400 would not ignore reception of the BLE packet 300 while the process for a motion detection and/or gesture recognition has been enabled in IoT device 200. For example, IoT device 200 may turn on its feature for motion and/or gesture recognition. The feature may be turned on, for example, by one or more software modules in memory 230. In one example, channel condition estimation SW module 234 may enable or disable the motion detection and/or gesture recognition feature of the IoT device 200 based on the channel condition, preferably the process is enabled when the channel condition exhibits low level of signal interference. After enabling the feature for motion and/or gesture recognition, the IoT device 200 receiving a signal that includes the BLE packet 300 with a source address as the address of the receiving IoT device 200, the IoT device 200 would use the received signal (i.e. reflection of the transmitted signal) for motion detection and/or gesture recognition. In another word, when the IoT device 200 detects receiving its own transmitted signal, the process for motion and/or gesture recognition may take place based on the received signal. As such, in accordance with various aspects of the disclosure, the received signal that has carried BLE packet 300 with the same source address as the address of the receiving device may be used for a motion detection and/or gesture recognition. Moreover, the packet exchanges between a source device and a destination device may be carried out over a number of different transmissions and receptions. Therefore, the process for a motion detection and/or gesture recognition may continue based on such further signals after identifying that the source address of the transmitting device is the same as the address of the receiving device.
System 400 include a receive system 401, a transmit system 405, a digital modem processing 402 and a processor 403. The receive system 401 may include a number of components such: low noise amplifier, mixer, baseband filter and analog to digital converters. The operations of such components are well known. The components and their interconnections are depicted by the generally accepted symbol representations. The transmit system, 405 may include phase lock loop system, filters, and amplifiers. The digital modem processing 402 and processor 403 independently and/or in combination process the received data to determine the content of the received data packets and determine the content the data packets prepared for transmission. The process for a motion detection and/or gesture recognition may be activated by the processor 403 so that when a BLE packet 300 is received identifying the source address of the transmitting device to be the same as the address of the receiving device, system 400 would not ignore the received packet. The processor 403 may activate the process for motion detection and/or gesture recognition based on an input from channel condition estimation software module 234. For example, when the channel condition exhibits presence of a low level of interference, channel condition estimation software module 234 enables the possibility of carrying the process for motion detection and/or gesture recognition, and the processor 403 activates the process when the BLE packet 300 is being received.
Furthermore, the IoT device incorporating system 400 with enabled functionality for a motion detection and/or gesture recognition may be in a normal communication with other IoT devices. By identifying the source address of all the received signals, only the signal received at receive antenna 406 which has been transmitted from antenna 407 is used for a motion detection and/or gesture recognition. Considering the operation of the communication may be based on Time Division Duplex (TDD), the receive operation of the IoT device is normally expected to be in an idle state during the transmit portion of the TDD (i.e. when the IoT device is transmitting a signal). However, when the functionality for a motion detection and/or gesture recognition is enabled, the receive operation is not completely in an idle state in accordance with various aspects of the disclosure. The receive operation in accordance with an aspect of the disclosure is in an active receiving state. As such, during the transmit timing portion of the TDD, the signal transmitted from antenna 407 and received at the receive antenna 406 is not ignored, and further processed for a motion detection and/or gesture recognition. In the event the receive antenna 406 is also receiving signals from other devices while receiving signals from transmit antenna 407, system 400 is able to distinguish such other signals and separate the received signals in the digital modem 402 and/or in connection with certain operations in processor 403. One or more software modules in memory 230 may also be involved in separating the received signals. Such software modules may include received signal characteristics determination software module 233, channel condition estimation software module 234, and correlation software module 235. One or more of such software modules in memory 230 of the IoT device may also be executed/utilized for separating the received signals such that a motion detection and/or gesture recognition is performed based on the signal received at antennas 406 that has been transmitted from antenna 407.
Furthermore, while IoT device 200 is not in a particular communication with other devices, the process for a motion detection and/or gesture recognition may be initiated by the IoT device by specifically transmitting the BLE packet 300 one time or repeatedly from antenna 407 while including its own source address. After detecting the source address being the same address of the receiving device, the processor 403 would activate certain functions associated with system 400 so the reception of the BLE packet 300 by the receive antenna 406 is not ignored. As such, based on the received signals that has been transmitted not necessarily for the purpose of communication with other devices, the process for motion detection and/or gesture recognition may be carried out. Therefore, in accordance with various aspects of the disclosure, the process for motion detection and/or gesture recognition may be carried out at any time based on the signal received at antennas 406 that has been transmitted from antenna 407.
By analyzing the signal received at antennas 406 that has been transmitted from antenna 407, certain motion detection and/or gesture recognition that may be taking place within a proximity of the IoT device may be identified. The motion detection and/or gesture recognition is made possible by signal characteristics determination software module 233 to determine various characteristics changes of the received signal for at least the purpose of motion detection and/or gesture recognition. Such characteristics variation may include phase and/or amplitude variations, and/or frequency of such variations of the received signals. The pattern of changes, for example in the phase and/or amplitude of the signal and/or frequency of such variations of the received signals, provide the basis for identifying whether certain motion of an object/person has taken place and/or whether certain gestures, such as a repetitive hand movement or body movement has taken place at a distance from the IoT device, and particularly, at a distance from the antennas 407 and 406. The signal characteristics determination software module 233 is executed for determining such variations of the signal received at antennas 406 that has been transmitted from antenna 407. Different patterns of variations, for example in phase and/or amplitude and/or frequency of changes in phase and/or amplitude changes, in the receive signal at antennas 406 that has been transmitted from antenna 407 may be correlated with different motions and gestures within certain proximity of the IoT device. The correlation software module 235 may be executed for determining whether the pattern of changes matches closely with one or more stored patterns. The amount of correlation may be compared to a correlation threshold. A particular pattern of changes in such signal characteristics or a collection of such patterns may be associated with or correspond to certain motions and/or gestures. Therefore, when a particular pattern, or a collection of patterns, has been correlated (i.e. satisfies a correlation threshold) in processing of the received signal, the motion detection software module 236 may output an indication that a corresponding motion and/or gesture has taken place within a proximity of the IoT device 200. Moreover, for indicating presence of motion and/or recognizing a gesture of an object or body in the proximity of the wireless device, correlating at least one characteristic pattern of the one or more received signals to one or more different characteristic patterns may need to satisfy a specific correlation threshold as described throughout. For example, to minimize false motion detection and/or gesture recognition, the level of the correlation threshold may be set higher at certain times. The level of correlation threshold may change dynamically, and may be dependent on a number of factors, such as the amount of interference that is detected in the channel condition. In one example, at certain hours of the day/night when interference level is relatively low and there is less likely to have many objects/bodies moving in the proximity of the IoT device, the correlation threshold may be set at a low level.
The accuracy of detecting different motions and gestures is improved when the receiver 401 is utilized for determining the pattern of the signal characteristics changes in the received signal. Considering full functionality of the receiver 401 may be used during the transmit portion of the TDD timing, most, if not all, of the unwanted signals may be filtered resulting in processing a signal that is free or nearly free of unwanted interference for determining the pattern of the signal characteristics changes of the receive signal at antennas 406 that has been transmitted from antenna 407.
Considering the operation of the motion detection and/or gesture recognition is made possible by analyzing the signal characteristics changes of the received signal at antennas 406 that has been transmitted from antenna 407, the signal may be any signal including a continuous wave (CW) signal. Since a CW signal does not have a source address and normally is not expected to be transmitted in the vicinity of the IoT device by other sources, when the IoT device is enabled for a motion detection and/or gesture recognition, the process may be performed based on the signal characteristics changes of the received CW signal at antennas 406 that has been transmitted from antenna 407. In the case of using a CW signal, various functioning blocks in system 400 may be turned off or not used. For example, in case of using a CW signal, a low noise amplifier and a signal peak detector may be used for detection of the phase and/or amplitude changes and/or frequency of phase and/or amplitude changes of the received CW signal at antennas 406 that has been transmitted from antenna 407. The pattern of the received signal characteristics changes may be used for determining different motions and gestures within certain proximity of the IoT device.
Considering the operation of the motion detection and/or gesture recognition is made possible by analyzing the received signal characteristics changes at receive antennas 406 that has been transmitted from transmit antenna 407, the isolation between the antennas may be a factor in accuracy of the motion detection and/or gesture recognition. The isolation is referred to the amount of limiting the transmit signal from the transmit antenna 407 to be picked up directly by the receive antenna 406 without being a reflection from the object or human body in close proximity to the IoT device. The accuracy of the motion and/or gesture recognition is improved when the signal characteristics variations of the received signal are more due to signal reflection(s) from the object/human body. Throughout the disclosure as referenced “a received signal” for the motion detection and/or gesture recognition, the received signal of interest is mainly the reflected signal that has been received at the receiving antenna 406 and which has been transmitted from transmit antenna 407. As a signal is transmitted from transmit antennas 407, the signal is propagated in the space and reflected from the objects/bodies within that space. Referring to
In case of the embodiment(s) as depicted and explained in relation to
In one or more implementation for the operation of the motion detection and/or gesture recognition, the number of antennas on the IoT device may be limited to only one antenna. Referring to
The process for motion detection and/or gesture recognition may begin by transmitting a signal from transmit system 503 through antenna 508 while passing the transmit signal through coupler 505 and T/R switch 507. The transmit signal from antenna 508 is propagated in the space and also reflected back based on the movement of an object/person in a distance from antenna 508. The reflected signal has certain characteristics variations (as explained throughout) that are considered and correlated with certain movement(s) of the object/person in a proximity of the device. The reflected signal is received through the same T/R switch 507 while is in a transmit switch position. The reflected signal from T/R switch 507 travels to the transmit isolated port of coupler 505. The transmit isolated port of coupler 505 is connected to the receive isolated port of coupler 506 via a connection 511. As such, the connection 511 as shown allows the reflected transmit signal to be passed on to the receive input of receive system 501. The receive system 501 determines/analyzes the characteristics variations of the received signal which is primarily a reflection of the signal transmitted from transmit system 503. The coupled ports of couplers 505 and 506 are connected to ground through a resistor to improve the isolation between the transmit system 503 and receive system 501.
The receive system 501 determines/analyzes the characteristics variations of the received signal which may include phase and/or amplitude variations, and/or frequency of such variations of the received signals. While referring to the internal blocks within receive system 501, the amplitude of the reflected signal may be determined in a number of different ways. For example, a peak detector may be used to detect the variations of the reflected signal amplitude over a period of time. The processing system 502 may performs a Fast Fourier Transform of the signal amplitude variations over a period of time. A distribution of the frequency of the amplitude variations may then be used to determine whether a motion of an object/body and/or gesture has taken place in a proximity of the antenna 508. For example, if the frequency of the amplitude variations is very high or very low, the received signal is not primarily the reflected signal that has been transmitted from the device. If the frequency of the amplitude variations is within certain range of frequencies, the received signal may be considered to be primarily the reflected signal that has been transmitted from the device. One or more representative of the reflected signal is depicted in
While referring to
For the operation of the motion detection and/or gesture recognition, the likelihood of detecting a motion and/or gesture may be improved when the measurements are taken over a number of different channel frequencies. As such, the operations, as described throughout may be repeated over a number of frequency channels. The selected channels may span over the operating frequencies of Bluetooth Network frequency band, as an example. In case of using two antenna system or using a single antenna system, having an object or human body in a proximity of the IoT device causes the resonant frequency of the antenna to change. The changes in the resonant frequency of the IoT device are dynamic and depend on a number of different factors, such as the size, composition, and various movement of the object or the human body. The resonant frequency of the IoT device is also effected by the manufacturing variations, antenna tuning state, etc. Therefore, for the purpose of motion detection and/or gesture recognition, the measurements may be taken over a number of different frequencies. The characteristics of the reflected signals at different transmit frequencies are then evaluated for determining motion detection and/or gesture recognition. The measurement for determining characteristics of the reflected signals is repeated for a number of different frequency channels by for example transmitting the BLE packet 300 over a number of different frequency channels. As explained throughout, the determination of motion detection and/or gesture recognition may be made while the IoT device is in a normal communication with other devices. In one aspect, where Bluetooth normal communication is taking place, the receiver may use the reflected received signals during the transmit portion of the TDD operation. The reflected signal of such communication exchanges (i.e. transmission from the IoT device) in a normal communication may then be used for determining the motion detection and/or gesture recognition. Alternatively or in addition, when the IoT device is in an idle mode (i.e. not in a particular communication with other devices), the device may transmit one or more signals at one or more frequencies over a particular frequency band, and while receiving the reflected transmit signal, the determination for motion detection and/or gesture recognition may be performed.
The characteristics of the reflected signal may be defined as changes in possible variations of phase and/or amplitude variations, and/or frequency of phase and/or amplitude variations of the signal. Such changes of the reflected signal are collectively used as an indication of certain motion and/or gesture in a vicinity of the IoT device. Referring to
The disclosure relating to the embodiment depicted and explained in relation to
The various illustrative logics, logical blocks, modules, circuits and algorithm processes described in connection with the implementations disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. The interchangeability of hardware and software has been described generally, in terms of functionality, and illustrated in the various illustrative components, blocks, modules, circuits and processes described above. Whether such functionality is implemented in hardware or software depends upon the particular application and design constraints imposed on the overall system.
The hardware and data processing apparatus used to implement the various illustrative logics, logical blocks, modules and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose single- or multi-chip processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, or, any conventional processor, controller, microcontroller, or state machine. A processor also may be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. In some implementations, particular processes and methods may be performed by circuitry that is specific to a given function.
In one or more aspects, the functions described may be implemented in hardware, digital electronic circuitry, computer software, firmware, including the structures disclosed in this specification and their structural equivalents thereof, or in any combination thereof. Implementations of the subject matter described in this specification also can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on a computer storage media for execution by, or to control the operation of, data processing apparatus.
If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. The processes of a method or algorithm disclosed herein may be implemented in a processor-executable software module which may reside on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that can be enabled to transfer a computer program from one place to another. A storage media may be any available media that may be accessed by a computer. By way of example, and not limitation, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. Also, any connection can be properly termed a computer-readable medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and blue-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and instructions on a machine readable medium and computer-readable medium, which may be incorporated into a computer program product.
Various modifications to the implementations described in this disclosure may be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other implementations without departing from the spirit or scope of this disclosure. Thus, the claims are not intended to be limited to the implementations shown herein, but are to be accorded the widest scope consistent with this disclosure, the principles and the novel features disclosed herein.