Embodiments of the present invention relate to wireless communication signal modulation, specifically a system and method for improving transmission in satellite and/or low-power long-distance communication networks.
Early satellite uplink standards include Digital Video Broadcasting—Return Channel via Satellite (DVB-RCS) and Internet Protocol Over Satellite (IPoS). Recently, 3GPP has started the expansion to Non-Terrestrial Networks where current proposals are similar to those in existing cellular networks with Orthogonal Frequency-Division Multiplexing (OFDM), although challenges due to the high peak-to-average power ratio (PAPR) of OFDM signals have been noted.
Chirp has been used in sonar, radar, and laser systems, as well as in data communication systems, such as LoRa and IEEE 802.15.4a, where it is commonly referred to as Chirp Spread Spectrum (CSS) modulation. Wi-Fi allows grant-free access to the medium with Carrier Sense Multiple Access (CSMA), which, however, cannot be applied to LEO networks, primarily because many user terminals cannot sense each other due to the physical distance. Since 5G, grant-free communication has been proposed for cellular networks to support new service classes, such as Ultra-Reliable Low Latency Communication (URLLC). Grant-free communications are expected to further expand in 6G. Current proposals include those that do not need fundamental modifications to the physical layer, such as repeating a packet K times or transmitting a packet in a random frequency channel, as well as those based on Non-Orthogonal Multiple Access (NOMA), which resolves collisions in the physical layer. Well-known NOMA schemes include Sparse Code Multiple Access (SCMA), Interleave Division Multiple-Access (IDMA), Multi-User Shared Access (MUSA), Pattern Division Multiple Access (PDMA), etc., which have achieved impressive overload factors under the grant-based model where nodes operate according to parameters given by a central controller, such as codes, patterns, and transmission power.
Uncoordinated Access Channels (UCACH) can be used that allow user terminals to transmit packets to the satellite without prior resource allocation by the satellite or coordination with each other. As a result, latency is reduced to the minimum, i.e., the one-way propagation delay, because user terminals may simply transmit packets at will. As a tradeoff, the receiver must be capable of decoding packets from multiple user terminals that may overlap in any fashion. In essence, the responsibility of supporting multiple access is shifted from the Medium Access Control (MAC) layer to the Physical (PHY) layer. UCACH may be best suited for transmitting latency-sensitive data from user terminals to the satellite.
There is a benefit to improving protocols for long-distance and satellite wireless communication.
An exemplary system and method are disclosed that includes a long preamble symbol with a higher number of modulated bits based on chirp to provide high network capacity without sacrificing data rates for individual user terminals and without prior network access or synchronization for long-distance wireless communication or satellite communication. The chirp is implemented as a complex vector with constant magnitude. Simulations with satellite channel models show the exemplary system and method can achieve higher network throughput than existing satellite communication technology.
The preamble can be further modified to include the long preamble chirp-based symbol and additionally its conjugate (referred to as a “Chirp Pair”). The chirp can be a complex vector with constant magnitude and linearly increasing frequency to facilitate the pairing. Real-world experiments over-the-air transmission experiments demonstrate the Chirp Pair modulation can increase the accuracy of packet detection without incurring high computation complexity.
To provide high network capacity (i.e., number of accessible devices) and high data rates (throughout of data that can be transmitted), a codebook (referred to as “QCode”) can be employed to increase the number of bits modulated on each symbol used in the modulation of the data in a packet payload for data transmission. Each symbol can be a complex vector of length 2SF, where SF is a Spreading Factor. Each element of the symbol can be one of four possible values from the QPSK constellation: 1, i, −1, and −i. Results show that for a given data rate, the capacity of QCode can be increased 3× over that of state-of-the-art Uncoordinated Access Channels (UCACH) communication protocols.
Additional advantages of the invention will be set forth in part in the description that follows, and in part will be obvious from the description or may be learned by practice of the invention. The advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
Further embodiments, features, and advantages of the System and Method for Improving Transmission in Satellite and Low Power Communication Networks, as well as the structure and operation of the various embodiments of the System and Method for Improving Transmission in Satellite and Low Power Communication Networks, are described in detail below with reference to the accompanying drawings.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention as claimed.
The accompanying figures, which are incorporated herein and form part of the specification, illustrate the System and Method for Improving Transmission in Satellite and Low Power Communication Networks. Together with the description, the figures further serve to explain the principles of the System and Method for Improving Transmission in Satellite and Low Power Communication Networks described herein and thereby enable a person skilled in the pertinent art to make and use the System and Method for Improving Transmission in Satellite and Low Power Communication Networks.
Reference will now be made in detail to embodiments of the System and Method for Improving Transmission in Satellite and Low Power Communication Networks with reference to the accompanying figures. The same reference numbers in different drawings may identify the same or similar elements.
In
The transceiver (e.g., 102a) can generate a preamble 112 for the message 106 (e.g., 106a) by applying chirp modulation 114 to the preamble sequence and further modulate the chirp modulated data by multiplying the chirp modulated data with one or a set of candidate z-transform binary sequence of the same length. The chirp modulation 114 may employ a spreading factor SF. The preamble 112, as a long preamble, can have a length corresponding to 8 data symbols. The chirp modulation 114 includes a shifted chirp signal C cyclically shifted k times (Ck), where k is the number of potential shifts. In some embodiments, the modulating is performed according to the phase t, shift k, and Z sequence h, wherein a modulated symbol is where 0≤t<4, 0≤k<N, and 0≤h<G, and the modulated symbol is Ωt,k,h=e(itπ)/2Ck⊚Zh, where Zh denotes Z sequence h for 0≤h<G.
An alternative preamble modulation 116 is shown in which the preamble 112 includes an upchirp 114 followed by a downchirp 116. In some embodiments, each of the upchirp 118 and the downchirp 120 includes a spreading factor SF+2. The chirp may be implemented as a complex vector with a constant magnitude and linearly increasing frequency. The chirp modulation 116 may include a chirp 118 concatenated with a conjugate (e.g., 120) of the chirp 118. While shown as with an upchirp followed by a downchirp, the modulation may include a downchirp followed by an upchirp. In some embodiments, the chirp may be the concatenation of an upchirp signal and a downchirp signal but shifted within the allotted preamble window.
The packet (e.g., 106a) may include the preamble 112, PHY header 122, and data payload 124. The preamble 112 may include the symbol boundary 126 and a Carrier Frequency Offset (CFO). The PHY header 122 may include a packet length field 130. To increase data rate/throughput, the data 124 in the packet 106a may include the data 132 encoded with a quadrature-based codebook 134 having codebook elements based on QPSK constellation including 1, −1, i, and −i.
In addition to satellite communication, the exemplary protocol can be implemented, e.g., for long-distance terrestrial communication. In the example shown in
Indeed, the chirp bits (e.g., via modulation 114 or 116) can provide high network capacity without sacrificing data rates for individual user terminals and without prior network access or synchronization. The operation without prior network access or handshake operation allows the transceiver to communicate with the receiver to operate at improved latency. The long preamble and chirp structures allow more transceivers to communicate to the receiver without affecting each other.
Satellite/Long-Distance Communication Networks with Z Transform of Chirps
As noted above, the transceiver (e.g., 102a) can generate a preamble 112 for the message 106 (e.g., 106a) by applying chirp modulation 114 to the preamble sequence and further modulate the chirp modulated data by multiplying the chirp modulated data with one or a set of candidate z-transform binary sequence of the same length.
A chirp, as used herein in the context of the z-transform modulation, is a complex vector with constant magnitude and linearly increasing frequency. A chirp is a signal in which the frequency increases (up-chirp) or decreases (down-chirp) with time. It is commonly applied to sonar, radar, and laser systems and to other applications in data communication systems, such as LoRa [3] and IEEE 802.15.4a [40], [52], where it is commonly referred to as Chirp Spread Spectrum (CSS) modulation.
The modulation system and method described herein is referred to as ZChirp. The system is based on chirps but is very different from the traditional CSS, primarily because the presently described ZChirp modulation involves multiplying a chirp with a Z sequence to generate completely different baseband signals, which allows for higher network capacity. In addition, traditional CSS is typically designed for low data rates, while ZChirp is designed for broadband access in satellite networks and can address challenges in high bandwidth channels. There have also been proposals to modify the chirp for LEO networks [60], [33], which are very different from the presently described method of multiplying the chirp with the Z sequence.
Example ZChirp Modulation. By way of example, the spreading factor (SF) can be a positive integer such as 6, 7, 8, etc. The chirp C is a complex vector of length N=2SF, whose t-th element or sample is given by Equation 1.
Referring to
According to the principles described herein, the transmission may use a packet format as shown in
Example Node-Side Method of Operation. When the node (e.g., transmitter 102a, 102b or receiver 104a, 104b) has data to transmit, the nodes may select an SF and transmission power depending on the channel condition and transmits the packet. In some embodiments, the SF and transmission power are user-selectable.
Preamble. In ZChirp, for when G=N, the preamble may include an upchirp C followed by a downchirp, both with spreading factor SF+2, where SF is the spreading factor used in the data modulation. The length of the preamble is, therefore, the same as 8 data symbols. Using a higher spreading factor makes the preamble more resilient to noise and interference. The combination of the upchirp and downchirp allows for robust estimations of timing offset and the CFO. The preamble is not multiplied with any Z sequence to reduce the search space. Without limitation, other preamble may be used, e.g., using a smaller G to reduce computational complexity.
PHY Header. In ZChirp, symbols in the PHY header are modulated only with the shift modulation and encoded with an RS code with a coding rate 1/2. The modulated symbols are multiplied with a special binary vector, which may be, for example, generated according to the Gold sequence [34] for the sole purpose of guaranteeing low correlations with the data symbols. The PHY header contains the information of the packet, including the packet length, followed by a 4-bit CRC. The number of symbols in the PHY header is a constant for a given SF, which is 8 if SF≤7 and 6 for other SFs.
The data symbol may be a transformed version of a chirp C. The transformation may be multi-dimensional; that is, in addition to the traditional shift modulation, two other modulations are also adopted, namely, the phase modulation and the Z modulation. The phase modulation may be based on quadrature phase shift keying (QPSK). In some embodiments, the chirp is multiplied by one of the values in {e0, e(iπ)/2, eiπ, e(i3π)/2} to modulate 2 bits. The Z modulation may multiply the chirp with a binary sequence of the same length, namely, the Z sequence, in which each element is either 1 or −1. The total number of Z sequences may be referred to as G; therefore, the Z modulation can modulate log2G bits. To be more specific, let the values to be modulated with the phase, shift, and Z modulations be t, k, and h, respectively, where 0≤t<4, 0≤k<N, and 0≤h<G. The modulated symbol can be expressed per Equation 2.
In Equation 2, Zh denotes Z sequence h for 0≤h<G. To demodulate the received symbol Y, a demodulation matrix per Equation 3 may be used.
In Equation 3, Q is the de-chirped symbol of the received symbol Y. If the received symbol Y=Ωt,k,h, then Equation 3 can be expressed as Equation 4.
In Equation 4, Wk is the vector that completes k cycles in N samples, i.e., Wtk=ei2πkt/N for 0≤t<N, so that the demodulation matrix Ξh has a peak at k with phase
On the other hand, the demodulation matrix Ξl will have no peaks where l≠h. The receiver can calculate the demodulation matrix Ξ, where row h in the matrix is Ξh (Equations 3 and 4).
If the highest peak is at row h and column k, the demodulated data for the Z and shift modulations can be h and k, respectively. The phase value can then be found according to the phase of the peak and demodulated. For example,
The data to be transmitted can be split into three parts to be modulated by the phase, shift, and Z modulation. Each may employ independent error correction codes, which, for example, can be the Turbo code [22] with a coding rate of 1/2 for the phase modulation and the Reed-Solomon (RS) code with a coding rate of 1/2 for the shift and Z modulations. The PHY layer data rate can be calculated as follows with SF=7 and log2 G=SF as an example. On each symbol, a total of 2/2+7/2+7/2=8 coded bits are modulated. For LEO networks with 100 MHz bandwidth, each symbol can be 1.28 s; therefore, the data rate is 6.25 Mbps. For LPWANs, with 125 kHz bandwidth, each symbol is 1.024 ms; therefore, the data rate is 7.81 kbps.
Example Gateway-Side Method of Operation. The gateway (e.g., satellite 108 or LPWAN gateway, not shown) runs a packet detection algorithm constantly to search for packets in every SF. Once a packet is detected, the gateway may decode the packet and remove the signal of the packet from the time-domain signal.
Example Method of ZChirp Operation. Multiplying the Z sequence with the chirp does not affect the bandwidth and communication performance. In a communication system, the bandwidth limits how fast the signal can change and is a factor in determining the communication speed. As the Z sequence changes the signs of the elements in the chirp, one concern is if ZChirp uses more bandwidth than the original chirp. Because the chirp itself can include the highest possible frequency, changing the signs does not produce higher frequencies, which can be seen in
It was noted above, multiplying a Z sequence does not degrade the communication performance because the ability to decode weak signals is not due to the special structure of chirp but due to adding the samples constructively. To verify, a head-to-head comparison can be performed, e.g., between two schemes called LocOnly and ZLocOnly, where, in LocOnly, the data symbols are modulated only with the shift modulation on the original chirp, while ZLocOnly further multiplies the data symbols produced by LocOnly with a randomly chosen Z sequence. Both LocOnly and ZLocOnly can be implemented with minor modifications to ZChirp, mainly by disabling the phase and Z modulations.
In
Z Transform. The Z sequences can guarantee that no two sequences are similar so it is unlikely for a message modulated with one Z sequence to be mistaken for another. While this can be achieved to a degree by random binary sequences, Z sequences with internal structures can reduce the computation complexity.
The Z transform refers to the process of converting the de-chirped symbol Q to a demodulation matrix Ξ, after which the data modulated with the shift and Z sequences can be found. Much of the reduction of the complexity can be with the layered design of the Z sequence where the Z transform can be carried out by constructing a matrix and taking summations of the rows of the matrix. To be more specific, let W−k be the vector that completes k cycles in N samples with a negative frequency, i.e., Wt−k=e−i2πkt/N for 0≤t<N. The definition of Discrete-time Fourier Transform (DFT) as it pertains to this application is provided in Equation 5.
In Equation 5, Zh+ and Zh− denote the indices where Zh is 1 and −1, respectively. An intermediate matrix Ψ as a N by N matrix where row t can be denoted as Ψt can be determined as Qt multiplied with W−t, i.e., the element at row t and column k, denoted as Ψt,k, is QtWt−k. The row of the demodulation matrix Ξh can be obtained by adding and subtracting rows in the intermediate matrix Ψ.
The Layered Z Sequence. The Z sequences can be constructed with multiple layers where a Z sequence can be divided into S segments referred to as symbols, e.g., where each symbol is either L or L+1 bits. Each symbol may take V values, i.e., there are a total of V binary patterns that can be assigned to each symbol. Correspondingly, the intermediate matrix Ψ may be partitioned into S submatrices, one for each symbol, where each submatrix consists of either L or L+1 rows of Ψ. The computation may be carried out first in the submatrices independently, which are then combined into the final result. The overall saving may be achieved where S is much smaller than N, and the symbol value V is much less than G.
As an example, the case with a different number of bits is a simple extension. For the case where each symbol has the same number of bits, the operation can be performed for the layered approach in which Zh can be generated according to a codeword Θh, which is a vector of length S: [u0h, u1h, . . . , uS-1h], where each element is within [0, V−1]. There are a total of V binary vectors of length L are the symbol patterns, where symbol pattern u is denoted as ηu for 0≤u<V. The symbol Πm( ) can be the permutation used for the symbol m, and Πm(u) is the value mapped from u where 0≤u<V. The Z sequence can then be determined as the concatenation of the corresponding symbol patterns per Equation 6.
For symbol m, the associated submatrix can be ψm, and λm,u be the value of ψm evaluated for ηΠ
In Equation 7, ψm,t denotes row t of ψm, and ηΠ
Reduction of Addition with the Layered Approach. The reduction of additions can be achieved with the layered approach. It can be assumed that each symbol is L bits, while the analysis can be readily extended to the case where the number of bits in the symbols differs. To obtain all values of all symbols, no more than SV LN additions are needed. For each row vector in the demodulation matrix Ξ, the summation of the symbol values can be obtained with no more than SN additions. The total number of additions may thus be no more than SV LN+GSN, which can be simplified to VN2+GSN because SL=N. Because binary vectors V>S, the bound can be further simplified to V (N2+GN). In addition, binary vectors V can be chosen so that V2 is as close to G as possible so that the bound can be approximated by √{square root over (G)}(N2+GN). In contrast, a naïve implementation may need GN(N−1) additions.
To this end, the amount of savings can be roughly a factor of √{square root over (N)} when G=N. With the fast addition method discussed herein, the number of additions can be further reduced by a factor of 4.
Codeword Generation with the RS code. The Reed-Solomon (RS) code may be used, as one example, to generate the codewords to guarantee the minimum distances between the codewords. The codeword includes the data symbols and the parity-checking symbols. Currently, the number of data symbols is 2 so that the RS code can generate V2 unique codewords and guarantee that any two codewords differ in at least S−1 symbols. Constraints may be applied when choosing the parameters of the RS code. First, V may be the power of 2, i.e., V=2v for some integer v. Second, V>S, to provide the maximum length of the codeword as V−1. Third, V2≥G.
Choice of Parameters. The parameters of the layered approach can be S, L, and V. Fewer symbols can lead to fewer computations; however, they also can mean a larger length L and a higher cost of having an identical symbol in two codewords. In some embodiment, the codeword length S is chosen according to a rule that leads to provable theoretical guarantees, e.g., if SF is even, codeword length
else,
As a result, it can be verified that
if SF is even and
otherwise. As binary vectors V should be greater than the codeword length S and no less than √{square root over (G)}, which is
if SF is even, and
Symbol Pattern Generation with Linear code. The symbol patterns may also be different from each other, so that λm,u should be small if ηu is not the transmitted symbol pattern. Therefore, for any u1≠u2, the Hamming distance between ηu
The symbol patterns may be generated according to a linear binary (L, v) code. The generator matrices can be denoted as GL+1,vSF. The generator matrices can include a base matrix By and configured as a v by 2v binary matrix, in which column a is the binary representation of a for 0≤a<2v. For example,
A generator matrix with v rows and L columns may be then obtained by concatenating └L/2v┘ base matrices horizontally and then taking the first L columns. The construction is further illustrated per Theorems 1-3.
Theorem 1. Denote DMHD of the symbol patterns according to a generator matrix as D( ). D(Bv)=2v-1.
Proof. The proof is based on induction. First, the claim is clearly true for symbol patterns generated by B2, namely, 0000, 0011, 0101, and 0110. Suppose the claim is still true till v−1. Note that By can be obtained by concatenating two Bv-1 horizontally, then adding one row in which the first half is ‘0’ and the second ‘1’. The difference between any two symbol patterns is a linear combination of the rows in Bv. If the new row is not involved, due to the induction hypothesis, there are exactly 2v−2 elements that are ‘1’ in both the first and second half; therefore, the claim is true. If the new row is involved, the claim is still true because the ‘1’ in the second half is all flipped to ‘0’ and ‘0’s to ‘1’.
The qualities of the generator matrices are further analyzed in the following, where the maximum DMHD for given L and v is denoted as ΦL,v.
Lemma 1. If L=2d+1 for some integer d, ΦL,v≤d for any v.
Proof. Suppose the claim is not true and ΦL,1≥d+1. Without Loss of Generality, consider an arbitrary symbol pattern, denoted as f, with the all-0 symbol pattern, denoted as η0. To achieve an original minimum Hamming distance of d+1, 1 should have at least d+1 ‘1’s. To achieve a negative minimum Hamming distance of d+1, η should have at least d+1 ‘0’s. Clearly, this cannot be achieved with only 2d+1 bits.
Lemma 2. If L=2d for some odd integer d, ΦL,v≤d−1 for any v>1.
Proof. Suppose the claim is not true and ΦL,2≥d. Therefore, any non-zero symbol pattern must have exactly d ‘1’s and d ‘0’s. Without Loss of Generality, suppose there is a symbol pattern η1, in which the first half of the bits are ‘1’ and the second half is ‘0’. Consider another symbol pattern η2.
Denote the number of ‘1’s in the first half of η2 as x. Clearly, the Hamming and negative Hamming distances between η1 and η2 are 2d−2x and 2x, respectively, the minimum of which is less than d for any x.
Theorem 2. The generator matrices used for symbol pattern generation are theoretically optimum in the sense that they achieve the maximum DMHD.
Proof. When SF is even, the generator matrices have
rows but L or L+1 columns, where
The DMHDs of, which are both types of matrices, are at least
as padding additional columns does not reduce the DMHD. The DMHD of the first type of matrices is optimal based on Lemma 1. The DMHD of the second type of matrices is optimal based on Lemma 2.
When SF is odd, there is only one type of generator matrix with
rows and
columns. The DMHD of the matrix is
which is optimal based on similar arguments as those in Lemma 1.
DMHD of the Z Sequences. The following theorem gives the DMHD of the Z sequences, which is defined as the minimum of the original Hamming distance and the negative Hamming distance among all pairs of Z sequences.
Theorem 3. The DMHD of the generated Z sequences is at least
when SF is even and
when SF is odd, where N is the length of the chirp.
Proof. With the RS code, two codewords differ in at least (S−1) symbols. Clearly, the DMHD of the Z sequences is (S−1) times the DMHD of symbol patterns, which is at least 2v-1└L/2v┘. As L=└N/S┘, the bound is
When SF is even,
and
It can be quickly verified that
Therefore, the bound can be expressed per Equation 10.
In Equation 10, when SF is odd
and
It can also be quickly verified that
Therefore the bound can be expressed per Equation 11.
The ideal DMHD is
in which case the Z sequences are orthogonal. Based on Theorem 3, the generated Z sequences are at most √{square root over (N)} away from the optimal, which means that the highest peak in Ξ other than the actually transmitted peak has most of the samples canceled with each other, leaving at most 2√{square root over (N)} samples that can be added constructively, reaching a fraction of 4/N of the power of the actual transmitted peak. The actual performance is better than the bound because the bound is the worst case.
Mapping of Symbol Values to Symbol Patterns. It was observed that the RS code can generate codewords that are different, but the differences are not random, leading to high correlations between a small number of Z sequences. By changing the mapping of the symbol values to the symbol patterns by applying different permutations for different symbols, the issue can be avoided, e.g., with Πm(u)=mod [(2m+1)u, V] if m is odd and Πm(u)=mod [(2m+1)u(u+1)/2, V] if m is even.
The permutation can also address shifted RS codewords where a cyclically shifted version of a codeword forms a codeword. With a certain degree of phase shift or misalignment, the issue can be present. With the permutation, the identical symbols from the nodes would be mapped to different symbol patterns.
Examples of additional Optimization. Steps in the implementation of the Z transform can be further optimized.
i. Obtaining Ψ. To obtain Ψ, naively, one may need N complex multiplications for each row of Ψ and N2 in total. Because of the introduction of the intermediate matrix Ψ, the multiplication can be reduced to 9 for each row and 9N in total if some very slight loss of accuracy can be accepted, e.g., for a generic row, denoted as Ψ1.
First, consider multiplying |Qt| with vector
Actual multiplications may be needed only for ⅛ of values in Λ, i.e., those with phases in [0, π/4], because those with phases in (π/4, π/2] can be obtained by swapping the real and imaginary parts of those in [0, π/4]; subsequently, those in (π/2, π] can be obtained by swapping the real and imaginary parts and flipping the signs of the imaginary parts of those in [0, π/2]; lastly, those in (π, 2π] are simply the negatives of those in [0, π]. Then, after approximating the phase of Qt as a multiple
QtΛ can be obtained by cyclically shifting |Qt|Λ according to the phase of Qt. Lastly, the intermediate matrix Ψt can be obtained by relocating the elements in QtΛ, with the unique values in W−t being a subset of those in Λ.
The demodulation may employ N/8+1 multiplication to obtain a row of the intermediate matrix Ψt. With the number in
being evenly-spaced constants, at a very slight loss of accuracy, typically less than 1%, multiplications of only 9 points,
can be employed and the rest can be approximated with linear interpolation. No actual divisions are needed in the interpolation as the number of steps between two points can be a multiple of 2. To further avoid multiplications in real time, pre-computed multiplication tables can be stored having values for the the same 9 constants multiplied with |Qt| for every t.
ii. Fast Summation. After obtaining the intermediate matrix Ψ, additions can be performed to obtain the demodulation matrix Ξ. The fast summation can be employed using Ψ with a saving factor of 4. The fast summation may be performed by letting t′=mod (t, 4) for the type of Ψt. Consider Ψkt for 0≤k<N/4. For 0≤a<4, the fast summation can be expressed per Equation 12.
Different scenarios and conditions for the calculation of Equation 12 are provided in Table 1.
Indeed, the intermediate matrix Ψ can be partitioned into 4 submatrices, one for each type. The summations of each submatrix can be carried out for the first quarter of the columns because the rest can be obtained by simply changing signs or swapping the real and imaginary parts. The number of additions is, therefore, reduced by a factor of 4.
To combine the fast summation with the layered design, ideally, a symbol may be assigned to rows of the same type whenever possible so that each symbol produces the summation of only type, which can be readily combined with those of the same type. In an implementation, 4 symbols can be used that contain rows of two types, which can be processed separately. The overall saving factor would be close to 4.
Packet Detection, Synchronization, and CFO Estimation. Packet detection is particularly challenging in networks with an ALOHA-style Medium Access Control (MAC) layer where the incoming packets may start at any time. In addition, parameters, such as the symbol boundary and CFO, are often learned during packet detection; thus, improper detection acquisition can affect the decoding of the data.
Assume the Over-Sampling Factor (OSF) is a as the number of samples the receiver takes for each transmitted sample by the node. With α>1 (e.g., α=8), a higher timing granularity can be achieved to better match the propagation delay. The timing offset τ of a packet can be written as τ=τiα+τf, where τi and τf are called the integer timing offset and the fractional timing offset, respectively. The CFO of a packet can be written as γβ, where the integer and fraction parts of γ are denoted as γi and γf, and are called the integer CFO and fractional CFO, respectively.
Pre-screening. The packet acquisition procedure may include pre-screening, coarse estimation, fine estimation, and PHY header check. TPre-screening can be performed to quickly spot the locations where a packet may occur. By sliding a window of length 2SF+2 by 2SF samples at a time and computing the signal vector of the samples in the window, the upchirp of the preamble can result in visible peaks in 7 consecutive signal vectors when the window partially overlaps with the upchirp. Where the peaks are shifted by 2SF in consecutive signal vectors, clear pattern of a potential packet even when there is a timing misalignment.
At this point, the CFOs of the packets are unknown. The height of the peak is heavily related to the fractional CFO. Therefore, the pre-screening process is repeated one more time with a sinewave with frequency β/2 multiplied by the time domain signal. The same process can also be applied to the downchip in the preamble. All potential packets that pass the pre-screening are called candidates.
Coarse Estimation. Coarse estimation can find coarse estimates of the start time and the integer CFO of packets, as well as removing candidates that are actually not packets. That is, by estimating the integer timing offset and integer CFO by applying the method proposed in [86] and removing a candidate if certain patterns cannot be found after the integer timing offset and integer CFO have been canceled, xu and xd can be at 0 or 1, where xu and xd are the locations of the upchirp peak and the downchirp peak, respectively.
In an example, consider a candidate detected with the upchirp because the process is the same for a candidate detected with the downchirp. According to [86], the integer start time and the integer CFO are └(xu−xd)/2┘ and └(xu+xd)/2┘, where └ ┘ denotes rounding a number to the nearest integer. During the coarse estimation, the start time of the candidate is first adjusted based on the peak location of the upchirp, so that the peak is close to location 0, i.e., xu is close to 0. The location of the downchirp peak may not be simply obtained by finding the highest point in the signal vector because the highest point could be caused by another packet or by another path. Instead, the signal around the peak in the upchirp signal vector may be defined as the path feature, and xd is the location in the downchirp signal vector that best matches the path feature.
Fine Estimation.
In Equation 13, τfϵ[−4α, 4α] and γfϵ[−0.5, 0.5] at a step of 1/16. Equation 13 is determined when τf and γf match the actual fractional timing and CFO, assuming there is only one path, R and λ′τ
PHY Header Check. Lastly, the PHY header of the packet can be decoded. In addition to learning the necessary information to decode the data in the packet, the CRC in the PHY header also helps remove falsely detected packets because the CRC will most likely fail for false packets.
Zchirp Discussion. ZChirp was based on the chirp modulation that was used in the past but with the key distinction of multiplying the chirp with a binary sequence for several purposes. First, chirps multiplied with different binary sequences (e.g., Z sequences) had very low crosscorrelations, which significantly reduced demodulation errors due to interference and allowed for multiple access. In addition, a node may double the communication speed by multiplying different Z sequences depending on the data. Real-world experiments show that multiplying the chirp with the binary sequence did not increase bandwidth usage or reduce the communication range. The binary sequences can be designed to reduce the interference and the computation complexity.
ZChirp can be applied to Low Earth Orbit (LEO) satellite networks, such as StarLink, for ALOHA-style grant-free uplink communications, which does not need the nodes to request medium access before the data transmissions and significantly reduces the latency. ZChirp can also be applied to Low Power Wide Area Networks (LPWAN) to support the communications from the nodes to the gateway. ZChirp has been designed, implemented, and tested, which includes data modulation, packet acquisition, and interference canceling. Experiments in the POWDER platform confirm that ZChirp packets can be received correctly over real-world wireless channels without prior synchronization. Simulations with the satellite channel models and the LTE ETU channel models show that ZChirp achieves significantly higher network capacity than existing satellite communication technologies and LPWAN technologies, where the improvement is typically 200-300% or more.
Chirp has been used in sonar, radar, and laser systems, as well as in data communication systems, such as LoRa [3] and IEEE 802.15.4a [40], [52], where it is commonly referred to as Chirp Spread Spectrum (CSS) modulation. ZChirp is very different from the traditional CSS, primarily because Zchirp multiplies the chirp with the Z sequence and generates completely different baseband signals to achieve higher network capacity. In addition, traditional CSS is typically designed for low data rates, while ZChirp is designed for broadband access in satellite networks and will address challenges in high bandwidth channels. There have also been proposals to modify the chirp for LEO networks [60], [33], which are very different from multiplying the chirp with the Z sequence.
Early satellite uplink standards include DVB-RCS [8] and IPoS [73]. Recently, 3GPP has started the expansion to Non-Terrestrial Networks [41], [45], [42], [65], where current proposals are similar to those in existing cellular networks with Orthogonal Frequency-Division Multiplexing (OFDM), although challenges due to the high PAPR of OFDM signals have been noted [65]. ZChirp signal can provide a constant envelop and has 0 dB PAPR. In addition, ZChirp signal facilitates random access, which complements the connection-orientated services in 3GPP. Existing satellite random access techniques include Contention Resolution Diversity Slotted ALOHA (CRDSA) [24], [30], which decodes the packets from multiple user terminals with Successive Interference Cancellation (SIC). Another example is Enhanced Spread Spectrum Aloha (E-SSA) [64], [35], [31], with which a user terminal multiplies the data with a binary code to spread the interference. ZChirp can achieve higher spectrum efficiency than E-SSA. Commercial LEO networks, such as Starlink, use proprietary modulation techniques. Starlink downlink signal has been analyzed and found to be OFDM [37]; however, the uplink modulation is still unclear. The PAPR of the uplink signal is more critical, because the transmitter is the user terminal, which cannot use high-cost amplifiers as the satellite.
Wi-Fi allows grant-free access to the medium with Carrier Sense Multiple Access (CSMA) [72], which, however, cannot be applied to LEO networks, primarily because many user terminals cannot sense each other due to the physical distance. Since 5G, grant-free communication has been proposed for cellular networks to support new service classes, such as Ultra-Reliable Low Latency Communication (URLLC) [13], [14], [12]. Grant-free communications are expected to further expand in 6G [93]. Current proposals include those that do not need fundamental modifications to the physical layer, such as repeating a packet K times [46] or transmitting a packet in a random frequency channel [21], as well as those based on Non-Orthogonal Multiple Access (NOMA) [46], which resolves collisions in the physical layer. Well-known NOMA schemes include Sparse Code Multiple Access (SCMA) [54], Interleave Division Multiple-Access (IDMA) [58], Multi-User Shared Access (MUSA) [97], [96], Pattern Division Multiple Access (PDMA) [29], etc., which have achieved impressive overload factors under the grant-based model where nodes operate according to parameters given by a central controller, such as codes, patterns, and transmission power. In contrast, ZChirp is designed to support random access; therefore, ZChirp is different from grant-based NOMA [94], [89], [92], [69] and can be considered as a form of grant-free NOMA [78], [66], [70], [19], [20], [74], [28], [56], [15], [91], [95], [80]. However, Zchirp can explore the chirp for random access and is expected to be more suitable for satellite communications because it has 0 dB PAPR and does not need symbol level synchronization or perfect Channel State Information (CSI).
There have been studies on other aspects of LEO networks, such as the downlink [79], performance measurement [39], handover [18], [50], navigation [59], [48], TCP over LEO networks [53], [57], satellite constellation [38], [55], and edge computing [84], [81]. ZChirp focuses on the physical and link layers of the uplink and, therefore, complements such work.
Many LPWAN technologies have emerged today, including LoRa [3], Sigfox [6], [49], RPMA [5], [51], Weightless-W/N/P [7], IEEE 802.11ah [16], [77], IEEE 802.15.4g [25], [71], NB-IoT [4], [26], [83], EC-GSM [17], [63] and eMTC [17], [63]. LoRa has attracted significant interest in recent years because of its simplicity, long communication range, and large existing global footprint. The capacity of LoRa has drawn much attention with a focus on resolving packet collisions [68]. Many solutions have been proposed, such as Choir [32], mLoRa [82], FTrack [88], CoLoRa [76], Nscale [75], SCLoRa [36], Pyramid [90], AlignTrack [27], PCube [87], CIC [67], and TnB [62]. The key advantage of such solutions is that they do not need to modify existing LoRa nodes and can be immediately deployed. At the same time, they are also limited by the current design of LoRa, in particular, the chirp modulation, which makes it difficult to separate the signals from different nodes. For a higher performance, it has been proposed to rethink the chirp modulation.
CurvingLoRa [44] is the most recent that focuses on improving the network capacity by a modified chirp in which the frequency increases non-linearly. ZChirp also belongs to this category.
In addition to satellite networks, ZChirp can also be applied to Low-Power Wide-Area Networks (LPWAN). Many LPWAN technologies have emerged as of today, including LoRa, RPMA, Weightless-W/N/P, IEEE 802.11ah, IEEE 802.15.4g, NB-IoT, EC-GSM, and eMTC. LoRa has attracted significant interest in recent years because of its simplicity, long communication range, and large existing global footprint. ZChirp has been compared with the state-of-the-art version of LoRa, namely CurvingLora, and has shown an improvement in network capacity by more than 200%.
An advantage of ZChirp cancan be that it achieves much higher network capacity than the existing technologies, where the improvement can be over 200% or even 400%. As a result, the network service providers or operators can support much more users and generate much more revenue.
The improvement of network capacity can be achieved by multiplying the chirp with a binary sequence with very low cross-correlations to reduce demodulation errors due to interference and allow multiple nodes to transmit packets at the same time without causing errors to each other. Second, the binary sequences can be used to modulate data to double the communication speed and, therefore reduce the transmission time of packets and free up more air time for the network. Real-world experiments prove that multiplying the chirp with such a binary sequence does not increase bandwidth usage or reduce the communication range while reducing the interference and the computation complexity.
In addition to the increased network capacity, ZChirp also can be used for satellite networks and LPWANs in having a constant-envelope modulation and a node can transmit packets without any prior coordination with the satellite or the gateway.
To provide higher network capacity (i.e., number of accessible devices) and higher data rates (throughout of data that can be transmitted), the QCode codebook can be optionally employed to increase the number of bits modulated on each symbol used in the modulation of the data in a packet payload for data transmission. Each symbol can be a complex vector of length 2SF, where SF is a Spreading Factor. Each element of the symbol can be one of four possible values from the QPSK constellation: 1, i, −1, and −i. Results show that for a given data rate, the capacity of QCode can be increased 3× over that of state-of-the-art Uncoordinated Access Channels (UCACH) communication protocols.
QCode can achieve both high network capacity and high data rates for broadband LEO networks by being configured to aggressively increase the number of bits modulated on each symbol. To this end, with the same symbol length and, hence, roughly the same network capacity, QCode can achieve higher data rates for the user terminals. To be more specific, with QCode, each symbol may be a complex vector of length 2SF, where SF is the Spreading Factor, which may be 4, 5, 6, etc.
An element in a symbol may be one of 4 possible values from the QPSK constellation, namely, 1, i, −1, and −i. The QCode symbol can be modulated 2SF+2 bits as the signal of a symbol can be one of 22SF+2 possibilities. In contrast, E-SSA modulated only 2 bits per symbol with QPSK. QCode has been implemented and demonstrated with real-world experiments in the POWDER wireless platform [14], which is an open wireless testbed at the University of Utah with radios that can be controlled remotely. Further evaluations had also been conducted with simulations using the 3GPP New Radio (NR) Non-Terrestrial Network (NTN) channel model [3], [5], [4], [47], [30]. The results showed that, with similar data rates for the user terminals, the network capacity of QCode can be 3.14× that of E-SSA.
To reduce computation complexity in real-time, the exemplary system and method use the QPSK constellation, which avoids the inner product calculation because multiplying a complex number with 1, i, −1, and −i requires changing the sign and swapping the real and imaginary parts. QCode can further reduce the computation complexity with a segmented design of the code vectors. The overall complexity of demodulating a QCode symbol can be 4N2 complex additions, where N=2SF and denoted the symbol length, which is comparable to a Fast Fourier Transform (FFT) of a vector of the same length when SF was small, such as 6 or less.
Node Side Operation. A user terminal (i.e., node) can estimate and cancel the Carrier Frequency Offset (CFO) and Doppler frequency shift based on the downlink beacon signals from the gateway. When there is data to transmit, the node can pick an SF depending on the channel condition, and transmits the packet. A QCode packet (e.g., 106) can include the preamble 112, the physical layer header (PHY header) 122, and the data 124. The preamble 112 can be employed to allow the gateway to detect the packet 106, and estimate parameters such as the start of the packet, the Carrier Frequency Offset (CFO), the power level, as well as the delays and gains of paths in multi-path channels. The PHY header 122 can be employed to inform the gateway about the length of the packet 106 and could also carry other information, such as the coding rate of the packet.
Data Modulation and Demodulation. An SF is a small integer, such as 4, 5, or 6. A data symbol is a complex vector of length N and modulates 2SF+2 bits, where N=2SF. The exemplary QCode modulation and demodulation can be pre-computed as a codebook, e.g., consisting of at least 22SF code vectors, where each code vector is a complex vector of length N and each element is either 1, i, −1, or −i. To modulate 2SF+2 bits, the first 2SF bits can be used as an index to select a specific code vector, while the remaining 2 bits determine the phase shift to be applied to the selected code vector with respect to the previous symbol, where the phase shift value could be 0, π/2, π, or 3π/2.
The demodulation operation can include computing the inner products of a received symbol Y as a complex vector of length N, with all code vectors in the codebook. If the largest norm of the inner products is determined with code vector h, the first 2SF demodulated bits can be the binary of h. Then, the phase difference of Y with the last received symbol can be computed, which can be used to determine the 2 bits modulated with phase. It can be observed that no complex multiplication is needed in the demodulation thus, the demodulation operation is low in complexity and computation requirement.
The demodulation operation can split the to-be-transmitted data into two parts to be modulated by the code vector and phase, respectively. Each modulation may employ independent error correction codes, e.g., the Reed-Solomon (RS) code with a coding rate of 1/2 for code vector modulation and the Turbo code [13] with a coding rate of 1/2 for phase modulation. The encoding of the Turbo code and the RS code involves only straightforward linear calculations and does not significantly increase the node complexity or power consumption. As the coding rates are 1/2 for both the code vector and phase modulations, each symbol can modulate SF+1 coded bits. If the communication bandwidth is B Hz, the PHY layer data rate is (SF+1)B/2SF measured in bps as it takes 2SF/B seconds to transmit a complete symbol. For example, when B is 25 MHz, the data rates are 7.81 Mbps, 4.69 Mbps, and 2.73 Mbps for SFs 4, 5, and 6, respectively.
To confine the signal within the system bandwidth, pulse-shaping filters may be used to remove the high frequency signals caused by transitions from one QPSK constellation point to another. For example, the standard Raised Cosine filter with a roll-off factor of 0.5, spanning 5 symbols, can be used. The signal can also be clipped so that the typical PAPR is 2.2 dB. SFs from 4 to 6 were evaluated, where the codebook length is 22SF; however, the modulation may be applied to other values of SF and other codebook sizes. With SFs from 4 to 6, QCode may be employed for broadband UCACHs with high data rates. SFs higher than 6 may lead to low data rates, while SFs lower than 4 may not be robust against interference.
Gateway Side Operation. The gateway may execute a packet detection operation continuously to search for packets in every SF. The detected packets may be sorted according to the estimated power levels, where packets with higher power levels are decoded first. If the decoding of a packet is successful, a Successive Interference Canceling (SIC) operation may be applied, where the signal of the packet is reconstructed and removed from the time-domain signal. After removing the signals of strong packets, more packets may be detected. Indeed, the gateway may run the packet detection process multiple times (e.g., for a total of 3 times or more) and decode any newly detected packets.
Symbol Design. The design of the Qcode codebook can provide code vectors sufficiently different from each other while reducing the computation complexity that could reach complex additions of N3 if the inner product is to be computed directly between the received symbol and every code vector.
Segmented symbol design can guarantee low similarities of segment vectors, as well as sharing at most one common segment vector between any two code vectors, to achieve low similarities of code vectors. With the segmented design, the total number of additions can be reduced to 4N2.
In some embodiments, each code vector can be the concatenation of 4 segment vectors, each of length N/4. Other concatenations can be used, e.g., 5, 6, 7, 8 segment vectors. Accordingly, the received symbol Y can be divided into 4 parts, each of length N/4, denoted as Yk for 0≤k<4. Partial inner products can be first computed between Yk and the corresponding segment vectors for all 0≤k≤3, which can then be added together to obtain the full inner product. To reduce the computation complexity, the system can select the segment vectors of all code vectors from the same segment book, where the segment book is an N by N/4 matrix. In other words, code vectors can differ only in the choices of segment vectors. As a result, Yk is employed in the computations of N partial inner products between itself and all vectors in the segment book, which requires N2/4 complex additions. In total, the computation of all partial inner products requires N2 complex additions. The inner product of a code vector can be obtained by taking the sum of 4 partial inner products and employing 3 complex additions. To this end, the overall number of complex additions is 4N2.
Symbol Design Definitions and Notations. A code vector is denoted as Wh, where 0≤h<N2. The index vector of the code vector Wh is Ih, which can include the indices of the segment vectors chosen by the code vector Wh. Let index vector Ih=[I0h, I1h, I2h, I3h], where 0≤Ih<N for 0≤k<4. Let Sl be a segment vector l in a segment book where 0≤l<N, and the code vector Wh can be written as per Equation 14.
In Equation 14, ∥ denotes vector concatenation.
The inner product Dh may be determined per Equation 16.
Index Vectors. QCOde can employ N2 index vectors, one for each code vector. In the QCode modulation/demodulation, the first two elements in the index vector can be one of the N2 combinations of two integers in [0, N−1], while the last two elements are determined by the first two elements. The last two elements may be determined by treating the first two elements as data symbols in a Reed-Solomon (RS) code and the last two the parity checking symbols as the RS code can guarantee that no two index vectors share more than one common element to provide separability of the code vectors.
Segment Vector Design. To ensure the segment vectors are different from each other as possible, a segment vector may be employed. The similarity of two vectors, Sa and Sb, may be defined as the squared norm of their inner product per Equation 17.
In QCode, the similarity of any two segment vectors can be no more than N/4 as the maximum similarity constraint. Multiplying two vectors, such as Sa and Sb, can result in the multiplying of Sa and Sb element-wise and is written as SaSb. Vectors may be written with the integer representation in Z4, i.e., complex numbers 1, i, −1, and −i are represented by 0, 1, 2, and 3, respectively. Multiplying two vectors is to add the integer representation of the vectors then take modulo 4.
The segment vectors may be constructed based on the Hadamard matrix, which may be expanded with 4 gadget vectors. Specifically, let m=N/4 as the length of the segment vector. The Hadamard matrix may be an m by m binary matrix, where the row vectors are the base vectors and are included as part of the segment book. Each base vector may be multiplied with the gadget vectors to produce 4 segment vectors. The total number of segment vectors can, therefore, be N. As the base vectors are to be included in the segment book, one of the gadget vectors may be an all-0 vector according to the integer representation. The Hadamard matrix and the gadget vectors can simplify the search of the segment vectors by a divide-and-conquer approach. That is, as the base vectors in the Hadamard matrix are orthogonal to each other and provide a good starting point, only 3 gadget vectors may be found to meet the maximum similarity constraint.
The m by m Hadamard matrix (denoted as Hm) may be constructed per Equation 18.
According to the integer representation, H1=[0]. When m=4, the Hadamard matrix may be defined as Equation 19.
The gadget vectors when m=4 may be defined per Equation 20.
In Equation 20, base vector a is denoted as βa where 0≤a<m. In an example, the segment vectors produced by β1 may be defined per Equation 21.
Denote gadget vector b as γb where 0≤b<4. The constructed segment vectors satisfy the maximum similarity constraint per Equation 22.
To achieve Equation 22, a computer program searched and found the gadget vectors. The search is simpler than that suggested by Equation 22 by exploiting a property of the Hadamard matrix, i.e., the product of two base vectors is another base vector. Therefore, the gadget vectors should satisfy Equation 23 because of the equality per Equation 24.
Using Equation 24, the search space may be reduced by one dimension.
Lastly, the gadget vectors for m=8 and m=16 are defined per Equation 25 and Equation 26, respectively.
Bounds of the Segment Vectors. The segment vectors can be analyzed theoretically to show that QCode is optimum when the SF is 4 because there may not be another set of segment vectors that are more dissimilar to each other.
Let ζ(V, m, n) be the minimum of maximum similarity of any combinations of V segment vectors when the segment vectors have length m and are defined in Zn.
Theorem 1. ζ(16, 4, 4)≥4; that is, when the SF is 4, among any possible combinations of 16 segment vectors, the maximum similarity may not be less than 4.
Proof. For a vector Sa, let θs
To see the first claim, Without Loss of Generality (WLOG), let Sa be the all-0 vector. Denote an arbitrary vector in θs
To see the second claim, WLOG, consider a vector in θs
If ζ(16, 4, 4)<4, there exist 16 segment vectors with similarities 2 or less. According to the two claims, each of such vectors can label at least 32 unique vectors, which is a contradiction because the total number of labeled vectors is 512, while the total number of vectors of length 4 is only 256.
Theorem 1 proves that the segment vector design of QCode is optimum when the SF is 4. The bound of SF 5 is not as tight but is still given in the following.
Theorem 2. ζ(32, 8, 4)≥4; that is, when the SF is 5, among any possible combinations of 32 segment vectors, the maximum similarity cannot be less than 4.
Proof. The proof is similar to Theorem 1 and is based on two claims. Let Θs
The above theorems are based on the sphere-packing approach, i.e., by partitioning the vector space according to the similarity or distance to the selected segment vectors. The sphere-packing approach, however, becomes cumbersome when the SF is 6 because the number of neighbor sets with non-empty intersections becomes large.
Comparing to the Binary Constellation. QCode implements the QPSK constellation because QPSK can yield better segment vectors with lower similarities to each other, which can improve the resilience to noise, especially when the SF is small. QCode can also use other modulation, e.g., BPSK constellation.
When the SF is 4, QCode can implement 16 segment vectors each of length 4. With QPSK, the maximum similarity is 4.
When SF is 5, QCode can implement 32 segment vectors each of length 8. With QPSK, the maximum similarity is 8. It can be proved that ζ(32, 8, 2)≥16; therefore, QCode reduces the maximum similarity value by at least half. To see this, note that the possible similarity values between any two binary vectors are the square of an even number, e.g., 0, 4, 16, 36, etc. Suppose the claim is not true, i.e., there exists a set of 32 binary vectors, denoted as Ω, with maximum similarity 4. To any vector, say, A, there are exactly 16 vectors with similarity 36 because any such vector is either identical to A in 7 locations or just one location. Consider any two vectors in Ω, say, A and B. As the maximum similarity is 4, A and B differ in 3, 4, or 5 locations. Therefore, if ΦA,X=36 for some vector X, ΦB,X<36. As a result, every vector in Ω can label 16 vectors with similarity 36 to itself as its own, which is a contradiction because the number of labeled vectors plus the vectors in Ω is greater than 256, while there are only 256 binary vectors of length 8.
When SF is 6, QCode can implement 64 segment vectors, each of length 16. With QPSK, the maximum similarity is 16. It can be proved that ζ(64, 16, 2)≥16. The proof is similar to the proof when SF is 5 and is therefore omitted. It also turns out that the bound is tight, i.e., there do exist 64 binary vectors with maximum similarity 16. One possible construction, for example, can be based on the Nordstrom-Robinson code [32, 45], which is a binary code of length 16 with 256 codewords and minimum Hamming distance 6, by using codeword 2 to 65 of Nordstrom-Robinson code.
Rake Receiver for Multi-Path Channels. Broadband service requires high system bandwidth, with which path delay spread may become significant. For example, if the bandwidth is 25 MHz and the Over-Sampling-Factor (OSF) is 8, i.e., the receiver takes 8 samples per transmitted sample, a sample is taken every 5 ns. If the delay spread is 30 ns, the earliest and latest paths are separated by 6 samples, which may affect the demodulation of symbols if paths are of similar strength. It is likely that users will try to set up the antenna with a strong and dominant line-of-sight path to the sky, which should minimize the effect of multi-path. In situations when multi-path cannot be avoided, the Rake receiver can be used to adapt to the multi-path situation.
With a Rake receiver, the path information may be found during packet acquisition based on the packet preamble. Let the number of significant paths be T. Path p is denoted as Pp, where 0≤p<T. The delay and gain of Pp are denoted as τp and gp, respectively. WLOG, it is assumed that the paths are sorted according to the delays, where τ0=0, although P0 may not be the strongest path. Let the transmitted code vector be Wh. WLOG assumes the phase modulated on the symbol is 0. The received symbol may, therefore, be approximated as in Equation 27:
In Equation 27, Wh,τp denotes Wh shifted by τp samples and F denotes noise. Equation 27 is an approximation where the first and the last τT-1 samples have contributions from neighboring symbols. It is a reasonable approximation because symbols in QCode are long.
The Rake receiver in QCode added the signals from different paths coherently. That is, let YτP be the received symbol aligned to the delay of Pp. Let the Rake-combined symbol be defined in Equation 28:
In Equation 28, dividing YτP by gp can cancel the phase of Pp and normalize the gain, while multiplying |gp|2 adds the paths together according to Maximum Ratio Combining (MRC). {tilde over (Y)} can then be processed by the logic depicted in
The Rake receiver in QCode can provide simplicity as only one Rake-combined symbol needs to be demodulated because symbols in QCode are long and can spread interference from misaligned paths. It may also be extended to multiple-antenna systems by viewing signals from different antennas as signals from different paths.
Successive Interference Cancellation. One of the factors of UCACH is Successive Interference Cancellation (SIC). In QCode, SIC can reconstruct the time-domain signal of symbols individually.
For one generic symbol, when SIC is executed, the packet can be decoded so that the code vector used for this symbol, Wh, is known. Suppose the number of significant paths is T and the symbol aligned to the delay of Pp is denoted as Yτ
In Equation 29, the time-domain signal is assumed to be the ideal waveform (Wh) multiplied by the path gain (<Yτ
The approach is simple with no Channel State Information (CSI) to be estimated and maintained. The modulated phase value can also be absorbed into the path gain and need not be reconstructed. Because of long QCode, when approximating the path gain of a particular path, the interference from other paths is spread thin and does not lead to errors.
QCode Discussion. Low Earth Orbit (LEO) satellite networks emerged as an alternative that complements the existing wireless infrastructure. Due to the long propagation delay between the earth and the satellite, there is a benefit to achieving low latency for applications in LEO networks such as automatic driving.
One direction to reduce the latency in LEO networks is to deploy Uncoordinated Access Channels (UCACH) that allow user terminals to transmit packets to the satellite without prior resource allocation by the satellite or coordination with each other. As a result, latency may be reduced to the minimum, i.e., the one-way propagation delay, because user terminals may transmit packets at will. Although technologies such as Enhanced Spread Spectrum Aloha (E-SSA) [36′], [23′], [19′] were developed for UCACH in satellite networks, it is desirable to further increase the network capacity and user terminal data rates for broadband access in LEO networks, which is closely related to the physical layer symbol design. In wireless communications, a symbol is a complex vector that modulates a certain number of bits and is the basic unit for data transmission. To achieve high capacity, the system prefers longer symbols, which are more resilient to interference caused by overlapping packets; on the other hand, to achieve high data rates, the system prefers shorter symbols, which take less time to transmit.
QCode can achieve both high network capacity and high data rates for broadband LEO networks by being configured to aggressively increase the number of bits modulated on each symbol. With the same symbol length and, hence, roughly the same network capacity, QCode can achieve higher data rates for the user terminals. To reduce computation complexity in real time, the QCode uses the QPSK constellation to avoid the inner product calculation. QCode can further reduce the computation complexity with a segmented design of the code vectors.
Existing satellite uncoordinated access techniques include Contention Resolution Diversity Slotted ALOHA (CRDSA) [15′], [18′], which decodes packets from multiple user terminals with Successive Interference Cancellation (SIC), as well as Enhanced Spread Spectrum Aloha (E-SSA) [36′], [23′], [19′], [21′], with which a user terminal multiplies the data with a binary code to spread the interference. QCode was compared with E-SSA because E-SSA had been adopted for standardization [2′] and continuously ignites interest [25′] and was observed to have higher spectrum efficiency than E-SSA. Early satellite uplink standards include DVB-RCS [1′] and IPoS [42′]. Recently, 3GPP started expanding to Non-Terrestrial Networks [26′], [28′], [27′], [37′], where current proposals were similar to those in existing cellular networks with Orthogonal Frequency-Division Multiplexing (OFDM), although challenges due to the high Peak-to-Average Power Ratio (PAPR) of OFDM signals have been noted [37′]. QCode signal employed QPSK where the constellation points had the same magnitude. Although the baseband signal magnitude was not constant due to pulse-shaping, the PAPR of QCode was still very low and could be limited at 2.2 dB. In addition, QCode focused on uncoordinated access, which complemented the connection-orientated services in 3GPP.
Since 5G, grant-free communication has been proposed for cellular networks to support new service classes, such as Ultra-Reliable Low Latency Communication (URLLC) [7′], [8′], [6′]. Grant-free communications are expected to further expand in 6G [51′]. Proposals include those that did not need fundamental modifications to the physical layer, such as repeating a packet K times [29′] or transmitting a packet in a random frequency channel [12′], as well as those based on Non-Orthogonal Multiple Access (NOMA) [29′], which resolved collisions in the physical layer. Well-known NOMA schemes included Sparse Code Multiple Access (SCMA) [31′], Interleave Division Multiple-Access (IDMA) [35′], Multi-User Shared Access (MUSA) [55, 54′], Pattern Division Multiple Access (PDMA) [17′], etc., which had achieved impressive overload factors under the grant-based model where nodes operated according to parameters given by a central controller, such as codes, patterns, and transmission power. QCode supported uncoordinated access and therefore is different from grant-based NOMA [52′], [48′], [50′], [39′] and may be considered as a form of grant-free NOMA [44′], [38′], [40′], [10′], [11′], [43′], [16′], [33′], [9′], [49′], [53′], [46′]. However, QCode would be suitable for satellite communications because it did not have a high PAPR and did not need symbol level synchronization or accurate estimation of the Channel State Information (CSI).
Wi-Fi allowed grant-free access to the medium with Carrier Sense Multiple Access (CSMA) [41′], which may not be applied to LEO networks, primarily because many user terminals may not sense each other due to the physical distance. Commercial LEO networks, such as Starlink, used proprietary modulation techniques. Starlink downlink signal employs OFDM [24′]. The PAPR of the uplink signal by a transmitter of the user terminal can employ a high-cost amplifier to communicate to satellites.
The preamble can be further modified to include the long preamble chirp-based symbol and additionally, its conjugate, referred to as the ChirpPair. A user terminal transmits packets to the satellite at random times.
To achieve a higher timing granularity, the receiver can take a samples for each transmitted sample, where α>1 is the Over-Sampling Factor (OSF). In some embodiments, α=8, although the same principles applied to other values of a. The timing offset τ of a packet can be the difference between the actual and the estimated start time of the packet measured in the number of samples. Let β be the frequency that completes one cycle in the time to transmit a chirp. A sinusoid with frequency γβ Hz generally has frequency γ because it completes γ cycles within the time of a chirp.
The upchirp and the downchirp can be denoted as Θ and
It takes N/B seconds to transmit Θ where B is the system bandwidth measured in Hz.
Up-dechirping refers to multiplying a vector with
In Equation 13, in the first N−└τ/α┘ elements if τ≥0 or the last N−└τ/α┘ elements if τ<0, where └x┘ denotes the largest integer no more than x.
A signal vector S is defined per Equation 32, where FFT refers to the Fast Fourier Transform. S can have a peak at a location close to τ/α+γ.
Similarly, down-dechirping refers to multiplying a vector with Θ element-wise. If the received downchirp in the preamble is Rd, the down-dechirped vector of the received downchirp Rd is sinusoid with frequency (defined in Equation 33) in the first or the last N−└τ/α┘ elements depending on the sign of r.
Generally, dechirping the preamble refers to multiplying the conjugate of the preamble with a vector of the same length. For example,
ChirpPair starts with an initial search stage, which spots potential packets by calculating signal vectors shown in Equation 33 and looking for peaks. The timing offsets and CFO of potential packets can then be calculated with an operation to narrow down the errors within a small range. The fine estimation stage can obtain the final estimate of the timing offset and CFO by finding the best match between the received preamble and versions of the clean preamble with certain shifts in time and frequency, which may be simplified with a fast scan method by exploiting the special structure of the preamble. Finally, the path delays and gains can be estimated by an iterative algorithm and solving a linear system.
Step 1—Initial Search: The initial search may detect the potential packets in the received signal and obtain coarse estimates of the timing and frequency offsets by solving a linear system.
Initial search may include a prescreening process. Prescreening may slide a window and performed up-dechirping and down-dechirping on the vector inside a window. If the window partially overlaps with the upchirp or downchirp in the preamble, the dechirped vector may contain a partial sinusoid, the FFT of which should have a peak.
Specifically, during pre-screening, the stride may be set to N/4, i.e., the window moved down by Nα/4 samples every time. For up-dechirping or down-dechirping, one sample was taken for every α sample, starting from the left end of the window, for a total of N samples. When the window meets the upchirp or downchirp in the preamble, peaks should exist in 7 consecutive signal vectors. Peaks in these signal vectors may satisfy the shift condition; that is, the peaks may be shifted by N/4 in consecutive signal vectors due to the timing misalignment, which was a sign that they are generated by the same preamble.
The stride may be N/4 because the signal may be weak, and larger strides may miss packets. When the stride is N/4, the amount of overlaps between the center vectors and the window may be bounded from below by 7N/8 or 5N/8, which may be sufficient to spot the packet. If the stride further increased, say, to N/2, the amount of overlaps may be reduced to 3N/4 or N/4, which may be small and lead to packet loss.
Initial search may also include coarse estimation, e.g., based on the linear relation between the peak locations and the timing offset and CFO defined in Equation 31 and Equation 33. That is, let xu and xd be the locations of the upchirp peak and the downchirp peak of a packet, respectively. Based on Equation 31 and Equation 33, the timing offset and the CFO may be estimated as └(xu−xd)/2┘α and └(xu+xd)/2┘, where └ ┘ denotes rounding a number to the nearest integer.
Step 2—Fine Estimation: After the initial search, ChirpPair began fine estimation to further fine-tune the timing offset and CFO. There are two methods for fine estimation.
(a) Full search: Let R be the dechirped preamble, which was received according to the coarse estimate. Let Pτ,γ be the original preamble with timing error rand CFO γ, i.e., Pτ,γ was the original preamble time-shifted by τ samples then element-wise multiplied by a sinusoid with frequency γ. Let λτ,γ be the dechirped version of Pτ,γ. Let ‘⋅’ be the operator of finding the dot product of two complex vectors. The Matching Function,Ω(τ, γ),was defined per Equation 34:
If there is only one path and both τ and γ match the actual residual timing offset and CFO, respectively, λτ,γ is a scaled version of R, and Ω(τ, γ) may be maximized. Therefore, the estimated residue timing offset and CFO, denoted as {circumflex over (τ)} and {circumflex over (γ)}, respectively, are defined per Equation 35.
In Equation 35, τ is in [−4α, 4α] at a step of 1, and γ is in [−2, 2] at a step of ¼.
(b) Fast search: The full search method to find {circumflex over (τ)} and {circumflex over (γ)} is to evaluate all 1105 combinations of τ and γ. While this was reasonable considering Equation 34, a fast search may be employed based on the structure of the preamble in ChirpPair and reduced the computation complexity to less than 15%.
Fast search may be based on ridges, which may be observed in
The same combination of τ and γ, however, may not lead to a 0 frequency for the downchirp, so the dot product of the downchirp part was close to 0. Therefore, along the line where Equation 36 may be satisfied, the dot product of the preamble may be the dot product of the upchirp part about one-fourth the height of the peak. Based on Equation 36, the ridge lines may have constant slopes, i.e., either 1/α or −1/α.
To reduce the computation complexity along a probe line, τ may be evaluated at a step of 2. Therefore, the total number of evaluated points with the fast scan was 161, which may be less than 15% of the total number of combinations. It may be possible to find the peak location with fewer probe lines. Three probe lines may be used for robustness because the ridges sometimes were not clean due to multi-path. With multiple paths, there may be multiple pairs of ridges, each produced by a path. Fast search may still work well if one path is stronger than other paths. If multiple paths have comparable strengths, fast search can be avoided. Therefore, the fast search may be skipped if the number of ridges is not clearly 2, i.e., if there were 3 or more high points on any probe line where the height of the third highest point is at least half of the highest point.
If a fast search failed or was skipped, the full search may be conducted, i.e., all combinations of τ and γ are evaluated. In this case, the channel may be complicated, and there may be multiple peaks. Therefore, up to 4 peaks may be taken as candidate estimates, where a peak was taken if its height was at least 75% of the highest peak. The first estimate that leads to the decoding success of the PHY header may be used as the final estimate. Another step that reduced the errors is to check peaks with identical estimates of CFO first, because the peaks are generally caused by paths with different delays, but paths have the same CFO.
Step 3—Multi-path estimation: In high bandwidth channels, paths in the channel may become separable because the delay spread was larger than the sample time. For example, with 25 MHz bandwidth and α=8, a sample was taken every 5 ns, while the delay spread of a satellite link may be tens of ns. The satellite received one copy of the packet from each path with different delay, magnitude, and phase, which were denoted as τp, ap, and θp for path p, respectively. Such information of each path may be estimated to assist data demodulation.
The maximum delay spread of the channel was known as D, which was measured in the number of samples. For simplicity, the number of significant paths was no more than P, where P was a small integer, such as 2 or 3, depending on the channel bandwidth. ap and θp were also merged into a single complex number denoted as gp, called the path gain, where gp=apeiθp. At this point, the CFO of the packet may be estimated and canceled based on the strongest path. As the CFO of all paths was the same, the CFO was assumed to be 0. The idea was to divide-and-conquer. That was, the number of paths and the path delays were estimated first; then, the path gains were estimated.
(a) Estimate path delays: Let the received preamble signal be R. Let the original preamble shifted by τ samples be Pτ. Consider the path function F (τ) in Equation 37.
In Equation 37, when τ was close to the delay of a particular path, Pτ may match the signal from that path so that the summation was high.
Therefore, the number of paths and the path delays may be found with an iterative approach. In iteration p, the highest point in |F(τ)|2 may be found, the location of which, say, {circumflex over (τ)}p, may be used as the delay of path p. Then, the signal from this path was removed, as shown in Equation 38.
In Equation 38, W{circumflex over (τ)}
(b) Estimate path gains: After the path delays have been estimated, the path gains may be estimated. Consider the upchirp, as the same argument applies to the downchirp. Let Ru,{circumflex over (τ)}
As Ru,{circumflex over (τ)}
To elaborate, let Y be a column vector where element p was yp defined per Equation 40.
The FFT in Equation 39 may be avoided and replaced with Ru,{circumflex over (τ)}
Equations 41 and 42 may be pre-computed for −D≤τ≤D. C({circumflex over (τ)}p
In Equation 43, if G is the vector of path gains and Y is a column vector, then Equation 44 may be defined as:
Therefore, the path gains can be found by solving the linear system. Due to symmetry, it may be verified that the downchirp part satisfied the same linear system, and therefore the observations from the upchirp and downchirp parts may be averaged first before the linear system is solved.
ChirpPair Discussion. Low Earth Orbit (LEO) satellite networks provide global data service coverage and have seen rapid growth in recent years. Due to the large physical distance between the user terminal and the satellite, the latency is large in LEO networks, such as around 25-50 ms for standard users in Starlink [23″]. Uncoordinated access channels allow user terminals to transmit packets to the satellite without prior resource allocation so that the latency is reduced to the one-way propagation delay.
ChirpPair can detect the packet and learn its key parameters, such as the start time, Carrier Frequency Offset (CFO), and path information in multipath channels. The first step of receiving packets was packet acquisition, which may have the packet colliding with other packets; therefore, signals of the targeted packet should be detected and extracted in the midst of those from other packets that may have different power levels, frequencies, delays, etc. Second, the signal may be weak due to the length of the link [5″], [8″]. Third, the preamble should have constant magnitude to reduce the Peak Average Power Ratio (PAPR), where the preamble was a known waveform transmitted at the beginning of the packet.
ChirpPair's preamble can be the concatenation of a chirp and its conjugate, referred to as the upchirp and the downchirp, respectively, where a chirp was a complex vector with a constant magnitude and linearly increasing frequency. The chirp can have constant magnitude to achieve the minimum PAPR, as well as its known capability to cope with very weak channels. Additionally, a chirp can be efficiently processed with the help of the Fast Fourier Transform (FFT). A received chirp can eventually be converted into a vector with a peak, while the time and frequency offsets mainly change the location but do not affect the existence of the peak. As a result, the computation complexity can be significantly reduced because the receiver can find the chirp by searching only in the time dimension with large strides such as N/4, where N denotes the length of the chirp and the stride refers to the amount of movement of the sliding window in each step. In contrast, with preambles based on binary sequences, the receiver needed to run an exhaustive search in a two-dimensional grid of both time and frequency because the auto-correlation of the binary sequence was very low unless the time and frequency offsets were both close to 0. Further, channel delay resulted in opposite effects for the upchirp and downchirp, which simplified parameter estimation.
ChirpPair adopts a multi-stage process, where the initial stage spots the packets and obtains coarse estimates of the packet parameters by exploiting the special characteristics of the chirp, while the subsequent stages obtain more accurate and detailed estimates. ChirpPair has a fast scan method that may reduce the complexity of the fine estimate stage to less than 15% of the full search by exploiting the duality of the upchirp and the downchirp. ChirpPair was demonstrated with real-world experiments in the POWDER wireless platform [2″], which was an open platform at the University of Utah with radios that may be controlled remotely. Simulations with the 3GPP New Radio (NR) Non-Terrestrial Network (NTN) channel model [4″], [6″], [5″], [24″], [19″] further show that ChirpPair achieved high accuracy.
Existing satellite random access techniques include Contention Resolution Diversity Slotted ALOHA (CRDSA) [7″], [9″] and Enhanced Spread Spectrum Aloha (E-SSA) [21″], [12″], [10″], [11″], where E-SSA has been adopted in for standardization [3″] and recently evaluated [13″]. With spread sequence techniques such as E-SSA, the receiver may check for potential preambles at every time instant and every possible CFO because a correlation peak appears when the time and frequency offsets are both close to 0. In contrast, ChirpPair reduced the computation complexity because its initial stages search in the time dimension with a large stride of N/4, while the complexity in the fine estimation stage can be further reduced to less than 15% with a fast scan method. Despite its simplicity, ChirpPair achieved similar performance as the preamble based on binary spread sequences.
Chirp has been used in sonar, radar, and laser systems, as well as in data communication systems, such as LoRa [1″] and IEEE 802.15.4a [15″], [20″], where it is commonly referred to as Chirp Spread Spectrum (CSS) modulation. ChirpPair was inspired by the LoRa preamble, which consisted of a configurable number of upchirps followed by 2.25 downchirps, because the upchirp and downchirp allow the time and frequency offsets to be estimated with a simple linear system [25″]. ChirpPair exploits the same linear system to obtain a coarse estimation of time and frequency. A difference is the simplified preamble in ChirpPair, which can be more balanced between the upchirp and downchirp. ChirpPair's fast scan can obtain fine estimates of the parameters based on the unique structure of the preamble, which may not have been previously explored.
3GPP has started its expansion to Non-Terrestrial Networks [16″], [18″], [17″], [22″], which will be based on Orthogonal Frequency-Division Multiplexing (OFDM) and similar to those in existing cellular networks. Random access channels in 5G NR networks are referred to as the Physical Random-Access Channel (PRACH), in which the user terminals may transmit the Zadoff-Chu (ZC) sequences to the base station to initiate connections. There have been studies to customize the PRACH channel for LEO networks [26″], [14″], [8″], [27″]; however, the problems in PRACH channels are different because the ZC sequence is transmitted in the frequency domain with OFDM. Although it has been proposed to use the ZC sequence and its conjugate as the PRACH preamble [26″], [14″], the mathematical foundation is similar to that discussed in [25″]. ChirpPair, with its fast scan, can exploit the duality of the upchirp and downchirp.
ZChirp. A first study was conducted to develop and evaluate a wireless communication protocol ZChirp, that can improve the capacity of LEO networks and LPWANs. The ZChirp protocol can modulate data by combining the chirps and the Z sequence to provide both simultaneous packet transmissions and higher data rate. In the study, the complete physical layer of ZChirp was designed, implemented, and tested, which includes data modulation, Z sequence design, and packet acquisition. Experiments in the POWDER platform confirm that ZChirp packets from multiple nodes can be received correctly over real-world wireless channels. Simulations with the NTN channel and LTE ETU channel model show that ZChirp achieves significant improvement over the state-of-the-art.
Experiments in the POWDER Platform. The experiments of the first study demonstrated the ZChirp protocol in a real-world scenario. The first study conducted experiments in the POWDER platform [23]. Four nodes were used, where “Honors” acted as the gateway, while “Hospital,” “SMT,” and “UStar,” acted as the nodes with transmitter gains of 26 dB, 31 dB, and 31 dB, respectively. Each node transmitted a configurable number of packets at random times, where each packet was transmitted at the same power but with CFO randomly selected from [−2.44, 2.44] kHz. Each experiment lasted 10 seconds and was repeated 3 times. The SF was 6. The carrier frequency was 3.515 GHz, the bandwidth was 125 kHz, the OSF was 8, and the packet size was 64 bytes. The PRR of ZChirp was close to 1 when the traffic load was 30 kbps, i.e., when all 3 nodes were transmitting packets at their full capacities with very small gaps in between packets.
Simulations for LEO Networks. To assess the network capacity of ZChirp for LEO networks, simulations were run under the NTN channel [9], [11], [10], [85], [47]. The network capacity is defined as the network throughput when the PRR is above 0.9. In the simulation, the SF was 7, the bandwidth was 100 MHz, the packet size was 64 bytes, and the SNRs of the received packets were randomly selected in [−5, 15] dB. The SNR has a range of 20 dB to account for the errors in the transmission power control of the nodes. It has been found that the capacity of ZChirp is over 16 Mbps. In comparison, it was found that the existing satellite communication technologies, such as Enhanced Spread Spectrum Aloha (E-SSA) [64], [35], and IDMA [58], are less than 4 Mbps with the same simulation parameters. The capacity of ZChirp is, therefore, over 4×.
Simulations for LPWANs. To assess the network capacity of ZChirp for LPWANs, simulations were run under the LTE ETU channel model in the same manner as the experiments; that is, the bandwidth was 125 kHz, the packet size was 64 bytes, the OSF was 8, and the CFOs of the packets were randomly selected from [−2.44, 2.44] kHz. The SF was 7, and the SNRs of the received packets were randomly selected in [−5, 15] dB. It has been found that the capacity of ZChirp is over 25.6 kbps. In comparison, it was found that the capacity of the state-of-the-art, i.e., CurvingLoRa [44], is less than 10.9 kbps with the same simulation parameters. The capacity of ZChirp is, therefore, over 2.4×.
QCode. The first study also developed and evaluated QCode to improve the network capacity and data rates of LEO networks. QCode used long symbols while increasing the number of bits modulated on each symbol. Therefore, QCode achieved high network capacity without reducing data rates for individual user terminals. Experiments in the POWDER platform confirm that QCode packets may be received correctly in real-world wireless channels without prior synchronization. Simulations with satellite channel models show that QCode achieves higher network throughput than existing satellite communication technology.
Examples of Demodulated Symbols.
SIC simulations.
Comparison between QCode and E-SSA. The study compared QCode with E-SSA [36′], [20′], [23′], [19′], [21′] because E-SSA had been adopted for standardization [2′] and continues to generate interest [25′]. With E-SSA, the data modulation applied a phase shift to a binary spreading sequence depending on the value of the data. E-SSA could be used in UCACH be-cause the autocorrelation of the binary sequence was low unless the time offset was close to 0 so that signals from different user terminals can usually be separated. In the implementation, E-SSA also used QPSK for data modulation and the Raised Cosine filter for baseband signal generation. As a result, the baseband waveforms of E-SSA and QCode had similar characteristics, except that the data modulation with QCode was based on code vectors.
The spreading code of E-SSA in the implementation was the Gold sequence [22′]. Specifically, a Gold sequence of length 4096 was used as the base code. The spreading sequence of symbol i consisted of bits (i−1)E to iE−1 of the base code, wrapped around if needed, where E was the length of the spreading sequence. To facilitate the comparison, the study chose E to match the data rate of QCode. That was, three configurations of E-SSA were implemented, denoted as E-SSA 4, E-SSA 5, and E-SSA 6, to match QCode with SFs 4, 5, and 6, respectively. The values of E were 3, 6, and 12, for E-SSA 4, E-SSA 5, and E-SSA 6, resulting in data rates of 8.33 Mbps, 4.17 Mbps, and 2.09 Mbps, respectively. For simplicity, in the study, QCode with SFs 4, 5, and 6 are referred to as QCode 4, QCode 5, and QCode 6, respectively.
For error correction, the same Turbo code for the phase modulation of QCode was used for E-SSA. E-SSA used the same preamble and PHY header as QCode, so that E-SSA had the same packet detection ratio and parameter estimation accuracy as QCode. The E-SSA receiver also used the same procedure for packet decoding as the QCode receiver; that was, the E-SSA receiver also decoded strong packets first, then applied SIC to remove the signals of decoded packets, then detected and decoded more packets. For channels with multiple paths, a Rake receiver was used.
Comparison Results. The study compared QCode 6 with E-SSA 6. The packet size was 64 bytes, the carrier frequency was 3.515 GHz, the OSF was 8, and the bandwidth was 125 kHz. A CFO within ±4.88 kHz was selected and added to each packet.
The first set of experiments demonstrated that QCode achieved the same or better communication distance than E-SSA at similar data rates. QCode was mainly designed to improve the network capacity; however, the increase of capacity should not be at the cost of communication distance. As the communication distance was determined by the capability to decode weak signals, in this set of experiments, the Packet Receiving Ratio (PRR) was measured between a single pair of transmitter and receiver with varying transmission power levels to probe the limits of both schemes.
The second set of experiments focused on network capacity, which was defined as the network throughput under the constraint that the PRR was at least 0.9. As shown in
The experiments show that QCode worked in real-world wireless channels with noise, multi-path, and interference. The experiments also demonstrated the existence of a large gain of network capacity over E-SSA.
Simulation with Satellite Channels.
(a) Simulation Setup. In the simulations, the NTN channel [3′], [5′], [4′], [47′], [30′] was used, which was designed for the satellite communication scenario. The delay profile of the NTN channel was either NTN-TDL-A or NTN-TDL-D, which represented channels with multiple strong paths and those with a single strong line-of-sight path, respectively. The fading settings were Rayleigh and Rician for the NTN-TDL-A and NTN-TDL-D profiles, respectively. The channel bandwidth was 25 MHz, and the carrier frequency was 10 GHz. The altitude and speed of the satellite were chosen to match those of LEO networks and were 600 km and 7562.2 m/s, respectively. A node may estimate the Doppler shift frequency based on the downlink signals from the satellite and approximate it with a constant frequency, which may be applied to its uplink signal to cancel most of the Doppler shift effect. The delay spread of a node was selected within [10, 40] ns. The number of antennas at the gateway was 2, and the OSF was 8. Each packet carried 64 bytes of data. The CFO of a packet was selected within ±0.98 MHz.
(b) Link Performance. The link performance of a scheme was measured by the SNR threshold, which was defined as the minimum SNR to achieve a PRR of 0.9 when there was one transmitter and one receiver. A lower SNR threshold means a scheme is better at coping with weak signals and can reach a longer communication distance. As mentioned earlier, the study demonstrated that QCode improved the network capacity, not at the cost of the communication distance.
Various Aspects of QCode. To evaluate the design choices, the study compared QCode with the following schemes which are obtained by replacing or disabling certain parts of QCode per Table 2.
RandSegVec used random vectors as segment vectors but still kept the segmented design of QCode and, therefore, the same computation complexity.
RandCodeVec, on the other hand, used random vectors as code vectors and, therefore may not take advantage of the segmented design and experiences high computation complexity. However, as random code vectors are more likely to be dissimilar to each other, RandCodeVec likely suffers fewer demodulation errors.
ChirpPair. The study also developed and evaluated ChirPair to detect the packets and estimate key parameters of the packet for data demodulation. ChirpPair adopted a multi-stage process that increases the estimation accuracy of the parameters without incurring high computation complexity. ChirpPair was demonstrated in real-world experiments with over-the-air transmissions and was evaluated by simulations with the 3GPP New Radio (NR) Non-Terrestrial Network (NTN) channel model. The study shows that ChirpPair achieved high accuracy despite its low computation complexity.
Over-the-air experiments in POWDER platform. In the study, radios “Ustar,” “Hospital,” and “SMT” acted as user terminals and transmitted packets to another radio, “Honors,” which acted as the receiver. The user terminals played trace files prepared by software. Each trace contained 200 packets starting at random times with little gap in between. Each packet contained a sequence number, with which the transmitter of the packet may be identified. Packets from the same user terminal were transmitted at the same power but with random CFOs within ±4.88 kHz. The SF was 8, the carrier frequency was 3.515 GHz, the bandwidth was 125 kHz, the OSF was 8, and the experiment lasted 10 seconds. The signal power of the strongest and weakest user terminals differed by at least 10 dB. The receiver recorded the signal and stored it in a file to be processed by the same software used in simulations. The receiver software adopts Successive Interference Cancellation (SIC) for better performance.
Over 99% of the packets could be detected. As the transmission time and CFO of each packet were recorded during the generation of the trace file, the study evaluated the estimation accuracy of ChirpPair. The smallest time granularity was 1 μs because the bandwidth was 125 kHz and the OSF was 8, so a sample was taken every 1 μs.
As the system bandwidth was low at 125 kHz, the delay spread of links in the network was very small compared to the sample time. As a result, there was no multi-path in the channel, which was why the accuracy of timing offset estimation may be obtained by finding the difference between the actual and estimated start time of the packets. The bandwidth was low because the noise power was reduced by reducing the bandwidth, so that the desired communication range may be achieved. Despite the low bandwidth and the terrestrial channel, the study demonstrated ChirpPair in the real-world, where 3 user terminals transmitted packets almost non-stop simultaneously to the receiver.
Network Simulation. For a more quantitative evaluation of ChirpPair, simulations were conducted with the 3GPP New Radio (NR) Non-Terrestrial Network (NTN) channel [4″], [6″], [5″], [24″], [19″].
(a) Simulation Setup. The NTN channel was set up with 100 MHz channel bandwidth and 10 GHz carrier frequency. The altitude and speed of the satellite were 600 km and 7562.2 m/s, respectively. The user terminal may estimate the Doppler shift frequency based on the downlink signals and cancel it by adding to its uplink signal a constant frequency shift that best matches the Doppler shift frequency. The SF was 6, and the CFO of a packet was randomly selected from ±3.90 MHz. Each packet carried 64 bytes of data and lasted 21 μs. The delay spread of a user terminal was randomly selected within [10, 40] ns. The number of antennas at the receiver was 2. The delay profile was NTN-TDL-A, and the fading was Rayleigh.
(b) Implementation of BinPreamble. The study also implemented and tested the BinPreamble, where the binary preamble was based on the Gold sequence. The Gold sequence was used because it had low cross-correlations and has been widely used in CDMA and satellite communications. In tests with BinPream-ble, the preamble of a packet was replaced with a Gold sequence of the same length, while the rest of the packet was unchanged. SIC was also implemented for the BinPreamble.
The study implemented BinPreamble to demonstrate that the performance of ChirpPair and BinPreamble were similar because ChirpPair had low computation complexity. With the same search granularity in the time and frequency domain, ChirpPair and BinPreamble may exhibit similar performance because both were based on correlating complex vectors of the same length.
Packet detection with BinPreamble was experimented in [13″], and the basic approach was an exhaustive search on time and frequency. In the simulations, the search granularity of BinPreamble was the same as ChirpPair both in the time and frequency domain. That was, α was 8, and the frequency step was β/4 Hz. The search space in the time domain was limited to ±50 samples of the actual start time of every packet. For this reason, BinPreamble in the simulation was referred to as “BinPreamble Ideal” because it only needed to use the local maximum in a small space to detect a packet and obtain estimations and may skip parts of the signal that were known to contain no preamble.
(c) Single Transmitter Test. To reveal the performance as a function of the SNR without interference from other packets, the first set of tests involved only one transmitter.
Network Test. The study also carried out evaluations in a network setting, where user terminals transmitted packets at random times to the satellite. The SNR of the received packets were randomly distributed within [3, 23] dB. The minimum SNR was 3 dB, which was sufficiently high so that packet loss was mostly due to collisions. The largest and smallest SNR may differ by 20 dB to simulate errors in transmission power control. Each test lasted 125 ms, where the number of transmitted packets was from 200 to 800.
Fast scan.
Path estimation. The study conducted a test in a single transmitter setting when the SNR was −1 dB to compare the estimated path delays and gains with the actual values. It was found that in 10% of the cases, the estimated path number was less than the actual path number, which was usually due to missing the weakest path and, therefore did not affect packet decoding. Statistics were collected in the remain cases where the estimated and actual path numbers match.
Example Computing Device. An example computing device upon which the exemplary system and methods (e.g., for a part searcher) described herein may be implemented can include, but not limited to, personal computers, servers, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, network personal computers (PCs), minicomputers, mainframe computers, embedded systems, and/or distributed computing environments including a plurality of any of the above systems or devices. Distributed computing environments enable remote computing devices, which are connected to a communication network or other data transmission medium, to perform various tasks. In the distributed computing environment, the program modules, applications, and other data may be stored on local and/or remote computer storage media.
In a configuration, a computing device includes at least one processing unit and system memory. Depending on the exact configuration and type of computing device, system memory may be volatile (such as random access memory (RAM)), non-volatile (such as read-only memory (ROM), flash memory, etc.), or some combination of the two. The processing unit may be a programmable processor that performs arithmetic and logic operations necessary for the operation of the computing device. The computing device may also include a bus or other communication mechanism for communicating information among various components of the computing device.
Computing devices may have additional features/functionality. For example, a computing device may include additional storage, such as removable storage and non-removable storage, including, but not limited to, magnetic or optical disks or tapes. A computing device may also contain network connection(s) that allow the device to communicate with other devices. A computing device may also have input device(s) such as a keyboard, mouse, touch screen, etc. Output device(s) such as a display, speakers, printer, etc. may also be included. The additional devices may be connected to the bus in order to facilitate communication of data among the components of the computing device.
The processing unit may be configured to execute program code encoded in tangible, computer-readable media. Tangible, computer-readable media refers to any media that is capable of providing data that causes the computing device (i.e., a machine) to operate in a particular fashion. A computer-readable media may be utilized to provide instructions to processing unit 206 for execution. Example tangible, computer-readable media may include, but is not limited to, volatile media, non-volatile media, removable media, and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. System memory, removable storage, and non-removable storage are all examples of tangible, computer storage media. Example tangible, computer-readable recording media include but are not limited to, an integrated circuit (e.g., field-programmable gate array or application-specific IC), a hard disk, an optical disk, a magneto-optical disk, a floppy disk, a magnetic tape, a holographic storage medium, a solid-state device, RAM, ROM, electrically erasable program read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices.
In an example implementation, the processing unit may execute program code stored in the system memory. For example, the bus may carry data to the system memory, from which the processing unit receives and executes instructions. The data received by the system memory may optionally be stored on the removable storage or the non-removable storage before or after execution by the processing unit.
It should be understood that the various techniques described herein may be implemented in connection with hardware or software or, where appropriate, with a combination thereof. Thus, the methods and apparatuses of the presently disclosed subject matter, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium wherein, when the program code is loaded into and executed by a machine, such as a computing device, the machine becomes an apparatus for practicing the presently disclosed subject matter. In the case of program code execution on programmable computers, the computing device generally includes a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. One or more programs may implement or utilize the processes described in connection with the presently disclosed subject matter, e.g., through the use of an application programming interface (API), reusable controls, or the like. Such programs may be implemented in a high-level procedural or object-oriented programming language to communicate with a computer system. However, the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language and it may be combined with hardware implementations.
Unless otherwise expressly stated, it is in no way intended that any method set forth herein be construed as requiring that its steps be performed in a specific order. Accordingly, where a method claim does not actually recite an order to be followed by its steps or it is not otherwise specifically stated in the claims or descriptions that the steps are to be limited to a specific order, it is no way intended that an order be inferred, in any respect. This holds for any possible non-express basis for interpretation, including: matters of logic with respect to arrangement of steps or operational flow; plain meaning derived from grammatical organization or punctuation; the number or type of embodiments described in the specification.
While the methods and systems have been described in connection with certain embodiments and specific examples, it is not intended that the scope be limited to the particular embodiments set forth, as the embodiments herein are intended in all respects to be illustrative rather than restrictive.
In this specification and in the claims that follow, reference will be made to a number of terms, which shall be defined to have the following meanings:
As used herein, “comprising” is to be interpreted as specifying the presence of the stated features, integers, steps, or components as referred to, but does not preclude the presence or addition of one or more features, integers, steps, or components, or groups thereof. Moreover, each of the terms “by”, “comprising,” “comprises”, “comprised of,” “including,” “includes,” “included,” “involving,” “involves,” “involved,” and “such as” are used in their open, non-limiting sense and may be used interchangeably. Further, the term “comprising” is intended to include examples and aspects encompassed by the terms “consisting essentially of” and “consisting of” Similarly, the term “consisting essentially of” is intended to include examples encompassed by the term “consisting of”.
As used in the specification and the appended claims, the singular forms “a,” “an” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “a compound”, “a composition”, or “a cancer”, includes, but is not limited to, two or more such compounds, compositions, or cancers, and the like.
It should be noted that ratios, concentrations, amounts, and other numerical data can be expressed herein in a range format. It can be further understood that the endpoints of each of the ranges are significant both in relation to the other endpoint, and independently of the other endpoint. It is also understood that there are a number of values disclosed herein, and that each value is also herein disclosed as “about” that particular value in addition to the value itself. For example, if the value “10” is disclosed, then “about 10” is also disclosed. Ranges can be expressed herein as from “about” one particular value, and/or to “about” another particular value. Similarly, when values are expressed as approximations, by use of the antecedent “about,” it can be understood that the particular value forms a further aspect. For example, if the value “about 10” is disclosed, then “10” is also disclosed.
When a range is expressed, a further aspect includes from the one particular value and/or to the other particular value. For example, where the stated range includes one or both of the limits, ranges excluding either or both of those included limits are also included in the disclosure, e.g. the phrase “x to y” includes the range from ‘x’ to ‘y’ as well as the range greater than ‘x’ and less than ‘y’. The range can also be expressed as an upper limit, e.g. ‘about x, y, z, or less’ and should be interpreted to include the specific ranges of ‘about x’, ‘about y’, and ‘about z’ as well as the ranges of ‘less than x’, less than y’, and ‘less than z’. Likewise, the phrase ‘about x, y, z, or greater’ should be interpreted to include the specific ranges of ‘about x’, ‘about y’, and ‘about z’ as well as the ranges of ‘greater than x’, greater than y’, and ‘greater than z’. In addition, the phrase “about ‘x’ to ‘y’”, where ‘x’ and ‘y’ are numerical values, includes “about ‘x’ to about ‘y’”.
It is to be understood that such a range format is used for convenience and brevity, and thus, should be interpreted in a flexible manner to include not only the numerical values explicitly recited as the limits of the range, but also to include all the individual numerical values or sub-ranges encompassed within that range as if each numerical value and sub-range is explicitly recited. To illustrate, a numerical range of “about 0.1% to 5%” should be interpreted to include not only the explicitly recited values of about 0.1% to about 5%, but also include individual values (e.g., about 1%, about 2%, about 3%, and about 4%) and the sub-ranges (e.g., about 0.5% to about 1.1%; about 5% to about 2.4%; about 0.5% to about 3.2%, and about 0.5% to about 4.4%, and other possible sub-ranges) within the indicated range.
As used herein, the terms “about,” “approximate,” “at or about,” and “substantially” mean that the amount or value in question can be the exact value or a value that provides equivalent results or effects as recited in the claims or taught herein. That is, it is understood that amounts, sizes, formulations, parameters, and other quantities and characteristics are not and need not be exact, but may be approximate and/or larger or smaller, as desired, reflecting tolerances, conversion factors, rounding off, measurement error and the like, and other factors known to those of skill in the art such that equivalent results or effects are obtained. In some circumstances, the value that provides equivalent results or effects cannot be reasonably determined. In such cases, it is generally understood, as used herein, that “about” and “at or about” mean the nominal value indicated ±10% variation unless otherwise indicated or inferred. In general, an amount, size, formulation, parameter or other quantity or characteristic is “about,” “approximate,” or “at or about” whether or not expressly stated to be such. It is understood that where “about,” “approximate,” or “at or about” is used before a quantitative value, the parameter also includes the specific quantitative value itself, unless specifically stated otherwise.
As used herein, the terms “optional” or “optionally” means that the subsequently described event or circumstance can or cannot occur, and that the description includes instances where said event or circumstance occurs and instances where it does not.
The following patents, applications and publications as listed below and throughout this document are hereby incorporated by reference in their entirety herein.
This US application claims priority to, and the benefit of, U.S. Provisional Patent Application No. 63/518,440, filed Aug. 9, 2023, which is incorporated by reference herein in its entirety.
This invention was made with government support under Grant No. 1910268, awarded by the National Science Foundation. The government has certain rights in the invention.
Number | Date | Country | |
---|---|---|---|
63518440 | Aug 2023 | US |