Unmanned aerial vehicle (UAV) interference mitigation
The implementation of a channel hopping sequence with adaptive dwell times based on channel quality information and machine learning predictions addresses the interference challenges faced by UAVs, improving communication efficiency and reliability in crowded wireless environments.
Patent Information
- Application Number
- PCT/US2024/030763
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-19
- Filing Date
- 2024-05-23
- Publication Date
- 2024-12-26
AI Technical Summary
Unmanned aerial vehicles (UAVs) operating in crowded wireless environments, particularly in the 2.4 GHz frequency band, face significant interference from other devices, leading to channel loading congestion and degraded wireless performance, as existing solutions like dynamic channel selection are inadequate due to the moving nature of UAVs and changing interference sources.
Implementing a channel hopping sequence with synchronized switches at predefined times and adjusting dwell times based on channel quality information, using machine learning to predict congestion patterns and optimize channel usage, allowing UAVs and networked devices to dynamically adjust their communication to minimize interference and maintain connectivity.
This approach enhances UAV control efficiency by minimizing interference, reducing downtime, and maintaining normalized quality statistics throughout flights, allowing for more effective wireless communication by adapting to changing interference patterns.
Smart Images

Figure US2024030763_26122024_PF_FP_ABST
Abstract
Description
UNMANNED AERIAL VEHICLE (UAV) INTERFERENCE MITIGATIONTECHNICAL FIELD
[0001] This disclosure relates generally to wireless communication, and more specifically, to controlling and otherwise communicating with UAVs.DESCRIPTION OF THE RELATED TECHNOLOGY
[0002] Unmanned aerial vehicles (UAVs) are widely used in commercial, scientific, government, and recreational endeavors. UAVs, or drones, operate as line-of-sight WiFi transmissions that typically use the 2.4 GHz or 5 GHz frequency bands. UAV flights are generally controlled by portable wireless devices, such as dedicated UAV wireless remote controllers or mobile applications running on cellular telephones. In a crowded wireless landscape, wireless performance will often degrade as other devices cause channel interference. While all drones are inherently susceptible to interference, UAVs operating in the 2.4 GHz frequency band are particularly vulnerable to channel loading congestion from other sources such as microwave, Bluetooth, and other Wi-Fi users.
[0003] Typical solutions for reducing the impact of interference within a stationary access point (AP) and wireless station (STA) environment involve using dynamic channel selection (DCS). DCS periodically scans for available channels to operate within a least crowded channel at any given time. In a drone environment, either or both of the AP and the STA can be moving. This movement presents unique difficulties, such as different sets of interfering sources at the AP and STA that rapidly change at both nodes. A scan may consequently return the least loaded channel at the AP, but the situation is not guaranteed to be similar at the STA. More comprehensive type scans (e.g., foreground scans) can incur long downtimes.SUMMARY
[0004] The systems, methods, and devices of this disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.
[0005] One innovative aspect of the subject matter described in this disclosure can be implemented as a method of wireless communication. The method may be performed by a wireless communication device and may include wirelessly communicating with anunmanned aerial vehicle (UAV), the method including adopting a channel hopping sequence at a wireless device, where the wireless device includes a UAV or a networked device in direct communication with the UAV, where the channel hopping sequence includes an ordered list of a plurality of wireless channels to which the UAV and the networked device perform a synchronized switch at a plurality of predefined times, and monitoring channel quality information associated with the plurality of wireless channels. A dwell time associated with a channel of the plurality of wireless channels may be adjusted based on the channel quality information.
[0006] In some aspects, the method may further include adjusting the dwell time by initiating a switch from the channel to a next sequential channel of the channel hopping sequence. In some implementations, initiating the switch further comprises announcing the switch in a beacon. In one example, the method includes skipping a re-association operation to reestablish a respective communication link.
[0007] In some implementations, the method may further include adjusting the dwell time by determining a modified dwell time associated with the channel within the channel hopping sequence for use during in a subsequent flight of the UAV. According to some aspects, the method may include assigning a weighted value to the channel based on the channel quality information, where the weighted value falls below a threshold quality value. According to a particular aspect, the method may include reordering the ordered list of the plurality of wireless channels based on the weighted value.
[0008] In some aspects, the method may further include adjusting the dwell time by dropping the channel from the channel hopping sequence. Another implementation may include reintroducing the channel into the channel hopping sequence during an ensuing flight of the UAV. The method may additionally or alternatively include configuring initial dwell times of each of the plurality of wireless channels to be the same duration prior to the adjusting of the dwell time associated with the channel.
[0009] In certain implementations, the method may further include adjusting the dwell time by reducing the dwell time by a percentage when the channel quality information is automatically determined to be undesirable. According to a particular aspect, the method may include applying machine learning to historical channel quality information comprising timestamp and location data to generate the channel hopping sequence.
[0010] According to one implementation, the channel quality information includes at least one of: interference from a wireless local-area network (WLAN) device, interference from a continuous wave wireless device, an automatic channel selection (ACS) report, a quality threshold determination, a number of retransmissions, a rate control algorithm, modulated coding scheme (MCS) data, and complementary code keying (CCK) data.
[0011] In another or the same implementation, the method may include configuring the wireless device to be an access point (AP) or a wireless station (STA). An aspect may further include configuring UAV and the networked device to communicate using a Wi-Fi network.
[0012] Another innovative aspect of the subject matter described in this disclosure can be implemented in a wireless communication device. In some implementations, the wireless communication device may include a transceiver, a flight control circuit, a memory, and a processor communicatively coupled with the memory, the flight control circuit, and the transceiver, the processor configured to: adopt a channel hopping sequence comprising an ordered list of a plurality of wireless channels to which a synchronized switch is performed with a wirelessly connected device at a plurality of predefined times, monitor channel quality information associated with the plurality of wireless channels, and adjust a dwell time associated with a channel of the plurality of wireless channels based on the channel quality information.
[0013] In some aspects, the processor is further configured to adjust the dwell time by determining a modified dwell time associated with the channel within the channel hopping sequence for use during in a subsequent flight.
[0014] Another innovative aspect of the subject matter described in this disclosure can be implemented in a wireless communication device that includes a transceiver, a memory, and a processor communicatively coupled with the memory and the transceiver, the processor configured to: adopt a channel hopping sequence comprising an ordered list of a plurality of wireless channels to which a synchronized switch is performed with an unmanned aerial vehicle (UAV) at a plurality of predefined times, monitor channel quality information associated with the plurality of wireless channels, and adjust a dwell time associated with a channel of the plurality of wireless channels based on the channel quality information.
[0015] In some aspects, the processor is further configured to adjust the dwell time by reducing the dwell time by a percentage when the channel quality information is automatically determined to be undesirable. In another or the same implementation, the processor is further configured to apply machine learning to historical channel quality information comprising timestamp and location data to generate the channel hopping sequence.
[0016] Another innovative aspect of the subject matter described in this disclosure can be implemented in a computer-readable medium storing computer executable code for wireless communications that includes code to adopt a channel hopping sequence at a wireless device, wherein the wireless device comprises a UAV or a networked device in direct communication with the UAV, wherein the channel hopping sequence comprises an ordered list of a plurality of wireless channels to which the UAV and the networked device perform a synchronized switch at a plurality of predefined times, monitor channel quality information associated with the plurality of wireless channels, and adjust a dwell time associated with a channel of the plurality of wireless channels based on the channel quality information.
[0017] In some aspects, the code is further configured to adjust the dwell time further comprises initiating a switch from the channel to a next sequential channel of the channel hopping sequence. In another or the same implementation, the code is further configured to adjust the dwell time by determining a modified dwell time associated with the channel within the channel hopping sequence for use during in a subsequent flight. In another aspect, the code is further configured to assign a weighted value to the channel based on the channel quality information.BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Details of one or more implementations of the subject matter described in this disclosure are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings and the claims. Note that the relative dimensions of the following figures may not be drawn to scale.
[0019] Figure 1 shows a pictorial diagram of an example wireless communication network.
[0020] Figure 2A shows an example protocol data unit (PDU) usable for communications between an access point (AP) and one or more wireless stations (STAs).
[0021] Figure 2B shows an example field in the PDU of Fig. 2A.
[0022] Figure 3 shows an example physical layer convergence protocol (PLCP) protocol data unit (PPDU) usable for communications between an AP and one or more STAs.
[0023] Figure 4 shows a block diagram of an example wireless communication device.
[0024] Figure 5A shows a block diagram of an example AP.
[0025] Figure 5B shows a block diagram of an example STA.
[0026] Figure 5 shows an example communication environment that includes an AP and a STA, according to some implementations.
[0027] Figure 6 illustrates an example of a wireless environment that includes one more systems that may synchronize channel hopping between UAVs and other wireless devices to minimize interference.
[0028] Figure 7 is a block diagram of an implementation of a system that includes a wireless device and an unmanned aerial vehicle UAV configured to minimize interference and increase efficiency by using a common channel hopping sequence.
[0029] Figure 8 shows both a sequenced channel hopping list for an initial flight of a UAV and an updated list for a subsequent flight.
[0030] Figure 9 is a graph depicting three different scenarios of drone communication signals having differently weighted channels plotted over a full hopping sequence period (T).
[0031] Figure 10 is a flowchart of an implementation of a method configured to synchronize channel hopping between a UAV and at least one other wireless device to minimize interference by limiting dwell time in real time.
[0032] Figure 11 is flowchart of another implementation of a method of operating UAV and at least one other wireless device by synchronizing channel hopping and mathematically weighting channels based on interference and other performance factors.
[0033] Figure 12 is flowchart of another implementation of a method of operating UAV by synchronizing channel hopping and using machine learning models to predict a congestion pattern for a particular channel.
[0034] Figure 13 is flowchart of another implementation of a method of wirelessly communicating with a UAV.
[0035] Figure 14 shows a block diagram of an example wireless communication device according to some implementations.
[0036] Like reference numbers and designations in the various drawings indicate like elements.DETAILED DESCRIPTION
[0037] The following description is directed to certain implementations for the purposes of describing 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 can be implemented in any device, system or network that is capable of transmitting and receiving radio frequency (RF) signals according to one or more of the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards, the IEEE 802.15 standards, the Bluetooth® standards as defined by the Bluetooth Special Interest Group (SIG), or the Long Term Evolution (LTE), 3G, 4G or 5G (New Radio (NR)) standards promulgated by the 3rd Generation Partnership Project (3GPP), among others. The described implementations can be implemented in any device, system or network that is capable of transmitting and receiving RF signals according to one or more of the following technologies or techniques: code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), single-carrier FDMA (SC-FDMA), single-user (SU) multiple-input multiple-output (MIMO) and multi-user (MU) MIMO. The described implementations also can be implemented using other wireless communication protocols or RF signals suitable for use in one or more of a wireless personal area network (WPAN), a wireless local area network (WLAN), a wireless wide area network (WWAN), or an internet of things (IOT) network.
[0038] An implementation of a system may synchronize channel hopping between a UAV and another wireless device to minimize interference. Both wireless devices mayaccess a sequenced channel hopping list that includes a dwell time for each channel on the list. In one example, the UAV and the other wireless device may hop to a next channel on the list before the expiration of the associated dwell time in response to detected poor channel quality. In another or the same implementation, evaluated channels may be mathematically weighted based on channel quality. The weighted values may be used to update the common sequenced channel hopping list at both wireless devices for a next UAV flight. The updates may include changing the order of the sequence of the channels on the list. The dwell times associated with each channel may be alternatively or additionally modified. In some cases, a poorly performing channel may be permanently or temporarily removed from the sequenced channel hopping list. Interference feedback and other historical data may be analyzed using machine learning techniques to further modify the sequenced channel hopping list.
[0039] According to a particular implementation, both the AP and STA spend a fixed amount of time in different channels at various times. Hop channels may be based on a predefined pattern that is synchronized in time and aided by an existing channel switch announcement (CSA) mechanism. The system may monitor quality on various channels while actively operating in those channels. In this manner, the net impact of interference is averaged across the various channels of the operating band.
[0040] An implementation of the system maintains the sequenced channel hopping list of available channels at multiple wireless devices. The sequence to hop may initially be in a random, arbitrary order. The system may maintain a dwell time for each channel. The dwell time may indicate the time duration of residence in a current channel. For each dwell time associated with each channel, the system may monitor and record interference from other wireless local area network (WLAN) devices in the environment, as well as interference from continuous wave wireless devices in the environment. The system may evaluate if the current channel is of good quality. For example, the system may evaluate an automatic channel selection (ACS) report to determine if the loading of the channel is below a predefined threshold. In one instance, the threshold may pertain to a number of retransmissions that occur during a dwell time. In another example, the system may evaluate how a rate control algorithm is performing in a current channel. More particularly, the system may determine if the wireless devices are operating in a lower modulation coding scheme (MCS) or in complementary code keying (CCK) rates.
[0041] Based on the results of the channel quality monitoring, the system may cut short the duration of residence (i.e., dwell time) if the channel is bad. For example, the system may reduce a current time of residence by a percentage that is determined by inputs indicative of the poor channel quality. If the channel quality is alternatively determined to be good, then the wireless devices may continue to reside on the channel until the dwell time is complete. When the dwell time expires, a coordinated channel switch is initiated at both wireless devices according to the synchronized channel hopping sequence list. According to a specific implementation, a weighted value may be added to the metrics of the current channel based on the channel quality monitoring. For a subsequent flight, the weighting may influence the ordering of the predefined hopping list.
[0042] A particular implementation may include Wi-Fi channel hopping. Channel quality and interference may vary at the AP and at the STA. As described herein, both devices may adopt the same hopping sequence. Dwell times may be cut short if a channel is determined to be bad. The system may collect data during the channel hopping to identify the best channels for future use. The data may be run through machine learning models to train a model that can predict the congestion patterns on each channel and make a more optimal hopping sequence.
[0043] Particular aspects of the subject matter described in this disclosure can be implemented to realize one or more of the following potential advantages. Implementations include more efficient UAV control with minimized interference from other wireless devices. STAs of the system may have a way to recover connectivity to the AP in the event of interference bursts occurring during a dwell time on any channel. APs may have more recent statistics of channel loading conditions on various channels without incurring downtime to acquire the knowledge. An implementation may bypass performing frequent off channel scanning to determine other best channels, as well as explicit associations and disassociations. Implementations may enhance measured metrics to promote normalized quality statistics for an entire flight duration. The channel hopping sequence may evolve over the course of multiple flights using weighted calculations and prediction models to facilitate effective wireless communications.
[0044] Figure 1 shows a block diagram of an example wireless communication network. According to some aspects, the wireless communication network can be anexample of a wireless local area network (WLAN) such as a Wi-Fi network (and will hereinafter be referred to as WLAN 100). For example, the WLAN 100 can be a network implementing at least one of the IEEE 802.11 family of wireless communication protocol standards (such as that defined by the IEEE 802.11-2020 specification or amendments thereof including, but not limited to, 802.1 lah, 802.1 lad, 802. Hay, 802.1 lax, 802.11 az, 802.1 Iba and 802.1 Ibe). The WLAN 100 may include numerous wireless communication devices such as an access point (AP) 102 and multiple stations (STAs) 104. While only one AP 102 is shown, the WLAN network 100 also can include multiple APs 102.
[0045] Each of the STAs 104 also may be referred to as a mobile station (MS), a mobile device, a mobile handset, a wireless handset, an access terminal (AT), a user equipment (UE), a subscriber station (SS), or a subscriber unit, among other possibilities. The STAs 104 may represent various devices such as mobile phones, personal digital assistant (PDAs), other handheld devices, netbooks, notebook computers, tablet computers, laptops, display devices (for example, TVs, computer monitors, navigation systems, among others), music or other audio or stereo devices, remote control devices (“remotes”), printers, kitchen or other household appliances, key fobs (for example, for passive keyless entry and start (PKES) systems), among other possibilities.
[0046] A single AP 102 and an associated set of STAs 104 may be referred to as a basic service set (BSS), which is managed by the respective AP 102. Fig. 1 additionally shows an example coverage area 108 of the AP 102, which may represent a basic service area (BSA) of the WLAN 100. The BSS may be identified to users by a service set identifier (SSID), as well as to other devices by a basic service set identifier (BSSID), which may be a medium access control (MAC) address of the AP 102. The AP 102 periodically broadcasts beacon frames (“beacons”) including the BSSID to enable any STAs 104 within wireless range of the AP 102 to “associate” or re-associate with the AP 102 in a re-association operation to establish a respective communication link 106 (hereinafter also referred to as a “Wi-Fi link”), or to maintain a communication link 106, with the AP 102. For example, the beacons can include an identification of a primary channel used by the respective AP 102 as well as a timing synchronization function for establishing or maintaining timing synchronization with the AP 102. TheAP 102 may provide access to external networks to various STAs 104 in the WLAN via respective communication links 106.
[0047] To establish a communication link 106 with an AP 102, each of the STAs 104 is configured to perform passive or active scanning operations (“scans”) on frequency channels in one or more frequency bands (for example, the 2.4 GHz, 5 GHz, 6 GHz or 60 GHz bands). To perform passive scanning, a STA 104 listens for beacons, which are transmitted by respective APs 102 at a periodic time interval referred to as the target beacon transmission time (TBTT) (measured in time units (TUs) where one TU may be equal to 1024 microseconds (ps)). To perform active scanning, a STA 104 generates and sequentially transmits probe requests on each channel to be scanned and listens for probe responses from APs 102. Each STA 104 may be configured to identify or select an AP 102 with which to associate based on the scanning information obtained through the passive or active scans, and to perform authentication and association operations to establish a communication link 106 with the selected AP 102. The AP 102 assigns an association identifier (AID) to the STA 104 at the culmination of the association operations, which the AP 102 uses to track the STA 104.
[0048] As a result of the increasing ubiquity of wireless networks, a STA 104 may have the opportunity to select one of many BSSs within range of the STA or to select among multiple APs 102 that together form an extended service set (ESS) including multiple connected BSSs. An extended network station associated with the WLAN 100 may be connected to a wired or wireless distribution system that may allow multiple APs 102 to be connected in such an ESS. As such, a STA 104 can be covered by more than one AP 102 and can associate with different APs 102 at different times for different transmissions. Additionally, after association with an AP 102, a STA 104 also may be configured to periodically scan its surroundings to find a more suitable AP 102 with which to associate. For example, a STA 104 that is moving relative to its associated AP 102 may perform a “roaming” scan to find another AP 102 having more desirable network characteristics such as a greater received signal strength indicator (RS SI) or a reduced traffic load.
[0049] In some cases, STAs 104 may form networks without APs 102 or other equipment other than the STAs 104 themselves. One example of such a network is an ad hoc network (or wireless ad hoc network). Ad hoc networks may alternatively be referred to as mesh networks or peer-to-peer (P2P) networks. In some cases, ad hocnetworks may be implemented within a larger wireless network such as the WLAN 100. In such implementations, while the STAs 104 may be capable of communicating with each other through the AP 102 using communication links 106, STAs 104 also can communicate directly with each other via direct wireless links 110. Additionally, two STAs 104 may communicate via a direct communication link 110 regardless of whether both STAs 104 are associated with and served by the same AP 102. In such an ad hoc system, one or more of the STAs 104 may assume the role filled by the AP 102 in a BSS. Such a STA 104 may be referred to as a group owner (GO) and may coordinate transmissions within the ad hoc network. Examples of direct wireless links 110 include Wi-Fi Direct connections, connections established by using a Wi-Fi Tunneled Direct Link Setup (TDLS) link, and other P2P group connections.
[0050] The APs 102 and STAs 104 may function and communicate (via the respective communication links 106) according to the IEEE 802.11 family of wireless communication protocol standards (such as that defined by the IEEE 802.11-2016 specification or amendments thereof including, but not limited to, 802.1 lah, 802.1 lad, 802. Hay, 802.1 lax, 802.11 az, 802.11ba and 802.11be). These standards define the WLAN radio and baseband protocols for the PHY and medium access control (MAC) layers. The APs 102 and STAs 104 transmit and receive wireless communications (hereinafter also referred to as “Wi-Fi communications”) to and from one another in the form of physical layer convergence protocol (PLCP) protocol data units (PPDUs). The APs 102 and STAs 104 in the WLAN 100 may transmit PPDUs over an unlicensed spectrum, which may be a portion of spectrum that includes frequency bands traditionally used by Wi-Fi technology, such as the 2.4 GHz band, the 5 GHz band, the 60 GHz band, the 3.6 GHz band, and the 700 MHz band. Some implementations of the APs 102 and STAs 104 described herein also may communicate in other frequency bands, such as the 6 GHz band, which may support both licensed and unlicensed communications. The APs 102 and STAs 104 also can be configured to communicate over other frequency bands such as shared licensed frequency bands, where multiple operators may have a license to operate in the same or overlapping frequency band or bands.
[0051] Each of the frequency bands may include multiple sub-bands or frequency channels. For example, PPDUs conforming to the IEEE 802.1 In, 802.1 lac, 802.1 lax and 802.1 Ibe standard amendments may be transmitted over the 2.4, 5 GHz or 6 GHzbands, each of which is divided into multiple 20 MHz channels. As such, these PPDUs are transmitted over a physical channel having a minimum bandwidth of 20 MHz, but larger channels can be formed through channel bonding. For example, PPDUs may be transmitted over physical channels having bandwidths of 40 MHz, 80 MHz, 160 or 320 MHz by bonding together multiple 20 MHz channels.
[0052] Each PPDU is a composite structure that includes a PHY preamble and a payload in the form of a PHY service data unit (PSDU). The information provided in the preamble may be used by a receiving device to decode the subsequent data in the PSDU. In instances in which PPDUs are transmitted over a bonded channel, the preamble fields may be duplicated and transmitted in each of the multiple component channels. The PHY preamble may include both a legacy portion (or “legacy preamble”) and a non-legacy portion (or “non-legacy preamble”). The legacy preamble may be used for packet detection, automatic gain control and channel estimation, among other uses. The legacy preamble also may generally be used to maintain compatibility with legacy devices. The format of, coding of, and information provided in the non-legacy portion of the preamble is based on the particular IEEE 802.11 protocol to be used to transmit the payload.
[0053] Figure 2A shows an example protocol data unit (PDU) 200 usable for wireless communication between an AP 102 and one or more STAs 104. For example, the PDU 200 can be configured as a PPDU. As shown, the PDU 200 includes a PHY preamble 202 and a PHY payload 204. For example, the preamble 202 may include a legacy portion that itself includes a legacy short training field (L-STF) 206, which may consist of two BPSK symbols, a legacy long training field (L-LTF) 208, which may consist of two BPSK symbols, and a legacy signal field (L-SIG) 210, which may consist of two BPSK symbols. The legacy portion of the preamble 202 may be configured according to the IEEE 802.1 la wireless communication protocol standard. The preamble 202 may also include a non-legacy portion including one or more non-legacy fields 212, for example, conforming to an IEEE wireless communication protocol such as the IEEE 802.1 lac, 802.1 lax, 802.1 Ibe or later wireless communication protocol protocols.
[0054] The L-STF 206 generally enables a receiving device to perform automatic gain control (AGC) and coarse timing and frequency estimation. The L-LTF 208 generally enables a receiving device to perform fine timing and frequency estimationand also to perform an initial estimate of the wireless channel. The L-SIG 210 generally enables a receiving device to determine a duration of the PDU and to use the determined duration to avoid transmitting on top of the PDU. For example, the L-STF 206, the L- LTF 208 and the L-SIG 210 may be modulated according to a binary phase shift keying (BPSK) modulation scheme. The payload 204 may be modulated according to a BPSK modulation scheme, a quadrature BPSK (Q-BPSK) modulation scheme, a quadrature amplitude modulation (QAM) modulation scheme, or another appropriate modulation scheme. The payload 204 may include a PSDU including a data field (DATA) 214 that, in turn, may carry higher layer data, for example, in the form of medium access control (MAC) protocol data units (MPDUs) or an aggregated MPDU (A-MPDU).
[0055] Figure 2B shows an example L-SIG 210 in the PDU 200 of Fig. 2A. The L- SIG 210 includes a data rate field 222, a reserved bit 224, a length field 226, a parity bit 228, and a tail field 230. The data rate field 222 indicates a data rate (note that the data rate indicated in the data rate field 212 may not be the actual data rate of the data carried in the payload 204). The length field 226 indicates a length of the packet in units of, for example, symbols or bytes. The parity bit 228 may be used to detect bit errors. The tail field 230 includes tail bits that may be used by the receiving device to terminate operation of a decoder (for example, a Viterbi decoder). The receiving device may utilize the data rate and the length indicated in the data rate field 222 and the length field 226 to determine a duration of the packet in units of, for example, microseconds (ps) or other time units.
[0056] Figure 3 shows an example PPDU 300 usable for communications between an AP 102 and one or more STAs 104. As described above, each PPDU 300 includes a PHY preamble 302 and a PSDU 304. Each PSDU 304 may represent (or “carry”) one or more MAC protocol data units (MPDUs). For example, each PSDU 304 may carry an aggregated MPDU (A-MPDU) 306 that includes an aggregation of multiple A- MPDU subframes 308. Each A-MPDU subframe 306 may include an MPDU frame 310 that includes a MAC delimiter 312 and a MAC header 314 prior to the accompanying MPDU 316, which comprises the data portion (“payload” or “frame body”) of the MPDU frame 310. Each MPDU frame 310 may also include a frame check sequence (FCS) field 318 for error detection (for example, the FCS field may include a cyclic redundancy check (CRC)) and padding bits 320. The MPDU 316 may carry one or more MAC service data units (MSDUs) 326. For example, the MPDU 316may carry an aggregated MSDU (A-MSDU) 322 including multiple A-MSDU subframes 324. Each A-MSDU subframe 324 contains a corresponding MSDU 330 preceded by a subframe header 328 and in some cases followed by padding bits 332.
[0057] Referring back to the MPDU frame 310, the MAC delimiter 312 may serve as a marker of the start of the associated MPDU 316 and indicate the length of the associated MPDU 316. The MAC header 314 may include multiple fields containing information that defines or indicates characteristics or attributes of data encapsulated within the frame body 316. The MAC header 314 includes a duration field indicating a duration extending from the end of the PPDU until at least the end of an acknowledgment (ACK) or Block ACK (BA) of the PPDU that is to be transmitted by the receiving wireless communication device. The use of the duration field serves to reserve the wireless medium for the indicated duration and enables the receiving device to establish its network allocation vector (NAV). The MAC header 314 also includes one or more fields indicating addresses for the data encapsulated within the frame body 316. For example, the MAC header 314 may include a combination of a source address, a transmitter address, a receiver address or a destination address. The MAC header 314 may further include a frame control field containing control information. The frame control field may specify a frame type, for example, a data frame, a control frame, or a management frame.
[0058] Figure 4 shows a block diagram of an example wireless communication device 400. In some implementations, the wireless communication device 400 can be an example of a device for use in a STA such as one of the STAs 104 described with reference to Fig. 1. In some implementations, the wireless communication device 400 can be an example of a device for use in an AP such as the AP 102 described with reference to Fig. 1. The wireless communication device 400 is capable of transmitting (or outputting for transmission) and receiving wireless communications (for example, in the form of wireless packets). For example, the wireless communication device can be configured to transmit and receive packets in the form of physical layer convergence protocol (PLCP) protocol data units (PPDUs) and medium access control (MAC) protocol data units (MPDUs) conforming to an IEEE 802.11 wireless communication protocol standard, such as that defined by the IEEE 802.11-2016 specification or amendments thereof including, but not limited to, 802.1 lah, 802.1 lad, 802.1 lay, 802.1 lax, 802.1 laz, 802.11ba and 802.11be.
[0059] The wireless communication device 400 can be, or can include, a chip, system on chip (SoC), chipset, package or device that includes one or more modems 402, for example, a Wi-Fi (IEEE 802.11 compliant) modem. In some implementations, the one or more modems 402 (collectively “the modem 402”) additionally include a WWAN modem (for example, a 3GPP 4G LTE or 5G compliant modem). In some implementations, the wireless communication device 400 also includes one or more radios 404 (collectively “the radio 404”). In some implementations, the wireless communication device 406 further includes one or more processors, processing blocks or processing elements 406 (collectively “the processor 406”) and one or more memory blocks or elements 408 (collectively “the memory 408”).
[0060] The modem 402 can include an intelligent hardware block or device such as, for example, an application-specific integrated circuit (ASIC) among other possibilities. The modem 402 is generally configured to implement a PHY layer. For example, the modem 402 is configured to modulate packets and to output the modulated packets to the radio 404 for transmission over the wireless medium. The modem 402 is similarly configured to obtain modulated packets received by the radio 404 and to demodulate the packets to provide demodulated packets. In addition to a modulator and a demodulator, the modem 402 may further include digital signal processing (DSP) circuitry, automatic gain control (AGC), a coder, a decoder, a multiplexer and a demultiplexer. For example, while in a transmission mode, data obtained from the processor 406 is provided to a coder, which encodes the data to provide encoded bits. The encoded bits are then mapped to points in a modulation constellation (using a selected MCS) to provide modulated symbols. The modulated symbols may then be mapped to a number Ass of spatial streams or a number STS of space-time streams. The modulated symbols in the respective spatial or space-time streams may then be multiplexed, transformed via an inverse fast Fourier transform (IFFT) block, and subsequently provided to the DSP circuitry for Tx windowing and filtering. The digital signals may then be provided to a digital-to-analog converter (DAC). The resultant analog signals may then be provided to a frequency upconverter, and ultimately, the radio 404. In implementations involving beamforming, the modulated symbols in the respective spatial streams are pre-coded via a steering matrix prior to their provision to the IFFT block.
[0061] While in a reception mode, digital signals received from the radio 404 are provided to the DSP circuitry, which is configured to acquire a received signal, forexample, by detecting the presence of the signal and estimating the initial timing and frequency offsets. The DSP circuitry is further configured to digitally condition the digital signals, for example, using channel (narrowband) filtering, analog impairment conditioning (such as correcting for I / Q imbalance), and applying digital gain to ultimately obtain a narrowband signal. The output of the DSP circuitry may then be fed to the AGC, which is configured to use information extracted from the digital signals, for example, in one or more received training fields, to determine an appropriate gain. The output of the DSP circuitry also is coupled with the demodulator, which is configured to extract modulated symbols from the signal and, for example, compute the logarithm likelihood ratios (LLRs) for each bit position of each subcarrier in each spatial stream. The demodulator is coupled with the decoder, which may be configured to process the LLRs to provide decoded bits. The decoded bits from all of the spatial streams are then fed to the demultiplexer for demultiplexing. The demultiplexed bits may then be descrambled and provided to the MAC layer (the processor 406) for processing, evaluation or interpretation.
[0062] The radio 404 generally includes at least one radio frequency (RF) transmitter (or “transmitter chain”) and at least one RF receiver (or “receiver chain”), which may be combined into one or more transceivers. For example, the RF transmitters and receivers may include various DSP circuitry including at least one power amplifier (PA) and at least one low-noise amplifier (LNA), respectively. The RF transmitters and receivers may, in turn, be coupled to one or more antennas. For example, in some implementations, the wireless communication device 400 can include, or be coupled with, multiple transmit antennas (each with a corresponding transmit chain) and multiple receive antennas (each with a corresponding receive chain). The symbols output from the modem 402 are provided to the radio 404, which then transmits the symbols via the coupled antennas. Similarly, symbols received via the antennas are obtained by the radio 404, which then provides the symbols to the modem 402.
[0063] The processor 406 can include an intelligent hardware block or device such as, for example, a processing core, a processing block, a central processing unit (CPU), a microprocessor, a microcontroller, a digital signal processor (DSP), an applicationspecific integrated circuit (ASIC), a programmable logic device (PLD) such as a field programmable gate array (FPGA), discrete gate or transistor logic, discrete hardwarecomponents, or any combination thereof designed to perform the functions described herein. The processor 406 processes information received through the radio 404 and the modem 402, and processes information to be output through the modem 402 and the radio 404 for transmission through the wireless medium. For example, the processor 406 may implement a control plane and MAC layer configured to perform various operations related to the generation and transmission of MPDUs, frames or packets. The MAC layer is configured to perform or facilitate the coding and decoding of frames, spatial multiplexing, space-time block coding (STBC), beamforming, and OFDMA resource allocation, among other operations or techniques. In some implementations, the processor 406 may generally control the modem 402 to cause the modem to perform various operations described above.
[0064] The memory 408 can include tangible storage media such as random-access memory (RAM) or read-only memory (ROM), or combinations thereof. The memory 408 also can store non-transitory processor- or computer-executable software (SW) code containing instructions that, when executed by the processor 406, cause the processor to perform various operations described herein for wireless communication, including the generation, transmission, reception and interpretation of MPDUs, frames or packets. For example, various functions of components disclosed herein, or various blocks or steps of a method, operation, process or algorithm disclosed herein, can be implemented as one or more modules of one or more computer programs.
[0065] Figure 5A shows a block diagram of an example AP 502. For example, the AP 502 can be an example implementation of the AP 102 described with reference to Fig. 1. The AP 502 includes a wireless communication device (WCD) 510 (although the AP 502 may itself also be referred to generally as a wireless communication device as used herein). For example, the wireless communication device 510 may be an example implementation of the wireless communication device 400 described with reference to Fig. 4. The AP 502 also includes multiple antennas 520 coupled with the wireless communication device 510 to transmit and receive wireless communications. In some implementations, the AP 502 additionally includes an application processor 530 coupled with the wireless communication device 510, and a memory 540 coupled with the application processor 530. The AP 502 further includes at least one external network interface 550 that enables the AP 502 to communicate with a core network or backhaul network to gain access to external networks including the Internet. Forexample, the external network interface 550 may include one or both of a wired (for example, Ethernet) network interface and a wireless network interface (such as a WWAN interface). Ones of the aforementioned components can communicate with other ones of the components directly or indirectly, over at least one bus. The AP 502 further includes a housing that encompasses the wireless communication device 510, the application processor 530, the memory 540, and at least portions of the antennas 520 and external network interface 550.
[0066] Figure 5B shows a block diagram of an example STA 504. For example, the STA 504 can be an example implementation of the STA 104 described with reference to Fig. 1. The STA 504 includes a wireless communication device 515 (although the STA 504 may itself also be referred to generally as a wireless communication device as used herein). For example, the wireless communication device 515 may be an example implementation of the wireless communication device 400 described with reference to Fig. 4. The STA 504 also includes one or more antennas 525 coupled with the wireless communication device 515 to transmit and receive wireless communications. The STA 504 additionally includes an application processor 535 coupled with the wireless communication device 515, and a memory 545 coupled with the application processor 535. In some implementations, the STA 504 further includes a user interface (UI) 555 (such as a touchscreen or keypad) and a display 565, which may be integrated with the UI 555 to form a touchscreen display. In some implementations, the STA 504 may further include one or more sensors 575 such as, for example, one or more inertial sensors, accelerometers, temperature sensors, pressure sensors, or altitude sensors.Ones of the aforementioned components can communicate with other ones of the components directly or indirectly, over at least one bus. The STA 504 further includes a housing that encompasses the wireless communication device 515, the application processor 535, the memory 545, and at least portions of the antennas 525, UI 555, and display 565.
[0067] Figure 6 illustrates an example of a wireless environment 600 that includes one more systems that may synchronize channel hopping between UAVs 602, 608 and other wireless devices 604, 610, and 614 to minimize interference. The wirelessly communicating devices 602, 604, 608, 610, and 614 may access sequenced channel hopping lists that include a dwell time for each channel on the list. The sequenced channel hopping lists may include a list of channels that are shared among thenetworked wireless devices. The sequenced channel hopping lists may facilitate synchronized channel switching by networked wireless devices at predefined times. The switching times may be indicated in beacons to the associated STAs. In one example, the UAVs 602, 608 and the other wireless devices 604, 610, and 614 may hop to a next channel on the list before the expiration of the associated dwell time in response to a detected poor channel quality.
[0068] Turning more particularly to the drawing, the UAV 602 may be controlled by a remote controller 604. The UAV 602 and the remote controller 604 may form part of a WLAN. As explained herein, a WLAN may be formed by one or more APs that provide a shared wireless communication medium for use by multiple STAs. The basic building block of a WLAN conforming to the IEEE 802.11 family of standards is a Basic Service Set (BSS), which is managed by an AP. Each BSS is identified by a Basic Service Set Identifier (BSSID) that is advertised by the AP. An AP periodically broadcasts beacon frames to enable any STAs within wireless range of the AP to establish or maintain a communication link with the WLAN. In the scenario of Fig. 6, the WLAN communication protocols designed for wireless communications may UAVs include 2.4 GHz, 5 GHz, and 6 GHz frequency bands. The dashed line of the wireless network 616 may represent an effective area of wireless coverage.
[0069] In the scenario of Fig. 6, the UAV 602 may comprise an AP, and the remote controller 604 may comprise an STA. As explained herein, the UAV 602 and the remote controller 604 may communicate with one another in a coordinated manner over a wireless communication link 606 using sequenced channel hops. While the UAV in Fig. 6 may be engaged in a commercial delivery function, other common UAV uses may include search and rescue efforts, surveillance, traffic monitoring, weather monitoring, agricultural endeavors, videography / photography, and firefighting.
[0070] A second UAV 608 is also depicted as flying within the wireless environment 600 of Fig. 6. The second UAV 608 may be in communication with wireless devices 610, 614. The wireless devices 610, 614 and the UAV 608 may form part of a second wireless network 618. The dashed line of the second wireless network 618 may represent an effective area of wireless coverage.
[0071] In the scenario of Fig. 6, the UAV 608 may comprise a base station, while the wireless devices 610 and 614 may comprise APs. The UAV 608 may communicate with the wireless device, such as a cellular phone, 610 via a communications link 612.The communications link 612 may comprise coordinated and sequenced channel hopping.
[0072] As illustrated in Fig. 6, the wireless environment 600 may include additional wireless devices that may potentially interfere with the wireless communication links 606, 612, and 616. Such devices may include a cellular telephone tower 620, as well as one or more other UAVs 622. Computers 624 and household appliances 626 may emit Wi-Fi signals that can also interfere with intended communications of a network 616, 618. Likewise, television box players 628, Bluetooth devices 630, microwave radio relay towers 634, and other remote controllers 632 may further degrade performance.
[0073] Figure 7 is a block diagram of an implementation of a system 700 that includes a wireless device 702 and an unmanned aerial vehicle UAV 730 configured to minimize interference and increase efficiency by using a common channel hopping sequence. The wireless device 702 may comprise a remote controller or a handheld wireless device, such as a cellular telephone. In one example, the wireless device 702 of Fig. 7 may be similar to the remote controller 604 of Fig. 6. The UAV 730 of Fig. 7 may in another or the same example be similar to the UAV 602 of Fig. 6. In one scenario, the wireless device 702 may comprise an STA, and the UAV 730 may function as an AP. In another implementation, the wireless device 702 may comprise an AP, and the UAV 730 may function as an STA.
[0074] As illustrated, the wireless device 702 includes a processor 704 and a memory 706, as well as a receive and transmit antenna 708. The processor 704 includes a channel switching module 714. The channel switching module 714 includes a target beacon transmission time (TBTT) 710 and a beacon module 712. As described herein, the sequenced channel hopping lists 720, 746 may facilitate synchronized channel switching by networked wireless devices at predefined times. The switching times may be indicated in beacon frames to the associated STA. The beacon module 712 may generate beacon frames that include network information that are communicated to members of a network. An illustrative beacon frame may be sent by the AP at a regular interval defined by the TBTT 710. The beacon frames are transmitted periodically and serve to announce the presence of a wireless LAN and to synchronize members of a service set. A service set may include a group of wireless devices that share service set identifier (SSID) information 724. In one implementation, the beacon frames are transmitted by the AP in an infrastructure basic service set (BSS).
[0075] The channel switching module 714 may further include a channel switch announcement (CSA) module 716. The CSA module 716 may be a mechanism for an AP to notify the connected stations of its intention to change the operating channel. This function may generally allow the client / STAs to hop to the channel in which AP is hopping and maintain the connection.
[0076] The memory 706 may include a channel hopping sequence list 720. The memory 706 may further include SSID information 724, in addition to channel quality data 722. The SSID information 724 may include a name of a network. The channel quality data 722 may include interference data 723 that may be fed back to modify the channel hopping sequence list 720. Other channel quality data 722 may include location and timestamp statistics related to a particular channel and that are collected and maintained over time. The memory 706 may further include synchronized switching code 726 and sequence updating code 728.
[0077] The UAV 730 may include a memory 732 and a processor 734. The memory 732 may include sequence updating code 736 and channel quality data 738, as well as associated interference feedback data 739. The memory 732 may further include flight and navigation software 740, as well as synchronized switching code 742. SSID 748 information may also be included in the memory 732. The memory 732 may further store the channel hopping sequence 746.
[0078] The processor 734 may include a channel switching module 754. The channel switching module 754 may include a TBTT module 750. The TBTT 750 module may include a beacon module 752. The channel switching module 754 may further include a CSA 756. The processor 734 may further include a channel quality monitoring module 758.
[0079] Other modules of the UAV 730 may include navigation circuitry 760, as well as a receive and transmit antenna 762. Flight controls 764 may be included along with sensors 766. Flight controls may include a flight controller, a global positioning system (GPS) module, battery, and cameras. UAV sensors 766 may include ultrasonic sensors and collision avoidance sensors, among others. Other modules may include an accelerometer to measure speed, and an altimeter to measure altitude. In the implementation of Fig. 7, the system 700 may include a cell site generator 768 configured to provide cellular service to wireless devices.
[0080] Figure 8 shows both a sequenced channel hopping list 802 for an initial flight of a UAV and an updated list 804 for a subsequent flight. The illustrative sequenced channel hopping lists 802, 804 may be similar to the sequenced channel hopping lists 720, 746 respectively adopted by the wireless device 702 and the UAV 730 of the system 700 of Fig. 7.
[0081] Turning more particularly to Fig. 8, the sequenced channel hopping list 802 may include ordered numbers of channels in column 806. The ordered numbers 806 may be sequenced through as listed during the flight of the UAV. To this end, the order numbers 806 of the sequenced channel hopping list 802 are associated with channel IDs in column 808. The channel IDs 808 in the sequenced channel hopping list 802 may be ordered randomly during an initial flight.
[0082] Dwell times 810 may additionally be associated with the channel IDs 808. The dwell time 810 per channel may be programmed in multiples of the TBTT. A timer may be equal to the dwell time 810. The timer may be started on the AP at the beginning of the first outgoing beacon (e.g., post configuration). An illustrative beacon frame may be sent by the AP at a regular interval defined by the TBTT. The TBTT may be measured in time units (TUs). As such, one TU may equate to one beacon interval. A TU may be equal to 1024 microseconds, as defined in the IEEE 802.11-2012 standard document. The dwell times 810 of each of the channel IDs 808 of the sequenced channel hopping list 802 may be of equal duration during the initial flight.
[0083] Turning more particularly to the sequenced channel hopping list 802, channel 8 may be ordered first in row 812 with an initial dwell time of 3,150 TUs. As shown in Fig. 8, channel 9 is ordered second in the list 802 and has an initial dwell time of 3,150 TUs. Channel 11 in row 816 of the sequenced channel hopping list 802 is included third in the ordered list and has a dwell time of 3,150 TUs. Channel 4 of the list 802 is sequenced fourth and also has a dwell time of 3,150 TUs. Channel 6 is fifth on the list 802 and has a dwell time of 3,150 TUs. Channel 8 is sixth on the list and has the same dwell time, as does channel 2, which is ordered seventh on the sequenced channel hopping list 802. For illustrative purposes, the total dwell time of the sequenced channel hopping list 802 may equal 22,050 TUs, or about 38 minutes of total UAV flight time.
[0084] An arrow 844 of Fig. 8 may represent feedback modifying the ordered list for a subsequent flight. The updated sequenced channel hopping list 804 may bedetermined based on weighted criteria learned in the initial flight of the UAV. Another or the same implementation may apply machine learning techniques to generate the updated sequenced channel hopping list 804.
[0085] Turning more particularly to the updated sequenced channel hopping list 804, channel 4 has been moved up to the second order number 834. Channel 3 has been deleted from the updated sequenced channel hopping list 804. While all but one of the dwell times 830 has been modified, the dwell time of channel 6 has been most significantly extended. More particularly, the updated sequenced channel hopping list 804 now orders channel 9 first with a dwell time of 2,900 TUs. As noted above, channel 4 is ordered second with a dwell time of 3,650 TUs.
[0086] The order number of channel 11 is maintained with the same dwell time as in the original sequenced channel hopping list 802. Channel 6 is now ordered fourth with a dwell time of 7,150 TUs. Channel 8 is sequenced fifth with a dwell time of 1,900 TUs. Channel 2 is now ordered last on the updated sequenced channel hopping list 804 with a dwell time of 3,300 TUs. The total dwell time of the channels (e.g., the total fight time) in the updated sequenced channel hopping list 804 remains the same as the total dwell time of the initial sequenced channel hopping list 802.
[0087] Figure 9 is a graph 900 depicting three different scenarios of drone communication signals 902, 904, 906 having differently weighted channels plotted over a full hopping sequence period (T) 908. The signals may be the same signal at different times after being differently weighted and otherwise adjusted. More particularly, the first communication signal 902 includes a hopping sequence comprising channel dwell times 910, 912, 914, and 916 that are equal for individual channels 1-4, respectively. The second communication signal 904 includes a hopping sequence comprising channel dwell times 918, 920, 922, and 924 that are unequally weighted for channels 1-4, respectively. For instance, the second communication signal 904 may be the first communication channel after a weighting operation.
[0088] The third communication signal 906 includes a hopping sequence comprising weighted and adjusted channel dwell times 926, 928, 930, and 932, as well as a channel dwell time extension 934. The channel dwell times 926, 928, 930, 932, and 934 may be derived from or based on the unequally weighted channel dwell times 918, 920, 922, and 924 of the second communications signal 904. For instance, the weighted and unequally weighted channel dwell times 918, 920, 922, and 924 may be adjusted toinclude target beacon transmit times (TBTT) associated with restricted dwell times to facilitate an AP being on the expected channels at certain times. For instance, illustrative processes may allow an STA that has lost synchronicity to hop to the nearest next-hop and have a chance of hearing at least one beacon to resume a link.
[0089] In some scenarios, channels may be crowded, but the interference may still not be of poor enough quality to merit removal from the sequenced channel hopping list. For example, the channel quality may barely fail to meet a channel quality threshold. In such instances, the dwell times of the channels may be arbitrarily reduced. Should the modified dwell times not be communicated to the STAs periodically, the STAs may depend on receiving at least one beacon during the dwell time on each channel to know when the next channel switch should be made.
[0090] If an STA loses all beacons on a given channel, the STA may lose synchronicity with the AP. This loss of synchronicity could impact the ability of the STA to reconnect with AP. The STA would have to wait on a most preferred channel (e.g., a primary channel) for up to a full hopping sequence period (T) before the AP lands on that channel, again. Incurring this waiting period may result in a long downtime. This scenario is depicted in the communication signal 904 of Figure 9. The channel dwell times 918, 920, 922, and 924 of the second communications signal 904 has been derived from the equally weighted channel dwell times 910, 912, 914, and 916 of the communications signal 902. As the channel dwell times 918, 920, 922, and 924 of the second communications signal 904 are weighted unequally, an STA, such as the UAV 730 of Figure 7, may lose a beacon on a given channel, and the STA may lose synchronicity with an AP, such as the wireless device 702.
[0091] An implementation minimizes downtimes by restricting or otherwise limiting minimum dwell times 948, 950, 952, and 954 for weighted channels 906. For example, the channel dwell times 926, 928, 930, 932, and 934 of the weighted channel 906 may be configured to span a TBTT 936, 938 around the midpoints 940, 942, 944, and 946 of the channel’s assigned dwell times 910, 912, 914, and 916 at a point when all weights are equal (e.g. signal 902). The TBTTs 936, 938 may comprise times when the AP should be on a given channel (e.g., channels 1 and 2, respectively). This configuration may allow an STA that has lost synchronicity to hop to a nearest next-hop to have a chance of hearing at least one beacon to resume a link.
[0092] Figure 10 is a flowchart of an implementation of a method 1000 configured to synchronize channel hopping between a UAV and at least one other wireless device to minimize interference. The method 1000 may include the UAV and other wireless devices accessing a sequenced channel hopping list that includes a dwell time for each channel on the list. In the example of Fig. 10, the method 1000 may include hopping to a next channel on the list before the expiration of an associated dwell time in response to a detected poor channel quality. The method 1000 may be executed by any of the systems illustrated in Figs. 1 and 4-8.
[0093] Turning more particularly to the flowchart, the method at 1002 may generate a predefined sequenced channel hopping list. For example, the wireless environment 600 of Fig. 6 may generate a sequenced channel hopping list similar to the sequenced channel hopping list 802 of Fig. 8.
[0094] The method 1000 may sequentially cycle at 1004 through every channel in the sequenced channel hopping list. For example, the wireless environment 600 of Fig.6 may channel hop through the ordered numbers of the channels of the illustrative sequenced channel hopping list 802 shown in Fig. 8.
[0095] At 1006, the illustrative method 1000 may include recording feedback received from lower layers of interference. The method 1000 at 1008 may further include receiving automatic channel selection (ACS) data, retransmission counts, wireless interference patterns, and modulation coding scheme (MCS) data.
[0096] The method 1000 may determine at 1010 that a channel is associated with poor quality. For instance, the system 700 of Fig. 7 may determine that the interference associated with a channel is excessive.
[0097] Where a channel is determined to be of poor quality at 1010, the percentage of dwell time for the identified channel may be modified at 1012. For example, the wireless environment 600 of Fig. 6 may check at 1012 for a threshold. Where the threshold is not exceeded at 1012, then the method 1000 at 1012 may allow the channel to be used until the dwell time is reached.
[0098] Until the dwell time is reached at 1014, the method 1000 at 1006 may continue to record feedback from the interference at 1006. Once the dwell time is reached at 1014, then the method 1000 at 1016 may move on to a next ordered channel. Alternatively, if the channel is found to be below the threshold at 1012, the method1000 may at 1016 announce a TBTT switch time in the beacon to move to the next channel on the sequenced channel hopping list.
[0099] The method at 1018 may determine if the hopping sequence has been completed. If the list of channels has not been sequenced through, then the method may continue to sequentially cycle through every channel in the sequenced channel hopping list at 1004.
[0100] Where the hopping sequence is alternatively completed at 1018, then the sequenced channel hopping list may be generated for a next UAV flight back at 1002. In the implementation of method 1000, the dwell time spent at a poorly performing channel may be minimized as the dwell time is cut short on-the-fly, or real-time.
[0101] Fig. 11 is flowchart of another implementation of a method 1100 of operating UAV and at least one other wireless device by synchronizing channel hopping. In the particular implementation of the method 1100, the channels may be mathematically weighted based on channel quality. The weighted values may be used to update the common sequenced channel hopping list at both wireless devices for a next UAV flight. The updates may include changing the order of the sequence of the channels on the list. The dwell times associated with each channel may be alternatively or additionally modified. In some cases, a poorly performing channel may be removed permanently or temporarily removed from the sequenced channel hopping list. The method 1100 may be executed by any of the systems illustrated in Figs. 1 and 4-8.
[0102] Turning more particularly to the flowchart, the method at 1102 may generate a predefined sequenced channel hopping list. For example, the wireless environment 600 of Fig. 6 may generate a sequenced channel hopping list similar to the sequenced channel hopping list 802 of Fig. 8.
[0103] The method 1100 may sequentially cycle at 1104 through every channel in the sequenced channel hopping list. For example, the wireless environment 600 of Fig.6 may channel hop through the ordered numbers of the channels of the illustrative sequenced channel hopping list 802 shown in Fig. 8.
[0104] At 1106, the illustrative method 1100 may include recording feedback received from lower layers of interference. The method 1100 at 1108 may further include receiving ACS data, retransmission counts, wireless interference patterns, and modulation coding scheme MCS data.
[0105] The method 1100 may at 1110 evaluate the quality of the channel. For instance, the method 1100 may determine that the channel is associated with poor quality. In one specific example, the system 700 of Fig. 7 may determine that the interference associated with a channel is excessive. In certain implementations, the method 1100 at 1110 may determine if the channel quality falls below a predefined threshold. Alternatively, the channel evaluation at 1110 may determine that the quality associated with the channel is good, or fair, or anywhere in between.
[0106] Where a channel is determined to be of poor quality at 1110, the percentage of dwell time for the identified channel may be modified at 1112. For example, the wireless environment 600 of Fig. 6 may at 1112 reduce the dwell time of the UAV 602 operating at the evaluated channel 606.
[0107] The method 1100 at 1111 may assign a mathematical weight to the channel. The weight may influence calculations used to modify the dwell time associated with and possibly the order of the channel within an updated sequenced channel hopping list during a subsequent UAV flight. One skilled in the art will appreciate that the weighting processes at 1111 may alternatively (or in some implementations, additionally) be executed in response to a channel quality threshold being exceeded at 1112.Processes at 1113 may modify the weighted values by restricting or otherwise limiting minimum dwell times for the weighted channels. In one example, the channel dwell times of the weighted channels may be configured to span at least one TBTT around midpoints of each channel’s assigned dwell times at a point when all weights are equal. The processes at 1113 may thus allow an STA that has lost synchronicity to hop to a nearest next-hop to hear a beacon and restore a link. The method 1100 at 1112 may allow the channel to be used until the dwell time is reached at 1114.
[0108] Until the dwell time is reached at 1114, the method 1100 at 1106 may continue to record feedback from the interference at 1106. Once the dwell time is reached at 1114, then the method 1100 at 1116 may move on to a next ordered channel. Alternatively, if the channel is found to be below the threshold at 1112, the method 1100 may at 1116 announce a TBTT switch time in the beacon to move to the next channel on the sequenced channel hopping list.
[0109] The method at 1118 may determine if the hopping sequence has been completed. If the list of channels has not been sequenced through, then the method maycontinue to sequentially cycle through every channel in the sequenced channel hopping list at 1104.
[0110] Where the hopping sequence is alternatively completed at 1118, then the sequenced channel hopping list may be generated for a next UAV flight back at 1102. In the implementation of method 1100, the weight assigned to the channel based on their recorded performance may be used to improve the efficiency and effectiveness of UAV flights and associated communications.
[0111] Figure 12 is flowchart of another implementation of a method 1200 of operating UAV by synchronizing channel hopping and using machine learning models to predict a congestion pattern for a particular channel. Recorded interference levels and other historical data may be analyzed using machine learning techniques to further modify the sequenced channel hopping list. The method 1200 may be executed by any of the systems illustrated in Figs. 1 and 4-8.
[0112] Turning more particularly to the flowchart, the method at 1202 may generate a predefined sequenced channel hopping list. For example, the wireless environment 600 of Fig. 6 may generate a sequenced channel hopping list similar to the sequenced channel hopping list 802 of Fig. 8.
[0113] The method 1200 may sequentially cycle at 1204 through every channel in the sequenced channel hopping list. For example, the wireless environment 600 of Fig.6 may channel hop through the ordered numbers of the channels of the illustrative sequenced channel hopping list 802 shown in Fig. 8.
[0114] At 1206, the illustrative method 1200 may include recording feedback received from lower layers of interference. The method 1200 at 1208 may further include receiving ACS data, retransmission counts, wireless interference patterns, and modulation coding scheme MCS data.
[0115] The method 1200 may determine at 1210 that a channel is associated with poor quality. For instance, the system 700 of Fig. 7 may determine that the interference associated with a channel is excessive.
[0116] Where a channel is determined to be of poor quality at 1210, the percentage of dwell time for the identified channel may be modified at 1212. For example, the wireless environment 600 of Fig. 6 may at 1212 check for a threshold. Where the threshold is not exceeded at 1212, then the method 1200 at 1212 may allow the channel to be used until the dwell time is reached.
[0117] Until the dwell time is reached at 1214, the method 1200 at 1206 may continue to record feedback from the interference at 1206. Once the dwell time is reached at 1214, then the method 1200 at 1216 may move on to a next ordered channel. Alternatively, if the channel is found to be below the threshold at 1212, the method 1200 may at 1216 announce a TBTT switch time in the beacon to move to the next channel on the sequenced channel hopping list.
[0118] The method at 1218 may determine if the hopping sequence has been completed. If the list of channels has not been sequenced through, then the method may continue to sequentially cycle through every channel in the sequenced channel hopping list at 1204.
[0119] Where the hopping sequence is alternatively completed at 1218, then the system at 1220 may apply machine learning processes to historical channel quality information. The historical channel quality information may include, among other inputs, interference recorded at 1206.
[0120] A new, updated sequenced channel hopping list may be generated based on the machine learning at 1220 for a next UAV flight back at 1202. In the implementation of method 1200, the dwell time spent at a poorly performing channel may be minimized as the method 1210 continuously seeks to improve UAV communications and performance.
[0121] Figure 13 is flowchart of another implementation of a method 1300 of wirelessly communicating with a UA. The operations of the method 1300 may be implemented by the UAV or other wireless device in communication with the UAV. That is, the method 1300 may be performed by an STA or AP, or its components, as described herein. In some examples, the method 1300 may be performed by a wireless communication device, such as the UAV 602 as described with reference to Fig. 6, operating as or within a wireless AP. In some examples, the method 1300 may be performed by a wireless communication device, such as the wireless communication device 604 as described with reference to Fig. 6, operating as or within a wireless STA.
[0122] In one example, the method 1300 includes adopting a channel hopping sequence at a wireless device at 1302. The wireless device may include a UAV or a networked device in direct communication with the UAV. The channel hopping sequence may include an ordered list of a plurality of wireless channels to which the UAV and the networked device perform a synchronized switch at a plurality ofpredefined times. For instance, the UAV 730 of Fig. 7 and the wireless device 702 may each adopt the sequenced channel hopping list 720, 746.
[0123] At 1304, the method 1300 may include configuring the initial dwell times of each of a plurality of wireless channels to be the same duration. For example, the dwell times 810 of each of the channels 808 of the sequenced channel hopping list of Fig. 8 may initially be equal to 3,150K TUs.
[0124] At 1306, the method 1300 may include monitoring channel quality information associated with the plurality of wireless channels. For example, the UAV 602 as described with reference to Fig. 6 may monitor the channel quality over the wireless communications link 606.
[0125] In the illustrative flowchart, the method 1300 at 1308 may include adjusting the dwell times associated with a channel of the plurality of wireless channels based on the channel quality information. For instance, an implementation may apply a weighted value to the channel, where the weighted value falls below a threshold quality value. For instance, the channel switching module 754 of Fig. 7 may mathematically weight a channel based on the detected channel quality monitoring 758 falling below a predefined threshold value.
[0126] In another example, adjusting the dwell times at 1308 may include determining at 1312 a modified dwell time associated with the channel within the channel hopping sequence for use during a subsequent flight of the UAV. In one implementation, the list of the plurality of wireless channels may be reordered based on the weighted value. For example, the channel switching module 754 of Fig. 7 may reorder the sequenced channel hopping sequence 746 based on the detected channel quality monitoring 758. In another or the same example, the method 1300 may include dropping or reintroducing a channel from the channel hopping sequence. For instance, the channel switching module 754 of Fig. 7 may drop or reintroduce a channel from the hopping sequence 746.
[0127] In another or the same implementation, adjusting the dwell time at 1308 may include reducing the dwell time by a percentage when the channel quality information is automatically determined to be undesirable. For example, the channel switching module 754 of Fig. 7 may reduce a dwelling time on the sequenced channel hopping sequence 746 based on the detected channel quality monitoring 758 determining that the channel is undesirable. The method at 1320 may include applying machine learning to historicalchannel quality information that includes timestamp and locational data to generate the channel hopping sequence. For instance, the channel switching module 754 of Fig. 7 may reduce apply a machine learning algorithm to channel quality data 738 to generate the sequenced channel hopping sequence 746.
[0128] At 1322, the method 1300 may include initiating a switch operation from the channel to a next sequential channel of the channel hopping sequence. Initiating the switch may include announcing in a beacon a 750 to switch to the next sequential channel. For instance, the channel switching module 754 of Fig. 7 may announce in the beacon 752 a switch to the next sequential channel in the sequenced channel hopping sequence 746.
[0129] Figure 14 shows a block diagram of an example wireless communication device 1402 according to some implementations. In some implementations, the wireless communication device 1402 is configured to perform the processes described herein. The wireless communication device 1402 can be an example implementation of the wireless communication device 400 described above with reference to Fig. 4. For example, the wireless communication device 1402 can be a chip, SoC, chipset, package or device that includes at least one processor and at least one modem (for example, a Wi-Fi (IEEE 802.11) modem or a cellular modem).
[0130] The wireless communication device 1402 includes a reception component 1410, a communication manager 1420, and a transmission component 1430. The communication manager 1420 further includes a UAV channel hopping synchronizing component 1422. Portions of the UAV channel hopping synchronizing component 1422 may be implemented at least in part in hardware or firmware. In some aspects, the UAV channel hopping synchronizing component 1422 is implemented at least in part as software stored in a memory (such as the memory 408). For example, portions of the UAV channel hopping synchronizing component 1422 can be implemented as non- transitory instructions (or “code”) executable by a processor (such as the processor 406) to perform the functions or operations of the respective component.
[0131] The reception component 1410 is configured to receive RX signals, over a wireless channel, from one or more other wireless communication devices. The transmission component 1430 is configured to transmit TX signals, over a wireless channel, to one or more other wireless communication devices. The communicationmanager 1420 is configured to control or manage communications with one or more other wireless communication devices.
[0132] Implementation examples are described in the following numbered clauses:1. A method of wirelessly communicating with an unmanned aerial vehicle (UAV), the method comprising: adopting a channel hopping sequence at a wireless device, wherein the wireless device comprises a UAV or a networked device in direct communication with the UAV, wherein the channel hopping sequence comprises an ordered list of a plurality of wireless channels to which the UAV and the networked device perform a synchronized switch at a plurality of predefined times; monitoring channel quality information associated with the plurality of wireless channels; and adjusting a dwell time associated with a channel of the plurality of wireless channels based on the channel quality information.2. The method of clause 1, wherein adjusting the dwell time further comprises initiating a switch from the channel to a next sequential channel of the channel hopping sequence.3. The method of clause 1 or 2, wherein initiating the switch further comprises announcing the switch to the next sequential channel in a beacon.4. The method of claims 1-3, further comprising skipping a reassociation operation to reestablish a respective communication link.5. The method of clauses 1-4, wherein adjusting the dwell time further comprises determining a modified dwell time associated with the channel within the channel hopping sequence for use during in a subsequent flight of the UAV.6. The method of clauses 1-5, further comprising assigning a weighted value to the channel based on the channel quality information, wherein the weighted value falls below a threshold quality value.7. The method of clauses 1-6, further comprising reordering the ordered list of the plurality of wireless channels based on the weighted value.8. The method of claim 1-7, wherein adjusting the dwell time further comprises configuring the dwell time to span at least one target beacon transmit time (TBTT) around a midpoint of an initially assigned dwell time that was assigned at a point in time when a plurality of dwell times respectively associated with the plurality of wireless channels were all equal.9. The method of claim clauses 1-8, wherein adjusting the dwell time further comprises dropping the channel from the channel hopping sequence.10. The method of claim clauses 1-9, further comprising reintroducing the channel into the channel hopping sequence during an ensuing flight of the UAV.11. The method of claim clauses 1-10, further comprising configuring initial dwell times of each of the plurality of wireless channels to be the same duration prior to the adjusting of the dwell time associated with the channel.12. The method of claim clauses 1-11, wherein adjusting the dwell time further comprises reducing the dwell time by a percentage when the channel quality information is automatically determined to be undesirable.13. The method of clauses 1-12, further comprising applying machine learning to historical channel quality information comprising timestamp and location data to generate the channel hopping sequence.14. The method of clauses 1-13, wherein the channel quality information includes at least one of: interference from a wireless local-area network (WLAN) device, interference from a continuous wave wireless device, an automatic channel selection (ACS) report, a quality threshold determination, a number of retransmissions, a rate control algorithm, modulated coding scheme (MCS) data, and complementary code keying (CCK) data.15. The method of clauses 1-14, further comprising configuring the wireless device to be an access point (AP) or a wireless station (STA).16. The method of clauses 1-15, further comprising configuring UAV and the networked device to communicate using a Wi-Fi network.17. A wireless communication device comprising: a transceiver; a flight control circuit; a memory; and a processor communicatively coupled with the memory, the flight control circuit, and the transceiver, the processor configured to: adopt a channel hopping sequence comprising an ordered list of a plurality of wireless channels to which a synchronized switch is performed with a wirelessly connected device at a plurality of predefined times; monitor channel quality information associated with the plurality of wireless channels; and adjust a dwell time associated with a channel of the plurality of wireless channels based on the channel quality information.18. The wireless communication device of clause 17, wherein the processor is further configured to adjust the dwell time by determining a modified dwell time associated with the channel within the channel hopping sequence for use during in a subsequent flight.19. A wireless communication device comprising: a transceiver; a memory; and a processor communicatively coupled with the memory and the transceiver, the processor configured to: adopt a channel hopping sequence comprising an ordered list of a plurality of wireless channels to which a synchronized switch is performed with an unmanned aerial vehicle (UAV) at a plurality of predefined times; monitor channel quality information associated with the plurality of wireless channels; and adjust a dwell time associated with a channel of the plurality of wireless channels based on the channel quality information.20. The wireless device of clause 19, wherein the processor is further configured to adjust the dwell time by reducing the dwell time by a percentage when the channel quality information is automatically determined to be undesirable.21. The wireless device of clauses 19 or 20, wherein the processor is further configured to apply machine learning to historical channel quality information comprising timestamp and location data to generate the channel hopping sequence.22. A computer-readable medium storing computer executable code for wireless communications, comprising code to: adopt a channel hopping sequence at a wireless device, wherein the wireless device comprises a UAV or a networked device in direct communication with the UAV, wherein the channel hopping sequence comprises an ordered list of a plurality of wireless channels to which the UAV and the networked device perform a synchronized switch at a plurality of predefined times; monitor channel quality information associated with the plurality of wireless channels; andadjust a dwell time associated with a channel of the plurality of wireless channels based on the channel quality information.23. The computer-readable medium of clause 22, wherein the code is further configured to adjust the dwell time further comprises initiating a switch from the channel to a next sequential channel of the channel hopping sequence.24. The computer-readable medium of clauses 22 or 23, wherein the code is further configured to adjust the dwell time by determining a modified dwell time associated with the channel within the channel hopping sequence for use during in a subsequent flight.25. The computer-readable medium of clauses 22-24, wherein the code is further configured to assign a weighted value to the channel based on the channel quality information.
[0133] As used herein, a phrase referring to “at least one of’ or “one or more of’ a list of items refers to any combination of those items, including single members. For example, “at least one of: a, b, or c” is intended to cover the possibilities of: a only, b only, c only, a combination of a and b, a combination of a and c, a combination of b and c, and a combination of a and b and c. As used herein, “based on” is intended to be interpreted in the inclusive sense, unless otherwise explicitly indicated. For example, “based on” may be used interchangeably with “based at least in part on,” unless otherwise explicitly indicated. Specifically, unless a phrase refers to “based on only ‘a,’” or the equivalent in context, whatever it is that is “based on ‘a,’” or “based at least in part on ‘a,’” may be based on “a” alone or based on a combination of “a” and one or more other factors, conditions, or information.
[0134] The various illustrative components, logic, logical blocks, modules, circuits, operations and algorithm processes described in connection with the implementations disclosed herein may be implemented as electronic hardware, firmware, software, or combinations of hardware, firmware or software, including the structures disclosed in this specification and the structural equivalents thereof. The interchangeability ofhardware, firmware 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, firmware or software depends upon the particular application and design constraints imposed on the overall system.
[0135] Various modifications to the implementations described in this disclosure may be readily apparent to persons having ordinary skill 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.
[0136] Additionally, various features that are described in this specification in the context of separate implementations also can be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation also can be implemented in multiple implementations separately or in any suitable sub combination. As such, although features may be described above as acting in particular combinations, and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub combination or variation of a sub combination.
[0137] Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Further, the drawings may schematically depict one more example processes in the form of a flowchart or flow diagram. However, other operations that are not depicted can be incorporated in the example processes that are schematically illustrated. For example, one or more additional operations can be performed before, after, simultaneously, or between any of the illustrated operations. In some circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program componentsand systems can generally be integrated together in a single software product or packaged into multiple software products.
Claims
CLAIMSWhat is claimed is:
1. A method of wirelessly communicating with an unmanned aerial vehicle (UAV), the method comprising: adopting a channel hopping sequence at a wireless device, wherein the wireless device comprises a UAV or a networked device in direct communication with the UAV, wherein the channel hopping sequence comprises an ordered list of a plurality of wireless channels to which the UAV and the networked device perform a synchronized switch at a plurality of predefined times; monitoring channel quality information associated with the plurality of wireless channels; and adjusting a dwell time associated with a channel of the plurality of wireless channels based on the channel quality information.
2. The method of claim 1, wherein adjusting the dwell time further comprises initiating a switch from the channel to a next sequential channel of the channel hopping sequence.
3. The method of claim 2, wherein initiating the switch further comprises announcing the switch to the next sequential channel in a beacon.
4. The method of claim 3, further comprising skipping a re-association operation to reestablish a respective communication link.
5. The method of claim 1, wherein adjusting the dwell time further comprises determining a modified dwell time associated with the channel within the channel hopping sequence for use during in a subsequent flight of the UAV.
6. The method of claim 5, further comprising assigning a weighted value to the channel based on the channel quality information, wherein the weighted value falls below a threshold quality value.
7. The method of claim 6, further comprising reordering the ordered list of the plurality of wireless channels based on the weighted value.
8. The method of claim 6, wherein adjusting the dwell time further comprises configuring the dwell time to span at least one target beacon transmit time (TBTT) around a midpoint of an initially assigned dwell time that was assigned at a point in time when a plurality of dwell times respectively associated with the plurality of wireless channels were all equal.
9. The method of claim 5, wherein adjusting the dwell time further comprises dropping the channel from the channel hopping sequence.
10. The method of claim 9, further comprising reintroducing the channel into the channel hopping sequence during an ensuing flight of the UAV.
11. The method of claim 5, further comprising configuring initial dwell times of each of the plurality of wireless channels to be a same duration prior to the adjusting of the dwell time associated with the channel.
12. The method of claim 5, wherein adjusting the dwell time further comprises reducing the dwell time by a percentage when the channel quality information is automatically determined to be undesirable.
13. The method of claim 5, further comprising applying machine learning to historical channel quality information comprising timestamp and location data to generate the channel hopping sequence.
14. The method of claim 1, wherein the channel quality information includes at least one of: interference from a wireless local-area network (WLAN) device, interference from a continuous wave wireless device, an automatic channel selection (ACS) report, a quality threshold determination, a number of retransmissions, a rate control algorithm, modulated coding scheme (MCS) data, and complementary code keying (CCK) data.
15. The method of claim 1, further comprising configuring the wireless device to be an access point (AP) or a wireless station (STA).
16. The method of claim 1, further comprising configuring UAV and the networked device to communicate using a Wi-Fi network.
17. A wireless communication device comprising: a transceiver; a flight control circuit; a memory; and a processor communicatively coupled with the memory, the flight control circuit, and the transceiver, the processor configured to: adopt a channel hopping sequence comprising an ordered list of a plurality of wireless channels to which a synchronized switch is performed with a wirelessly connected device at a plurality of predefined times; monitor channel quality information associated with the plurality of wireless channels; and adjust a dwell time associated with a channel of the plurality of wireless channels based on the channel quality information.
18. The wireless communication device of claim 17, wherein the processor is further configured to adjust the dwell time by determining a modified dwell time associated with the channel within the channel hopping sequence for use during in a subsequent flight.
19. A wireless communication device comprising: a transceiver; a memory; and a processor communicatively coupled with the memory and the transceiver, the processor configured to: adopt a channel hopping sequence comprising an ordered list of a plurality of wireless channels to which a synchronized switch is performed with an unmanned aerial vehicle (UAV) at a plurality of predefined times;monitor channel quality information associated with the plurality of wireless channels; and adjust a dwell time associated with a channel of the plurality of wireless channels based on the channel quality information.
20. The wireless device of claim 19, wherein the processor is further configured to adjust the dwell time by reducing the dwell time by a percentage when the channel quality information is automatically determined to be undesirable.
21. The wireless device of claim 19, wherein the processor is further configured to apply machine learning to historical channel quality information comprising timestamp and location data to generate the channel hopping sequence.
22. A computer-readable medium storing computer executable code for wireless communications, comprising code to: adopt a channel hopping sequence at a wireless device, wherein the wireless device comprises a UAV or a networked device in direct communication with the UAV, wherein the channel hopping sequence comprises an ordered list of a plurality of wireless channels to which the UAV and the networked device perform a synchronized switch at a plurality of predefined times; monitor channel quality information associated with the plurality of wireless channels; and adjust a dwell time associated with a channel of the plurality of wireless channels based on the channel quality information.
23. The computer-readable medium of claim 22, wherein the code is further configured to adjust the dwell time further comprises initiating a switch from the channel to a next sequential channel of the channel hopping sequence.
24. The computer-readable medium of claim 22, wherein the code is further configured to adjust the dwell time by determining a modified dwell time associated with the channel within the channel hopping sequence for use during in a subsequent flight.
25. The computer-readable medium of claim 22, wherein the code is further configured to assign a weighted value to the channel based on the channel quality information.
Citation Information
Patent Citations
Method of quality-based frequency hopping in a wireless communication system
EP1717962A1
Method of training a machine learning module for detecting at least one jammed frequency hop in a frequency hopping signal, and receiver
EP4027545A1
Peer-to-peer communications on restricted channels
US20150163828A1
Location based wireless network optimization in embedded systems
US9439205B1
Methods and system for hopset selection
WO2018201466A1
Cited By
Unmanned aerial vehicle signal real-time detection system and method
CN122601009A
Unmanned aerial vehicle route re-flight method and system, electronic equipment and storage medium
CN122658130A
