Method for the radio communication of digital data in a noisy environment
09876633 ยท 2018-01-23
Assignee
Inventors
Cpc classification
International classification
Abstract
The invention relates to a device for the radio transmission of a data word between a transmitter (1) and a receiver (65), comprising a transmitter (1) that can transmit at least one block of data comprising a preamble word and a data word repeated several times; an elementary synchronization block allowing the synchronization of the receiver (65) to the transmitter (1) and the detection of the preamble word; and a synchronous averaging device (67) calculating the average of the data word repeated.
Claims
1. A method of radio transmission of a data word between a transmitter and a receiver, comprising the steps of: transmitting at least one data block comprising a preamble word known by the receiver and stored therein, followed by the data word identically repeated a plurality of times, the identically repeated data words being directly transmitted one after the other without transmitting any other word therebetween; detecting the preamble word; synchronizing the receiver to the transmitter, in phase and in frequency, during the reception of the preamble word; synchronously averaging the identically repeated data words; and detecting the transmitted data word based on the synchronous averaging; wherein the synchronous averaging step comprises the steps of: receiving a data word repeated a plurality of times; storing each of bits of a first received data word into a storage register; adding a value of each box of the storage register to each bit of next data words; and dividing the value of each box of the storage register by a count of the identically repeated data words.
2. The method of claim 1, wherein the transmitted data words are oversampled by the receiver.
3. The method of claim 1, wherein the detection and synchronization steps comprise the steps of: performing correlations between the transmitted preamble word and second preamble words corresponding to the stored preamble word rated at a period of a receiver clock plus or minus an increment different from one second preamble word to another; and detecting a correlation having a highest rate and adding or removing the increment corresponding to the receiver clock.
4. The method of claim 1, comprising the steps of: verifying whether the detected transmitted data are correct; and if not, starting operation again with an increase in the number of repetitions of the transmitted data word.
5. The method of claim 3, comprising the steps of: providing a plurality of preamble words, each being associated with a different number of repetitions of the data word; performing, for each stored preamble word, correlations between the transmitted preamble word and second preamble words corresponding to the stored preamble word rated at the period of the receiver clock plus or minus an increment different from one second preamble word to another; performing the synchronous averaging according to the number of repetitions of the data word associated with the detected preamble word; if the data word associated with the preamble word is detected, sending a response to the transmitter so that it sends data words with the same number of repetitions as the detected data word; and if not, sending to the receiver a data block with a number of repetitions of the data word greater than the previous one.
6. The method of claim 2, wherein the detection and synchronization steps comprise the steps of: performing correlations between the transmitted preamble word and second preamble words corresponding to the stored preamble word rated at a period of a receiver clock plus or minus an increment different from one second preamble word to another; and detecting a correlation having a highest rate and adding or removing the increment corresponding to the receiver clock.
7. The method of claim 6, comprising the steps of: providing a plurality of preamble words, each being associated with a different number of repetitions of the data word: performing, for each stored preamble word, correlations between the transmitted preamble word and second preamble words corresponding to the stored preamble word rated at the period of the receiver clock plus or minus an increment different from one second preamble word to another; performing the synchronous averaging according to the number of repetitions of the data word associated with the detected preamble word; if the data word associated with the preamble word is detected, sending a response to the transmitter so that it sends data words with the same number of repetitions as the detected data word; and if not, sending to the receiver a data block with a number of repetitions of the data word greater than the previous one.
8. The method of claim 2, comprising the steps: verified whether the detected transmitted data are correct; and if not, starting operation again with an increase in the number of repetitions of the transmitted data word.
9. The method of claim 8, comprising the steps of: providing a plurality of preamble words, each being associated with a different number of repetitions of the data word; performing, for each stored preamble word, correlations between the transmitted preamble word and second preamble words corresponding to the stored preamble word rated at a period of a receiver clock plus or minus an increment different from one second preamble word to another; performing the synchronous averaging according to the number of repetitions of the data word associated with the detected preamble word; if the data word associated with the preamble word is detected, sending a response to the transmitter so that it sends data words with the same number of repetitions as the detected data word; and if not, sending to the receiver a data block with a number of repetitions of the data word greater than the previous one.
10. The method of claim 3, comprising the steps of: verifying whether the detected transmitted data are correct; and if not, starting operation again with an increase in the number of repetitions of the transmitted data word.
11. The method of claim 10, comprising the steps of: providing a plurality of preamble words, each being associated with a different number of repetitions of the data word; performing, for each stored preamble word, correlations between the transmitted preamble word and second preamble words corresponding to the stored preamble word rated at the period of the receiver clock plus or minus an increment different from one second preamble word to another; performing the synchronous averaging according to the number of repetitions of the data word associated with the detected preamble word; if the data word associated with the preamble word is detected, sending a response to the transmitter so that it sends data words with the same number of repetitions as the detected data word; and if not, sending to the receiver a data block with a number of repetitions of the data word greater than the previous one.
12. The method of claim 4, comprising the steps of: providing a plurality of preamble words, each being associated with a different number of repetitions of the data word; performing, for each stored preamble word, correlations between the transmitted preamble word and second preamble words corresponding to the stored preamble word rated at a period of a receiver clock plus or minus an increment different from one second preamble word to another; performing the synchronous averaging according to the number of repetitions of the data word associated with the detected preamble word; if the data word associated with the preamble word is detected, sending a response to the transmitter so that it sends data words with the same number of repetitions as the detected data word; and if not, sending to the receiver a data block with a number of repetitions of the data word greater than the previous one.
13. A device of radio transmission of a data word between a transmitter and a receiver, comprising: the transmitter capable of transmitting at least one data block comprising a preamble word and the data word identically repeated a plurality of times; an elementary synchronization block enabling to synchronize the receiver to the transmitter and to detect the preamble word; and a synchronous averager averaging the repeated data word: wherein the elementary synchronization block comprises: a memory containing a stored preamble word: a plurality of correlators, each correlator having a first input receiving the transmitted preamble word, a second input receiving the stored preamble word rated at a period of a receiver clock plus or minus an increment different for each correlator, and an output supplying the correlation rate between the two inputs; and a controller detecting a correlator providing a highest correlation rate.
14. The device of claim 13, comprising a plurality of elementary synchronization blocks, each of which is capable of detecting a specific preamble word.
15. The device of claim 13, comprising a plurality of elementary synchronization blocks, each of which is capable of detecting a specific preamble word.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The foregoing and other features and advantages will be discussed in detail in the following non-limiting description of specific embodiments in connection with the accompanying drawings, among which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10) For clarity, the same elements have been designated with the same reference numerals in the different drawings.
DETAILED DESCRIPTION
(11)
(12)
(13)
(14)
(15) Output signal 45 of converter 47 is directed to a synchronous averager 67, described hereafter, which sends a signal 69 to a detector 49. Output signal 45 is also directed to a specific synchronization block 71, described hereafter, which sends a signal 73 to clock generator 53 and which sends an activation signal 75 to synchronous averager 67. Detector 49 turns signal 69 into data word 64.
(16) Clock generator 53 supplies a signal of period T.sub.B transmitted to detector 49 and an oversampling signal of period T.sub.B/k transmitted to converter (ADC) 47 and to synchronous average 67, k being an integer greater than 2, for example, in the range from 2 to 8. Clock generator 53 and detector 49 are similar to those described in relation with
(17) A succession of data blocks 60, such as that illustrated in
(18) The ADC converter has an r-bit resolution, r being in the range from 4 to 16. At each period T.sub.B/k, the ADC supplies on its output 45 an r-bit piece of data corresponding to a value of analog signal 43. The r-bit piece of data at output 45 of the ADC is sent to synchronization block 71. Synchronization block 71 recognizes preamble word 61. Once the preamble word has been recognized, block 71 sends a signal 73 to clock generator 53 to synchronize this clock to the transmitter clock and sends an activation signal 75 to synchronous averager 67.
(19) The r-bit piece of data at output 45 of the ADC is also sent to synchronous averager 67, which is activated once preamble word 61 has been recognized. Averager 67 knows number N of data words contained in the succession of identical data words 63 following preamble word 61. The averager provides an average of the N data words 64 to supply an averaged signal 69 sampled at T.sub.B. Signal 69 at the output of averager 67 is sent to detector 49 so that it turns it into the desired binary data word 64.
(20) The synchronous averaging performed by synchronous averager 67 enables to improve the ratio of the power of the signal to the power of the noise of a transmitted data word 64. This improvement is by a factor in the order of N in the case where the noise superposed to data word 64 is Gaussian white noise and where data word 64 is repeated N times. This enables to increase the effective sensitivity of the receiver and the transmission distance without increasing the transmission power. As an example, for an analog signal superposed to Gaussian white noise for which the signal-to-noise ratio is equal to 0.1 (that is, 10 dB), if the signal is repeated 50 times, a ratio of the signal power to the noise power improved 50 times is obtained. The ratio becomes equal to 5, that is, a 17-dB improvement.
(21) The receive system operates in two steps, that is, an acquisition/synchronization phase and an averaging phase. In the first phase, synchronization block 71 detects in received signal 43 the presence of preamble word 61 and adjusts the frequency and the phase of the clock signal of period T.sub.B. During the second phase, synchronous averager 67 averages data words 64 and improves the ratio of signal power to the noise power.
(22)
(23) Synchronization block 80 comprises a plurality of correlators in parallel, five in this example (m=2), 81a to 81e, and a controller 83. Signal 45, oversampled at period T.sub.B/k, at the output of ADC 47 is transmitted to each correlator. Outputs C.sub.a to C.sub.e of correlators 81a to 81e are sent to controller 83, an output 73 thereof being sent to clock generator 53.
(24) A preamble word 85, comprising a bit sequence identical to that of the transmitted preamble word 61, is stored in synchronization block 80. The correlators are rated at period T.sub.B/k. Correlator 81a COR(SEQ(T.sub.B)) correlates the r-bit data with preamble word 61 (SEQ) at period T.sub.B. Correlator 81b COR(SEQ(T.sub.BT)) correlates the r-bit data with preamble word 61 (SEQ) compressed in time by T. Correlator 81c COR(SEQ(T.sub.BmT)) correlates the r-bit data with preamble word 61 (SEQ) compressed in time by mT. Correlator 81d COR(SEQ(T.sub.B+T)) correlates the r-bit data with preamble word 61 (SEQ) expanded in time by T. Correlator 81e COR(SEQ(T.sub.B+mT)) correlates the r-bit data with preamble word 61 (SEQ) expanded in time by mT. In this example, m=2. T is a time period, previously selected to be in the range from 0.5% to 1% of T.sub.B.
(25) Each correlator determines a correlation rate, respectively C.sub.a to C.sub.e. Correlation rates C.sub.a to C.sub.e are sent to controller 83. Controller 83 detects the highest correlation rate as well as the time at which this rate appears.
(26) If the transmitter and the receiver have exactly the same sampling period (T.sub.A=T.sub.B) at the time when the r-bit data correspond to preamble word 61 stored in synchronization block 71, signal Ca is maximum. Generally, sampling period T.sub.A is different from sampling period T.sub.B, the maximum correlation rate will thus appear at the output of one of correlators j for which T.sub.B=T.sub.A+jT, j being an integer in the range from m to m.
(27) Thus, synchronization block 80 enables to estimate the time shift j T between T.sub.A and T.sub.B, to detect the preamble word 61 contained in the received signal, and to estimate the time difference j T between the clocks. This is the frequency synchronization. The time of occurrence of the highest correlation rate corresponds to the time synchronization (phase synchronization).
(28) Output signal 73 of controller 83 is sent to clock generator 53. Signal 73 contains a piece of data corresponding to increment jT to be added to or to be removed from the period of signal T.sub.B so that the clock period of the receiver is as close as possible that of the transmitter clock. The increment (positive or negative) contained in signal 73 (+2T, +T, 0, T, 2T) is added to period T.sub.B. Signal 73 also contains data corresponding to the time when a high correlation rate is detected. According to these data, period T.sub.B is shifted in time to be in phase with period T.sub.A. The clock of receiver 53 is thus adjusted in frequency and in phase to the clock of transmitter T.sub.A. At the end of the detection of the preamble word, T.sub.B=T.sub.A.
(29)
(30) After the acquisition/synchronization phase, the averaging phase, rated at period T.sub.B, starts.
(31)
(32)
(33) Adder 115 receives on a second adding input B a word I. Adder 115 is controlled by a signal ADD. Output C of the adder, corresponding to a word i+I, is sent to a multiplexer 117. Data i at input A comprise r bits. Since sum A+B is performed N times, output data C may comprise up to R bits, R=r+L bits, L being the greatest integer close to log 2(N). For example, if r=8 and N=50, L=6, and thus word i+I of output C comprises 14 bits.
(34) Multiplexer 117 directs output C of adder 115 to one of the R-bit memories j of register 118, with j ranging from 1 to p. Multiplexer 117 is controlled by a signal SHIFT. Signal SHIFT enables to select memory j to be connected to output C of the adder.
(35) Register block 118 comprises p inputs and p outputs corresponding to the p memories of register block 118. Block 118 receives output C of adder 115, directed by multiplexer 117, onto one of the p inputs of block 118. A control signal LOAD enables to provide at the output of a memory j word I stored in this memory.
(36) A demultiplexer 119 directs the output of one of the p memories to the input of a switch 121. Demultiplexer 119 is controlled by signal SHIFT. Multiplexer 117 and demultiplexer 119 are synchronized, that is, if multiplexer 117 directs output C of adder 113 to the input of a memory j, demultiplexer 119 directs the input of switch 121 to the output of the same memory.
(37) Switch 121 receives a word I, contained in memory j of block 118. Switch 121 is controlled by a signal CONTROL. The switch directs word I to input B of adder 115 when signal CONTROL is in the low state. Otherwise, word I is directed to a divider by N 123.
(38) Divider 123 receives a word I, contained in one of memories j, and divides it by N. Divider 123 supplies detector 49 with average 69 of data i of the N transmitted data words, with i ranging from 1 to p.
(39) The system of
(40)
(41) where R.sub.j is the average of the data d.sub.j of N transmitted data words 64, with j ranging from 1 to p, S.sub.jl being an R-bit piece of data, and N being the number of transmitted data words.
(42) A control unit 124 supplies control signals ADD, SHIFT, LOAD, and CONTROL.
(43) The synchronous averager of
(44) On activation of synchronous averager 110 by synchronization block 71 (see
(45) On each rising edge of signal T.sub.B, register 113 sends data i from output 45 of the ADC to input A of adder 115. Control unit 124 sends a pulse ADD to adder 115. The rising edge of pulse ADD activates adder 115 which adds data i received at its input A and word I of its input B and then sends the resulting word i+I to the input of memory j, connected by multiplexer 117. At the falling edge of pulse ADD, control unit 124 sends a pulse SHIFT to multiplexer 117 and to demultiplexer 119. The rising edge of pulse SHIFT enables to direct output C of adder 115 from the input of memory j to the input of memory j+1 and enables to direct the input of switch 121 from the output of memory j to the output of memory j+1. At the falling edge of pulse SHIFT, control unit 124 sends a pulse LOAD to register block 118. The word I contained in memory j+1 is supplied to the output of the memory and sent to input B of adder 115. At the falling edge of pulse LOAD, the processing of data i is over and the synchronous averager is ready to process data i+1 at the next period T.sub.B. The p r-bit data are received N times. Each memory j of register block 118 contains the sum of data i of the N transmitted data words 64.
(46) Pulses ADD, SHIFT and LOAD have a duration shorter than period T.sub.B divided by 3. When multiplexer 117 and demultiplexer 119 are connected to memory p and a new memory shift is requested, multiplexer 117 and demultiplexer 119 connect to memory 1 of register 118.
(47) When the control unit detects that the p r-bit data have been received N times and processed, signal CONTROL is set to the high state and the input of switch 121 is directed to divider 123. A pulse LOAD controls that word I contained in memory j is output. Word I is sent to divider 123 and is divided by N. Divider 123 supplies the average of the first data of p-bit block 64 transmitted N times to detector 49. At the falling edge of pulse LOAD, a pulse SHIFT connects memory j+1 of register block 118. The two steps carried out after the setting to the high state of signal CONTROL are performed p times. The synchronous averager thus supplies the average of the r-bit data i of the N data words transmitted to detector 49, which corresponds to the average of the transmitted p-bit signal.
(48)
(49) Adder 133 receives on a second adding input B a word I originating from a register of p words of R bits 137. Adder 133 is controlled by a signal ADD. Output C of the adder, corresponding to a word i+I, is sent to a switch 135. The switch is controlled by a signal CONTROL. Switch 135 directs word i+I to register 137 when signal CONTROL is in the low state, otherwise word i+I is directed to a divider by N 139. Register 137 is controlled by signals SHIFT and LOAD.
(50) Register 137 receives output C of adder 133 when signal CONTROL is in the high state. The divider divides by N word i+I, which corresponds to the sum of the data i of the N transmitted bits. The divider sends the average of the r-bit data i of the N transmitted words to detector 49.
(51) The synchronous averager of
(52) On activation of synchronous averager 130 by synchronization block 67, the averager is initialized. Shift register 137 is set to zero, signals ADD, SHIFT, LOAD, and CONTROL are in the low state.
(53) Register 131 sends data i to input A of adder 133 at the rate of period T.sub.B. A pulse ADD is sent to adder 133. The rising edge of pulse ADD activates adder 133 which adds data i received at its input A and word I of its input B and then sends the resulting word i+I to the input of switch 135. Switch 135 directs its input to the input of register 137. At the falling edge of pulse ADD, a pulse SHIFT is sent to register 137. The rising edge of pulse SHIFT enables register 137 to supply a word I to input B of adder 133. At the falling edge of pulse SHIFT, a pulse LOAD is sent to register 137, the rising edge of pulse LOAD enables to load word i+I at the output of switch 135. At the falling edge of pulse LOAD, the processing of data i is over and the synchronous averager is ready to process data i+1 at the next period T.sub.B.
(54) Once the p expected data are received N1 times, control unit 141 sets signal CONTROL to the high state and the input of switch 135 is directed to the divider by N 139. The p words contained in register 137 are added to the p data of the last transmitted data word. Adder 133 sends to divider 139 the sum of the data i of the N transmitted words. Divider 139 supplies average 69 of the data i of the N transmitted data words to detector 49, which corresponds to average 69 of the transmitted p-bit signal.
(55) According to an aspect of the present invention, it is desired to decrease the quantity of data to be transmitted by performing the synchronous averaging with as little data word repetitions as possible. It is started by sending a data word repeated a small number of times, for example, N=10 times. If the data word is properly received by the synchronous averaging receiver, the receiver sends an acknowledgement to the transmitter. The acknowledgement comprises sending back the received data word by also repeating it N=10 times. The communication is established and the system operates by repeating the data N=10 times. If the word is not properly received and if the wait for the acknowledgement from the receiver to the transmitter is greater than a duration T.sub.CONF, the transmitter sends once again the data word repeated more times than the previous time, in this example, N=20 times. This procedure is repeated as many times as necessary. If after a maximum number of repetitions Q.sub.MAX, the communication is not completed, the connection is assumed to be impossible. To indicate the number of transmitted data words to the synchronous averager, a specific preamble word characterizing the number of repetitions of the data word is sent upstream of the periodically-repeated data word.
(56)
(57) Synchronization block 150 comprises a plurality of elementary synchronization blocks, for example, five, 150-1 to 150-5. Each of the elementary blocks is for example identical to block 80, described in relation with
(58) Synchronization block 150 and averager 151 operate as follows.
(59) Elementary synchronization blocks 150-1 to 150-5 receive output signal 45 of the ADC. Each block 150-q compares signal 45 with the preamble word M.sub.q that it contains. The block 150-q which detects the transmitted preamble word M.sub.q sends a signal S.sub.q to decision unit 152, S.sub.q corresponding to signal 73 described in relation with
(60)
(61) At a first step, block 163, preamble word M.sub.q is transmitted and number N.sub.q characterizing the number of repetitions of the data word is sent to synchronous averager 151.
(62) At the next step, block TEST 165, the transmitter waits, for a time T.sub.CONF, for the response from the receiver indicating that the transmitted signal 43 has been properly received. If the response to the condition of block TEST 165 is YES, the communication is established, at block 167. If the response to the condition of block TEST 165 is NO, variable q is incremented by 1 (block 169) and sent to condition block 171.
(63) At the next step, condition block 171, it is verified that word Q.sub.max of preamble words available to establish a communication has not been reached. If Q.sub.max has been reached, the response to the condition of block 171 is NO. The system stops and the communication is not established (communication Failure). If Q.sub.max has not been reached, the response to the conditions of block 171 is YES, a new data block 60 containing a new preamble word M.sub.q+1 and a data word repeated N.sub.q+1 times is sent again. The system returns to the step of block 163.
(64) As an example of numerical values: the size of the preamble word is in the range from 16 to 128 bits, for example, 32 bits; the size of a data word is in the range from 16 to 256 bits, for example, 32 bits; number N of repetitions is in the range from 4 to 50, for example, 10. the number of synchronization blocks 80 contained in synchronizer 150, defined by q, is in the range from 3 to 7, for example, 5.
Although synchronization block 80 contains five correlators in the example described in relation with