A method of frequency correction during data transmission in a low-power wide-area network, LPWAN, the LPWAN including a hub comprising an antenna and a computing device, the method comprising: • receiving by the hub from the antenna, a radio signal that carries a message from a subscriber device; • processing, by the computing device, the radio signal, the processing including: • dividing an entire bandwidth of the hub into spectrum sections having width corresponding to a message band width; • receiving, by the computing device, messages in at least some of the spectrum section; • identifying, by the computing device, a number of spectrum sections where the message was received; • generating, by the computing device, a signal quality metric for each received message in each spectrum section where the message was received; • determining, by the computing device, an actual frequency of the received message as a mid-point of a given spectrum section, based on the given spectrum section meeting a condition of: ∘ the message was successfully received in the given spectrum section, ∘ the signal quality metric has a maximum value in the given spectrum section in comparison with all other spectrum sections where that message was also received; • calculating, by the computing device, an expected frequency of the radio signal based on data contained in the message; • determining, by the computing device, a received radio signal frequency error as a difference between the actual frequency and the expected frequency of the signal; • executing a hub frequency error correction by: • transmitting, by a transmitter of the hub, at least one additional message at a frequency known by the hub and available for reception by the hub; • generating a hub frequency error as a difference between the actual frequency and the expected frequency of the at least one additional message; • generating, by the computing device, a message send frequency based on the received radio signal frequency error and the hub frequency error. • receiving by the hub from the antenna, a radio signal that carries a message from a subscriber device; • processing, by the computing device, the radio signal, the processing including: • dividing an entire bandwidth of the hub into spectrum sections having width corresponding to a message band width; • receiving, by the computing device, messages in at least some of the spectrum section; • identifying, by the computing device, a number of spectrum sections where the message was received; • generating, by the computing device, a signal quality metric for each received message in each spectrum section where the message was received; • determining, by the computing device, an actual frequency of the received message as a mid-point of a given spectrum section, based on the given spectrum section meeting a condition of: ∘ the message was successfully received in the given spectrum section, ∘ the signal quality metric has a maximum value in the given spectrum section in comparison with all other spectrum sections where that message was also received; ∘ the message was successfully received in the given spectrum section, ∘ the signal quality metric has a maximum value in the given spectrum section in comparison with all other spectrum sections where that message was also received; • calculating, by the computing device, an expected frequency of the radio signal based on data contained in the message; • determining, by the computing device, a received radio signal frequency error as a difference between the actual frequency and the expected frequency of the signal; • executing a hub frequency error correction by: • transmitting, by a transmitter of the hub, at least one additional message at a frequency known by the hub and available for reception by the hub; • generating a hub frequency error as a difference between the actual frequency and the expected frequency of the at least one additional message; • transmitting, by a transmitter of the hub, at least one additional message at a frequency known by the hub and available for reception by the hub; • generating a hub frequency error as a difference between the actual frequency and the expected frequency of the at least one additional message; • generating, by the computing device, a message send frequency based on the received radio signal frequency error and the hub frequency error.