Adaptive Radio Configuration in Wireless Networks
By using the processing circuits of base station equipment and software-defined radios in the LoRa network and dynamically adjusting the radio configuration, the low efficiency and deployment overhead caused by the consistency of device configuration in the LoRa network are solved, sensitivity, real-time operation and compatibility are achieved, and high-accuracy data rate adaptation is supported in dynamic environments.
Patent Information
- Application Number
- CN202180036370.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-07-22
- Filing Date
- 2021-04-22
- Publication Date
- 2025-07-18
- Estimated Expiration
- 2041-04-22
AI Technical Summary
In existing LoRa networks, all devices adopt the same configuration, resulting in low network efficiency. Especially in large-scale deployments, the range end devices cannot support higher data rates, reduce throughput, and difficult to adapt to changes in device mobility in dynamic environments.
The processing circuit and software-defined radio in the base station equipment are used to detect the preamble of incoming packet signals, and the radio configuration is dynamically adjusted to adapt to the data rates of different devices. The neural network is used to predict bandwidth and propagation factors to achieve adaptive radio configuration.
It improves network throughput, reduces deployment overhead, supports the sensitivity and real-time operation of devices in dynamic environments, is compatible with existing LoRa devices without hardware modification, and achieves high-accurate data rate adaptation.
Smart Images

