1. Introduction
Accurate timing information at the device level is crucial for many Internet-of-Things (IoT) applications: it allows for the synchronization of sensor readings and events, facilitates coordinated actions, and is a prerequisite for services such as distributed sensing, network-wide correlation, and time-based localization. In large deployments, accurate timekeeping poses challenges: GPS receivers increase expenses and energy consumption and frequently exhibit unreliable coverage indoors or in densely populated urban areas, whereas traditional synchronization protocols intended for dense wireless sensor networks are unsuitable for low-power, long-range (LPWAN) technologies due to stringent duty-cycle limitations and star-topology restrictions. Indeed, the use of wireless adds many challenges to synchronization strategies [
1,
2].
LoRaWAN, an open network protocol managed by the LoRa Alliance, is a compelling candidate for LPWAN due to its extensive range, minimal energy consumption, and low per-node cost, also permitted by the use of unlicensed bands [
3,
4]. The underlying LoRa physical layer employs chirp spread spectrum (CSS) modulation, generating chirp waveforms that are inherently advantageous to high-SNR detection and matched-filter correlation—features that can be utilized to achieve accurate Time-of-Arrival (TOA) estimates from raw (baseband) samples. At the same time, standard operating conditions result in synchronization difficulties: End-Nodes predominantly remain in an idle state; gateways collect traffic from a potentially large number of in-the-field nodes; and transmission intervals suffer from strict constraints. These characteristics limit the feasibility of two-way time-exchange schemes and underscore the critical importance of single-sided timestamp accuracy and stability between synchronization events.
This paper examines the performance with which an End-Node can timestamp LoRa frames by analyzing raw radio samples, as well as how the timestamping errors are influenced by implementation choices and radio non-idealities.
Specifically, we try to answer the following research questions:
How is the TOA estimation resolution influenced by sampling frequency and Signal-to-Noise Ratio through matched-filter detection of LoRa preamble chirps?
What are the effects of practical non-ideal factors—Sampling Phase Offset (SPO), Carrier Frequency Offset (CFO), Sampling Frequency Offset (SFO), and AWGN—on single-sided timestamping accuracy?
What can be the practical guidelines for timestamp acquisition in LoRa-based systems, along with an architecture that delineates a digital receiver and/or software-defined radio (SDR)-based signal processing engine from a lightweight hardware timestamping module?
The analysis employs a MATLAB simulation model that replicates chirp generation and correlation, validated against standard LoRa configurations (bandwidth, spreading factor) and sampling rates to represent both software-defined radio testbeds and actual embedded receivers. Using matched filter (i.e., cross-correlation) detection on chirps in the LoRa preamble, we extract indices related to the time arrival and quantify timestamping performance with statistics (as mean error, standard deviation, and the quartile range QR = P95 − P5). These results and the subsequent discussion produce insights about how synchronization error can be reduced using sample-level processing, e.g., useful for node designers.
The following sections of the paper are structured as follows.
Section 2 analyzes the state of the art.
Section 3 defines application scenarios and the proposed system architecture.
Section 4 examines the LoRa physical layer and the characteristics of the chirp signal and addresses time synchronization via LoRa and the constraints of unidirectional beaconing.
Section 5 describes the receiver and the hardware timestamping module.
Section 6 specifies the simulation model and the addressed non-idealities.
Section 7 presents the results (chirp analysis,
CFO and
SFO sensitivity),
Section 8 discusses practical implications and suggested parameter selections, and
Section 9 concludes with final comments and prospective research directions.
2. State of the Art: LoRa/LoRaWAN Time Synchronization
The notion of time within a device enables the correlation of a particular event or measurement to a specific moment, ensuring coherence and relevance. In a distributed network consisting of multiple devices and sensors, it is essential to maintain a consistent temporal reference that differs from a designated reference time by an acceptable maximum value for a specific application [
5].
The time in a device is discretized from a reference oscillator mounted to feed the clock peripheral. At any given moment
t, the clock reading is indicated by the discrete event
, which defines the resolution with which the time is maintained [
6].
Device synchronization in a network can be implemented through appropriate synchronization protocols. Generally, a network requires at least one device that has knowledge of the time and can maintain it with accuracy, depending on the application requirements. This device is commonly referred to as the “master”, while the devices that need to receive the time are called “slaves”. Through a synchronization protocol, the master distributes the time via a suitable exchange of periodic messages at well-defined intervals dictated by the synchronization period . The desynchronization of a slave device with respect to the reference time can be represented using a two-variable clock model based on the clock offset () and the clock skew (), referring to the reference clock. The and parameters estimation occurs through the aforementioned synchronization messages. Therefore, overall performance not only depends on , but it is also affected by the capability to accurately timestamp events into the master and slave clock domains.
The chirp is a signal that is particularly robust to noise due to its nature, and it is widely used in radar systems because of the compression property, allowing for the detection of the transmitted chirp in the echo submerged by noise. In modern communication networks, chirps can be used for ranging devices [
7] or device synchronization [
8], i.e., when establishing the correct reception time and timestamping is crucial. An example is the CSS-based version of the IEEE 802.15.4 (the family of standards addressing low-rate wireless personal area network—LR-WPAN), implementing the two-way synchronization method [
9], where a bidirectional exchange of messages between master and slave occurs, allowing for the compensation of the message propagation time (
).
LPWAN technologies, and LoRaWAN in particular, introduce additional challenges. The star topology of the LoRaWAN network limits the selection of synchronization protocols commonly employed in wireless sensor networks (WSN) [
10,
11]. Moreover, the limitation on energy consumption and duty cycle requires that synchronization events occur at intervals of several minutes, thereby accentuating the temporal deviation caused by clock drift.
In LoRaWAN, synchronization is necessary for several application cases, including: scheduled downlink reception (Class B); contention mitigation through time-slotted access (TDMA/S-ALOHA overlays); and high-precision timestamping for localization, ranging, and distributed measurements. For example, slotted ALOHA implemented on LoRaWAN depends on an external synchronization service to coordinate nodes with slot boundaries and minimize collisions. In addition to basic synchronization, these scheduling mechanisms necessitate the maintenance of limited clock drift within guard intervals. The practical implementation and assessment performed by [
12] demonstrates that synchronization accuracy and clock stability directly influence the necessary guard time and, consequently, the achievable channel utilization. More recent studies highlight the importance of minimizing synchronization traffic and energy costs by moving timestamping of the synchronization messages to lower layers. For example, a microsecond energy-efficient LoRa time synchronization technique utilizing low-layer timestamping and asymmetric time translation achieves microsecond-level synchronization accuracy while reducing synchronization message transmissions and End-Node overhead [
13], but the real-world testing is performed using only a fixed configuration. Another area of research [
14] investigates the integration of synchronization with supplementary MAC functions, such as channel hopping. Channel-hopping strategies can alleviate interference and balance load, but they also require devices to maintain consistent time references to converge on the identical channel. The investigation of time synchronization with channel hopping in LoRa networks has revealed the necessity of co-designing synchronization and hopping mechanisms to mitigate longer listening durations and prevent missed rendezvous occurrences, thus improving coordination and power efficiency.
When synchronization is obtained from received frames (e.g., beacons or dedicated synchronization packets), the main limitation is often the accuracy of receiver timestamping. LoRa employs chirp spread spectrum (CSS) modulation with a preamble consisting of consecutive up-chirps followed by synchronization symbols. Receiver timestamping is therefore affected by the frame-detection mechanism (usually correlation/matched filtering), the discrete sampling time of the raw samples, and hardware/oscillator limitations such as Carrier Frequency Offset (
CFO) and Sampling Frequency Offset (
SFO). Several studies examine LoRa frame detection and synchronization, proposing algorithms for accurate time synchronization while addressing sensitivity to
CFO/
SFO and timing jitter [
15,
16,
17,
18]. Accurate synchronization is especially critical when the timestamp of a synchronization message is derived from raw IQ samples, because even minor residual offsets can result in systematic Time-of-Arrival biases and increased timestamp variance.
The literature suggests that LoRaWAN provides convenient mechanisms for timing sources (e.g., Class-B beacons). However, their reliability and timing accuracy may vary based on the practical deployment [
19]. Protocol-level synchronization can achieve high accuracy but must balance message overhead and duty cycle [
10,
13,
20]. Finally, in many practical systems, the synchronization accuracy ultimately relies on the capability of the LoRa receiver to timestamp LoRa frames in non-ideal RF conditions. This paper addresses the literature gap in accurate timestamping of LoRaWAN frames derived from raw radio samples and evaluates the impact of non-idealities (e.g.,
CFO,
SFO, and
SPO) on achievable timestamp accuracy, providing recommendations for wide-area synchronization designs that utilize LoRaWAN transmissions as timing references.
3. Application Scenarios and Proposed System Architecture
Figure 1 shows the typical star topology of LoRaWAN, consisting of multiple End- Nodes (ENs), each in the coverage area of one or more gateways (GWs). Gateways are linked to centralized back-end servers, providing connectivity in large areas to ENs in the field. Generally, data communication is started by ENs, and it is bidirectional in the LoRaWAN network. What we propose is an additional hierarchy level, in which each node is connected to a sub-network (Sub-net), which consumes/produces useful information. Dissemination of timing information is also performed hierarchically: (i) gateways broadcast downlink frames to ENs, and (ii) each EN locally distributes the time information in the Sub-net. This multi-tier synchronization method reduces cumulative timing errors, mitigates clock drift, and facilitates scalable synchronization across extensive LoRaWAN deployments with minimal bandwidth overhead. Each GW periodically transmits synchronization packets to ENs (to allow for estimation and compensation of clock offsets) and maintains a local synchronization reference obtained from an external source (e.g., GNSS receiver), thus ensuring that all Sub-nets remain temporally aligned.
LoRaWAN ENs leverage the LoRa physical layer, which employs a proprietary modulation developed by Semtech, utilizing chirp spread spectrum (CSS) technology, commonly referred to as CSS modulation. CSS facilitates long-distance communication between devices by utilizing a broad frequency spectrum, thereby ensuring minimal signal degradation and robust interference resistance. This resilience enables extensive coverage ranges [
21]: up to 5 km in urban environments and up to 15 km in rural areas. An essential characteristic of LoRa-based solutions is energy efficiency. CSS enables the LoRaWAN network to utilize Adaptive Data Rate (ADR [
15,
16]) mechanisms, which optimize performance, power consumption, and range by modulating the bit rate according to network conditions and signal quality. Moreover, the focus on applications with reduced communication demands and minimal packet size enables the device to remain predominantly in sleep mode, thereby extending battery life for several years. Another benefit is cost-effectiveness. The use of CSS [
18] modulation (better detailed in the following) enables scalable network configurations by permitting multiple devices to communicate with minimal interference, overcoming bandwidth scarcity in the unlicensed region of the spectrum. Signals are efficiently managed through spreading factors (
SFs) that make messages orthogonal, enabling their coexistence. The star topology network enables a single gateway, the device responsible for receiving LoRa messages, to handle thousands of LoRa end devices. End-Nodes are generally economical, and when paired with the related LoRaWAN standard, they facilitate the establishment of a network within a constrained budget.
According to LoRaWAN specifications, ENs typically spend most of their time in sleep/low-power mode, activating only to transmit data when events of interest occur. As a matter of fact, with IoT-like applications being the target, events are sporadic, satisfying the low duty-cycle limitations imposed by the norms of unlicensed bands. After each transmission, the EN opens two receiving windows, allowing the gateway to communicate with the otherwise inactive device—this behavior corresponds to mandatory Class A. However, the LoRaWAN protocol also includes a specific device configuration, known as Class B [
22], dedicated to time synchronization. In Class B, gateways transmit a special synchronization packet, called a beacon, at regular intervals of 128 s. Using these beacon messages, Class B ENs synchronize with the gateway by adjusting their internal clocks. In other words, Class B configuration allows for additional receiving windows known as ping slots, enabling it to receive beacons that would otherwise be missed. Accordingly, a beacon at the
k-th synchronization event is transmitted at the time instant defined by the following (1):
where
is the time required for the gateway to switch from the receive phase to the transmit phase, in the order of 1.5 ms, and ε represents a generic error term. Therefore, the EN can uniquely associate the received beacon with the time of the gateway. In turn, it means that accurate, low-level timestamping of beacons is a main concern. A LoRa physical-layer frame is built from linear frequency-modulated chirps: each symbol is a cyclically shifted up- or down-chirp whose instantaneous frequency sweeps linearly across the channel bandwidth over the symbol duration. In the following, uplink frames are addressed; indeed, despite the LoRaWAN specifications requiring the IQ polarity inversion for downlink frames (as the beacons) to achieve better orthogonality between uplink and downlink communications, the same timestamping behavior is obtained.
Chirps are especially attractive for time-correlation and Time-of-Arrival (TOA) estimation because the matched-filter processing (resulting in cross-correlation with a reference, opposite direction, chirp) compresses the chirp into a sharp peak (the well-known “chirp compression” effect), concentrating energy in time, enabling detection even at very low SNR with high temporal accuracy [
7]. Considering digital radios, this means the receiver has to correlate the incoming samples against an internally generated ideal chirp and assume the peak index is the packet arrival instant. Therefore, achievable temporal resolution depends on the sampling period and can be improved by further processing (e.g., interpolation could result in enhanced timing resolution). As a matter of fact, a vast literature is available about improvements and/or alternative schemes for time synchronization in LoRaWAN (e.g., [
20,
21,
22,
23,
24,
25,
26]).
Our objective is to thoroughly examine the level to which timestamping accuracy can be enhanced through the direct processing of raw LoRa signal samples, i.e., to quantify the fundamental and practical limits on TOA estimation achievable from the identification of chirps in the LoRa preamble when using sample-level signal processing. Considering synchronization usage, we address the challenge of accurately timestamping LoRa downlink frames by processing raw samples of the preamble chirps.
4. The LoRa Physical Layer
The LoRa physical layer uses the chirp spread spectrum (CSS) modulation technique with linear frequency variation [
27]. Each LoRa frame begins with a set of chirps used for synchronization between the transmitter and receiver, known as the preamble. The LoRa preamble (
Figure 2) consists of a variable number of unmodulated up-chirps (generally eight), two modulated up-chirps (sync word) representing the network ID, and 2.25 down-chirps (which represent the Start-of-Frame Delimiter or SFD).
The sequence of identical symbols (up-chirps) allows the receiver to identify the arrival of a message, while the down-chirps represent the start frame delimiter (SFD), after which the payload begins. Each chirp has a length
, corresponding to the symbol time, as defined by the following (2) [
18,
28]:
where
BW indicates the (fixed) bandwidth of the chirp, and the tunable spreading factor (
SF) actually defines its duration.
The unmodulated chirp complex baseband representation is identified by the following (3):
where
is the initial frequency,
is the rate at which the frequency changes over time, and
d identifies the chirp direction. Taking the conjugate of an unmodulated up-chirp results in an unmodulated down-chirp, whose frequency decreases linearly, i.e., the up-chirp has
, and the down-chirp has
(
Figure 3).
The primary technique for chirp detection is the use of matched filters. Matched filters compare an unknown signal to a known signal in search of the latter and are especially effective for signals submerged in additive white Gaussian noise (AWGN). The filter expression that maximizes the Signal-to-Noise Ratio (SNR) is the complex conjugate and time-reversed version of the known signal. Given the nature of the chirp, the filter expression corresponds to the known signal, and by correlating it with the unknown signal, it is possible to identify the presence of the signal even for negative SNR values.
A LoRa symbol is a modulated chirp, obtained by changing the initial frequency of the unmodulated up-chirp
. The number of distinct symbols varies as a function of the spreading factor
SF, and it is equal to
. Given a symbol
g ranging from 0 to
, the initial frequency
of the symbol can be defined as follows (4):
The resulting symbol starts from the frequency
that increases linearly with a rate
until it reaches the frequency
, and then it will restart from the frequency
, increasing again linearly with rate
until the end of the symbol. Thus, the modulated chirp is simply a cyclically shifted version of the unmodulated up-chirp. By defining the time instant when the frequency jump occurs from
to
, as in (5), and introducing a rectangular function
w (
t;
ta,
tb), as in (6), it is possible to define a mathematical representation of the symbol
g using Equation (7):
The LoRa physical layer specifications define the values for
BW and
SF; specifically, the signal bandwidth can be 125, 250, or 500 kHz, depending on the regional parameters [
29], while the
SF can take a value from the set {7, 8, 9, 10, 11, 12}. The choice of the
SF changes the symbol duration, affecting the data rate and the receiver sensitivity (due to the additional processing gain). Additionally, the limited bandwidth allows for the implementation of nodes in software-defined radio (SDR) [
17].
LoRaWAN Beaconing
As introduced before, the LoRaWAN specifications include beaconing (i.e., one-way protocol with an event interval of ) by configuring devices (ENs and gateways) in Class B.
The broadcast beacon exchange is in the downlink direction, i.e., from the gateway (master) to the ENs (slaves) within the transmission range. In
Figure 4, the reference represents the gateway transmitting beacons that are received by a generic End-Node in different, consecutive, synchronization events (identified by the index
k).
The beacon content is shown in
Figure 5; it consists of a network common part and a gateway-specific part; in particular, the common part contains the timestamp
(the “Time” field), reporting the seconds since Sunday 6 January 1980 (the start of the GPS epoch) modulo 2
32; the timestamp integrity can be checked against the 16-bit CRC, while a different CRC is used for the gateway-specific part (that may differ from gateway to gateway).
Consequently, upon receiving the packet, the End-Node is able to estimate the offset and skew using Equations (8) and (9):
In the one-way approach, the propagation time
is not compensated and would require an additional exchange of messages to be estimated or the knowledge of the distance (
) between the gateway and the End-Node, as in (10):
in fact, for every 300 m, an error of approximately 1 μs is introduced in the time synchronization.
As a final remark, it must be highlighted that, due to the large time interval between synchronization events, the use of a very stable clock for the End-Node is required; otherwise, the maximum synchronization error will depend solely on the accumulated clock drift (and only marginally affected by the resolution and accuracy of the timestamps).
5. LoRa Receivers
In this section, first, an overview of the LoRa receiver architecture is provided to better understand the following possible implementation of the timestamping block.
5.1. LoRa Digital Radio Receiver
Generally, commercially available LoRa receivers include an analog front end in charge of down-converting the (narrowband) passband signal into the baseband signal, possibly using zero-IF or low-IF architecture. It is well-known that using orthogonal carriers that feed a pair of mixers, and, subsequently, low-pass filtering higher frequency components (as in the QAM—quadrature amplitude demodulation) provides two signals called the in-phase and quadrature (IQ) components of the baseband. The use of two parallel processing chains allows the sampling frequency of the ADC converters used for digitalization to be reduced to the actual baseband signal bandwidth without losing information (
). In this way, the computational burden is split into two separate paths. Such a reception stage is schematically depicted in
Figure 6.
The choice of sampling frequency significantly impacts the circuit complexity downstream of the front-end. Increasing frequency improves temporal resolution but makes hardware implementation challenging, especially for high
SFs. The number of samples in a chirp can be obtained from (11), considering an SF7 125 kHz chirp sampled at
= 1 MSa/s (yielding a temporal resolution of 1 μs),
, which increases to
32,768 for SF12. Obviously, changing
= 10 MSa/s improves temporal resolution to 100 ns but also increases the number of samples to be handled by an order of magnitude.
5.2. The Timestamping Block
The architecture of the proposed receiver is sketched in
Figure 7. The analog front-end, including analog-to-digital converters (ADCs), provides the in-phase and quadrature (IQ) samples. Two distinct subsequent sections can be recognized: a regular baseband processing chain (possibly implemented by an SDR) for extracting data-related information, and a dedicated block for managing time-related information. The latter only processes the raw data produced by the front-end and evaluates timestamps upon the arrival of a packet. By placing the timestamp generation block at the lowest (hardware) level, it is possible to improve the overall accuracy, minimizing the affecting non-idealities (e.g., avoiding software variability).
Given the numerous types of downlinks, the validity of the timestamp will depend on the type of received packet. For beacons, the timestamp value will be saved, while for standard downlink packets with data, it is simply discarded.
The section dedicated to timestamping must be capable of detecting the position of a specific part of the incoming frame (i.e., a well-defined chirp) and recording its time of occurrence. Among the available methods, the proposed solution uses temporal identification based on cross-correlation
between the received signal
and an internally generated “ideal” version of it
. In the case of chirp, cross-correlation is typically referred to as a matched filter when implemented in the time domain, providing a
sinc function (12) output in the time domain. For this reason, it is also known as the chirp compression technique [
30].
The compressed correlation signal has a duration and a main lobe width depending on (that would suggest a chirp bandwidth as large as possible). Obviously, in a digital receiver, the sampled signal has to be considered.
As previously mentioned, the objective is to mark the time of reception of a frame relying only on the analysis of the physical layer header; thus, LoRa symbol demodulation and decoding of the entire packet are out of the scope of this work. The chirps of interest in the header are the unmodulated up-chirps and down-chirps. Therefore, by simultaneously comparing the preamble with the two types of chirps, the result of the cross-correlation along the two parallel processing chains is a set of peaks, identifying the moments in time where a chirp from the preamble overlaps with the reference. Therefore, an architecture capable of identifying the maximum value within a set is required. In particular, in the case of a sampled signal, the temporal resolution in peak identification depends on the inverse of the sampling frequency (which would suggest a sampling frequency as high as possible).
6. The Simulation Model
In this section, the description of the timestamping block model is presented. For the sake of simplicity and without any generality loss, modelling has been implemented at the baseband level. Additionally, the ADC quantization noise is considered negligible with respect to other affecting quantities (and can be considered part of the additive noise).
6.1. Model Description
The model was created considering these sources of non-idealities, which are briefly described in the following and depicted in
Figure 8:
AWGN: Channel noise, limiting the Signal-to-Noise Ratio (SNR);
SPO: Sampling Phase Offset;
CFO: Carrier Frequency Offset;
SFO: Sampling Frequency Offset.
The channel noise is modeled as additive white Gaussian noise (AWGN).
The Sampling Phase Offset (SPO) models the desynchronization between the signal and the sampling process, which in the worst case can differ by ±1 sample from the actual arrival time of the chirp. This effect results in a delay between 0 and .
The
CFO (Carrier Frequency Offset) is the first affecting quantity caused by the different clock reference of the transmitter and the receiver, resulting in a residual frequency offset after the demodulation stage of the frontend that either adds or subtracts from the ideal baseband signal in the frequency domain. However, when correlating with the local (“ideal”) chirp reference, a time shift in the peak detection is obtained. Indeed, the two signals (the one received over the air vs. the local reference chirp) occupy different portions of the time–frequency space. The relationship that links the time shift to the
CFO (expressed in Hz) is given by (13) and is visually shown in
Figure 9. It is interesting to highlight that up-chirp (
d = 1) and down-chirp (
d = −1) respond in opposite ways, allowing for compensation.
The second affecting quantity caused by the different clock reference between the transmitter and the receiver is the Sampling Frequency Offset (SFO). In a real scenario, the received baseband signal is sampled at a frequency slightly different from the reference. This effect impacts the overall duration of each chirp, which will be either shorter or longer compared to the standard chirp duration. A slight difference in chirp duration causes an integral effect as the number of chirps increases, leading to a progressively greater delay. As the SF increases, the chirp duration increases, and, consequently, the error introduced by the SFO also increases.
Despite some techniques that have been proposed in the recent past allowing for the estimation (and subsequently compensating) of these non-idealities [
25,
31], the computational cost can be relevant, and, in light of the time synchronization challenges, it is important to understand their relevance. For these reasons, extensive simulations have been carried out, as better described in the following.
6.2. The MATLAB Implementation
The previously described model of the received signal has been implemented in MATLAB. The complex IQ samples of the baseband chirp are generated according to Equation (14). The nominal number of samples
Nsym depends on the spreading factor,
SF, and the sampling frequency
, but the actual sampling instant array (
n) is generated considering the
SPO parameter, which causes an additional time shift in each element. The effect of the
CFO has been modeled by influencing the initial frequency of the chirp, either positively or negatively. The
SFO has been modeled starting from the already generated chirp and then resampling appropriately the waveform.
with
,
and
.
By setting , the corresponding down-chirp is obtained. The appropriate concatenation of such generated chirps forms the preamble of a LoRa packet.
A preliminary simulated setup has been conceived, as shown in
Figure 10. A single “received” chirp is generated starting from the ideal chirp, and white Gaussian noise (AWGN) is added to consider the channel noise. As regards the
SPO, it can be applied to either the received signal or the ideal reference chirp; what changes is the sign to be considered in the error calculation for identification. The final choice was to add the
SPO to the reference chirp. When correlating two chirps of length
, the result is of dimension
, where the index of the maximum of the magnitude contains the temporal information marking the perfect overlapping between the two chirps.
Let us call
and
the reference and the actual temporal index, respectively. The former is the index of the maximum of the cross correlation of two ideal chirps, while the latter is the index of the maximum obtained by correlating the received chirp and the ideal one. To obtain the time error
, it is necessary to convert the indices into time. It can be carried out, considering that the time between one sample and the next is equal to
(the receiver sampling period), and further considering the offset dictated by the
SPO parameter, as in Equation (15). A graphical representation is provided in
Figure 11.
By performing this procedure iteratively, it is possible to obtain a significant statistical population for the statistical calculation of
. The statistical parameters considered are the mean and a range calculated as the interval between the 95th percentile and the 5th percentile, as defined by Equation (16).
To analyze the effects of
CFO and
SFO, a different type of simulation is carried out. The aim is to provide a single timestamp value that identifies the temporal moment of preamble identification. Accordingly, the identification of the frame preamble (fixed number of symbols, i.e., consecutive up-chirps) followed by the sync word (that we ignore) and the start frame delimiter (SFD, 2.25 symbol-long, down-chirp) is modeled. Different from the previous scenario, in this case, it is necessary to identify two different types of chirps. Therefore, two separate correlation chains are required, with their respective references, to obtain the corresponding peaks that identify the positions of the various chirps. Unlike implementations with FFT, where a window of samples is selected to search for the maximum, it was decided to perform a single correlation of the entire preamble, simulating a hardware-like correlation sample by sample: one for searching the up-chirp and another for searching the down-chirp. The model created is shown in
Figure 12.
Simulations have been carried out, including the quantities previously introduced. In particular, the AWGN and the SPO offset are applied to the up- and down-chirp references in the same manner. To analyze the impact of the CFO, this non-ideality is added to the references as well; from a correlation perspective, the point of application of the non-ideality is irrelevant. On the other hand, the STO requires resampling of the initially generated preamble before it can be used as a basis for the simulations. At each simulation cycle, a set of maxima is obtained corresponding to the individual up-chirps and down-chirps that make up the preamble.
It is well-known in the literature that the
CFO causes a temporal shift in the identification of the chirp, but it acts oppositely for up-chirp and down-chirp. The average of the two chirps is required to compensate for this non-ideality [
32]. Given that there are 8 up-chirps and only 2 complete down-chirps, it was decided to average two chirps per type.
Figure 13 shows the considered timestamp point in the LoRa preamble, representing the TOA, Time of Arrival, of the frame. The sync word (also known as the network ID field) introduces only a known time offset, which can be easily compensated; therefore, it has been disregarded in the analysis. Among the available up-chirps, the last two were chosen for this calculation, as it is reasonable to assume that the receiver has correctly identified them. The error in the TOA identification is given by Equation (17), where
and
represent the index of the maximum of the i-th up-chirp and down-chirp, respectively.
By using appropriate windowing and offsetting of the correlation result, it was possible to standardize the reference () for all chirps, thereby simplifying the calculation of the error.
7. Results
In this section, the results of the simulations are reported.
7.1. Chirp Analysis
By analyzing the system behavior as a function of the chirp sampling frequency, an increase in timestamp estimation resolution can be observed. Theoretically, sampling at a frequency allows for the detection of minimum variations equal to . Moreover, the minimum should be selected based on the bandwidth of the signal being sampled. For the European regional parameters, the most common bandwidth value for both uplink and downlink frames is BW = 125 kHz. Therefore, this bandwidth value was used in the simulations.
Using the procedures described in
Section 6.2, a set of 1000 single-chirp identification cycles was carried out for each test case. Five different sampling frequencies were tested:
= {0.25; 0.5; 1; 5; 10} MSa/s, each evaluated over 9 SNR levels ranging from +20 dB to −20 dB in 5 dB steps. The chirps were generated using the appropriate
, and for each cycle, both the
SPO (Sampling Phase Offset), which depends on
, and the noise seed was varied while keeping the SNR constant.
The results for SF7 chirps were evaluated using the
metric, as presented in
Table 1 and illustrated in
Figure 14.
At a constant noise level, increasing the sampling frequency improves the resolution with which the chirp can be identified. As the noise level increases, a wider detection range is observed for the same
. For SF7, increasing the sampling frequency enables chirp detection even under high noise conditions, where detection fails at lower sampling frequencies (missing points in the plot shown in
Figure 14).
The same procedures were used to perform simulations with SF9 and SF12. The results for SF9 are reported in
Table 2 and
Figure 15, while those for SF12 are shown in
Table 3 and
Figure 16.
Increasing SF leads to a longer and a higher number of samples per chirp, enhancing the filtering effect of the correlation. With SF9, chirp detection becomes more robust to noise, although no detection occurs at 0.25 and 0.5 MSa/s. For a given sampling frequency, the variation in range (R) due to increasing noise is noticeably smaller. When using SF12, chirp detection is achieved at all tested sampling frequencies, with virtually no variation caused by noise.
7.2. The CFO Impact
The effect of this contribution was analyzed using the TOA detection setup of the preamble at 1 MSa/s and 10 MSa/s. A set of 1000 simulation cycles was performed, varying the CFO between +8680 Hz (+10 ppm) and −8680 Hz (−10 ppm) in 5 ppm steps (4340 Hz), at an SNR of −10 dB. The ppm values are calculated with respect to the typical LoRa region of operation in the EU (i.e., in proximity of 868 MHz).
To achieve a more accurate sensitivity analysis, in each simulation cycle, a random variation equal to 1% of the fixed
CFO value was added. The behavior was analyzed for SF7, SF9, and SF12. The mean value (
) of the TOA detection error at 1 MSa/s is reported in
Table 4 and
Figure 17. For the 10 MSa/s case, the results are shown in
Table 5 and
Figure 18.
The analysis of the system behavior with increasing CFO shows no significant variation in the mean value compared to the reference at 1 MSa/s and 10 MSa/s, confirming the opposite responses of the two chirp types.
7.3. The SFO Impact
In this context, the spreading factor used is a critical factor as it determines the duration of the symbol, i.e., the chirp. Since the duration of the symbol (
) is well-defined, it is possible to analytically calculate the delay caused by the
SFO at a given ppm drift level. For the metric used in TOA identification, the error introduced should be calculated at the ninth chirp, as shown in Equation (18).
Based on these considerations, it is possible to calculate these delays for SF7, SF9, and SF12 in the case of frequency offsets of ±5 and ±10 ppm, as shown in
Table 6.
The analytical model was validated through simulations: A set of 1000 preamble simulation cycles was performed for SF7, SF9, and SF12, varying the SFO between −10 ppm and +10 ppm in 5 ppm steps, with an SNR of −10 dB. In each cycle, the SPO parameter and the AWGN seed were varied.
The mean value (
) of the TOA detection error at 1 MSa/s is reported in
Table 7 and
Figure 19. For the 10 MSa/s case, the results are shown in
Table 8 and
Figure 20.
For positive SFO values, i.e., positive ppm, the TOA is identified with a positive mean delay. This behavior is consistent because chirps sampled at a slightly higher frequency cause the peak of the correlation to shift forward. The opposite behavior is observed for negative SFO values. Regarding the mean value, the result is perfectly consistent with the analytical calculation for the three SFs considered.
The results show that the TOA identification is precise but not accurate. As the difference in sampling frequency increases, the mean detection error also increases. The use of high SFs causes an error of up to approximately 3 μs at +10 ppm, making a compensation protocol necessary.
8. Discussion
The aim of this research is to quantify how sampling parameters of a digital LoRa receiver, along with real-world non-idealities, influence the accuracy and precision of TOA extraction from raw baseband IQ samples utilizing a matched-filter timestamping architecture. The simulation results reveal two different but interacting factors influencing overall timestamp performance: (1) time errors are predominantly governed by the ADC sampling rate and SNR, and (2) longer chirp durations (high SF) contribute to integral clock-mismatch errors, making Sampling Frequency Offset (SFO) the primary source of systematic bias. These behaviors are evident in both the chirp and SFD experiments and are in line with the analytical SFO model.
Increasing the sampling frequency results in a direct improvement in the resolution and also allows for the reduction of the error dispersion: for example, moving the sampling frequency from 1 MSa/s to a multi-MSa/s range enables sub-microsecond accuracy, at least under good SNR scenarios (e.g., Rchirp as low as 0.09 μs is observed at 10 MSa/s when SNR = 20 dB). Nonetheless, the cost of oversampling is significant: at 10 MSa/s, the sample count per chirp can be very large (e.g., SF12 → 327,680 samples per chirp), resulting in substantial demands on processing, memory, and power consumption for the front-end hardware. Designers must consequently balance their goal for high temporal resolution with software/hardware throughput and energy constraints.
The spreading factor provides an additional, orthogonal trade-off. Higher SFs enhance the robustness of correlation against noise (mitigating Rchirp variation across SNR), although they increase the chirp duration, which causes even minor ppm-level SFOs to accumulate into several microseconds of TOA bias. The analytical model and simulations demonstrate that ±10 ppm SFO results in approximately ±2.95 μs bias for SF12, a level that significantly exceeds the sub-µs accuracy achievable through oversampling, thus necessitating explicit compensation during the use of long chirps. In contrast, SF7/SF9 exhibit significantly lower sensitivity to SFO (sub-µs to few-hundred ns bias at ±10 ppm) and may be advantageous when accurate GNSS-free time accuracy is required without extensive compensation.
Carrier Frequency Offset demonstrates different behavior: due to the opposite time shifts in up- and down-chirps under this kind of impairment, the averaging of symmetric chirp groups largely mitigates most of the CFO-induced bias, resulting in negligible residuals. This makes basic chirp-averaging methods attractive and economical solutions for reducing CFO during the timestamping phase. Conversely, Sampling Phase Offset (SPO) increases dispersion (Rchirp) instead of introducing systematic bias; the impact can be mitigated through oversampling and implementing a robust correlation peak windowing strategy.
From the viewpoint of a developer, the results suggest specific design considerations and compromises: place the matched-filter timestamping as close to the ADC/front-end to minimize jitter while enabling deterministic timing (hardware timestamp block). If energy and computational resources permit, moderate oversampling (e.g., 5–10 MSa/s) results in significant accuracy improvements; however, systems employing high sampling frequencies have to include SFO estimation and compensation (through resampling or per-beacon ppm correction) to prevent multi-microsecond biases. In scenarios with constrained hardware resources, give preference to lower SFs (when link budget allows) and rely on chirp averaging to suppress CFO.
System-level considerations go beyond the timestamping of individual packets. Propagation delay (approximately 1 μs per 300 m) represents a significant impairment in one-way synchronization error unless the distance is known or two-way exchanges are possible; for wide-area networks, achieving absolute synchronization to sub-microsecond levels over extensive distances necessitates either knowledge of range or the integration of multiple gateway observations. Similarly, multipath and non-line-of-sight circumstances, which are excluded from this model, can distort correlation peaks and are expected to degrade both bias and dispersion in practical applications.
The future steps are as follows: (1) develop low-complexity SFO estimators that operate on gateway or End-Node hardware employing the preamble and incorporate on-the-fly resampling; and (2) evaluate multi-gateway timestamp fusion to cooperatively eliminate propagation uncertainty and reduce local clock variations. In combination, these efforts will determine the practicality of GNSS-free, sub-microsecond-class synchronization with LoRaWAN. The simulations suggest it is achievable if SFO and deployment geometry are explicitly addressed.
9. Conclusions
We examined the limitations and practical tradeoffs of obtaining accurate Time-of-Arrival timestamps from raw LoRa IQ samples to facilitate GNSS-free, extensive synchronization (e.g., LoRaWAN Class B). Through the implementation of hardware timestamping architecture (leveraging time-domain cross-correlation) and a comprehensive MATLAB simulation sweep covering spreading factor, sampling rate and different receiving Signal-to-Noise Ratios, we identified the following:
Matched-filter timestamping implemented at the radio/ADC interface can achieve sub-microsecond accuracy under ideal SNR levels and with adequate oversampling (QR approximately 0.1 μs in ideal scenarios).
Enhancing the sampling rate is the most effective method to improve time resolution; however, a higher sampling rate increases processing requirements, exposing longer chirps to cumulative clock mismatch effects.
Sampling Frequency Offset (SFO) constitutes the primary source of systematic bias for longer chirps (high SF). A realistic ±10 ppm SFO can result in approximately ±3 μs SFD bias for SF12, which is significant compared to sub-µs accuracy and, thus, necessitates compensation for precise one-way synchronization.
Carrier Frequency Offset (CFO) mainly mitigates when timestamps are generated by averaging up/down chirps, resulting in minimal net bias assuming basic compensation.
Sampling Phase Offset (SPO) and Signal-to-Noise Ratio (SNR) primarily affect dispersion rather than bias.
Based on these results, three practical recommendations for implementers of time synchronization with LoRa devices can be derived:
1. Prioritize reasonable oversampling (where hardware allows) to achieve sub-µs accuracy, balancing ADC throughput and computational power.
2. Include explicit SFO estimation/compensation within the timestamping chain when adopting long chirps (SF ≥ 10). Basic ppm estimation derived from preamble sequences is efficient and minimally intrusive.
3. Employ chirp averaging and symmetric up-/down-chirp methodologies to alleviate Carrier Frequency Offset (CFO) and reduce dispersion.
In conclusion, matched-filter hardware timestamping coupled with SFO compensation renders sub-microsecond time synchronization feasible on LoRaWAN, depending upon designers meticulously balancing sampling rate, chirp duration, and clock mismatch mitigation.
Author Contributions
Conceptualization, S.R. and E.S.; methodology, P.F., S.R. and E.S.; software, E.M.; validation, E.M. and A.F., formal analysis, A.F. and E.S.; investigation P.F.; resources, E.M.; data curation, E.M. and S.R.; writing—original draft preparation, S.R., E.M. and E.S.; writing—review and editing, A.F., P.F., E.M., S.R. and E.S.; visualization, E.M.; supervision, S.R. and E.S.; project administration, A.F.; funding acquisition, A.F. All authors have read and agreed to the published version of the manuscript.
Funding
This research was funded by the European Union—NextGenerationEU–Project Title, “Time Sensitive Networking for future enabling technologies: measurement methods and metrological characterization in hybrid wired/wireless scenarios”, grant number D53D23016070001.
Data Availability Statement
The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding authors.
Acknowledgments
We acknowledge financial support under the National Recovery and Resilience Plan (NRRP), Mission 4, Component 2, Investment 1.1, Call for Tender No. 1409 published on 14 September 2022 by the Italian Ministry of University and Research (MUR), funded by the European Union—NextGenerationEU–Project Title, “Time Sensitive Networking for future enabling technologies: measurement methods and metrological characterization in hybrid wired/wireless scenarios,” CUP D53D23016070001—Grant Assignment Decree No. 1383 adopted on 1 September 2023 by the Italian Ministry of University and Research (MUR).
Conflicts of Interest
The authors declare no conflicts of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.
Abbreviations and Parameters
For the sake of clarity, the list of parameters used in the paper is summarized below.
| Term | Description |
| T | Continuous time |
| N | Discrete time |
| G | Chirp symbol |
| K | Synchronization event |
| Chirp slew rate |
| D | Chirp type (up-chirp or down-chirp) |
| w() | Rect function |
| Symbol time |
| Synchronization time |
| r() | Continuous-time chirp |
| r[] | Discrete-time chirp |
| C() | Clock time |
| Chirp start frequency |
| Offset |
| Skew |
| ^ | Estimated value |
| Sample frequency |
| Sample period |
| Radio carrier frequency |
| Number of samples per chirp |
| I_ | Correlation index |
| Timestamp error |
| Mean |
| Standard deviation |
| P_ | Percentile |
| QR | p95-p5 range |
| Propagation delay |
| Distance between the gateway and the End-Node |
| BW | Bandwidth |
| SF | Spreading Factor |
| TOA | Time of Arrival |
| CSS | Chirp Spread Spectrum |
| NUP | Preamble Up-Chirp Number |
| SFD | Start-of-Frame Delimiter |
| SDR | Software-Defined Radio |
| IQ | In-Phase and Quadrature Samples |
| ADC | Analog to Digital Converter |
| AWGN | Additive White Gaussian Noise |
| SNR | Signal-to-Noise Ratio |
| LUT | Look Up Table |
| SPO | Sample Phase Offset |
| CFO | Carrier Frequency Offset |
| SFO | Sampling Frequency Offset |
| ABS | Absolute |
| xCorr | Correlation |
| FFT | Fast Fourier Transform |
| GW | Gateway |
| EN | End-Node |
References
- Elson, J.; Girod, L.; Estrin, D. Fine-grained network time synchronization using reference broadcasts. SIGOPS Oper. Syst. Rev. 2002, 36, 147–163. [Google Scholar] [CrossRef]
- Stanislowski, D.; Vilajosana, X.; Wang, Q.; Watteyne, T.; Pister, K.S.J. Adaptive Synchronization in IEEE802.15.4e Networks. IEEE Trans. Ind. Inform. 2014, 10, 795–802. [Google Scholar] [CrossRef]
- Ertürk, M.A.; Aydın, M.A.; Büyükakkaşlar, M.T.; Evirgen, H. A Survey on LoRaWAN Architecture, Protocol and Technologies. Future Internet 2019, 11, 216. [Google Scholar] [CrossRef]
- Centenaro, M.; Vangelista, L.; Zanella, A.; Zorzi, M. Long-range communications in unlicensed bands: The rising stars in the IoT and smart city scenarios. IEEE Wirel. Commun. 2016, 23, 60–67. [Google Scholar] [CrossRef]
- Sivrikaya, F.; Yener, B. Time synchronization in sensor networks: A survey. IEEE Netw. 2004, 18, 45–50. [Google Scholar] [CrossRef]
- Giorgi, G.; Narduzzi, C. Performance Analysis of Kalman-Filter-Based Clock Synchronization in IEEE 1588 Networks. IEEE Trans. Instrum. Meas. 2011, 60, 2902–2909. [Google Scholar] [CrossRef]
- Ferrari, P.; Flammini, A.; Sisinni, E.; Depari, A.; Rizzi, M.; Exel, R.; Sauter, T. Timestamping and Ranging Performance for IEEE 802.15.4 CSS Systems. IEEE Trans. Instrum. Meas. 2014, 63, 1244–1252. [Google Scholar] [CrossRef]
- Ferrari, P.; Giorgi, G.; Narduzzi, C.; Rinaldi, S.; Rizzi, M. Robust synchronization for IEEE 802.15.4 CSS wireless sensor networks. In Proceedings of the 2013 IEEE International Workshop on Measurements & Networking (M&N), Naples, Italy, 7–8 October 2013; pp. 1–6. [Google Scholar] [CrossRef]
- Kim, J.-E.; Kang, J.; Kim, D.; Ko, Y.; Kim, J. IEEE 802.15.4a CSS-based Localization System for Wireless Sensor Networks. In Proceedings of the 2007 IEEE International Conference on Mobile Adhoc and Sensor Systems, Pisa, Italy, 8–11 October 2007; IEEE: Piscataway, NJ, USA, 2007; pp. 1–3. [Google Scholar] [CrossRef]
- Ramirez, C.G.; Sergeyev, A.; Dyussenova, A.; Iannucci, B. LongShoT: Long-range synchronization of time. In Proceedings of the 18th International Conference on Information Processing in Sensor Networks (IPSN ‘19), Montreal, QC, Canada, 15–18 April 2019; Association for Computing Machinery: New York, NY, USA, 2019; pp. 289–300. [Google Scholar]
- Xu, Z.; Yu, G.; Luo, Y.; Jiang, H. An Energy-Efficient Scheme for Waking Co-Channel TDMA in LoRa Networks via the Integration of Bidirectional Timestamp Correction and Address Recognition. Future Internet 2025, 17, 369. [Google Scholar] [CrossRef]
- Polonelli, T.; Brunelli, D.; Marzocchi, A.; Benini, L. Slotted ALOHA on LoRaWAN—Design, Analysis, and Deployment. Sensors 2019, 19, 838. [Google Scholar] [CrossRef] [PubMed]
- Huan, X.; Chen, W.; Wang, T.; Hu, H. A Microsecond Energy-Efficient LoRa Time Synchronization Based on Low-Layer Timestamping and Asymmetric Time Translation. IEEE Trans. Veh. Technol. 2024, 73, 7328–7332. [Google Scholar] [CrossRef]
- Singh, R.K.; Berkvens, R.; Weyn, M. Time Synchronization with Channel Hopping Scheme for LoRa Networks. In Advances on P2P, Parallel, Grid, Cloud and Internet Computing; Lecture Notes in Networks and Systems, Vol. 96; Springer: Cham, Switzerland, 2020; pp. 786–797. [Google Scholar] [CrossRef]
- Sisinni, E.; Depari, A.; Bellagente, P.; Flammini, A.; Silva, I.; Flores, T.; Ferrari, P. Can adaptive strategies sustain bidirectional LoRaWAN traffic? In Proceedings of the 2023 IEEE International Workshop on Metrology for Industry 4.0 & IoT (MetroInd4.0&IoT), Brescia, Italy, 6–8 June 2023; pp. 66–71. [Google Scholar] [CrossRef]
- Kufakunesu, R.; Hancke, G.P.; Abu-Mahfouz, A.M. Collision Avoidance Adaptive Data Rate Algorithm for LoRaWAN. Future Internet 2024, 16, 380. [Google Scholar] [CrossRef]
- Tapparel, J.; Burg, A. Design and implementation of LoRa physical layer in GNU Radio. Proc. GNURadio Conf. 2024, 9, 1–9. Available online: https://pubs.gnuradio.org/index.php/grcon/article/view/145 (accessed on 18 January 2026).
- Maleki, A.; Nguyen, H.H.; Bedeer, E.; Barton, R. A Tutorial on Chirp Spread Spectrum Modulation for LoRaWAN: Basics and Key Advances. IEEE Open J. Commun. Soc. 2024, 5, 4578–4612. [Google Scholar] [CrossRef]
- Povalac, A.; Kral, J.; Arthaber, H.; Kolar, O.; Novak, M. Exploring LoRaWAN Traffic: In-Depth Analysis of IoT Network Communications. Sensors 2023, 23, 7333. [Google Scholar] [CrossRef]
- Chasserat, L.; Accettura, N.; Berthou, P. LoRaSync: Energy efficient synchronization for scalable LoRaWAN. Trans. Emerg. Telecommun. Technol. 2024, 35, e4940. [Google Scholar] [CrossRef]
- Perez, M.; Sierra-Sanchez, F.E.; Chaparro, F.; Chaves, D.M.; Paez-Rueda, C.-I.; Galindo, G.P.; Fajardo, A. Coverage and Energy-Efficiency Experimental Test Performance for a Comparative Evaluation of Unlicensed LPWAN: LoRaWAN and SigFox. IEEE Access 2022, 10, 97183–97196. [Google Scholar] [CrossRef]
- Pasetti, M.; Sisinni, E.; Ferrari, P.; Rinaldi, S.; Depari, A.; Bellagente, P.; Della Giustina, D.; Flammini, A. Evaluation of the Use of Class B LoRaWAN for the Coordination of Distributed Interface Protection Systems in Smart Grids. J. Sens. Actuator Netw. 2020, 9, 13. [Google Scholar] [CrossRef]
- Rizzi, M.; Depari, A.; Ferrari, P.; Flammini, A.; Rinaldi, S.; Sisinni, E. Synchronization Uncertainty Versus Power Efficiency in LoRaWAN Networks. IEEE Trans. Instrum. Meas. 2019, 68, 1101–1111. [Google Scholar] [CrossRef]
- Bernier, C.; Dehmas, F.; Deparis, N. Low Complexity LoRa Frame Synchronization for Ultra-Low Power Software-Defined Radios. IEEE Trans. Commun. 2020, 68, 3140–3152. [Google Scholar] [CrossRef]
- Tapparel, J.; Burg, A. LoRa Fine Synchronization with Two-Pass Time and Frequency Offset Estimation. In Proceedings of the 2024 58th Asilomar Conference on Signals, Systems, and Computers, Pacific Grove, CA, USA, 27–30 October 2024; pp. 1802–1806. [Google Scholar] [CrossRef]
- Huan, X.; Chen, W.; Wang, T.; Hu, H.; Zheng, Y. A One-Way Time Synchronization Scheme for Practical Energy-Efficient LoRa Network Based on Reverse Asymmetric Framework. IEEE Trans. Commun. 2023, 71, 6468–6481. [Google Scholar] [CrossRef]
- Xu, Z.; Tong, S.; Xie, P.; Wang, J. From Demodulation to Decoding: Toward Complete LoRa PHY Understanding and Implementation. ACM Trans. Sens. Netw. 2022, 18, 1–27. [Google Scholar] [CrossRef]
- Jiang, J.; Xu, Z.; Dang, F.; Wang, J. Long-range ambient LoRa backscatter with parallel decoding. In Proceedings of the 27th Annual International Conference on Mobile Computing and Networking, New Orleans, Louisiana, 25–29 October 2021; ACM: New York, NY, USA, 2021; pp. 684–696. [Google Scholar] [CrossRef]
- Kjendal, D. LoRa-Alliance Regional Parameters Overview. J. ICT Stand. 2021, 9, 35–46. [Google Scholar] [CrossRef]
- Wang, J.; Cai, D.; Wen, Y. Comparison of matched filter and dechirp processing used in Linear Frequency Modulation. In Proceedings of the 2011 IEEE 2nd International Conference on Computing, Control and Industrial Engineering, Wuhan, China, 20–21 August 2011; pp. 70–73. [Google Scholar] [CrossRef]
- Lin, J.-C.; Sun, Y.-T. Estimation of timing delay and frequency offset using a dual-chirp sequence. In Proceedings of the 2009 1st International Conference on Wireless Communication, Vehicular Technology, Information Theory and Aerospace & Electronic Systems Technology, Aalborg, Denmark, 17–20 May 2009; pp. 862–866. [Google Scholar] [CrossRef]
- Jin, W.K.; Sang-Hyo, K.; Seokho, Y. The Effects of Frequency Offset and Timing Jitter on the Performance of CSS System; IEICE Proceeding Series; The Institute of Electronics, Information and Communication Engineers: Tokyo, Japan, 2008; Volume 39. [Google Scholar] [CrossRef]
Figure 1.
Architecture and message flow of the proposed time synchronization scheme in a LoRaWAN network.
Figure 1.
Architecture and message flow of the proposed time synchronization scheme in a LoRaWAN network.
Figure 2.
The structure of the LoRa header.
Figure 2.
The structure of the LoRa header.
Figure 3.
Time-frequency diagram for up-chirp (a) and down-chirp (b).
Figure 3.
Time-frequency diagram for up-chirp (a) and down-chirp (b).
Figure 4.
The time distribution algorithm from the LoRa gateway (reference) to End-Node.
Figure 4.
The time distribution algorithm from the LoRa gateway (reference) to End-Node.
Figure 5.
The LoRaWAN beacon message content.
Figure 5.
The LoRaWAN beacon message content.
Figure 6.
The block diagram of a typical LoRa receiver.
Figure 6.
The block diagram of a typical LoRa receiver.
Figure 7.
The proposed architecture for high-accuracy timestamp of LoRa sync packets.
Figure 7.
The proposed architecture for high-accuracy timestamp of LoRa sync packets.
Figure 8.
The modeling of non-ideal effects on radio communication between the LoRa transmitter and receiver, affecting the channel, the mixing stage and the sampling stage.
Figure 8.
The modeling of non-ideal effects on radio communication between the LoRa transmitter and receiver, affecting the channel, the mixing stage and the sampling stage.
Figure 9.
Time-frequency diagrams showing the relationship between time shift and CFO for up-chirp and down-chirp.
Figure 9.
Time-frequency diagrams showing the relationship between time shift and CFO for up-chirp and down-chirp.
Figure 10.
Single-chirp simulation model.
Figure 10.
Single-chirp simulation model.
Figure 11.
The temporal error in identifying the TOA of the chirp due to the SPO.
Figure 11.
The temporal error in identifying the TOA of the chirp due to the SPO.
Figure 12.
The full simulation model for the identification of LoRa preamble.
Figure 12.
The full simulation model for the identification of LoRa preamble.
Figure 13.
The considered timestamp point in LoRa preamble.
Figure 13.
The considered timestamp point in LoRa preamble.
Figure 14.
obtained at SF7 for different and different levels of SNR.
Figure 14.
obtained at SF7 for different and different levels of SNR.
Figure 15.
obtained at SF9 for different and different levels of SNR.
Figure 15.
obtained at SF9 for different and different levels of SNR.
Figure 16.
obtained at SF12 for different and different levels of SNR.
Figure 16.
obtained at SF12 for different and different levels of SNR.
Figure 17.
The mean value of the TOA detection error at 1 MSa/s for different values of CFO (in PPM).
Figure 17.
The mean value of the TOA detection error at 1 MSa/s for different values of CFO (in PPM).
Figure 18.
The mean value of the TOA detection error at 10 MSa/s for different values of CFO (in PPM).
Figure 18.
The mean value of the TOA detection error at 10 MSa/s for different values of CFO (in PPM).
Figure 19.
The mean value of the TOA detection error at 1 MSa/s for different values of SFO (in PPM).
Figure 19.
The mean value of the TOA detection error at 1 MSa/s for different values of SFO (in PPM).
Figure 20.
The mean value of the TOA detection error at 10 MSa/s for different values of SFO (in PPM).
Figure 20.
The mean value of the TOA detection error at 10 MSa/s for different values of SFO (in PPM).
Table 1.
obtained at SF7 for different and different levels of SNR.
Table 1.
obtained at SF7 for different and different levels of SNR.
| SNR | 0.25 MSa/s (μs) | 0.5 MSa/s (μs) | 1 MSa/s (μs) | 5 MSa/s (μs) | 10 MSa/s (μs) |
|---|
| 20 | 3.573 | 1.789 | 0.918 | 0.179 | 0.091 |
| 15 | 3.599 | 1.785 | 0.886 | 0.175 | 0.093 |
| 10 | 3.581 | 1.791 | 0.887 | 0.185 | 0.098 |
| 5 | 3.613 | 1.852 | 0.919 | 0.197 | 0.114 |
| 0 | 3.620 | 1.870 | 0.957 | 0.230 | 0.135 |
| −5 | 3.827 | 1.972 | 1.065 | 0.325 | 0.179 |
| −10 | 4.240 | 2.378 | 1.397 | 0.484 | 0.340 |
| −15 | 91.703 | 3.271 | 2.093 | 0.816 | 0.612 |
| −20 | 517.290 | 376.453 | 5.017 | 1.498 | 1.032 |
Table 2.
obtained at SF9 for different and different levels of SNR.
Table 2.
obtained at SF9 for different and different levels of SNR.
| SNR | 0.25 MSa/s (μs) | 0.5 MSa/s (μs) | 1 MSa/s (μs) | 5 MSa/s (μs) | 10 MSa/s (μs) |
|---|
| 20 | 3.627 | 1.824 | 0.895 | 0.183 | 0.089 |
| 15 | 3.591 | 1.781 | 0.894 | 0.178 | 0.091 |
| 10 | 3.601 | 1.806 | 0.889 | 0.183 | 0.092 |
| 5 | 3.706 | 1.780 | 0.903 | 0.180 | 0.096 |
| 0 | 3.597 | 1.781 | 0.917 | 0.193 | 0.108 |
| −5 | 3.532 | 1.848 | 0.944 | 0.219 | 0.130 |
| −10 | 3.696 | 1.945 | 1.075 | 0.297 | 0.182 |
| −15 | 4.067 | 2.278 | 1.300 | 0.452 | 0.293 |
| −20 | 72.957 | 2.942 | 1.852 | 0.754 | 0.503 |
Table 3.
obtained at SF12 for different and different levels of SNR.
Table 3.
obtained at SF12 for different and different levels of SNR.
| SNR | 0.25 MSa/s (μs) | 0.5 MSa/s (μs) | 1 MSa/s (μs) | 5 MSa/s (μs) | 10 MSa/s (μs) |
|---|
| 20 | 3.592 | 1.782 | 0.901 | 0.182 | 0.090 |
| 15 | 3.565 | 1.796 | 0.875 | 0.179 | 0.089 |
| 10 | 3.653 | 1.776 | 0.901 | 0.179 | 0.090 |
| 5 | 3.607 | 1.813 | 0.904 | 0.182 | 0.089 |
| 0 | 3.631 | 1.789 | 0.909 | 0.186 | 0.089 |
| −5 | 3.605 | 1.789 | 0.898 | 0.184 | 0.094 |
| −10 | 3.558 | 1.799 | 0.918 | 0.199 | 0.106 |
| −15 | 3.562 | 1.864 | 0.945 | 0.234 | 0.135 |
| −20 | 3.852 | 2.027 | 1.041 | 0.302 | 0.201 |
Table 4.
The mean value of the TOA detection error at 1 MSa/s for different values of CFO (in PPM).
Table 4.
The mean value of the TOA detection error at 1 MSa/s for different values of CFO (in PPM).
| SF | Mean −10 ppm (μs) | Mean −5 ppm (μs) | Mean +0 (μs) | Mean +5 ppm (μs) | Mean +10 ppm (μs) |
|---|
| 7 | 0.003 | −0.002 | 0.001 | −0.003 | 0.004 |
| 9 | −0.011 | −0.004 | 0.007 | 0.009 | −0.010 |
| 12 | 0.005 | 0.002 | −0.016 | −0.002 | −0.006 |
Table 5.
The mean value of the TOA detection error at 10 MSa/s for different values of CFO (in PPM).
Table 5.
The mean value of the TOA detection error at 10 MSa/s for different values of CFO (in PPM).
| SF | +10 ppm (μs) | +5 ppm (μs) | +0 (μs) | −5 ppm (μs) | −10 ppm (μs) |
|---|
| 7 | −0.004 | 0.000 | 0.001 | 0.002 | −0.001 |
| 9 | −0.002 | 0.001 | 0.000 | 0.002 | −0.011 |
| 12 | 0.001 | 0.001 | −0.001 | −0.003 | −0.008 |
Table 6.
Analytical calculation of the TOA identification error with SFO.
Table 6.
Analytical calculation of the TOA identification error with SFO.
| SF | ±5 ppm | ±10 ppm |
|---|
| SF7 | ±0.046 μs | ±0.092 μs |
| SF9 | ±0.184 μs | ±0.368 μs |
| SF12 | ±1.475 μs | ±2.949 μs |
Table 7.
The mean value of the TOA detection error at 1 MSa/s for different values of SFO (in PPM).
Table 7.
The mean value of the TOA detection error at 1 MSa/s for different values of SFO (in PPM).
| SF | −10 ppm (μs) | −5 ppm (μs) | 0 ppm (μs) | +5 ppm (μs) | +10 ppm (μs) |
|---|
| 7 | −0.085 | −0.039 | −0.007 | 0.042 | 0.089 |
| 9 | −0.374 | −0.188 | −0.010 | 0.188 | 0.362 |
| 12 | −2.951 | −1.474 | 0.007 | 1.475 | 2.949 |
Table 8.
The mean value of the TOA detection error at 10 MSa/s for different values of SFO (in PPM).
Table 8.
The mean value of the TOA detection error at 10 MSa/s for different values of SFO (in PPM).
| SF | −10 ppm (μs) | −5 ppm (μs) | 0 ppm (μs) | +5 ppm (μs) | +10 ppm (μs) |
|---|
| 7 | −0.095 | −0.042 | −0.005 | 0.050 | 0.101 |
| 9 | −0.372 | −0.184 | −0.002 | 0.184 | 0.369 |
| 12 | −2.949 | −1.476 | −0.002 | 1.474 | 2.949 |
| Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |