METHOD FOR A TRANSMITTER TO TRANSMIT A SIGNAL TO A RECEIVER IN A COMMUNICATION SYSTEM, AND CORRESPONDING RECEIVING METHOD, TRANSMITTER, RECEIVER AND COMPUTER PROGRAM

20240413965 ยท 2024-12-12

    Inventors

    Cpc classification

    International classification

    Abstract

    A method for a transmitter to transmit a signal to a receiver in a communication system. The method includes: generating at least one spread frame having N spread symbols, obtained by mapping N encoded symbols onto N cyclically shifted versions of a given base sequence, with N2; and generating at least one overmodulated frame by modulating the at least one spread frame comprising N spread symbols by an overmodulation sequence of size N.

    Claims

    1. A method implemented by a transmitter to transmit a signal to a receiver in a communication system, the method comprising: generating at least one spread frame comprising N spread symbols, obtained by mapping N encoded symbols onto N cyclically shifted versions of a given base sequence, with N2; generating at least one overmodulated frame by modulating said at least one spread frame comprising N spread symbols by an overmodulation sequence of size N; and transmitting the signal comprising the at least one overmodulated frame in a communication system.

    2. The method of claim 1, wherein generating the at least one spread frame implements a Cyclic Code Shift Keying modulation.

    3. The method of claim 1, wherein generating the at least one overmodulated frame modulates a phase of the N spread symbols of said at least one spread frame.

    4. The method of claim 1, wherein said overmodulation sequence is: B = [ b 0 , b 1 , .Math. , b N - 1 ] and said at least one overmodulated frame is: F = [ b 0 P c 0 , b 1 P c 1 , .Math. , b N - 1 P c N - 1 ] with: b.sub.k{0,1}, [P.sub.c.sub.0, P.sub.c.sub.1, . . . , P.sub.c.sub.N1] the N spread symbols of said at least one spread frame and the exclusive or.

    5. The method of claim 1, wherein said overmodulation sequence belongs to the group consisting of: constant amplitude zero autocorrelation (CAZAC) sequence, a Barker sequence.

    6. The method of claim 1, wherein said encoded symbols are non-binary symbols.

    7. A method implemented by a receiver to receive a signal transmitted by a transmitter in a communication system, the method comprising: receiving at least one overmodulated frame in the communication system, said at least one overmodulated frame being generated at the transmitter by modulating at least one spread frame, comprising N spread symbols, by an overmodulation sequence of size N, the N spread symbols of said at least one spread frame being obtained at the transmitter by mapping N encoded symbols onto N cyclically shifted versions of a given base sequence, with N2; and determining a second estimate of a time of arrival at the receiver of said at least one spread frame, from a first estimate of said time of arrival and said overmodulation sequence.

    8. The method of claim 7, wherein determining the second estimate of said time of arrival, denoted .sub.0, comprises determining an estimate of a symbol synchronization error, denoted {tilde over (s)}, such as: n ~ 0 = n a + s ~ T with: n.sub.a the first estimate of said time of arrival, and T a time duration of the base sequence.

    9. The method of claim 8, wherein the estimate {tilde over (s)} of the symbol synchronization error is determined as: s ~ = arg max s - S , S { max { .Math. "\[LeftBracketingBar]" FFT ( n a + sT B ) .Math. "\[RightBracketingBar]" } } with: B a modulated version of the overmodulation sequence, n = ( n , n + q , n + q ( N - 1 ) ) , .sub.n a correlation factor with the highest absolute value between the received spread symbol indexed n and a set of all possible cyclically shifted versions of the base sequence, and 0<SN/2.

    10. The method of claim 8, wherein the estimate {tilde over (s)} of the symbol synchronization error is determined as: s ~ = arg max s - S , S { max { .Math. "\[LeftBracketingBar]" FFT ( A n a + sq n a + sT B ) .Math. "\[RightBracketingBar]" } } with: B a modulated version of the overmodulation sequence, .sub.n=(.sub.n, .sub.n+q, .sub.n+q(N1)), .sub.n a correlation factor with the highest absolute value between the received spread symbol indexed n and a set of all possible cyclically shifted versions of the base sequence, A.sub.n=(.sub.n, .sub.n+q, .sub.n+q(N1)), .sub.n a weighting factor, and 0<SN/2.

    11. The method of claim 8, wherein determining the second estimate of said time of arrival further comprises determining an estimate of a chip synchronization error, denoted {tilde over (r)}, wherein: n ^ 0 = n a + s ~ T + r ~

    12. The method of claim 11, wherein said encoded symbols are non-binary symbols and wherein the estimate r of the chip synchronization error is determined from messages sent from at least one non-binary constraint node to a non-binary variable node in a step of decoding the encoded symbols.

    13. A transmitter for transmitting a signal to a receiver in a communication system, the transmitter comprising: at least one processor configured to: generate at least one spread frame comprising N spread symbols, obtained by mapping N encoded symbols onto N cyclically shifted versions of a given base sequence, with N2; generate at least one overmodulated frame by modulating said at least one spread frame comprising N spread symbols by an overmodulation sequence of size N; and transmit the signal comprising the at least one overmodulated frame in a communication system.

    14. A receiver for receiving a signal transmitted by a transmitter in a communication system, the receiver comprising: at least one processor configured to: receive at least one overmodulated frame in the communication system, said at least one overmodulated frame being generated at the transmitter by modulating at least one spread frame, comprising N spread symbols, by an overmodulation sequence of size N; and the N spread symbols of said at least one spread frame being obtained at the transmitter by mapping N encoded symbols onto N cyclically shifted versions of a given base sequence, with N2; and determine a second estimate of a time of arrival at the receiver of said at least one spread frame, from a first estimate of said time of arrival and said overmodulation sequence.

    15. A non-transitory computer readable medium comprising a computer program stored thereon including instructions for implementing the method according to claim 1 when the program is executed by a processor of the transmitter.

    16. A non-transitory computer readable medium comprising a computer program stored thereon including instructions for implementing the method according to claim 7 when the program is executed by a processor of the receiver.

    Description

    4. LIST OF FIGURES

    [0099] Other features and advantages of the invention will emerge more clearly upon reading the following description of a particular embodiment, given by way of simple illustrative and non-limiting example, and the appended drawings, among which:

    [0100] FIG. 1 illustrates a CCSK-based system model of the prior art;

    [0101] FIG. 2 presents the main steps of the transmission method according to at least one embodiment;

    [0102] FIG. 3 presents the main steps of the reception method according to at least one embodiment;

    [0103] FIG. 4 illustrates a communication system according to a specific embodiment;

    [0104] FIG. 5 shows examples of synchronization of different symbol offsets for different received frames;

    [0105] FIG. 6 shows examples of synchronization of different chip offsets for different received frames;

    [0106] FIG. 7 illustrates simulation results when different embodiments of symbol synchronization and chip synchronization are implemented;

    [0107] FIG. 8 shows the simplified structure of a transmitter for transmitting a signal according to one embodiment of the invention;

    [0108] FIG. 9 shows the simplified structure of a receiver for receiving a signal according to one embodiment of the invention.

    5. DESCRIPTION OF AT LEAST ONE EMBODIMENT

    5.1 General Principal

    [0109] The general principal of the disclosure is to overmodulate a frame of spread symbols, using an overmodulation sequence (i.e. a non-constant sequence). According to at least one embodiment, the overmodulation sequence has specific auto-correlation properties, in order to improve the time synchronization at the symbol level at the receiver.

    [0110] FIG. 2 illustrates the main steps of the transmission method according to at least one embodiment.

    [0111] In a first step 21, N encoded symbols are mapped onto N spread symbols. The N spread symbols comprise a given base sequence and N1 cyclically shifted versions of said base sequence, with N2. Each encoded symbol is thus mapped on a different version of the same base sequence.

    [0112] The base sequence can be a pseudo-random binary sequence.

    [0113] The encoded symbols could be binary or non-binary symbols. In other words, the encoded symbols could belong to a set of cardinalities q2, for example the Galois field GF(q). If q>2, non-binary codes can be NB-Low Density Parity Check (NB-LDPC) codes, NB-Turbo, NB Turbo Product Codes, or NB-Polar codes for example.

    [0114] If no encoding is implemented at the transmitter, the encoded symbols can be source symbols. If encoding is implemented at the transmitter, the encoded symbols form a codeword C.

    [0115] The N spread symbols can be concatenated to form a spread frame.

    [0116] For example, step 21 implements a CCSK modulation on the encoded symbols, using a binary pseudo random sequence as base sequence.

    [0117] In a second step 22, at least one spread frame (each spread frame comprising N spread symbols) is overmodulated by an overmodulation sequence of size N. Such overmodulation sequence can be a binary sequence.

    [0118] For example, step 22 implements a phase modulation on the spread symbols, using a binary sequence with good auto-correlation properties as overmodulation sequence. Each of the N spread symbols of a spread frame are thus modulated by an overmodulation symbol of the overmodulation sequence, to modify the phase of the spread symbols and generate an overmodulated frame.

    [0119] The overmodulated frame (i.e., the overmodulation sequence B and the spread symbols) can be modulated by a binary phase shift keying modulation before transmission.

    [0120] Examples of base sequences and overmodulation sequences are given in Appendix 1.

    [0121] The overmodulated frame can be transmitted to the receiver through a communication channel.

    [0122] FIG. 3 illustrate the main steps of the reception according to at least one embodiment.

    [0123] In a first step 31, at least one overmodulated frame is obtained by the receiver.

    [0124] In a second step 32, a first estimate n.sub.a of a time of arrival at the receiver of at least one spread frame can be obtained. As the overmodulated frame is the same as the spread frame except for the phase change of the spread symbols, the time of arrival of the spread frame is the same as the time of arrival of the overmodulated frame. The first estimate can be a coarse estimate, determined using any known technique or based on a hypothesis.

    [0125] In a third step 33, a second estimate .sub.0 of the time of arrival of said at least one spread frame is determined from said first estimate and said overmodulation sequence. The second estimate can be a fine estimate.

    [0126] According to at least one embodiment, determining the second estimate .sub.0 comprises determining an estimate of a symbol synchronization error, denoted s, such as:

    [00023] n ~ 0 = n a + s ~ T

    with T the time duration of the base sequence (for example T=q the number of chips of the base sequence when a CCSK modulation is implemented at the transmitter).

    [0127] According to at least one embodiment, determining the second estimate .sub.0 further comprises determining an estimate of a chip synchronization error, denoted {tilde over (r)}. In this case, the second estimate is denoted {circumflex over (n)}.sub.0, such as:

    [00024] n ^ 0 = n a + s ~ T + r ~

    [0128] Indeed, the inventors have found that at low SNR, the time synchronization error can be the sum of two events: symbol synchronization errors and chip synchronization error. A two-step time synchronization algorithm is thus proposed to first compensate the symbol synchronization errors at the symbol level using an overmodulation sequence at the transmitter, and possibly to compensate the chip synchronization error at the chip level using the code structure, especially when a non-binary encoder and a CCSK modulation are used at the transmitter.

    5.2 Time Synchronization of CCSK Short Frame

    [0129] We describe hereafter an example of a method for transmitting and receiving a signal according to at least one embodiment, where the spread symbols are obtained using a Cyclic Code Shift Keying modulation scheme. However, as already mentioned, the disclosure is not limited to this kind of modulation, and any spread spectrum technique enabling to spread or extend the encoded symbols can be used. More generally, any time function (t) over the time interval [0, T] that is not constant (for example that possesses good autocorrelation properties) can be used.

    [0130] In addition, we consider that the encoded symbols are obtained using a non-binary encoder, for example a LDPC non-binary encoder. Once again, the disclosure is not limited to this kind of encoding, and other non-binary codes (for example NB turbo codes, NP Polar codes, etc), or binary codes, or even no encoding at all, could also be used.

    [0131] We also consider a two-step time synchronization algorithm. In the first step, an overmodulation aided symbol synchronization process is proposed to suppress the time ambiguity at the symbol level (from n.sub.a to .sub.0). Then, in the second step, which is optional, a coded-aided process mitigates the time chip ambiguity (from .sub.0 to {circumflex over (n)}.sub.0), leading to the final time synchronization considered to be exact with a high probability.

    [0132] The input of the time synchronization algorithm implemented at the receiver is a set of 2N received samples that are assumed to contain a CCSK frame, as well as the first coarse time estimation n.sub.a. The output of the algorithm is the final estimation of the time of arrival (either .sub.0 if only the first step of the time synchronization algorithm is implemented, or {circumflex over (n)}.sub.0 if the two steps of the time synchronization algorithm are implemented).

    [0133] The communication system according to this embodiment can be used to transmit short packets without any additional symbol dedicated to the function of detection and synchronization at ultra-low SNR, i.e., SNR<0 dB. This preamble-less frame, also referred to as a Quasi-Cyclic Short Packet (QCSP) frame, is based on the use of a CCSK modulation scheme jointly associated with a non-binary (NB) forward error correction code defined over a Galois Field GF(q), where q>2. According to such embodiment, the proposed detection-synchronization algorithm will process the blocks of the received samples and compute the start of the frame with high accuracy at very low SNRs, based on the efficient matching between the CCSK modulation and the NB-LDPC coding for example.

    [0134] FIG. 4 illustrates the communication system according to such embodiment.

    [0135] At the transmitter side, non-binary encoding 41 and CCSK modulation 42 are implemented, in order to generate at least one spread frame comprising N spread symbols, denoted F.sub.CCSK.

    [0136] According to the illustrated embodiment, non-binary encoding 41 and CCSK modulation 42 can be similar to non-binary encoding 11 and CCSK modulation 12 disclosed in relation with FIG. 1, and are thus not described in more details here.

    [0137] The CCSK frame F.sub.CCSK is thus defined as the concatenation of N CCSK symbols, i.e., F.sub.CCSK=[P.sub.c.sub.0, P.sub.c.sub.1, . . . , P.sub.c.sub.N1], with P.sub.c.sub.k={P.sub.0(ic.sub.k mod q)}.sub.i=0, . . . , q1 and P.sub.0={P.sub.0(i)}.sub.i=0, . . . , q1 the given base sequence, where P.sub.0(i){0,1}. P.sub.0(i){0,1} can be converted into P.sub.0(i){1,1} using a binary phase shift keying modulation before transmission.

    [0138] According to the disclosure, at least one overmodulated frame, also called QCSP frame or frame F, is generated using an overmodulation (OM) sequence at the transmitter side. More specifically, at step 43, the CCSK frame F.sub.CCSK is overmodulated by an overmodulation sequence of size N in order to enhance the synchronization process after the reception of the frame, without affecting the overall coding rate.

    [0139] In other words, such overmodulation sequence is added to the CCSK symbols to help determining when the CCSK frame starts, at the symbol level, especially in a very noisy environment.

    [0140] According to at least one embodiment, the overmodulation sequence has good auto-correlation properties. The correlation of the same version of the overmodulation sequence is thus above a first threshold, whereas the correlation of cyclically shifted versions of the overmodulation sequence is below a second threshold and neglectable (with the first threshold greater than the second threshold). For example, the overmodulation sequence is a binary sequence B=[b.sub.0, b.sub.1, . . . , b.sub.N1], with b.sub.k{0,1}, and the overmodulated frame is:

    [00025] F = [ b 0 P c 0 , b 1 P c 1 , .Math. , b N - 1 P c N - 1 ] ( 6 )

    [0141] The overmodulation sequence can also be a Barker sequence or a CAZAC sequence (for example a Zadoff-Chu sequence).

    [0142] The overmodulated frame (i.e., the overmodulation sequence B and the spread symbols) can be modulated by a binary phase shift keying modulation before transmission.

    [0143] In this case, the modulated version of the overmodulated frame can be expressed as:

    [00026] F = [ ( - 1 ) b 0 P c 0 , ( - 1 ) b 1 P c 1 , .Math. , ( - 1 ) b N - 1 P c N - 1 ]

    with:

    [00027] P c k = { P 0 ( i - c k mod q ) } i = 0 , .Math. , q - 1 P 0 ( i ) { - 1 , 1 } .

    [0144] As already mentioned, the modulated version of the overmodulated frame thus comprises a known sequence of 1 where 1 gives no phase change to a spread symbol and 1 gives a rotation to a spread symbol, within the sequence of spread symbols to transmit. This phase pattern is expected to be recovered even when a residual frequency offset .sub.r causes a rotational effect on the symbols being decoded.

    [0145] According to the disclosure, instead of transmitting at least one CCSK frame F.sub.CCSK, the transmitter transmits at least one overmodulated frame F such as defined before.

    [0146] With this additional modulation according to the disclosure, the phase of the maximum values found at the output of the correlation block at the receiver can be used to determine the exact window of arrival of the incoming frame.

    [0147] Before transmission, the overmodulated frame F is composed of Nq BPSK symbols. The overmodulated frame F is then shaped by a half-raised cosine filter with a roll-off factor for example equal to 0.35.

    [0148] The model of the transmission channel can be similar to the one disclosed in relation with FIG. 1.

    [0149] As already mentioned, the received message y(n) can be expressed as equation (1) disclosed in the prior art section:

    [00028] y ( n ) = e j ( 2 f 0 ( n - n 0 ) + 0 ) F ( n - n 0 ) + z ( n ) ( 1 )

    [0150] A frame detection step 44 can be implemented to determine a first estimate n.sub.a of the time of arrival of the overmodulated frame F (equivalently the CCSK frame F.sub.CCSK), based on the observation of Nq received samples. For example, the frame detector 44 is the one disclosed in the previously cited document Quasi Cyclic Short Packet for asynchronous preamble-less transmission in very low SNRs.

    [0151] According to the disclosure, a time synchronization algorithm is implemented in step 45 to determine a second estimate .sub.0 of the time of arrival of the overmodulated frame F (equivalently the CCSK frame F.sub.CCSK), based on the first estimate n.sub.a and the overmodulation sequence. If the two steps of the time synchronization algorithm are implemented, the output of the time synchronization step 45 is {circumflex over (n)}.sub.0.

    [0152] The residual frequency offset .sub.r can be limited to a given interval. For example, the absolute phase offset between two chips can be bounded by 210.sup.3 radian. The frequency .sub.0 in equation (1) can thus be replaced by .sub.r for the time synchronization task.

    5.2.1 Symbol Synchronization

    [0153] As disclosed in equation (4) in the prior art section, document Quasi Cyclic Short Packet for asynchronous preamble-less transmission in very low SNRs defines the corresponding correlation value as:

    [00029] n = L n ( d n ) ( 4 )

    [0154] The detection score function SC.sub.n(Y) can be defined as:

    [00030] SC n ( Y ) = .Math. k = 0 N - 1 .Math. "\[LeftBracketingBar]" n + kq .Math. "\[RightBracketingBar]" .Math. y n + kq .Math. 2 [0155] where y.sub.u.sub.2 represents the 2-norm value of vector y.sub.u.

    [0156] The exact value of .sub.n.sub.0.sub.+kq given in (4), with the hypothesis that the hard decision d.sub.n.sub.0.sub.+kq given in equation (3) given in the prior art section is correct, i.e. d.sub.n.sub.0.sub.+kq=c.sub.k, with n.sub.0 the unknown time offset (where n.sub.0 encompasses both the exact time of emission and time of propagation between the transmitter and the receiver), can be determined.

    [0157] In that case, according to equation (2) disclosed in the prior art section:

    [00031] n 0 + kq = .Math. i = 0 q - 1 y ( n 0 + kq + i ) P c k ( i ) ( 7 )

    [0158] By replacing y(n.sub.0+kq+i) by its value given in (1), we have:

    [00032] n 0 + kq = ( - 1 ) b k e j ( 2 f r kq + 0 ) .Math. i = 0 q - 1 e j 2 f r i + Z n 0 + kq n 0 + kq = ( - 1 ) b k e j ( 2 f r kq + 0 ) 1 - e j 2 f r q 1 - e j 2 f r + Z n 0 + kq n 0 + kq = ( - 1 ) b k e j ( k + ) sin ( f r q ) sin ( f r ) + Z n 0 + kq ( 8 )

    with =2.sub.rq and =.sub.0+2.sub.r(q1)/2.

    [0159] One can note that if |.sub.rq|<<1, then

    (between 63.56 and 64 for q=64 and |.sub.r|10.sup.3 for example).

    [0160] Finally, Z.sub.n.sub.0.sub.+kq represents a realization of a AWGN of zero mean and {square root over (q)} as standard deviation.

    [0161] Let us define the .sub.n.sub.0 as .sub.n.sub.0=(.sub.n.sub.0, .sub.n.sub.0.sub.+q, .sub.n.sub.0.sub.+q(N1)).

    [0162] In the absence of wrong decision, the term-by-term vector multiplication of .sub.n.sub.0 and the modulated version B of the overmodulation sequence B (i.e. the overmodulation sequence B after BSPK modulation for example) gives:

    [00033] n 0 B qe j ( 1 , e j , e j 2 , .Math. , e j ( N - 1 ) ) + Z n 0 ( 9 )

    with Z.sub.n.sub.0 a vector of N AWGN samples of zero mean and {square root over (q)} standard deviation.

    [0163] In summary, in the absence of wrong decision, .sub.n.sub.0B is a pure sinusoidal vector of length N and frequency affected by AWGN. This property is used to suppress time ambiguity at the symbol level. In fact, the initial time estimation n.sub.a (also known as first estimate) of n.sub.0 is affected by s symbol synchronization errors and r chip synchronization errors. By neglecting the chip synchronization errors in this first step of the algorithm, we get n.sub.0=n.sub.a+sq.

    [0164] If s0, the vector .sub.n.sub.aB does not generate a pure sinusoidal of length N, but will include a sequence of Ns successive components of custom-character that contains no regular pattern, thanks to the choice of the overmodulation sequence B. It is thus possible to estimate the value of the symbol synchronization error s by selecting the value {tilde over (s)} that makes the hypothesis .sub.n.sub.a.sub.+sqB is a pure sinusoidal affected by noise the more likely. This estimated value {tilde over (s)} will give an updated version of the estimation of the arrival time n.sub.a (also known as second estimate) .sub.0=n.sub.a+{tilde over (s)}q.

    [0165] According to a first embodiment, the value of the symbol synchronization error s that maximizes the maximum module of the Fast Fourier Transform of the .sub.n.sub.a(s)B vector can be selected.

    [0166] In other words, according to this first embodiment, the ambiguity on symbol position is solved by taking {tilde over (s)} as:

    [00034] s ~ = arg max s - S , S { max { .Math. "\[LeftBracketingBar]" FFT ( n a + sq B ) .Math. "\[RightBracketingBar]" } } ( 10 )

    with: [0167] B a modulated version of the overmodulation sequence (i.e. sequence B after BPSK modulation), [0168] .sub.n=(.sub.n, .sub.n+q, .sub.n+q(N1)), [0169] .sub.n the correlation factor with the highest absolute value between the received spread symbol indexed n and the set of all possible cyclically shifted versions of the base sequence, and [0170] 0<SN/2.

    [0171] Such first embodiment can be called OverModulation (OM) algorithm.

    [0172] This method is simple and suppresses the symbol ambiguity in the large majority of the cases.

    [0173] According to a second embodiment, the values of .sub.s can be weighted by a coefficient that indicates the reliability of the decision. Let do be the index of the second-highest decision in equation (2), and L.sub.n=L.sub.n(d.sub.n.sup.2), i.e.:

    [00035] d n 2 = arg max i = 0 , 1 , .Math. , q - 1 , i d n { .Math. "\[LeftBracketingBar]" L n ( i ) ) .Math. "\[RightBracketingBar]" } ( 11 )

    [0174] The relative ratio .sub.n between |.sub.n| and |.sub.n|, defined as

    [00036] n = .Math. "\[LeftBracketingBar]" n .Math. "\[RightBracketingBar]" - .Math. "\[LeftBracketingBar]" n .Math. "\[RightBracketingBar]" .Math. "\[LeftBracketingBar]" n .Math. "\[RightBracketingBar]" ,

    is a good indicator of the reliability of the decision. For example, .sub.n=0 means that the decisions d.sub.n and d.sub.n.sup.2 have the same reliability, thus d.sub.n is not a reliable decision. On the contrary, .sub.n close to 1 indicates a very reliable decision. .sub.n can thus be considered as a weighing factor.

    [0175] Let A.sub.n be the vector A.sub.n=(.sub.n, .sub.n+q, .sub.n+q(N1)), the estimate {tilde over (s)} of the symbol synchronization error according to this second embodiment is thus given as:

    [00037] s ~ = arg max s - S , S { max { .Math. "\[LeftBracketingBar]" FFT ( A n a + sq n a + sq B ) .Math. "\[RightBracketingBar]" } } ( 12 )

    with: [0176] B the modulated version of the overmodulation sequence, [0177] .sub.n=(.sub.n, .sub.n+q, .sub.n+q(N1)), and [0178] .sub.n the correlation factor with the highest absolute value between the received spread symbol indexed n and the set of all possible cyclically shifted versions of the base sequence, [0179] 0<SN/2.

    [0180] Such second embodiment can be called Weighted OverModulation (WOM) algorithm.

    [0181] FIG. 5 shows the value of max{|FFT(A.sub.n.sub.a.sub.+sq.sub.n.sub.a.sub.+sqB)|} (equation (12)) where four received overmodulated frames are considered with N=64, q=64 at SNR of 10 dB.

    [0182] The initial coarse time estimations n.sub.a (first estimate) given by the detection algorithm of the frame detector 44 for the four frames are affected by a synchronization time error sq with s=9, 0, 2 and 7 respectively. In each case, equation (12) allows a correct estimation of the symbol synchronization error.

    5.2.2 Chip Synchronization

    [0183] In the first step of the time synchronization algorithm described above, we neglected the chip errors and consider that n.sub.0=n.sub.a+sq.

    [0184] In order to further enhance the time synchronization, a second step of the time synchronization algorithm can be implemented. In this case, we consider that n.sub.0=n.sub.a+sq+r. The objective of the chip synchronization is to estimate the remaining chip errors r=n.sub.0.sub.0.

    [0185] Two embodiments are disclosed below.

    [0186] According to a first embodiment, a Syndrome-Based (SB) time synchronization is used on the proposed QCSP frame (overmodulated). Such Syndrome-Based time synchronization is based for example on the documents Blind frame synchronization and phase offset estimation for coded systems (R. Imad and S. Houcke, in 2008 IEEE 9th Workshop on Signal Processing Advances in Wireless Communications, 2008, pp. 11-15) or in Frame Synchronization Techniques for non-binary LDPC Codes over GF(q) (R. Imad, C. Poulliat, and S. Houcke, January 2011, pp. 1-6).

    [0187] According to a second embodiment, the SB time synchronization can be further improved by replacing the hard metric, which is the check node syndrome calculation, with a soft Variable Node-Based (VNB) metric.

    [0188] As previously stated, we consider for example that the encoding step 41 implements a non-binary LDPC encoder.

    [0189] Let us first describe some features of the NB-LDPC code defined by the parity check matrix H of NK rows and N columns. The code is assumed to be regular, for example with weights d.sub.v=2 columns and d.sub.c=3 rows (code rate 12/3=1/3). Let custom-character(j) be the set of the d.sub.c=3 non-null positions of the j.sup.th row of H. The j.sup.th parity check equation for a vector X=(x(0), x(1), . . . x(N1)) is defined as:

    [00038] .Math. i ( j ) h ( j , i ) x ( i ) = 0 ( 13 )

    [0190] Let us define D.sub.n=(d.sub.n, d.sub.n+q, . . . , d.sub.n+(N1)q).

    [0191] In the absence of decoding error, D.sub.n.sub.0 is a codeword and thus, all the parity checks are fulfilled.

    [0192] If the number of detection errors is low enough, only a few parity checks will not be fulfilled. On the other side, if nn.sub.0, D.sub.n can be seen as a random vector, and thus, the number of non-verified parity checks will be in average close to NK since each check node has one chance over q to be fulfilled.

    [0193] Let us define NoZ(D.sub.n) (Number of Zero) the function that counts the number of satisfied parity checks.

    [0194] According to the first embodiment (SB time synchronization), the remaining chip errors can be estimated using the syndrome-based aided chip synchronization, over multi hypotheses rcustom-characterR, Rcustom-character, with

    [00039] 0 < R q 8 [0195] as:

    [00040] r ^ = arg max r - R , R { NoZ ( D n ~ 0 + r ) } ( 14 )

    [0196] For example, R=1/2.

    [0197] This method is efficient as long as the number of decoding errors is low enough.

    [0198] According to the second embodiment (VNB), the SB method seen at the check node level can be replaced with a VNB method treating a soft syndrome seen at the variable node level, in particular if the number of decoding errors is not low enough. The idea is to perform one decoding iteration of the code with the hard decision vector D.sub.n. This decoding iteration generates d.sub.v=2 check to variable messages for each variable. The two messages M.sub.j.fwdarw.i sent by checks jcustom-character(i) to variable i message can be defined as proposed in document Low-complexity reliability-based message-passing decoder architectures for non-binary LDPC codes (X. Zhang, F. Cai, and S. Lin, IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 20, no. 11, pp. 1938-1950, 2012):

    [00041] M j .fwdarw. i ( D n ) = h ( j , i ) - 1 .Math. i ( j ) , i i h ( j , i ) D n ( i ) ( 15 )

    [0199] Let us defined D.sub.n.sup.2 as the decision vector of the second-highest reliable decision, i.e. D.sub.n.sup.2=(d.sub.n.sup.2, d.sub.n+q.sup.2, . . . , d.sub.n+(N1)q.sup.2) with do defined in equation (11).

    [0200] Similarly, D.sub.n.sup.3 is defined as the decision vector of the third-highest reliable decision, i.e. D.sub.n.sup.3=(d.sub.n.sup.3, d.sub.n+q.sup.3, . . . , d.sub.n+(N1)q.sup.3) with do defined as

    [00042] d n 3 = arg max i = 0 , 1 , .Math. , q - 1 , i d n , d n 2 { .Math. "\[LeftBracketingBar]" L n ( i ) ) .Math. "\[RightBracketingBar]" } ( 16 )

    [0201] Let us define the score function G.sub.n as:

    [00043] G n = .Math. i = 0 N - 1 .Math. j ( i ) f ( M j .fwdarw. i ( D n ) , D n ( i ) , D n 2 ( i ) , D n 3 ( i ) ) ( 17 )

    here (m, x, x.sub.2, x.sub.3) is a function of GF(q).sup.4 to the real number that associate a value 1 if m=x, a value 0.9 if m=x.sub.2, a value 0.8 if m=x.sub.3, and 0 otherwise.

    [0202] The remaining chip errors can be estimated as:

    [00044] r ^ = arg max r - R , R { G n ~ 0 + r } ( 18 )

    [0203] The values 1, 0.9, 0.8, and 0 have been determined through the following analysis. In case of correct synchronization (i.e. correct hypothesis r giving n.sub.0=.sub.0+r without any decision error in D.sub.n.sub.0), the output of the check nodes M.sub.j.fwdarw.i(D.sub.n.sub.0) will equal D.sub.n.sub.0(i). If D.sub.n.sub.0 contains some errors, most probably the outputs of parity checks may have some elements in D.sub.n.sub.0.sup.2, and less probable in D.sub.n.sub.0.sup.3. In worst-case scenarios, the output is neither element of the three different vectors. It is worth noticing here that in the case of good synchronization and with no errors on the first decisions D.sub.n.sub.0, the output of the score function G.sub.n.sub.0 will be, G.sub.n.sub.0=N2 (since d.sub.v=2).

    [0204] FIG. 6 illustrates examples of G.sub..sub.0.sub.+r values as a function of r, by applying equation (18) over 4 independent received overmodulated frames affected by the chips errors 3, 0, 0 and 3, respectively.

    [0205] After this chip synchronization process, the received QCSP frames (overmodulated frames) are perfectly synchronized.

    [0206] Once the time synchronization step 45 has been completed (using the first step of the time synchronization algorithm, or the two steps of the time synchronization algorithm), classical steps of LLR computation 46 and NB decoding 47 can be implemented. Such steps are similar to the LLR computation 18 or NB-Code decoding step 19 illustrated in FIG. 1.

    5.2.3 Simulation Results

    [0207] FIG. 7 illustrates simulation results when different embodiments of symbol synchronization (first embodiment called OverModulation OM or second embodiment called weighted OM WOM) and chip synchronization (first embodiment called Syndrome Based SB or second embodiment called Variable Node-Based VNB) are implemented.

    [0208] The CCSK frame used for simulation is of size N=60 symbols over GF(64). The associate NB-LDPC code is a regular code of coding rate R.sub.c=1/3, with check node degree d.sub.c=3 and variable node degree d.sub.v=2, and time and frequency shifts considered to be uniform randomly distributed.

    [0209] The Monte Carlo simulations were run over a AWGN channel with stopping criteria of 100 miss-detected or miss-synchronized frames.

    [0210] Curve 71 shows the miss-detection probability custom-character.sub.md of the blind detection method as presented in previously cited document Quasi Cyclic Short Packet for asynchronous preamble-less transmission in very low SNRs, where the time and frequency bins being considered are q/4 and /2, with a probability of false alarm P.sub.fa=10.sup.6.

    [0211] In order to compare the performance of the different algorithms, the second step is to feed the blind-synchronization block with the frames being successfully detected and then assess the synchronization performance. In this example, the frames being processed contain a residual frequency error bounded by 10.sup.3.

    [0212] Curve 72 shows the probability of miss-synchronization custom-character.sub.ms obtained using the WOM-VNB method (i.e. WOM for the symbol synchronization and VNB for the chip synchronization), where a gain of 0.25 dB is obtained with respect to the curve 73 representing the OM-VNB case (i.e. OM for the symbol synchronization and VNB for the chip synchronization). This gain shows the impact of the weighting technique in the OM method.

    [0213] When comparing the WOM-VNB (curve 72) to WOM-SB (curve 74), a gain of 0.5 dB is noticed which shows the efficiency of the VNB technique as compared to the SB one.

    [0214] According to at least one embodiment, the proposed algorithm thus enables to reach a probability of miss-synchronization custom-character.sub.ms of the order of 10.sup.5 at very low SNR (10 dB).

    5.4 Structure

    [0215] Finally, in relation to FIG. 8, the simplified structure of a transmitter according to at least one embodiment described above is presented.

    [0216] Such a transmitter comprises at least one memory 81 comprising a buffer memory, at least one processing unit 82, equipped for example with a programmable computing machine or with a dedicated computing machine, for example a processor P, and controlled by the computer program 83, implementing steps of the method for transmitting a signal according to at least one embodiment of the invention.

    [0217] Upon initialization, the code instructions of the computer program 83 are for example loaded into a RAM memory before being executed by the processor of the processing unit 82.

    [0218] The processor of the processing unit 82 implements steps of the method for transmitting a signal described above, according to the instructions of the computer program 83, to: [0219] generate at least one spread frame comprising N spread symbols, obtained by mapping N encoded symbols onto N cyclically shifted versions of a given base sequence, with N2, [0220] generate at least one overmodulated frame by modulating said at least one spread frame comprising N spread symbols by an overmodulation sequence of size N.

    [0221] In relation to FIG. 9, the simplified structure of a receiver according to at least one embodiment described above is presented.

    [0222] Such a receiver comprises at least one memory 91 comprising a buffer memory, at least one processing unit 92, equipped for example with a programmable computing machine or with a dedicated computing machine, for example a processor P, and controlled by the computer program 93, implementing steps of the method for receiving a signal according to at least one embodiment of the invention.

    [0223] Upon initialization, the code instructions of the computer program 93 are for example loaded into a RAM memory before being executed by the processor of the processing unit 92.

    [0224] The processor of the processing unit 92 implements steps of the method for receiving a signal described above, according to the instructions of the computer program 93, to: [0225] receive at least one overmodulated frame, [0226] said at least one overmodulated frame being generated at the transmitter by modulating at least one spread frame, comprising N spread symbols, by an overmodulation sequence of size N, [0227] the N spread symbols of said at least one spread frame being obtained at the transmitter by mapping N encoded symbols onto N cyclically shifted versions of a given base sequence, with N2, [0228] determine a second estimate of a time of arrival at the receiver of said at least one spread frame, from a first estimate of said time of arrival and said overmodulation sequence.

    APPENDIX 1

    [0229] Both base sequence and overmodulation sequence could have good autocorrelation properties. In a specific embodiment, the base sequence and overmodulation sequence could be the same.

    [0230] Examples of base sequences and overmodulation sequences are proposed below.

    [0231] Other examples can be for example found for example in document Performance analysis and simulation of cyclic code-shift keying (C.-H. Kao, C. Robertson, and K. Lin, in Military Communications Conference, 2008 (MILCOM 2008. IEEE, nov. 2008, pp. 1-6) or in document Cyclic code shift keying: a low probability of intercept communication technique (G. M. Dillard, M. Reuter, J. Zeidler, and B. Zeidler, IEEETrans. Aerosp. Electron. Syst., vol. 39, no. 3, July 2003.)

    [0232] Let q be the size of a pseudo noise base sequence P.sub.0.

    [0233] The auto-correlation vector is given as:

    [00045] ( k ) = .Math. i = 0 q - 1 P 0 ( i ) P 0 ( i + k ) ,

    where addition are done modulo q.

    [0234] We define the L.sub.1, L.sub.2 and L.sub.+ norms of respectively as:

    [00046] L 1 ( ) = 1 q .Math. k = 1 q - 1 .Math. "\[LeftBracketingBar]" ( k ) .Math. "\[RightBracketingBar]" L 2 ( ) = 1 q .Math. k = 1 q - 1 ( k ) 2

    and


    L.sub.+()=max(|(k)|,k=1, . . . ,q1).

    [0235] Examples of base sequence P.sub.0 are given below, according to criteria L.sub.2

    TABLE-US-00001 P.sub.0_64 = [ 10001111101001101000100001001010011101110010001001111101 01000111 ]; P.sub.0_128 = [ 11111111001110101111011101101111011000000011100000010100 10110101010111010100101110000000001100101101100000110010 1110000011000110 ]; P.sub.0_256 = [ 01111010001011000010101111111110100000111101001000000110 11111010010101110000011010100001010100010100110111011110 00101100111001000110110101011111100010001101001110100111 01100111110100110110110101100000011000100001100000100001 01101100111100111001000111000011 ];

    [0236] Examples of overmodulation sequences B of size 60 are given below:

    TABLE-US-00002 B_1 = [ 11110101000111000000001000101100110110000100110111000101 0010 ] B_2=[ 11110101000111000000001000101100110110000100110111000101 0010 ]