System and method for blocking of low power wide area networks
A method for monitoring and blocking data packets while maintaining the ability to demodulate blocked data packets including receiving, at a receiver, a first data packet and analyzing a first portion of the first data packet to determine one or more attributes of the first data packet. A blocking signal is transmitted based on the one or more attributes of the first data packet. Receipt of the first data packet is discontinued at the receiver during transmission of the blocking signal and receipt of a remainder of the first data packet is continued at the receiver following transmission of the blocking signal. Data included in the remainder of the first data packet is demodulated at the receiver.
1 . A method for monitoring and blocking data packets while maintaining the ability to demodulate blocked data packets, the method comprising:
receiving, at a receiver, a first data packet;
analyzing a first portion of the first data packet to determine one or more attributes of the first data packet;
transmitting, from a transmitter, a blocking signal based on the one or more attributes of the first data packet;
discontinuing receipt of the first data packet at the receiver during transmission of the blocking signal;
continuing receipt of a remainder of the first data packet at the receiver following transmission of the blocking signal; and
demodulating, at the receiver, data included in the remainder of the first data packet.
2 . The method of claim 1 , wherein the first portion of the first data packet corresponds to a first portion of a preamble of the first data packet.
3 . The method of claim 2 , wherein transmitting the blocking signal comprises transmitting the blocking signal to block a second portion of the preamble that follows the first portion of the preamble.
4 . The method of claim 1 , wherein analyzing the first portion of the first data packet to determine the one or more attributes comprises determining a spreading factor SF and a bandwidth B of each chirp in a plurality of first chirps included in the first portion of the first data packet.
5 . The method of claim 4 , wherein transmitting the blocking signal based on the first portion of the first data packet comprises generating the blocking signal to include a plurality of second chirps with the SF and B of the plurality of first chirps.
6 . The method of claim 1 , wherein transmitting the blocking signal comprises selectively transmitting the blocking signal based on at least one attribute of the first data packet.
7 . The method of claim 1 , wherein the first data packet is a Long-Range (LoRa) data packet.
8 . The method of claim 7 , further comprising:
recording, at the receiver, received signal strengths of a plurality of first LoRa data packets;
determining a signal level threshold based on the received signal strengths of the plurality of first LoRa data packets, wherein the signal level threshold identifies data packets transmitted by LoRa gateways in proximity to the receiver;
receiving, at the receiver, a second LoRa data packet;
analyzing a first portion of a preamble of the second LoRa data packet to determine a received signal strength of the second LoRa data packet;
comparing the received signal strength of the second LoRa data packet to the signal level threshold; and
in response to determining that the receive signal strength of the second LoRa data packet is greater than the signal level threshold, transmitting a LoRa blocking signal to block a second portion of the preamble of the second LoRa data packet.
9 . The method of claim 7 , further comprising:
recording, at the receiver, received signal strengths of a plurality of first LoRa data packets;
determining a signal level threshold based on the received signal strengths of the plurality of first LoRa data packets, wherein the signal level threshold identifies data packets transmitted by LoRa gateways not in proximity to the receiver;
receiving, at the receiver, a second LoRa data packet;
analyzing a first portion of a preamble of the second LoRa data packet to determine a received signal strength of the second LoRa data packet;
comparing the received signal strength of the second LoRa data packet to the signal level threshold; and
in response to determining that the receive signal strength of the second LoRa data packet is less than the signal level threshold, transmitting a LoRa blocking signal to block a second portion of the preamble of the second LoRa data packet.
10 . The method of claim 7 , further comprising:
recording, at the receiver, one or more attributes of a plurality of first LoRa data packets;
generating sets of reference attributes corresponding to different LoRa devices based on the one or more attributes of the plurality of first LoRa data packets;
receiving, at the receiver, a second LoRa data packet;
analyzing a first portion of a preamble of the second LoRa data packet to determine one or more attributes of the second LoRa data packet;
comparing the one or more attributes of the second LoRa data packet to the sets of reference attributes; and
in response to determining that the one or more attributes of the second LoRa data packet match one of the sets of reference attributes, transmitting a LoRa blocking signal to block a second portion of the preamble of the second LoRa data packet.
11 . A system configured to monitor and block data packets while maintaining the ability to demodulate blocked data packets, the system comprising:
at least one memory device with computer-executable instructions stored thereon; and
at least one processor for executing the computer-executable instructions stored on the at least one memory device, wherein execution of the computer-executable instructions by the at least one processor causes the at least one processor to perform operations comprising:
receiving, at a receiver, a first data packet;
analyzing a first portion of the first data packet to determine one or more attributes of the first data packet;
transmitting, from a transmitter, a blocking signal based on the one or more attributes of the first data packet;
discontinuing receipt of the first data packet at the receiver during transmission of the blocking signal;
continuing receipt of a remainder of the first data packet at the receiver following transmission of the blocking signal; and
demodulating, at the receiver, data included in the remainder of the first data packet.
12 . The system of claim 11 , wherein the first portion of the first data packet corresponds to a first portion of a preamble of the first data packet.
13 . The system of claim 12 , wherein transmitting the blocking signal comprises transmitting the blocking signal to block a second portion of the preamble that follows the first portion of the preamble.
14 . The system of claim 11 , wherein analyzing the first portion of the first data packet to determine the one or more attributes comprises determining a spreading factor SF and a bandwidth B of each chirp in a plurality of first chirps included in the first portion of the first data packet.
15 . The system of claim 14 , wherein transmitting the blocking signal based on the first portion of the first data packet comprises generating the blocking signal to include a plurality of second chirps with the SF and B of the plurality of first chirps.
16 . The system of claim 11 , wherein transmitting the blocking signal comprises selectively transmitting the blocking signal based on at least one attribute of the first data packet.
17 . The system of claim 11 , wherein the first data packet is a Long-Range (LoRa) data packet.
18 . The system of claim 17 , wherein execution of the computer-executable instructions by the at least one processor causes the at least one processor to perform operations further comprising:
recording, at the receiver, received signal strengths of a plurality of first LoRa data packets;
determining a signal level threshold based on the received signal strengths of the plurality of first LoRa data packets, wherein the signal level threshold identifies data packets transmitted by LoRa gateways in proximity to the receiver;
receiving, at the receiver, a second LoRa data packet;
analyzing a first portion of a preamble of the second LoRa data packet to determine a received signal strength of the second LoRa data packet;
comparing the received signal strength of the second LoRa data packet to the signal level threshold; and
in response to determining that the receive signal strength of the second LoRa data packet is greater than the signal level threshold, transmitting a LoRa blocking signal to block a second portion of the preamble of the second LoRa data packet.
19 . The system of claim 17 , wherein execution of the computer-executable instructions by the at least one processor causes the at least one processor to perform operations further comprising:
recording, at the receiver, received signal strengths of a plurality of first LoRa data packets;
determining a signal level threshold based on the received signal strengths of the plurality of first LoRa data packets, wherein the signal level threshold identifies data packets transmitted by LoRa gateways not in proximity to the receiver;
receiving, at the receiver, a second LoRa data packet;
analyzing a first portion of a preamble of the second LoRa data packet to determine a received signal strength of the second LoRa data packet;
comparing the received signal strength of the second LoRa data packet to the signal level threshold; and
in response to determining that the receive signal strength of the second LoRa data packet is less than the signal level threshold, transmitting a LoRa blocking signal to block a second portion of the preamble of the second LoRa data packet.
20 . The system of claim 17 , wherein execution of the computer-executable instructions by the at least one processor causes the at least one processor to perform operations further comprising:
recording, at the receiver, one or more attributes of a plurality of first LoRa data packets;
generating sets of reference attributes corresponding to different LoRa devices based on the one or more attributes of the plurality of first LoRa data packets;
receiving, at the receiver, a second LoRa data packet;
analyzing a first portion of a preamble of the second LoRa data packet to determine one or more attributes of the second LoRa data packet;
comparing the one or more attributes of the second LoRa data packet to the sets of reference attributes; and
in response to determining that the one or more attributes of the second LoRa data packet match one of the sets of reference attributes, transmitting a LoRa blocking signal to block a second portion of the preamble of the second LoRa data packet.