Figure CN115668786B_ABST
Abstract
Description
Background Art
[0001] Low-power long-range wireless networks such as LoRa (long range) have become the mainstream for Internet of Things (IoT) deployments. Given the versatility of the applications supported by these protocols, they support multiple data rates and bandwidths. However, for a given network deployment that can span miles, network operators need to specify the same configuration or a small subset of configurations for all devices in the network in order to communicate with each other. This one-size-fits-all approach is extremely inefficient in large networks that span miles and have hundreds of devices because it typically results in many (if not most) wireless devices connected to a base station (gateway) on a low-power long-range network having a data transfer rate lower than the optimal data transfer rate. Summary of the Invention
[0002] A wireless network system is provided that includes a base station device including processing circuitry configured to detect a transmission rate from a portion of a preamble of an incoming packet transmission signal and adapt a radio configuration to receive a remainder of the incoming packet transmission signal at the transmission rate.
[0003] This Summary of the Invention introduces some concepts in a simplified form that will be further described in the Detailed Description below. This Summary of the Invention is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. Additionally, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure. Brief Description of the Drawings
[0004] Figure 1 A schematic diagram showing a wireless network system according to an embodiment of the present disclosure.
[0005] Figure 2 Showing by Figure 1 A schematic diagram of a wireless network system analyzing a transmission packet.
[0006] Figure 3 Showing a base station device reading Figure 2 A schematic diagram of a transmission packet.
[0007] Figure 4A And Figure 4B Showing a chart describing the data rate and preamble structure of transmission packets such as Figure 1 In
[0008] Figure 5 Showing a schematic diagram of a base station device configured with a software-designed radio (such as Figure 3 The base station device of
[0009] Figures 6A - 6C Showing an illustration of a method for Figure 2A diagram of a sampling method for sampling those transmission packets therein.
[0010] Figure 7 Showing an illustration of such as Figure 2 A diagram of adaptive sampling of those transmission packets therein.
[0011] Figures 8A - 8C Showing an illustration of including Figure 2 The spectrogram of chirp on LoRa included in those transmission packets such as
[0012] Figures 9A - 9C Showing an illustration of Figure 1 The data characteristics of the transmission packets used by the wireless network system of
[0013] Figure 10 Showing an illustration of Figure 3 The coverage map of the combination of the propagation factor and bandwidth supported by the base station equipment of
[0014] Figure 11 Showing Figure 1 A schematic diagram of the multi-stage artificial intelligence model used in the wireless network system of
[0015] Figures 12A - 12B Showing Figure 11 A schematic diagram of the neural network used in the multi-stage artificial intelligence model of
[0016] Figure 13 Showing a description of Figure 1 The diagram of the accuracy of the wireless network system of and the accuracy of another system.
[0017] Figures 14A - 14D Showing a description of Figure 1 The diagram of the accuracy of the wireless network system of across different bandwidths, propagation factors, and locations.
[0018] Figures 15A - 15C Showing a description of Figure 1 The diagram of the accuracy of the wireless network system of across different locations and times.
[0019] Figures 16A - 16B Illustrates a flowchart of a method according to an embodiment of the present disclosure.
[0020] Figure 17 Illustrates an exemplary computer environment of a system that can implement Figure 1 of Detailed Description
[0021] To solve the above problems, Figure 1FIG. 0 shows an example wireless network system 100 configured to allow network devices to transmit at any data rate. The wireless network system 100 includes a base station device 102 that uses the first few symbols in the preamble 107A1 of the packet transmission signal 107A to classify the correct data rate, switch the base station radio configuration, and then decode the data. The design of the present disclosure takes advantage of the asymmetry inherent in outdoor IoT deployments, where the clients are power - starved and resource - constrained, while the base station device 102 (i.e., the wireless gateway) is not. (In this document, the terms base station and wireless gateway can be used interchangeably.) The wireless network system 100 disclosed herein is backward - compatible with existing LoRa protocols and accurately identifies the correct configuration with an accuracy of over 97% in both indoor and outdoor deployments.
[0022] Section 1: Introduction
[0023] Low - power wide - area networks (LPWANs), such as LoRaWAN, are becoming increasingly popular in large - scale Internet of Things (IoT) deployments. Although LoRaWAN is in its infancy, there are already over 100 million devices in deployment, and this number is expected to exceed 730 million by 2023. Compared with other mainstream solutions, LPWANs have lower power consumption, longer communication ranges, and lower costs. These characteristics make devices equipped with such radios well - suited for low - throughput, large - scale networks in cities, agriculture, forests, and many other industries.
[0024] To support remote and diverse device requirements, LoRaWAN can operate at a variety of different data rates. As Figure 4A shown, the data rate is configured using two parameters: the bandwidth (BW) of the chirp used in the LoRa transmission and the spreading factor (SF). Figure 4B FIG. 13 shows a spectrogram of a LoRa preamble with eight up - chirps and two down - chirps. The actual data rate also depends on the coding rate used to ensure error correction. A fixed coding rate is assumed. As expected, higher bandwidths enable higher data rates. The spreading factor defines the time required to transmit one chirp, i.e., a higher spreading factor means a longer time required to transmit the signal, and thus a lower data rate. Popular LoRa implementations can support bandwidths from 7.8 kHz to 500 kHz and spreading factors from 7 to 12 (on a logarithmic scale). Thus, a device transmitting at 7.8 kHz and a spreading factor of 12 will achieve a data rate approximately 1189 times lower than a device transmitting at 500 kHz and a spreading factor of 7.
[0025] Despite the wide range of possibilities available to devices in a network, current paradigms require system designers to configure a single setting for bandwidth and spreading factor (or a small subset of compatible settings) for the entire network, i.e., the bandwidth and spreading factor are the same for all devices. Although LoRaWAN Automatic Data Rate (ADR) algorithms have been proposed, they can take hours to days to converge, have significant control overhead, and cannot handle multiple bandwidths. Thus, for example, in a farm network, the network is typically configured to connect to a device at the farthest location on the farm, such as a tractor, even though most of the network-connected sensors on the farm, and even the tractor, are usually close to the nearest wireless base station device on the network. This design choice stems from the need to limit network complexity and reduce the control overhead of coordinating frequent data rate changes. However, this design choice has three serious drawbacks, as described below.
[0026] Network throughput
[0027] LPWAN devices operate over large areas. The design coverage of a single LoRa gateway (LoRaWAN uses the gateway client operating mode) is approximately 10 kilometers and can cover thousands of devices at most. In such large-scale deployments, devices at the end of the range can barely support lower data rates. Thus, this "one-size-fits-all" design even forces devices that support high data rates to operate at extremely low data rates. This reduces the overall network throughput and can reduce the number of devices that the network can support by up to two orders of magnitude.
[0028] Deployment overhead
[0029] The optimal configuration of the gateway needs to be set by the network operator. Typically, this is achieved by testing multiple configurations and selecting the one that works for all client devices. This process requires technical labor, which may not always be available; for example, when deploying such devices in remote rural areas for agricultural monitoring. Secondly, the configuration selection needs to be dynamic. Due to changes in the environment or incremental deployment of devices, this configuration will stop working for a subset of devices over time and will need to be updated frequently.
[0030] Mobility
[0031] IoT devices can be installed on mobile vehicles, such as tractors, buses, or pickup trucks. The optimal configuration changes as the vehicle moves, and it is difficult to predict before the movement. The lowest data rate configuration can be selected, but this significantly reduces the network capacity.
[0032] Shown here is a new wireless network system 100 that can support wireless devices 101 to transmit at different data rates. Each wireless device 101 transmits data for itself at the best possible data rate, which may depend on signal quality and application requirements, without the wireless device 101 having to notify the base station device 102 of the configuration of the wireless device 101 in advance (i.e., before starting wireless communication). The method described herein does not require the wireless device 101 to transmit any control packets, does not require changing the LoRa protocol, and is backward compatible with existing devices (i.e., no hardware changes to IoT wireless devices 101 are required using the LoRa protocol).
[0033] As Figure 5 shown, the wireless network system 100 uses a software-defined radio (SDR) as a wireless gateway in front of the LoRa transceiver of the wireless base station 104. The SDR detects the preamble, identifies the bandwidth and spreading factor of the preamble signal, and tunes (i.e., adjusts) the radio configuration of the LoRa radio to the correct settings to receive the packet. This allows the wireless gateway to successfully receive packets from clients operating in any configuration. Since this method operates at the per-packet level, it supports data rate changes due to client mobility as well as dynamic changes in the environment. In the wireless network system 100, there is a set of neural networks that classify the correct radio configuration of each incoming packet transmission signal 107A at the base station using a small number of samples in the LoRa chirp.
[0034] The configuration of the wireless network system 100 disclosed herein addresses the following three technical objectives and the related challenges in achieving these technical objectives in a practical deployment.
[0035] Sensitivity
[0036] To maintain long distances in LoRa deployments, the first potential technical objective of the wireless network system 100 is to be able to operate at low signal-to-noise ratio (SNR).
[0037] Real-time operation
[0038] The second potential technical objective of the wireless network system 100 is to be able to detect packets via the SDR and reconfigure the LoRa radio in real time, with enough time to correctly receive the remainder of the packet signal, thus ensuring that packets are not lost.
[0039] Compatibility with existing deployments
[0040] The third potential technical objective is that existing deployments do not require protocol or client hardware changes to existing LoRa devices, although future generations of devices will not be restricted by this.
[0041] The challenges related to achieving these technical objectives are described below, and the system of the present disclosure is outlined in Section 2, followed by a discussion of these challenges.
[0042] The wireless network system 100 of the present disclosure adopts a novel approach to solve the basic rate adaptation problem in mobile networks. It does not require the client device and the gateway to agree on the rate in advance. One might wonder whether an existing rate adaptation protocol, such as Wi-Fi, could be borrowed, where a preamble containing the data rate configuration is sent using the lowest data rate. This approach is not suitable for LPWANs because they are mainly designed for large-scale deployments where each client needs to send a small amount of data. Additionally, since the data rate variation in LPWANs is higher than that in Wi-Fi, this results in a very high overhead for packets sent at high data rates while the data volume is very low (one symbol at the minimum data rate is 1189 times longer than one symbol at the highest data rate). Moreover, this increases the hardware complexity of the client device design and does not directly consider the different bandwidths used by clients in LoRa.
[0043] The gateway of the wireless network system 100 is implemented using a general software radio peripheral (USRP) SDR platform, which can use an off-the-shelf LoRa chipset as a client in one implementation. The wireless network system 100 has been evaluated in a variety of environments: bench experiments with different signal strengths, indoor deployments across multiple rooms, and outdoor deployments. The results are summarized as follows.
[0044] In the tests, the configuration of the wireless network system 100's detection algorithm could detect the correct coding parameters of the incoming packet transmission signal in indoor, outdoor, and bench experiments with accuracies of 99.8%, 95%, and 98.2% respectively. In contrast, the accuracies of the autocorrelation baseline reached 67.4%, 67%, and 78% respectively.
[0045] The wireless network system 100 continues to operate effectively at low signal-to-noise ratios: it can achieve an accuracy of 94% even when the signal attenuation exceeds 140 dB.
[0046] The algorithm of the wireless network system 100 can be effectively generalized to new environments and continue to operate in dynamic environments. In an experiment lasting five days, the accuracy of the wireless network system 100 always exceeded 99%, with very little variation from day to day.
[0047] Finally, it should be understood that the wireless network system 100 disclosed herein can be applied to future generations of devices. With the development of neural networks and faster hardware implementations, the algorithms described herein can be applied to shift the rate adaptation burden solely to the power-connected base station infrastructure (i.e., to the gateway / base station device 102, rather than requiring coordinated configuration of both the base station device 102 and the mobile wireless device 101 as is currently the case), thereby reducing the rate configuration overhead of battery-powered mobile devices. Thus, the methods described herein are not limited to being applied to low-power wide area networks, but may also be applied to various other types of wireless networks, including high-speed networks such as the so-called sixth-generation (6G) wireless networks currently under development.
[0048] Section 2: Challenges
[0049] As described above, the wireless network system 100 disclosed herein aims to achieve the triple goals of sensitivity, real-time operation, and compatibility. However, each of these goals is challenging in itself.
[0050] First, sensitivity will be discussed. The sensitivity of LPWAN protocols is directly related to bandwidth. Lower bandwidth signals have less noise and can thus be received at lower signal strengths. Conversely, higher bandwidth signals require higher signal strengths at the receiver to be correctly decoded. Thus, if the wireless network system 100 configures its SDR to operate at low bandwidth, it will meet the sensitivity requirements but will miss signals received at higher bandwidths. On the other hand, if the wireless network system 100 sets its bandwidth too high, it may miss signals from farther distances (and thus lower signal strengths) at lower bandwidths.
[0051] Second, to ensure real-time operation, it is desirable for the SDR to use only a few symbols to identify the correct configuration of a packet. However, the length of the symbols themselves depends on the configuration used by the transmitter. Symbols sent with a propagation factor of 12 are 64 times longer than symbols sent with a propagation factor of 6. If the signal sampling time is too long, there is a risk of losing an entire packet for the transmitter with the highest data rate. On the other hand, if the signal sampling duration is too short, there may not be enough information to identify the correct coding parameter configuration for a low data rate transmitter.
[0052] Finally, to ensure backward compatibility, it is desirable for the wireless network system 100 to receive an entire packet after the correct configuration has been set on the gateway. However, this requires identifying the configuration before the signal reaches the gateway - a task that may seem impossible. These challenges are as Figure 6A 、 Figure 6B 、 Figure 6CAs shown. This figure shows the challenges associated with configuring the reception of the SDR itself. This figure shows three different configurations of chirps, which are relatively close to each other. Although there are more significant differences, due to the large differences in scale, it is difficult to visually represent such more significant differences on these figures. As Figure 6A shown, sampling one symbol of the maximum bandwidth only captures a small part of the high-bandwidth signal and reduces sensitivity. On the other hand, if sampling is performed for one symbol length for the low data rate configuration in Figure 6B , high sensitivity is maintained, but it introduces significant latency for high data rate symbols (multiple symbols). Finally, one might wonder why the minimum values of frequency bandwidth and symbol duration are not used for all possible configurations. This would ensure sensitivity to low signal strengths and real-time operation. However, as Figure 6C shown, such a configuration would ultimately miss some configurations.
[0053] To resolve the conflict between sensitivity and real-time operation, the wireless network system 100 adopts an adaptive approach. It uses a set of bandpass filters in the digital domain to sample small chunks of bandwidth over a short period of time. It uses the bandwidth and frequency of these small chunks to determine whether it has captured for long enough to decide on the configuration, or whether a longer sampling time is required. In any case, the wireless network system 100 does not use more than two symbol durations for any configuration to make this decision. This idea is represented in Figure 7 .
[0054] Finally, for compatibility with existing hardware, the gateway needs to receive the entire packet after configuration. Since the SDR uses at least a part of the preamble to identify the gateway, at first glance, this goal is difficult, if not impossible, to achieve. One way to solve this problem is to buffer the time samples at the gateway 105 of the transmission rate determination of the wireless network system 100 and then replay them at the radio 106 of the base station 014. However, this complicates the circuitry of the wireless network system 10 and also increases its cost. Instead, to address this challenge, the structure of the preamble in the LoRa protocol is exploited. For the operation of this system, it is important that the operating principle of the preamble length of the packet can be dynamically configured. An inevitable operating principle is that the dynamically configured preamble can be longer than the preamble length required for the base station radio to detect the packet. The wireless network system 100 can use the remaining symbols to determine the configuration parameters and set these parameters on the base station radio. For example, the base station can be configured to expect an 8-symbol preamble, but the client can be configured to use 10 symbols. These two additional symbols can be allocated to the base station of the wireless network system 100 to predict the coding parameters of the incoming packet transmission signal and reconfigure the LoRa base station according to the coding parameters to correctly receive the signal. Then the gateway can use the remaining signals to decode the packet. Note that since the number of up chirps is variable, the gateway can still see a complete preamble with a sequence of up chirps followed by two down chirps and be able to successfully decode the packet.
[0055] Section 3: LoRa
[0056] LoRa is a physical layer implementation of LPWAN based on chirp spread spectrum (CSS) technology. In LoRa modulation, chirp signals are generated to the encoded data symbols. As Figure 8A , Figure 8B , Figure 8C shown, the frequency of the chirp changes linearly with time. Two parameters define the effective data rate: bandwidth and spreading factor. The bandwidth controls the total span of the chirp in the frequency domain. The spreading factor defines the time length of each chirp in the time domain. Specifically, for a chirp with a spreading factor SF, the time taken for transmission is proportional to 2 SF .
[0057] Therefore, the time T s required to transmit the chirp is represented by , where BW is the chirp and SF is the spreading factor. Therefore, a higher bandwidth will shorten the duration of each chirp, while a higher spreading factor will exponentially increase the duration of each chirp.
[0058] To transmit the bits of information, the transmitter modifies the initial frequency f of the chirp. Specifically, to send the symbol value S, the transmitter sets the starting frequency to:
[0059]
[0060] LoRa allows S to take values in the range {0, 2, 2,..., 2 SF}. Thus, one chirp conveys one symbol, and it conveys SF bits. Therefore, the effective data rate R of LoRa transmission is:
[0061]
[0062]
[0063] As shown in Equation 2, an increase in bandwidth increases the data rate. A decrease in the spreading factor increases the data rate. One might wonder why a higher SF is used if it reduces the rate. This is because a higher SF also increases the duration of the symbol, making it easier to decode correctly.
[0064] Finally, the terminology for the rest of this article is reiterated. A symbol is the data unit conveyed by each chirp. The duration of a symbol is the same as the duration of the chirp. Each symbol or chirp consists of multiple samples, depending on the sampling rate and the sampling duration. For example, for a sampling rate of 106 samples per second, a symbol duration of 2 milliseconds will correspond to 2000 samples.
[0065] Section 4: Wireless Network System
[0066] The wireless network system 100 disclosed in this article is a new gateway design for LoRa that supports dynamic link configuration. Using the wireless network system 100, a client can optimize its data rate without notifying the wireless base station 104 of its updated configuration. In turn, this allows a single wireless base station 104 to support hundreds of wireless devices 101 on a large scale without affecting performance. For example, a LoRa network deployment can include client devices scattered within a radius of several miles from the base station device 102. Across this coverage area, the achievable throughput varies with distance and different channel conditions. The wireless network system 100 enables the LoRa network to support multiple configurations that would otherwise have to sacrifice performance to support all devices within a wide coverage area.
[0067] To better understand the performance of LoRa, a distance test was conducted to determine the maximum achievable data rate related to the distance from the base station device 102. Figure 10Shows a coverage map of the optimal configuration settings that can be supported while maintaining a reliable communication link between the LoRa base station and the client. In an industrial park setting, the base station is located at a fixed position and the client location is changed throughout the park. The client wireless device continuously transmits LoRa packets at a transmission power of 20 dB and changes the coding parameters at each location to test the limits of the system. Figure 10 Shows the maximum supported data rate across all locations and the corresponding BW and SF. A key point is that there are significant differences between the supported coding parameters, which justifies the desire to support a more dynamic network.
[0068] The wireless network system 100 achieves this by using a neural network approach to predict the bandwidth and spreading factor for any given client for data transmission. In turn, the radio of the base station device is reconfigured accordingly to correctly receive and decode the incoming packets. A view of the architecture of the base station device 102 of the wireless network system 100 is as Figure 5 shown. As shown, the base station device 102 includes a transmission rate determination gateway 105. The transmission rate determination gateway 105 is the SDR as described above and has three constituent components: a packet detection module 110 (packet detector) for detecting incoming LoRa packet transmissions, a classifier 112 for classifying the coding configuration (which can be a neural network processing unit as described below), and finally a radio configuration module 114, which communicates with the LoRaWAN wireless base station 104 to update the coding parameters. Although the name of the LoRaWAN wireless base station 104 includes "base station" and the name of the transmission rate determination gateway 105 includes "gateway", it can be understood that both are included in a single device as the base station device 102 and also act as a gateway to the WAN when connected to the WAN.
[0069] Figure 1 A general description of the wireless network system described as such is depicted at 100, where the base station device 102 described in Figure 5 can be deployed. As shown, the wireless network system 100 includes a base station device 102 configured to communicate with a plurality of wireless devices 101 (e.g., LoRaWAN-configured devices) via a wireless network 108 (e.g., a LoRa network) using a signal 107. The base station device 102 is configured to act as a gateway device to a wide area network (WAN) (such as the Internet), through which the base station can communicate with remote devices (such as remote servers and remote clients).
[0070] The base station device 102 includes a processing circuit 103 configured to detect a transmission rate from a part of the preamble 107A1 of the incoming packet transmission signal 107A and cause its radio 106 to receive the remaining part 107A2 of the incoming packet transmission signal 107A at the transmission rate. The base station device 102 is configured to implement a low-power wide area network and receive the incoming packet transmission signal 107A from the wireless device 101 to the base station device 102 according to the LoRaWAN communication protocol. Thus, in this example, the incoming packet transmission signal 107A is sent from multiple wireless devices 101 using the LoRaWAN network protocol, but other network protocols may be used. For example, other low-power remote protocols may be used, or a high-speed network protocol (such as 6G) may be used, or other suitable network protocols. In this example, three wireless devices 101 are shown communicating with the base station device 102, but it can be understood that up to thousands of wireless devices 102 can communicate with the base station device 101.
[0071] Continuing Figure 1 , the transmission rate determination gateway 105 of the base station device 102 (which is an SDR as described above) also includes a packet detection module 110 that implements an adaptive sampling algorithm to collect samples of the preamble 107A1 of the incoming packet transmission signal 107A, the incoming packet transmission signal 107A received by the receiver 115 of the base station device 102 from one of the multiple wireless devices 101. The transmission rate determination gateway 105 of the base station device 102 also includes a classifier 112, which may be in the form of a CNN, configured to receive the samples and output a classification 117 indicating one or more coding parameters of the incoming packet transmission signal. In this example, the coding factors are the bandwidth and the propagation factor. However, in other examples, other coding factors may be used. The transmission rate determination gateway 105 also includes a radio configuration module 114 that sends configuration commands to configure the radio 106 of the radio base station 104 to receive the remaining part 107A2 of the incoming packet transmission signal 107A according to one or more coding parameters (such as the bandwidth and the propagation factor) indicated by the classification 117. The process described in this paragraph is also shown in Figure 3 shown, Figure 3 showing that the preamble 107A1 is processed by the adaptive sampling algorithm to produce samples corresponding to the initial symbols in the preamble, which are then processed by the classifier 112 to produce a classification 117 indicating the coding parameters, which in turn is used to configure the radio 106 to correctly receive the remaining part 107A2 of the incoming packet transmission signal 107A.
[0072] The implementation of the wireless network system 100 poses three technical challenges. First, there is a challenge in the wireless network system 10 to determine the configuration parameters of received packets in near real-time. Second, the wireless network system 100 faces the challenge of backward compatibility with existing LoRa solutions. Third, the challenge faced by the radio base station device 102 of the wireless network system 100 is how to achieve high prediction accuracy through various possible coding parameters selected by the wireless device 101. The following sections detail how the wireless network system 100 addresses each challenge and describe the architecture of the neural network that can be used to implement the classifier 112.
[0073] 4.1 Real-time Prediction
[0074] To successfully decode the incoming packet transmission signal 107A, the base station device 102 needs to configure its radio 106 with parameters that match the incoming packet transmission signal 107A. This reconfiguration needs to be done fast enough so that the radio 106 still has time to detect the incoming packet transmission signal 107A. To detect the incoming packet transmission signal 107A, the radio 106 requires the preamble 107A1 of the incoming packet transmission signal 107A.
[0075] As described in Section 2, the wireless network system 100 uses additional symbols added to the LoRa packet preamble 107A to determine the configuration parameters and set these parameters at the radio 106 of the base station device 102. To verify this method, two Semtech SX1276 LoRa chips were configured as the base station device 102 and the wireless device 101 respectively. The API of the popular LoRa chipset (Semtech SX1262 / 1276) was used to configure the LoRa packet preamble of 6 - 65535 symbols, where at least 6 symbols are required for packet detection. The preamble 107A1 at the base station device 102 was set to 8 symbols while changing the preamble length of the wireless device 101. The wireless device 101 transmitted packets over the air using different preamble lengths, and then the base station device 102 verified the reception of the packets. The results showed that five additional symbols could be added to the preamble 107A1 of the wireless device 101 while still maintaining reliable reception at the base station device 102. The wireless network system 100 requires at most two symbols, depending on the coding parameters used for the input data. This variation is because for any neural network, the input shape of the data is consistent. Depending on the number of data samples classified by the incoming network, the number of symbols used for any given input will also vary because the duration of a symbol is a function of BW and SF.
[0076] 4.2 Inferring SF and BW
[0077] As described above, before the base station device 102 receives the incoming packet transmission signal 107A, the coding parameters are not pre-negotiated between the wireless device 101 and the base station device 102. It can be understood that in the wireless network system 100, the wireless device 101 is configured to set coding parameters (such as bandwidth and spreading factor) to values selected from a plurality of preset values of the coding parameters at the wireless device 101. These preset values generally include all possible values defined as available by a network protocol (such as LoRaWAN), and are generally not a subset of such possible coding parameters set by the network administrator in the configuration step. Once the wireless device 101 autonomously selects the coding parameters, the wireless device 101 is configured to start transmitting the incoming packet transmission signal 107A according to the coding parameters to pre-negotiate the coding parameters without any prior communication with the base station device 102.
[0078] The wireless network system 100 aims to predict the spreading factor and bandwidth of LoRa packet transmissions using neural network methods. Before delving into the network architecture, we will first describe why the BW and SF can be inferred. By comparing the number of samples per symbol, it is easy to distinguish the differences between specific combinations of BW and SF. However, in some cases, the total number of samples is the same (e.g., BW = 125 kHz, SF = 8 and BW = 500 kHz, SF = 10).
[0079] One way to distinguish between coding configurations is to first compare the frequency increase of any given chirp relative to time. This will provide insights into the spreading factor. Secondly, the start and stop frequencies of the chirp can be used to determine the bandwidth. See Figure 8A and Figure 8B , showing that the rate of change of frequency varies with the spreading factor, and the difference between the start frequency and the stop frequency results in the bandwidth used for the chirp. If the entire symbol duration is used to predict the parameters, this technique is sufficient, but doing so will significantly increase the latency because the duration of a single symbol can be up to 525 ms. Therefore, the number of samples used to determine the coding parameters will be minimized.
[0080] The methods described above can still be used to infer the spreading factor and bandwidth using a subset of the samples of the LoRa preamble symbols, but the trade-off in this case is accuracy. Given the variations in RSSI and SNR that the signal may experience during air transmission, it may become more difficult to distinguish different coding parameters. The wireless network system 100 takes into account the characteristics of the LoRa chirp to train a convolutional neural network (CNN) to classify multiple different combinations of the spreading factor and bandwidth. Specifically, three features extracted from the symbols of the LoRa preamble 107A1 are used to perform the classification.
[0081] Therefore, it should be recognized that as Figure 2As shown, the wireless network system 100 may include an analog-to-digital converter 111 configured to sample an incoming transmission signal at different rates under the control of an adaptive sampling algorithm 113 implemented by a packet detection module 110. As described in the following subsections, samples extracted from two or fewer symbols are typically used by an artificial intelligence model of a classifier 112 to output a classification 117. Thus, specifically, the samples include samples extracted from two symbols (e.g., symbol (0) and symbol (l)) in a preamble 107A1 of an incoming packet transmission signal 107A, and the artificial intelligence model of the classifier 112 uses multiple extracted features of the samples to determine the classification 117, the multiple features including the real part of the samples, the imaginary part of the samples, and the fast Fourier transform of the samples.
[0082] The first two features are the real and imaginary parts of the signal, and the last one is the fast Fourier transform (FFT). Using data in both the time domain and frequency domain of the signal is crucial for achieving high prediction accuracy. For example, if only the FFT of each signal is used, it is almost impossible to distinguish very low BW settings. As Figure 9A , Figure 9B , Figure 9C shown, when evaluating the FFTs for different bandwidth and propagation factor settings, the lower kHz ranges start to look very similar. Complementing this with time-domain characteristics helps capture changes in the oscillation frequency of the preamble symbols, while the FFT provides insight into bandwidth changes.
[0083] 4.3 Adaptive Sampling
[0084] The wireless network system 100 uses an adaptive sampling method to optimize sensitivity, latency, and classification accuracy. Referring back to Figure 7 , an adaptive sampling method is illustrated. A set of digital bandpass filters is used to create subsets of the bandwidth over a short period of time.
[0085] Figure 2 The adaptive sampling algorithm 113 shown is configured to filter the incoming packet transmission signal 107A using one or more bandpass filters, thereby generating multiple filtered incoming packet transmission signal components, and determining that the captured signal is sufficient to determine one or more coding parameters for one of the filtered incoming packet transmission signal components of the filtered incoming packet transmission signal components.
[0086] These subsets are used to determine whether the captured signal is long enough to provide accurate information about the radio configuration or whether sampling should continue. In particular, wireless network system 100 uses a total of 12,808 samples (65 ms) for the first six classes representing two low bandwidths and 800 samples (4 ms) for the last nine classes representing higher bandwidth radio configurations. Intuitively, it makes sense to use a larger set of samples for lower bandwidth settings because the symbol duration increases as the BW decreases.
[0087] 4.4 Classifier Structure
[0088] Figure 1 The illustrated classifier 112 can be implemented as an artificial intelligence model that includes at least one convolutional neural network and can use a hierarchical neural network architecture that includes multiple (e.g., two) levels. Thus, as Figures 11 - 12B illustrated, the artificial intelligence model can be a multi-level model and thus can include a first level and a second level. The first level can include a bandwidth classifier that includes a first convolutional neural network that classifies incoming packet transmission signals into one of multiple bandwidth range classifications (e.g., high range and low range). An intermediate range between the high range and the low range can also be defined. At the second level, for signals with a bandwidth below a predetermined threshold, the signal is classified into one of multiple low bandwidth coding classifications by a low bandwidth coding classifier that includes a second convolutional neural network, and for information above the predetermined threshold, the signal is classified into one of multiple high bandwidth coding classifications by a high bandwidth coding classifier that includes a third convolutional neural network.
[0089] Continue Figure 11 In the illustrated embodiment, a binary classifier is first used to distinguish between lower and higher bandwidths. Depending on the prediction, a six-class or nine-class classifier will then be used to predict the BW and SF radio configurations. Figure 12A 、 Figure 12B Illustrate the neural network architectures used by the wireless network system at each stage, where the key difference is the number of classes, features, and samples input to each classifier.
[0090] The low bandwidth classifier relies on the three features described previously. The binary and nine-class classifiers use 30 features to predict the radio configuration. The features include the real part, the imaginary part, and the FFT; however, the samples are divided into ten 20 kHz blocks. As discussed previously in Section 2, the variation in the number of features and samples for each classifier is selected based on the type of signal to be classified. For example, the low bandwidth classifier uses more than 16 times the number of samples because the symbol duration can be in the tens of milliseconds and more samples are needed to have meaningful features. On the other hand, even for low bandwidth, the binary classifier only uses 800 samples, but since it does not need to distinguish between individual bandwidths, this is sufficient.
[0091] The neural network of each classifier starts with four convolutional layers, each with a filter size of 128. These layers convolve the input and are activated by the rectified linear unit (ReLu) function. The ReLu activation function outputs the maximum of zero and the input data and provides the output in the form of a feature map. Next is a max pooling layer, which is used to reduce the size of the generated feature map and retain the most meaningful information. In this network, the max pooling size is 2. Next are six convolutional layers, each with a filter size of 128 - 32. These layers also use the ReLu activation function. After this, a global average pooling layer is added, which calculates the average output of each feature map in the previous convolutional layer. The size of the final dense layer is equal to the total number of possible classifications. The dense layer uses the sigmoid activation function, which provides the output probability for all classes between the value 0 and the value 1. To retrieve the predicted class, the maximum probability of the final output layer is taken.
[0092] To evaluate the effectiveness of the neural network in modeling the dataset, the categorical cross - entropy loss function is used,
[0093]
[0094] where N is the number of classes, p is the predicted probability of the current sample, and t is a binary indicator of whether the class c is correct. The loss function evaluates the performance of a classification model whose output probabilities are between 0 and 1. In other words, if the model prediction deviates from the actual value, the cross - entropy will increase, thereby providing an error measure. To obtain accurate predictions, an optimization function is also needed to minimize the error. At a higher level, the optimization function calculates the partial derivative of the loss function with respect to the weights used in the model. These weights are modified until the minimum of the loss function is reached. The 100 network architecture of the wireless network system uses the Adam optimizer to perform this task.
[0095] Three batch normalization layers and one dropout layer are also added to the network. The batch normalization layer normalizes the output of the previous layer by subtracting the batch mean and dividing by the batch standard deviation, where the batch is a part of the data passed into the model for training. Batch normalization improves the stability of the network and helps reduce the time required to train the network. Finally, for regularization, a dropout of 0.5 is used before the final dense layer to reduce overfitting.
[0096] Section 5: Implementation
[0097] The implementation of the wireless network system and the settings for experimental evaluation are described in detail below.
[0098] 5.1 Hardware
[0099] Using a Universal Software Radio Peripheral (USRP) platform, a hardware prototype of the gateway of the wireless network system 100 was designed. The operating frequency of the gateway of the wireless network system 100 is 915 MHz, which is the frequency used in most LoRa deployments in the United States. The USRP and the LoRa receiver are located at the same position and need to be configured correctly to successfully receive packets.
[0100] The client is designed using the 1276 Semtech chipset. This chipset allows spreading factors from 7 to 12 and bandwidths from 7.8 kHz to 500 kHz. Bandwidths of 10.4 kHz, 15.6 kHz, 125 kHz, 250 kHz, and 500 kHz were selected for experiments to cover the extreme ends of the spectrum. Note that by choosing the two lowest possible bandwidths, the minimum difference between the bandwidths can be used. Finally, spreading factors from 10 to 12 were used in the experiments.
[0101] The client chip is embedded in a PCB to set the spreading factor and bandwidth and allow the transmission of data bits. This chip is controlled using an ARM STM32L151 microcontroller. Custom firmware has been written for this microcontroller. The wireless network system 100 can use any such implementation on the client side without any modification.
[0102] 5.2 Software
[0103] The gateway of the wireless network system 100 is controlled using GNU Radio software. This software runs on a computer with 32 GB of RAM and collects samples at a center frequency of 915 MHz and a sampling rate of 200 ksps. This is the minimum sampling rate that the USRP can achieve and results in a 200 kHz bandwidth at the receiver 115. Each packet record is passed through a bandpass filter to further reduce the receiver bandwidth to 20 kHz. Additional filtering is performed to improve the sensitivity of the receiver 115. Then, the samples are sliced into individual symbols using a packet detection algorithm that combines a power threshold on a sliding window and autocorrelation.
[0104] The CNN is implemented using the TensorFlow 2.0 framework in Python. It runs on a Microsoft Surface 2 with 16 GB of RAM and an NVIDIA GeForce GTX 1050 GPU with 2 GB of memory. The CNN is trained using the Adam optimizer with default parameters except that the learning rate is set to 0.0001. 20% of the training set is set as the validation set. All experiments train the model for 20 epochs and select the best model based on the validation set performance. Unless otherwise stated, each experiment is performed on three different training-test splits. The next section specifies the number of training points for each experiment.
[0105] Section 6: Results
[0106] The empirical evaluation of the wireless network system 100 is as follows.
[0107] 6.1 Experimental Setup
[0108] To evaluate the wireless network system 100, a dataset is first generated to represent 15 possible classifications of the propagation factor, ranging from 10 - 12, with bandwidths of 10.4, 15.6, 125, 250, and 500 kHz. Since the preamble of a LoRa packet is a series of up - chirps, a dataset is created that consists of a single chirp in the form of a complex baseband signal extracted from the preamble of each packet. The radio described in Section 5.1 is used to transmit LoRa packets and a USRP is used for reception. With this setup, data is collected in controlled, indoor, and outdoor environments.
[0109] Indoor data collection: Indoor experiments are conducted in an office space. The experiment spans six different rooms with a total area of 1000 square feet. The transmitting device (e.g., wireless device 101) and the receiving device (e.g., base station device 102) are randomly placed in different rooms. For each setup, data for each class is collected. For each location, 800 symbols of data per class are collected on average.
[0110] Outdoor data collection: To simulate an outdoor deployment, a campus - scale deployment is used to collect data. The receiving device is placed at a fixed location at ground level. The transmitting device can be moved manually or on top of a car to different locations within a 0.02 - square - mile area of the campus. For each location, a random propagation factor and a random bandwidth are selected to transmit data. The GPS coordinates of the location and the configuration used are manually recorded. Data from 16 campus locations is collected in total.
[0111] Bench - top data collection: To replicate long - range outdoor experiments, a bench - top experimental setup is used to create a controlled dataset with different RSSIs (Receiver Signal Strength Indicators). In this setup, the transmitting device and the receiving device are directly connected by wires. For each symbol classification, the transmitted signal is attenuated by a variable attenuator from 40 - 140 dB.
[0112] Baseline: A baseline based on cross - correlation operation is used. An example set is used that contains one example signal (bandwidth and propagation factor pair) for each class. For a given signal input S, is the cross - correlation of S with the example E in class i i and then the similarity score for class i is calculated as
[0113]
[0114] Finally, assign the class with the highest score to the input. Note that this is a computationally intensive process. Cross-correlation is an O(N log(N)) operation, where N is the length of the signal, and it needs to be performed for each class.
[0115] 6.2 Accuracy Assessment
[0116] First, evaluate the accuracy of the correct configuration of the CNN identification packets of the wireless network system 100. As mentioned before, for the CNN of the wireless network system, the original signal is captured for 4 ms and used as the input of the binary classifier. If the received packet belongs to the low-bandwidth category, the signal capture will increase to 65 ms, otherwise, for high bandwidth, the signal capture remains unchanged. This corresponds to the duration of two chirps (or symbols) at the highest data rate in the experiment (bandwidth 500 kHz and propagation factor 10), and approximately 1 / 6 of the chirp duration at the lowest data rate. The performance of the neural network is evaluated by analyzing the accuracy of all three scenarios mentioned above. Due to limitations, this analysis uses a mixture of indoor and desktop data to train the network. 30% of the collected data is used for training, and all other data is used for testing.
[0117] Now turn to Figure 13 , the accuracy of the wireless network system 100 will be described. As shown in the figure, the CNN of the wireless network system 100 achieved very high overall accuracies of 99.8%, 95%, and 98.2% in indoor, outdoor, and desktop evaluations, respectively. This high accuracy demonstrates the feasibility of the core idea of the wireless network system 100, that is, the correct configuration of packets on the gateway can be identified with high accuracy. In contrast, the baseline performance is significantly worse. For these three settings, the baseline accuracies are 67.5%, 67%, and 78% respectively. One reason for the poor baseline performance is the difficulty in identifying the small differences in frequency bandwidths, such as 10.4 kHz and 15.6 kHz. Different from higher bandwidths such as 125 kHz and 250 kHz, these bandwidths are relatively close, and there is noise and multipath, so it is difficult to distinguish between them.
[0118] Variations across environments.
[0119] Figure 13 The variations across environments are also demonstrated. The performance of the system is better outdoors than indoors. This is mainly because the outdoor environment contains more free space and less multipath fading compared to the indoor environment. On the other hand, the indoor environment has more multipath reflections, making it more challenging.
[0120] Variations across bandwidths.
[0121] Figure 14AShows the performance of the wireless network system 100 across different bandwidths. For this experiment, the call rate is reported as it is more meaningful. The call rate is the number of points correctly classified as bandwidth B divided by the number of points actually transmitted at bandwidth B. As shown, the call rate for all bandwidths remains around 99%, with a minimum of 98.4% (15.6 kHz) and a maximum of nearly 100% at 10.4 kHz and 125 kHz.
[0122] Variation across propagation factors.
[0123] Figure 14B Depicts the performance variation of the wireless network system 100 across different propagation factors. As shown, for all three propagation factors, the call rate remains around 99%. The call rate is slightly lower because the propagation factor is the highest. This is mainly because the highest propagation factor corresponds to the maximum time of each chirp. This means that if sampling occurs at a fixed duration, as it does for the input duration, the minimum chirp fraction for the highest propagation factor is obtained. As the propagation factor increases, this makes the classification problem more challenging. However, even at the highest propagation factor used by LoRa, the wireless network system can achieve an accuracy of over 95% using less than half of the single chirp duration. This demonstrates the strong performance of the CNN design of the wireless network system.
[0124] Variation across locations.
[0125] Figure 14C Depicts the performance variation of the wireless network system 100 in different physical spaces. L0 to L4 represent four different locations. In each of these locations, the accuracy of the wireless network system 100 always remains around 99 - 100%.
[0126] Variation across time.
[0127] Figure 14D Plots the performance variation of all 15 classes of the wireless network system 100 over time. In this experiment, data is collected in the air for 30 minutes continuously for 5 days. As shown, the accuracy remains almost at 100% on all days. Compared with the baseline method, the accuracy drops significantly to around 88%.
[0128] An important finding in the accuracy analysis is that the wireless network system 100 can correctly identify radio configurations in different scenarios with high accuracy. The overall accuracy of the wireless network system reaches 97.7%, that is, the packet loss rate is less than 1 / 20. Considering the overall packet loss of LoRa, this loss becomes insignificant. In the outdoor urban scenario, with a bandwidth of 125 kHz and a spreading factor of 12, the packet loss at a distance of 0 - 15 km may be between 12% and 74%. It is believed that the additional loss brought by the wireless network system 100 is ultimately a reasonable trade-off for achieving automatic radio configuration.
[0129] 6.3 Overview
[0130] For most machine learning frameworks, a problem that arises is that they can generalize to new environments not seen in the training set. This problem is addressed for the wireless network system through two empirical evaluations.
[0131] First, the model is trained while excluding two locations (different rooms in the indoor environment) from the training data. Specifically, the data obtained from L5 and L6 is not included in the training set. The data from these two locations is separated for the test set. This allows testing the generality of the new environment. The results of this experiment are plotted in Figure 15A . As shown, the positioning accuracy drops slightly, from 98.9% to 94.5%.
[0132] Second, the model is tested for cross - time generalization. The test data is collected on a day not included in the training set (with a one - week interval). The model maintains the performance of the previous days (97% accuracy). This shows that there are some differences between locations in terms of accuracy, but no time differences are observed. The key conclusion of this result is that the wireless network system can achieve high accuracy even for input signals in scenarios not encountered by the CNN. This indicates that the CNN of the wireless network system can be used for multiple LoRa networks.
[0133] 6.4 Sensitivity
[0134] Depending on the SF and BW settings used, LoRa can operate in a sensitivity range of - 149 to - 118 dBm. For the wireless network system 100 to be valuable for LoRa network deployment, it must also be able to achieve high accuracy in the same sensitivity range. To evaluate the accuracy of the CNN of the wireless network system 100 for low - power signals, a dataset with an attenuation of 40 - 140 dB was generated and the accuracy of the model was analyzed. Figure 15B The model accuracy as a function of attenuation for the wireless network system 100 and the baseline method is shown. The average accuracy of the wireless network system 100 is 96.7%, up to 99% at most, independent of attenuation. This is compared with Figure 13The accuracy obtained from the entire bench experiment reported in [reference] is consistent. On the other hand, the accuracy of the baseline method fluctuates, and for signals exposed to a high attenuation amount, its accuracy decreases. The overall results indicate that the wireless network system 100 is robust to changes in signal strength and should thus be able to maintain the prediction accuracy of the signal conditions that LoRa may face.
[0135] 6.5 Delay
[0136] Minimizing the delay of the wireless network system 100 is crucial for maintaining real-time prediction. As described above, it is determined that five additional symbols can be added to the preamble 107A1 of the LoRa packet transmission, and these symbols can be allocated to the wireless network system 100 to detect, classify, and update the radio configuration at the base station device 102. This means that the duration varies from 0.01 s to 1.92 s. The wireless network system 100 uses at most two symbols per class (most classes use less than one symbol), and the remaining time can be used for classification and parameter configuration. The CNN delay of the wireless network system 100 is evaluated and compared with the baseline method. Figure 13 A comparison of the delays between the two methods is shown. It is worth mentioning that the wireless network system 100 using the CPU for classification takes approximately 60 ms per sample, and the wireless network system 100 using the laptop version NVIDIA GTX 1050 GPU for classification takes approximately 3 ms per sample, and the delay can be increased by 20 times. The calculation time of the baseline method is 140 ms per sample, so it is impossible to perform real-time classification for most LoRa coding parameter configurations.
[0137] Section 7: System Overview
[0138] This disclosure describes a new gateway design that allows wireless devices 101 using LoRa and other protocols to transmit at their selected data rates. For example, this enables the base station device 102 to support remote large-scale mobile wireless devices 101 without sacrificing the overall network performance. The wireless network system 100 uses CNN to predict the bandwidth and propagation factor of the packets transmitted by the wireless device 101 and enables the base station device 102 to decode the packets across different signal coding parameter settings. Thus, in one example, the radio 106 of the base station device 102 can be quickly configured to correctly receive the remaining part 107A2 of the incoming packet transmission signal 107A based only on the information from the first two symbols of the preamble 107A1.
[0139] The test implementation of the wireless network system 100 includes the following component features.
[0140] Classifier for LoRa radio configuration
[0141] Based on the test results, a neural network was implemented that can classify 15 different LoRa radio configurations with accuracies of 99.8% and 95% for indoor and outdoor scenarios, respectively.
[0142] Real-time classification
[0143] Tests show that by leveraging the dynamic preamble settings of LoRa packets, radio configuration can be automated and performed in real time. The wireless network system 100 relies on at most two preamble symbols to perform high-accuracy classification in different scenarios.
[0144] Adaptive sampling
[0145] Adaptive sampling is implemented to optimize the trade-off between the sensitivity, accuracy, and latency of the network. The wireless network system 100 adjusts the bandwidth and capture duration to classify a large number of radio configurations supported by LoRa.
[0146] Although specific applications of the disclosed wireless network system 100 are described herein, it should be understood that the wireless network system can be used for other applications. Examples of such applications are described below.
[0147] Rate adaptation
[0148] The wireless network system 100 can be used to improve the rate adaptation technology of LoRa. Since the client can configure its own coding parameters and the wireless network system 100 can automatically configure the base station device 102 to meet the requirements, many typical overheads can be avoided. For example, the control message passing between the base and the client can be minimized. Developing a new rate adaptation protocol based on the wireless network system 100 has the potential to further improve the performance and efficiency of LPWAN.
[0149] Field-programmable gate array implementation
[0150] Although not shown in the figure, the wireless network system 100 can be implemented on a field-programmable gate array (FPGA). Compared with other hardware computing platforms, FPGA provides faster performance and also offers the flexibility to support different algorithms, logic, and memory resources. Such an implementation can help improve the latency of the wireless network system 100 by minimizing the time required to detect, classify, and update radio parameters.
[0151] Alternative hardware
[0152] Although the system was developed as a gateway and equipped with a software-defined radio, some off-the-shelf gateways (such as SX1257) support access to the raw IQ samples of the signal and are compatible with the design.
[0153] Network pruning
[0154] Regarding improving latency, pruning the network used by the wireless network system 100 is a promising approach. The idea behind network pruning is that since there are many parameters in the network, there must be some parameters that are redundant and contribute little. This minimizes the size of the network, thereby optimizing the time required to perform classification.
[0155] With the finalization of the 5G standard, there is increasing interest in defining the 6G network, which aims to provide an order of magnitude improvement in bandwidth and latency compared to 5G. A promising approach being explored is machine learning and how devices can automatically reconfigure to communicate with devices (including those using other standards). This can significantly reduce control overhead, thereby increasing network capacity. The wireless network system 100 architecture is a step towards this vision of achieving full interoperability while still maintaining backward compatibility with legacy devices. Thus, the systems and methods described herein are considered applicable to future protocols, including future high-speed wireless communication protocols such as the emerging 6G protocol.
[0156] Now turning to Figure 16A , a wireless network method will be described. A wireless network method 1600 is provided. As shown, at 1602, the method in one embodiment includes detecting a transmission rate from a portion of a preamble of an incoming packet transmission signal, and at 1614, the method further includes adapting a radio to receive the remaining portion of the incoming packet transmission signal at the transmission rate. More details of the method are provided below.
[0157] The method further includes implementing an adaptive sampling algorithm at 1604 via a processing circuit to collect samples of the preamble of the incoming packet transmission signal. The processing circuit may be included in a base station equipped with a radio, and the radio is configured to receive and transmit wireless signals. In this embodiment, wireless signals are received and transmitted according to the LoRa network protocol, although other network protocols may be used in other embodiments. For example, other suitable low-power or long-range network protocols with a large variation in the length of data symbols in the transmitted signal may benefit from the application of this method. An incoming packet transmission signal is received from a wireless device. Although the method of this embodiment describes an incoming packet transmission signal received from one wireless device, it should be understood that the method is applicable to receiving incoming packet transmission signals from multiple wireless devices. For example, dozens, hundreds, or even thousands of wireless devices may be used.
[0158] At 1606, the method further includes receiving a sample at a classifier and outputting a classification indicative of one or more coding parameters of an incoming packet transmission signal. The coding parameters are not pre-negotiated between the wireless device and the base station before the incoming packet transmission signal is received. The benefit of not pre-negotiating the coding parameters is that the client device transmitting the incoming packet transmission signal can be used as is. In other words, the methods described herein do not require modification of the client device. In the method, the one or more coding parameters include bandwidth and / or propagation factor, although other suitable coding parameters may be used.
[0159] At 1608, in an example configuration of the method, the classifier is an artificial intelligence model including at least one convolutional neural network. Details of the artificial intelligence model are as Figure 16B shown and will be described below.
[0160] At 1610, the sample includes samples extracted from two symbols in a packet signal preamble, and the artificial intelligence model of the classifier uses multiple features of the sample to determine the classification, the multiple features including the real part of the sample, the imaginary part of the sample, and the fast Fourier transform (FFT) of the sample. Using data in both the time domain and the frequency domain of the signal is crucial for achieving high prediction accuracy. For example, if only the FFT of each signal is used, it is difficult to distinguish very low BW settings. Supplementing the FFT with time domain characteristics helps capture changes in the oscillation frequency of the preamble symbols, while the FFT is useful for gaining insight into bandwidth changes. By using both the time domain and frequency domain features of the signal, samples extracted from two or fewer symbols are used by the artificial intelligence model to output a classification.
[0161] At 1616, the method includes sending a configuration command to configure the radio to receive the remainder of the incoming packet transmission signal according to one or more coding parameters indicated by the classification. In this way, the radio can receive the remainder of the incoming packet transmission signal.
[0162] Now turning to Figure 16B , further details of 1608 are provided. At 1618, the artificial intelligence model is a multi-level model including a first level where a bandwidth classifier includes a first convolutional neural network that classifies the incoming packet transmission signal into one of a plurality of bandwidth range classifications. In this example, the bandwidth classifier including the first convolutional neural network uses the real part, the imaginary part, and the FFT of the incoming packet transmission signal, each divided into ten 20 kHz blocks. However, in other examples, two, four, six, eight, or any suitable number of blocks may be used. At the first level of this example, the incoming packet transmission signal is classified into one of two bandwidth range classifications, but three, four, or any other suitable number may be used.
[0163] At 1620, at the second level, for signals having a bandwidth below a predetermined threshold, the signal is classified by a low-bandwidth coding classifier including a second convolutional neural network as one of a plurality of low-bandwidth coding classifications.
[0164] At 1622, for signals above the predetermined threshold, the signal is classified by a high-bandwidth coding classifier including a third convolutional neural network as one of a plurality of high-bandwidth coding classifications.
[0165] In some embodiments, the methods and processes described herein may be associated with a computing system of one or more computing devices. In particular, these methods and processes may be implemented as a computer application or service, an application programming interface (API), a library, and / or other computer program products.
[0166] Figure 17 A non-limiting embodiment of a computing system 1700 is schematically shown, which may implement one or more of the above methods and processes. The computing system 1700 is shown in a simplified form. The computing system 1701 may include a wireless device 101, a base station device 102, and / or the remote devices shown above and Figure 1 as shown. The computing system 170 may take the form of one or more personal computers, server computers, tablet computers, home entertainment computers, network computing devices, gaming devices, mobile computing devices, mobile communication devices (e.g., smartphones), IoT devices, remote sensor devices, and / or other computing devices.
[0167] The computing system 1700 includes a logic processor 1702, a volatile memory 1704, and a non-volatile storage device 1706. The computing system 1701 may optionally include a display subsystem 1708, an input subsystem 1710, a communication subsystem 1712, and / or Figure 17 other components not shown above.
[0168] The logic processor 1702 includes one or more physical devices configured to execute instructions. For example, the logic processor may be configured to execute instructions as part of one or more applications, programs, routines, libraries, objects, components, data structures, or other logical structures. Such instructions can be used to perform tasks, implement data types, transform the state of one or more components, achieve technical effects, or otherwise achieve the desired result.
[0169] A logical processor may include one or more physical processors (hardware) configured to execute software instructions. Additionally or alternatively, a logical processor may include one or more hardware logic circuits or firmware devices configured to execute hardware-implemented logic or firmware instructions. The processor of logical processor 1702 may be single-core or multi-core, and the instructions executed thereon may be configured for sequential, parallel, and / or distributed processing. The various components of a logical processor may be selectively distributed among two or more separate devices, which may be remotely located and / or configured for coordinated processing. The various aspects of a logical processor may be virtualized and executed by a remotely accessible network computing device configured in a cloud computing configuration. In such a case, it can be understood that these virtualized aspects run on different physical logical processors of different machines.
[0170] The non-volatile storage device 1706 includes one or more physical devices configured to store instructions executable by a logical processor to implement the methods and processes described herein. When implementing these methods and processes, the state of the non-volatile storage device 1706 may be transformed, for example, to store different data.
[0171] The non-volatile storage device 1706 may include removable and / or built-in physical devices. The non-volatile storage device 1706 may include optical memories (such as CDs, DVDs, HD-DVDs, Blu-Ray discs, etc.), semiconductor memories (such as ROMs, EPROMs, EEPROMs, FLASH memories, etc.), and / or magnetic memories (such as hard disk drives, floppy disk drives, tape drives, MRAMs, etc.), or other mass storage device technologies. The non-volatile storage device 1706 may include non-volatile, dynamic, static, read / write, read-only, sequential access, location-addressable, file-addressable, and / or content-addressable devices. It is noted that the non-volatile storage device 1706 is configured to store instructions even when the non-volatile storage device 1707 is powered off.
[0172] The volatile memory 1704 may include physical devices including random access memory. The logical processor 1702 typically uses the volatile memory 1704 to temporarily store information during software instruction processing. It can be understood that when the volatile memory 1704 is powered off, the volatile memory 1704 generally does not continue to store instructions.
[0173] Aspects of the logic processor 1702, volatile memory 1704, and non-volatile storage device 1706 may be integrated into one or more hardware logic components. For example, such hardware logic components may include field programmable gate arrays (FPGAs), program and application specific integrated circuits (PASIC / ASICs), program and application specific standard products (PSSP / ASSPs), system on chips (SOCs), and complex programmable logic devices (CPLDs).
[0174] The terms "module", "program", and "engine" may be used to describe an aspect of the computing system 1700, typically implemented in software by a processor to perform a specific function using a portion of the volatile memory, which involves transform processing that specifically configures the processor to perform the function. Thus, a module, program, or engine may be instantiated by the logic processor 1702, execute instructions held by the non-volatile storage device 1706, and use a portion of the volatile memory 1704. It will be appreciated that different modules, programs, and / or engines may be instantiated from the same application, service, code block, object, library, routine, API, function, etc. Similarly, the same module, program, and / or engine may be instantiated by different applications, services, code blocks, objects, routines, APIs, functions, etc. The terms "module", "program", and "engine" may include single or groups of executable files, data files, libraries, drivers, scripts, database records, etc.
[0175] When included, the display subsystem 1708 may be used to present a visual representation of data stored by the non-volatile storage device 1706. The visual representation may take the form of a graphical user interface (GUI). Since the methods and processes described herein change the data held by the non-volatile storage device, thereby changing the state of the non-volatile storage device, the state of the display subsystem 1708 may also be changed accordingly to visually represent the change in the underlying data. The display subsystem 1708 may include one or more display devices using almost any type of technology. Such display devices may be combined with the logic processor 1702, volatile memory 1704, and / or non-volatile storage device 1706 in a shared enclosure, or such display devices may be peripheral display devices.
[0176] When included, the input subsystem 1710 may include one or more user input devices, such as a keyboard, mouse, camera, microphone, touchpad, finger-operable pointer device, touch screen, or game controller, or interface with one or more user input devices.
[0177] When included, the communication subsystem 1712 can be configured to communicatively couple the various computing devices described herein to each other and to other devices. The communication subsystem 1712 can include wired and / or wireless communication devices compatible with one or more different communication protocols, including low-power long-range wireless protocols such as LoRaWAN described above. As a non-limiting example, the communication subsystem can be configured to communicate via a wireless telephone network or a wired or wireless local or wide area network. In some embodiments, the communication subsystem can allow the computing system 1700 to send and / or receive messages to / from other devices via a network such as the Internet.
[0178] The following paragraphs provide additional description of the subject matter of the present disclosure. According to one aspect, a wireless network system is provided that includes a base station device that includes processing circuitry configured to detect a transmission rate from a portion of a preamble of an incoming packet transmission signal and to adjust a radio configuration to receive the remainder of the incoming packet transmission signal at the transmission rate.
[0179] In this regard, the base station device can also include a packet detection module that implements an adaptive sampling algorithm to collect samples of the preamble of the incoming packet transmission signal. The receiver of the base station device has received the incoming packet transmission signal from a wireless device. The base station device can also include a classifier configured to receive the samples and output a classification indicative of one or more coding parameters of the incoming packet transmission signal. The base station device can also include a radio configuration module that sends a configuration command to configure the radio of the base station device to receive the remainder of the incoming packet transmission signal according to the one or more coding parameters indicated by the classification.
[0180] In this regard, the coding parameters may not be pre-negotiated between the wireless device and the base station device before the incoming packet transmission signal is received.
[0181] In this regard, the wireless device can also be configured to set the coding parameters to a value selected from a plurality of preset values of the coding parameters at the wireless device and, without any prior communication with the base station device, begin transmitting the incoming packet transmission signal according to the coding parameters to pre-negotiate the coding parameters.
[0182] In this regard, the samples can include samples extracted from two symbols in the preamble of the packet signal, and an artificial intelligence model of the classifier uses a plurality of features of the samples to determine the classification, the plurality of features including the real part of the samples, the imaginary part of the samples, and the fast Fourier transform of the samples.
[0183] In this regard, samples extracted from two or fewer symbols can be used by the artificial intelligence model to output a classification.
[0184] In this regard, one or more coding parameters may include bandwidth and / or a propagation factor.
[0185] In this regard, the adaptive sampling algorithm may also be configured to filter an incoming packet transmission signal using one or more bandpass filters to generate a plurality of filtered incoming packet transmission signal components, and determine that the captured signal is sufficient to determine one or more coding parameters for one of the filtered incoming packet transmission signal components of the filtered incoming packet transmission signal components.
[0186] In this regard, the classifier may include an artificial intelligence model that includes at least one convolutional neural network.
[0187] In this regard, the artificial intelligence model may be a multi-level model and includes a first level where a bandwidth classifier includes a first convolutional neural network that classifies an incoming packet transmission signal into one of a plurality of bandwidth range classifications, and a second level where for signals having a bandwidth below a predetermined threshold, a low-bandwidth coding classifier including a second convolutional neural network classifies the signal into one of a plurality of low-bandwidth coding classifications, and for signals above the predetermined threshold, a high-bandwidth coding classifier including a third convolutional neural network classifies the signal into one of a plurality of high-bandwidth coding classifications.
[0188] In this regard, the base station device may be configured to implement a low-power wide area network and receive an incoming packet transmission signal from a wireless device according to the LoRaWAN communication protocol.
[0189] According to another aspect, a wireless networking method is provided, including: detecting a transmission rate from a portion of a preamble of an incoming packet transmission signal and causing a radio to receive the remaining portion of the incoming packet transmission signal at the transmission rate.
[0190] In this regard, the method may also include, via a processing circuit, implementing an adaptive sampling algorithm to collect samples of a preamble of an incoming packet transmission signal, the incoming packet transmission signal being received from a wireless device, receiving the samples at a classifier, and outputting a classification indicating one or more coding parameters of the incoming packet transmission signal, and sending a configuration command to configure the radio to receive the remaining portion of the incoming packet transmission signal according to the one or more coding parameters indicated by the classification.
[0191] In this regard, the coding parameters may not be pre-negotiated between the wireless device and the base station device before receiving the incoming packet transmission signal.
[0192] In this regard, the samples can include samples extracted from two symbols in the preamble of the packet signal, and the artificial intelligence model of the classifier uses multiple features of the samples to determine the classification, and the multiple features include the real part of the samples, the imaginary part of the samples, and the fast Fourier transform of the samples.
[0193] In this regard, samples extracted from two or fewer symbols can be used by the artificial intelligence model to output a classification.
[0194] In this regard, one or more coding parameters can include bandwidth and / or propagation factor.
[0195] In this regard, the classifier can be an artificial intelligence model including at least one convolutional neural network.
[0196] In this regard, the artificial intelligence model can be a multi-level model, including a first level where the bandwidth classifier includes a first convolutional neural network that classifies an incoming packet transmission signal into one of a plurality of bandwidth range classifications, and a second level where for signals having a bandwidth below a predetermined threshold, a low-bandwidth coding classifier including a second convolutional neural network classifies the signal into one of a plurality of low-bandwidth coding classifications, and for signals above the predetermined threshold, a high-bandwidth coding classifier including a third convolutional neural network classifies the signal into one of a plurality of high-bandwidth coding classifications.
[0197] According to another aspect, a wireless network system is provided, which includes a processing circuit configured to execute a packet detection module that implements an adaptive sampling algorithm to collect samples of the preamble of an incoming packet transmission signal received by a receiver from a wireless device. The wireless network system can also be configured to execute a classifier including a neural network, which is configured to receive the samples and output a classification indicating one or more coding parameters of the incoming packet transmission signal. The wireless network system can also be configured to execute a radio configuration module that sends a configuration command to configure an associated radio to receive the remainder of the incoming packet transmission signal according to the one or more coding parameters indicated by the classification.
[0198] It should be understood that the configurations and / or methods described herein are exemplary in nature, and these specific embodiments or examples should not be considered in a limiting sense, as there may be many variations. The specific routines or methods described herein can represent one or more of any number of processing strategies. Therefore, the various acts shown and / or described can be performed in the order shown and / or described, in other orders, in parallel, or omitted. Similarly, the order of the above processes may be changed.
[0199] The subject matter of the present disclosure includes all novel and non-obvious combinations and sub-combinations of the various processes, systems, and configurations, as well as other features, functions, acts, and / or properties disclosed herein, and any and all equivalents thereof.
Claims
1. A wireless network system, comprising: A base station device, including a processing circuit configured to detect a transmission rate from a part of a preamble of an incoming packet transmission signal, and to adapt a radio configuration to receive a remaining part of the incoming packet transmission signal at the transmission rate, wherein the processing circuit of the base station device includes: A packet detection module that implements an adaptive sampling algorithm to collect samples of the preamble of the incoming packet transmission signal, which is received by a receiver of the base station device from a wireless device; A classifier configured to receive the samples and output a classification indicating one or more coding parameters of the incoming packet transmission signal; and A radio configuration module that sends a configuration command to configure a radio of the base station device to receive the remaining part of the incoming packet transmission signal according to the one or more coding parameters indicated by the classification.
2. The wireless network system according to claim 1, wherein the base station device is configured to implement a low-power wide area network and to receive the incoming packet transmission signal from the wireless device according to a Remote Wide Area Network (LoRaWAN) communication protocol.
3. The wireless network system according to claim 1, wherein the coding parameters are not pre-negotiated between the wireless device and the base station device before receiving the incoming packet transmission signal.
4. The wireless network system according to claim 1, wherein the wireless device is configured to: Set the coding parameters to a value selected from a plurality of preset values of the coding parameters at the wireless device, and Start transmitting the incoming packet transmission signal according to the coding parameters to pre-negotiate the coding parameters without any prior communication with the base station device.
5. The wireless network system according to claim 1, wherein the samples include samples extracted from two symbols in the preamble of the packet transmission signal, and an artificial intelligence model of the classifier uses a plurality of features of the samples to determine the classification, the plurality of features including a real part of the samples, an imaginary part of the samples, and a fast Fourier transform of the samples.
6. The wireless network system according to claim 5, wherein samples extracted from two or fewer symbols are used by the artificial intelligence model to output the classification.
7. The wireless network system according to claim 5, wherein the artificial intelligence model is a multi-level model and includes: A first level, wherein a bandwidth classifier includes a first convolutional neural network that classifies the incoming packet transmission signal into one of a plurality of bandwidth range classifications; and A second level, wherein, for a signal having a bandwidth below a predetermined threshold, a low-bandwidth coding classifier including a second convolutional neural network classifies the signal into one of a plurality of low-bandwidth coding classifications, and for a signal above the predetermined threshold, a high-bandwidth coding classifier including a third convolutional neural network classifies the signal into one of a plurality of high-bandwidth coding classifications.
8. The wireless network system according to claim 1, wherein the adaptive sampling algorithm is configured to: Filter the incoming packet transmission signal using one or more band - pass filters to generate a plurality of filtered incoming packet transmission signal components; Determine that the captured signal is sufficient to determine the one or more coding parameters for one of the filtered incoming packet transmission signal components in the filtered incoming packet transmission signal components.
9. The wireless network system according to claim 1, wherein the classifier is an artificial intelligence model including at least one convolutional neural network.
10. The wireless network system according to claim 1, wherein the one or more coding parameters include bandwidth and / or propagation factor.
11. A wireless network system, comprising: A processing circuit configured to execute: A packet detection module that implements an adaptive sampling algorithm to collect samples of the preamble of an incoming packet transmission signal, the incoming packet transmission signal being received by a receiver from a wireless device; A classifier including a neural network, configured to receive the samples and output a classification indicating one or more coding parameters of the incoming packet transmission signal; And A radio configuration module that sends a configuration command to configure an associated radio to receive the remainder of the incoming packet transmission signal according to the one or more coding parameters indicated by the classification.
12. A wireless network method, comprising: Detecting a transmission rate at least in part from a portion of the preamble of an incoming packet transmission signal by: Implementing an adaptive sampling algorithm to collect samples of the preamble of the incoming packet transmission signal, the incoming packet transmission signal being received from a wireless device; Receiving the samples at a classifier and outputting a classification indicating one or more coding parameters of the incoming packet transmission signal; And Adapting a radio at least in part to receive the remainder of the incoming packet transmission signal at the transmission rate by: Sending a configuration command to configure the radio to receive the remainder of the incoming packet transmission signal according to the one or more coding parameters indicated by the classification.
13. The method according to claim 12, wherein the one or more coding parameters include bandwidth and / or propagation factor.
14. The method according to claim 12, wherein the coding parameters are not pre - negotiated between the wireless device and the base station device before receiving the incoming packet transmission signal.
15. The method according to claim 12, wherein the samples include samples extracted from two symbols in the preamble of the packet transmission signal, and the artificial intelligence model of the classifier uses a plurality of features of the samples to determine the classification, the plurality of features including the real part of the samples, the imaginary part of the samples, and the fast Fourier transform of the samples.
16. The method according to claim 15, wherein samples extracted from two or fewer symbols are used by the artificial intelligence model to output the classification.
17. The method according to claim 12, wherein the classifier is an artificial intelligence model including at least one convolutional neural network.
18. The method according to claim 17, wherein the artificial intelligence model is a multi-level model and includes: A first level, wherein the bandwidth classifier includes a first convolutional neural network that classifies the incoming packet transmission signal into one of a plurality of bandwidth range classifications; and A second level, wherein for signals having a bandwidth below a predetermined threshold, the low-bandwidth coding classifier including a second convolutional neural network classifies the signal into one of a plurality of low-bandwidth coding classifications, and for signals above the predetermined threshold, the high-bandwidth coding classifier including a third convolutional neural network classifies the signal into one of a plurality of high-bandwidth coding classifications.
Citation Information
Patent Citations
Reconfiguring wireless networks by predicting future user locations and loads
CN107736053A
Super-wideband radio transmitter, super-wideband radio receiver and super-wideband radio transmission / reception system
JP2006074609A