A present disclosure may relate to communication devices and particularly to wireless devices.
A wireless communication may occur in a specific frequency band. Each frequency band may be divided into multiple frequencies/channels based on communication needs like bandwidth, data rate, distance, and so forth. Frequency hopping may be a general practice in virtually any FTDMA (frequency hopping time division multiple access) network which can help in avoiding a collision and having multiple devices in the same network or in different networks doing concurrent communications.
A sensor mesh network may consist of multiple devices talking to a common gateway. There may always be a limitation on the number of sensors that a gateway can support based on its hardware capacity and wireless network parameters. In a commercial building, hotel or airport, there may be always a need for wireless networks to support thousands of devices. To achieve that, one will need to have multiple wireless TDMA networks formed independently, each network having one wireless gateway node, having all wireless independent networks using the same frequency hopping pattern in the FTDMA mesh network could potentially create lots of wireless traffic thereby having more packet collisions resulting in packet failures and packet re-transmission thereby reducing the battery life and impacting the packet latency as well.
To make the communication of multiple TDMA networks work concurrently without much packet collision, one may devise a unique way of generating the frequency hopping patterns (FHPs) which are orthogonal and/or different from each other's independent networks. An FHP is a sequence of 1 to n frequencies, which is followed by all the nodes in a single wireless mesh. The first timeslot uses a 1st frequency, the 2nd time slot uses a 2nd frequency and the nth time slot uses nth frequency in the frequency hopping pattern. It may keep repeating from 1st frequency after the nth time slot. In general, each TDMA wireless network may use a pre-defined/randomly defined FHP uniquely assigned or derived per gateway/network. When a multiple network is operating using multiple frequency hopping patterns or a single frequency hopping pattern, there may be always a chance for these networks to use the same frequency at the same time slot thus creating transmit failures. The transmit failures may occur more often when the same FHP is used by many of the systems. If they use different hopping patterns, there is less likely chance that the frequencies can collide but still there is some chance of collisions.
To overcome these issues in today's multiple FTDMA based networks operating in same geographic area, which are prone to many collisions, one may usually recommend following workarounds to resolve those issues. They may consist of a carrier-sense multiple access (CSMA) based network, reduced wireless traffic networks by reducing the sensor data update rate when compared to wired devices, networks deployed with constraints such that networks are mostly separated, thereby packets from one network are not seen on the other network. The present solution should solve an issue of deploying multiple gateways or wireless meshes in the same building or area, and then one does not need to work around the issues anymore.
The present approach may talk about orthogonal frequency hopping patterns definition and a unique way of defining hopping patterns for TDMA wireless sensor networks doing frequency hopping. A frequency hopping pattern may cover every frequency usage for each sensor and handle interference in wireless medium reliably. One may define various orthogonal hopping patterns which are non-interfered between multiple sensor networks present in the same vicinity.
The present approach may use TDMA networks for frequency hopping. One may note technical benefits and business advantages of the present approach. To make the communication of multiple FTDMA wireless networks work concurrently without much packet collision with greater than 99 percent reliability, one may devise a unique way of generating a frequency hopping pattern (FHP) scheme in various license free frequency bands (e.g., 2.4 GHz, 915 MHz, 868 MHz). An FHP may be a sequence of n frequencies which is followed by whole wireless mesh, and the sequence may keep repeating after the nth time slot. The letter n may be a whole positive number that indicates a count of a total number of time slots and corresponding frequencies used by the slots.
One may define a frequency hopping pattern based on a uniquely identified hopping length, which automatically shifts its frequency in virtually every wireless communication slot, It may enable wireless nodes to communicate in virtually all the frequency channels within the selected frequency band to avoid interference due to one or two channels meeting certain established standards, regulations and/or requisites.
The present approach may also reveal different frequency hopping patterns that are called orthogonal hopping patterns, of which none has appeared to collide with hopping patterns usable across multiple systems in the same physical area, and yet none seems to have collided among different networks. The present approach is unique way of generating the orthogonal frequency hopping patterns in different-frequency bands. The present approach may be applied across any frequency band and with any number of channels. By doing so, one may expand the TDMA based sensor network within the same proximity.
The basic components required in the hardware board to execute the logic are explained in the figure shown.
Gateway node 12 may be the decision maker of the mesh and interface the mesh to the external world. The decisions of gateway 12 and data generated may be transmitted between nodes. A processor 13 may execute the FHP logic stored in a flash memory or ROM 14 and may generate a pattern which will be communicated to nodes using a radio peripheral 15 and stored inside the nodes. RAM 16 may store one or more applications to help operate the present system.
Processor 13 may run logic to switch a frequency used after each slot is executed. Processor 13 may configure radio peripheral 15 to enter transmit (TX), receive (RX) or sleep mode every time the slot changes. Processor 13 may configure the TX/RX frequency for the slot based on an FH sequence algorithm. Processor 13 may store statistics of a successful TX/RX in RAM 16 which may be used to identify failures. These failures may be periodically transmitted to gateway device 12. Logic stored in RAM 16 of gateway node may be different. ROM 14 may have logic to utilize the failure statistics to identify frequency related issues and make adjustments to FHP used. Roles of ROM 14 and RAM 16 may be interchangeable.
A frequency band and frequency channels may be noted. The present approach may generally consider license free frequency bands used worldwide but not necessarily be limited to only license free bands. Popular license free bands may include 2400-2483 MHz, 902-928 MHz, 863-870 Mhz bands. Each frequency band may be divided into multiple frequency channels to communicate between wireless nodes in a mesh network. The entire band may not necessarily be used at a time since these may be license free bands used by many people at the same time; so, only small band may be used by one device at any time.
Channel bandwidth and data rates may be defined by a standards body/set of regulations to meet a min/max channel bandwidth and data rates. For instance, IEEE 802.15.4 may be defined as a 2.4 GHz frequency band split into 16 channels of 5 MHz each; there may be channels 11 to 26 with data rate of 250 kbps. 902-928 Mhz can be divided into 52 channels with a 500 Khz band; 863-870 MHz may be divided into 14 maximum channels with a 500 Khz band.
A frequency hopping pattern (FHP) may be noted. A sequence of frequency channels may be derived from supported frequency channels in that frequency band is a group for devices to communicate. The sequence may repeat once it is used and may repeat and continue indefinitely. An example of FHP in 2.4 GHz may be 13, 18, 22, 11, 21, 15, 17, 25, 23, 12, 16, 19, 24, 14, 20.
The lengths (i.e., numbers of channels) of the FHP are not necessarily fixed. They may be defined by design, and can be 13 or 14, or maximum channels.
There may be a TDMA with a frequency hopping pattern. TDMA may be a list of time slots. Each slot may be of a duration, say for example, 10 msec can be used to communicate between two devices. A frequency channel may be used in that particular slot for communication. Slot 1 may use a frequency channel 1 in the FHP; slot 2 may use frequency channel 2 in FHP, and so on. If an FHP length is 15 channels, then slot 15 may use frequency channel 15 in FHP; and slot 16 may use frequency channel 1 (a repeat from the channel in FHP). This sequence may continue indefinitely.
In a time-synchronized TDMA network, if any two pairs of devices communicate to each other in the same time slot and same frequency channel, they may collide with each other, which proves that they are in close proximity. This event may occur in the same network or different wireless networks. If this event occurs within the same network, a gateway node which is allocated the time slots may know that such an issue can happen, and that the gateway node may adjust the time slots accordingly to avoid interference.
If two independent wireless networks are working in the same geographical area and are managed by two different gateway nodes, it may be difficult to control the time slot or frequency channel allocation since they both are independent wireless networks. A list of orthogonal frequency hopping patterns used in different networks may resolve such an issue. A wireless node should use all the frequency channels in the frequency hopping pattern over time to avoid any interference/blockage issues present in a few sets of channels.
Orthogonal frequency hopping may be noted. (The present approach may indicate that one try to use all frequency channels in every slot by choosing the correct number of frequency channels to form an FHP. The number may be chosen such that the least common factor (LCF) of a number of slots in a base interval of the network (i.e., super frame) and the number of frequencies in the FHP, be 1.
One may consider a 2.4 GHz 802.15.4 network where there are 16 frequencies that can be used by the network. Since this is a 16-frequency band and a 1 second super frame system which comprises of 100 slots (each slot size is 10 millisecond), an assumption here may be that the network uses minimum and multiples of 100-slots or super frames. One may choose 13 channels for forming any FHP, as the highest number of frequency channels in that band, that one can use a least common factor (LCF of 13 (13, 1) and 100 (5,5,2,2,1) is 1. By doing so, the time slots may always use all the 13 frequencies before repeating the same. One may also have 11, 9, 7 and 3 frequency channels used, but they can repeat the pattern earlier or in less time. That is, a 3 channel FHP system may repeat the same frequency at slot 1 after 300 slots or 3 seconds. Thus, choosing 13 frequencies can repeat the same frequency seen in slot 1 only after 13 slots. The first row 32 and first column 33 indicate header row/column, respectively, of image 31. This may be seen in an image 31 shown in
Time-based interference is something which may happen on a frequency at a repeating interval. In general, these intervals may be 1 s, 2 s, 4 s, and so on, until 2 power n (2n) second. This type of interference may be easily overcome by the present FHP, because at any arbitrary interval of time, one may have unique frequencies used until the maximum frequencies are reached. The 13 channels may keep on repeating.
One may have evaded the time-based interference on a frequency to some extent. This approach may still be improved by adding a deterministic random offset to the FHP after it completes each cycle of its unique execution, which may be derived from being based on a factor of a number of frequencies or repetition interval seconds, absolute slot number (ASN), and so forth.
A 13 channel FHP may repeat after 13 seconds. One may consider a deterministic random number generator (DRNG) function which outputs a value based on an ASN (absolute slot number) as an input. Since the ASN may be the same across the network and unique in time, one may now have a unique random number offset added across the network after each unique cycle, and thus one may easily achieve a completely randomized FHP which will not necessarily repeat after any number of seconds. For example, one may have: 1) A next frequency to be used (Fn)=FHP[MOD {(n+DRNG (0, SubnetId)), NumberOfFreq}], where n is a current slot number; and 2) The above noted function may be an example of executing the FHP in that such the pattern is not necessarily repeated in time and is randomized, which may also ensure that any frequency will not necessarily repeat itself in time for any chosen fixed interval.
In case of a channel interference, the devices in the network may note it as a transmit failure upon that frequency. This channel diagnostic may be reported to the gateway on a periodic basis by virtually all the devices in that mesh. The gateway may check on that and if any frequency has more transmit failures, then that frequency would be replaced with a spare frequency in the FHP and the new FHP will be communicated generally to all devices. This way the channel interference is avoided amidst the randomized FHP. It is important to keep 1 or more spare frequency channels not used in FHP to cover for an interference replacement scenario.
An FHP is generally designed with a random or sequential pattern. The present frequency selection methodology however may allow for a deterministic FHP pattern selection which could minimize the amount of interference encountered for any known frequency bands and existing protocols, while ensuring virtually that all frequencies are used and not necessarily repeated across the network at any given time.
Considering a 2.4 GHz ISM band is where one may have multiple wireless protocols possible to communicate concurrently. Protocols like Wi-Fi, BLE and 802.15.4, shown in part as diagram 51 of
For example, one may make 16 channels into 3 groups. A sample 13 channel FHP would be like G1F1, G2F2, G3F3, G1F5, and so on. It may look like diagram 42. After the 13th frequency which is in G3, it may move to a first frequency which is in G1.
One may consider another example of 915 MHz which contains 51 channels. They may be separated into 10 groups or 5 groups based on the other communication interferences. Once one has the groups, the FHP may be created as done for the above condition of 13 frequencies and to ensure that the adjacent frequencies are picked from different groups virtually always.
The FHP generated by the present algorithm may be orthogonally separated across subnets. A subnet ID or mesh number may be used as an input to vary the order of grouping and frequency selection and thus one may ensure that all the different meshes will get a different orthogonal FHP after executing the same algorithm and thus chances of having same frequency at the same time between FHP patterns generated may be very low.
If the meshes are time synced, in case of 1000 s of sensors from a same hotel or commercial building, then one may for sure have near to zero packet collisions with this approach as each mesh is running its own orthogonal FHPs. One may note mesh 61 of
If the meshes are not time synced between them in that case, there may be a small possibility for time drifted slots using same frequency to collide between the meshes; however, since the hopping patterns are orthogonally distributed, the next channel may be on a different group and that should make the retry packet always succeed.
One may consider the case where the mesh networks are not time synced and thus there is a possibility of channel number 24 of Mesh 1 colliding with channel number 24 of Mesh 2, but the next slots may be totally different channels thereby making good the retransmission to succeed. One may note mesh 62 and its area 63 of
It may be also possible to run the present FHP algorithm to generate multiple FHP patterns and pick the best ones to use when a number of subnets required is known.
If one needs to pick 13 frequency channels out of 16 available channels, one could generate multiple orthogonal FHPs for different subnets during a design stage and pre-record them in devices. The devices may then use their subnet ID to pick their sequence.
An example of FHP patterns generated for 12 different subnets is given in table 71 in
Frequency collisions may occur within the mesh. Frequency collisions within the mesh may happen when two devices try to communicate at the same slot (e.g., slot 5 using frequency channel 15 in mesh 81 of
Because of the HOP level, they are assumed to be far from each other; however, this may be a wrong assertion on gateway's part. Gateway 86 may indicate a slot 5 communication 85. Arrow 88 of a device 84 having a gateway 86, may indicate a slot 8 communication 80. An issue may appear when a gateway 83 is overloaded with many nodes such that it is forced to assign same slots for multiple links. Before the correction, both links may use channel (CH) 15. After a gateway 86 added a slot offset of 7, one link may use CH15 and the other may use CH22. Arrow 88 of device 84 having gateway 86, may indicate a slot 5 link employing CH22 instead of CH15 (analogous to slot 8 communication 80).
In
An issue with the naïve approach is that it may be a reactive solution, instead a solution indicated in
One may form a hop sequence based on various factors. First, a length of the frequency hopping pattern may be derived based on the selected frequency band and the width of the frequency channel (for examples, 2.4 GHz uses 15 channels, 915 Mhz uses 52 channels and 868 MHz uses 15-channels) and generates unique hopping pattern based on the derived hopping length (frequencies used).
Second, a frequency hopping pattern and hopping length may be selected in such a way that every sensor can transmit on every frequency defined in the hopping pattern within a defined time period covering the entire available frequency spectrum.
Third, adding onto the logic, one may also dynamically generate a frequency hopping pattern at runtime based on a network load and channel diagnostics. The length of the hopping pattern may be increased/decreased by changing channel bandwidth resulting in a change of a number of hopping channels and size of the hopping pattern; for instance, based on a load that the subnet could switch to increase the bandwidth used (by reducing a number of channels used) and then transmit more data per TX/RX.
Fourth, frequency channel statistics are monitored for each wireless node continuously and having too many transmission failures in a particular channel in a majority of the wireless nodes will indicate that a channel has an interference; thus, the gateway node identifies and replaces that channel with a spare channel available in the frequency band.
The diagram of
After symbol 110 is a symbol 111 indicating channels in FHP=0 is an output and input to symbol 112 indicating selected group=0. Next a symbol 113 reveals a question if channels in FHP<num selected channels. If the answer is no, then one may save the generated FHP at symbol 114 and communicate FHP to all wireless nodes in the network at symbol 115. If the answer is yes, then pick channel X from group A, which is not present in FHP at symbol 116, which is an output as an input to a symbol 117 that indicates to move channel X from a selected group to FHP. An output of symbol 117 may be an input to symbol 118 that indicates to change the selected group that may be an output to symbol 119 which says to increment channels in the selected channel list. An output from symbol 119 may go to symbol 113 as indicated above.
In a case, the FHP algorithm may be run before hand and have different FHP sequences and be stored for mesh implementations with a known subnet count. One may employ different logic in the processor to pick the FHP based on a subnet ID. Here, it may be possible to store the FHP sequence in all the nodes and run the same algorithm everywhere. Alternatively, the gateway node could run the algorithm and communicate a chosen FHP to all its underling nodes.
One may then compute frequency channel to be used from an FHP, CH_Used=FHP[MOD {(n+Frequency_Offset)), NumberOfFreq}] and where frequency_offset may be calculated as DRNG (0, SubnetId) at symbol 126. One may use the channel for current slot for transmit or receive at symbol 127. At symbol 128, one may Increment the ASN. A next slot indication may go from symbol 128 to symbol 126.
In every time slot, every node may do this logic to compute the frequency channel to be used in the FHP. One may use the computed frequency channel for transmit or receive in that time slot. One may wait for the next time slot to occur, and increment the ASN and recompute the frequency channel to be used in the next time slot. This process may happen in every wireless node in the network for every time slot. Since the subnet ID is the same in virtually all wireless nodes in the network, all wireless nodes in the network may get the same frequency offset. In another wireless network with a different subnet ID, virtually all wireless nodes may have a different frequency offset.
An FHP of subnet 2 is shown as symbol 176. Device 173 consists of a subset 2/mesh 2. Channel offsets 4 and 7 may be added to FHP for slot 0 (CH13) as shown by arrow indications 175.
Links within the mesh and between meshes do not necessarily collide in this scenario in that one has good communications.
Frequency usage for ASN=0. An absolute slot number may be the total number of 10 ms slots executed up to this point in time.
To recap, a system of frequency hopping may incorporate one or more meshes, each mesh having a hardware unit for receiving and transmitting communications via a gateway, and a generator of a frequency hopping pattern (FHP) consisting of a sequence of frequencies selected from a predetermined frequency band, connected to the gateway of the hardware unit. The gateway may incorporate a processor a random access memory (ROM) connected to the processor, a read only memory connected to the processor, and one or more radio peripherals connected to the processor. There may be receiving and transmitting communications of the hardware unit at a frequency and duration of time of the frequency hopping pattern that are different than a frequency at a duration of time receiving and transmitting communications of a hardware unit of a different mesh, or at a distance great enough between the hardware unit and the hardware unit of a different mesh so as to avoid a collision of receiving and transmitting communications between the hardware unit and the hardware unit of a different mesh even if the latter hardware unit is of the same mesh. Each hardware unit may incorporate one or more wireless sensors. The generator of the frequency hopping pattern for each of the one or more meshes may incorporate a time division multiple access (TDMA) network.
Each gateway may be connected to an authenticator, time server or internet.
A communication of multiple TDMA networking may occur in a specific frequency band.
The specific frequency band may be divided into multiple frequencies/channels based on communication needs for bandwidth, data rate and distance.
The multiple frequencies/channels may be utilized one at a time according to the frequency hopping pattern (FHP) during a communication.
The system may further incorporate a device that generates FHPs which are orthogonal relative to or different from FHPs of other communications independent of the present communication.
An FHP may be a sequence of one to n frequencies not necessarily in a numerical or other order.
An FHP may be a sequence of one to n frequencies having an order that changes over time of the present communication.
In an FHP, a first time slot may use a first frequency, a second time slot may use a second frequency, and an nth time slot may use an nth frequency. The FHP may repeat the first frequency, the second frequency and the nth frequency in that order and format after the nth time slot indefinitely as long as predetermined, needed, required, or desired. “n” may be a whole positive number that indicates a count of a total number of time slots and corresponding frequencies used by the slots.
The FHPs of the present communication may be orthogonal or different from other FHPs so as to avoid a collision with another communication having an overlap of similar FHPs intrusive from nearby geographical areas.
An FHP may be based on a uniquely defined hopping length which automatically shifts its frequency or frequencies in each wireless communication slot. The FHP may enable nodes to communicate in each frequency within a subject frequency band and avoid interference with other frequencies of another frequency band.
A mechanism for frequency hopping may incorporate one or more wireless networks. Each of the one or more wireless networks may incorporate one or more sensors providing a wireless communication. Each wireless communication may occur in a specific frequency band. Each specific frequency band may be divided into multiple frequencies or channels. Frequency hopping may occur to avoid collisions among concurrent communications. Frequency hopping may occur according to an automatically generated frequency hopping pattern (FHP).
The frequency hopping pattern may be a sequence of frequencies.
The sequence of frequencies may be a defined random frequency hopping pattern or a multiple of orthogonal or different frequency hopping patterns on one or more networks. There may be adjustability of one or more parameters of a group comprising frequency hopping pattern, channel bandwidth, channel count, slot count, and data rate at runtime based on mesh requirements or a load.
There may be a generation of a frequency hopping pattern (FHP) scheme in frequency bands.
A system for implementing frequency hopping may incorporate wireless mesh nodes having a processor configured to execute an algorithm or logic, a radio peripheral connected to the processor configured to communicate wirelessly with devices, a gateway node configured to perform gateway specific actions, a router node configured to perform routing between nodes and the gateway, and other nodes configured to send data to the gateway node via router nodes. In each node, the processor may run logic to switch a frequency to another frequency after each slot is executed, and the processor may configure a transmit or receive frequency for a slot based on a frequency hopping sequence algorithm.
The system may further incorporate an algorithm or logic executed by a processor of virtually or nearly all mesh nodes, where statistics can be stored in a random access memory (RAM) for a successful transmit or receive to be used to identify failures.
The system may further incorporate an algorithm or logic which can be executed by virtually or nearly all mesh nodes in the system to communicate the statistics to a gateway node or a node in charge of frequency hopping pattern (FHP) management.
One or more nodes of the system, consisting of the processor, radio peripheral, read only memory, and random access memory, may execute logic to understand or identify failures reported by routers and nodes so as to make adjustments to a frequency hopping pattern.
It is possible to run FHP management on a separate unit which doesn't have a radio peripheral. The gateway node and such FHP management unit could be connected via wires.
A FTDMA (frequency hopping time division multiple access) network may provide a basis for avoiding a collision of communications among multiple devices in the same network or in different networks doing concurrent communications.
In the present specification, some of the matter may be of a hypothetical or prophetic nature although stated in another manner or tense.
Although the present system and/or approach has been described with respect to at least one illustrative example, many variations and modifications will become apparent to those skilled in the art upon reading the specification. It is therefore the intention that the appended features be interpreted as broadly as possible in view of the related art to include all such variations and modifications.