ERROR CORRECTION ENCODING SYSTEM

Abstract: An error correcting encoding method and a vehicle data communication apparatus based on the same for use in data communication via fading communication channels domin­ ated by burst errors in the data communication among vehicles such as automobiles are disclosed. The error correction encoding method detects, as data sent from a transmitting side is received by a receiving side, any error contained in the received data as a frame error rate of error frames involved in block data or a bit error rate of error bits involved in the block data and selects an error correcting code in response to the frame error rate for encoding. The vehicle data communication apparatus according to the present invention profitably employs the method, and changes an error correcting code to be used on the transmitting side in response to the extent of errors involved in the received data detected by the receiving side of a remote apparatus.

Description: The present invention relates to an error correction encoding method for use in effecting data communication via a fading channel dominated by burst errors between a transmitting side unit and a receiving side unit as well as to data communication apparatus for use in effecting data communication according to the introductory parts of claims 1 and 2, respectively. "Error correcting code" to automatically correct digital information is indispensable nowadays to improve reliability of computers and data communication systems. Two types of error encoding systems are known for the error correcting codes. One is suited to random error correction, and the other to burst error correction depending on error patterns to be corrected. In particular, in extremely bad-conditioned channels such for example as fading channels in communication among vehicles such as automobiles, the burst error is dominant. For a system to correct the burst error, an interleaving system is known as described in "Error Correction Coding Starting to Be Extensively Put into Practice in Various Fields" by Tanaka, Nikkei Electronics, 1975, 12 to 15, PP 48 to 52. This interleaves the burst error, and thereby converts it to a random error which can be then satisfactorily processed with use of proper random error correcting codes. However, the system can not be applied to systems requiring a severe delay time characteristic since the sytem delays in its decoding. In addition, another error correction system such an automatic repeat request method as being described in Malcolm C. Easton "Bath Throughput Efficiency of ADCCP/HDLC/SDLC Selective Reject Protcols" 1980, IEEE, PP 187 to 195 is known. Both systems are greatly varied in the burst length because in a mobile radio great changes of a vehicle speed ranging from zero to one hundred and several tens of kilometers per hour as well as of a signal reception level ranging from about minus 100 dB to minus several tens of dB occur. Accordingly, several hundred hits of interleave are needed to randomize a signal with use thereof, whereby more delay time is required. Thus, larger capacity memory of a RAM is needed and further throughput efficiency is deteriorated. In addition, to securely effect communication only with an error correcting code having a burst length of several bits, throughput efficiency is sharply deteriorated. From US-A-3078443 is known a technique to encode the input information data with use of encoding codes different in redundancies and to adaptively alter those encoding codes in response to the error rate of decoded data. This system provides, however, no back-transmission of the information data about error frames. From an article in Electronics, Dec. 27, 1965, pages 70 to 79, an error detection system with automatic repeat request is known. Upon detection of an error at the receive terminal, a request for repeat is sent to the transmit terminal via a return channel. Upon receipt of a repeat request in this instance, at least two data blocks are repeated. It is an object of the present invention to provide an excellent error correction encoding system capable of data communication with less deteriorated throughput efficiency even if a vehicle changes in its speed from zero to one hundred and several tens of km/h as well as in a signal reception level from a lower one to several tens of dB. According to the present invention, in receiving any data sent from a transmitting side to a receiving side, an error involved in the received data is detected as a frame error rate in a block or a bit error rate in the block and an error correcting code is selected in response to the extent of the error rate for encoding and decoding the transmission data. An error correction encoding method according to the invention for use in effecting data communication via a fading channel dominated by burst errors between a transmitting side unit and a receiving side unit is described in claim 1. A data communication apparatus according to the invention is described in claim 2. Fig. 1 is a block diagram illustrating a first embodiment of an error correction encoding system according to the present invention, Fig. 2 is a flowchart illustrating operation of the error correction encoding system of Fig. 1, Fig. 3 is a schematic showing transitions among respective steps of from E1 to E4 of error correcting codes, Fig. 4 is a block diagram of an encoder 2 shown in Fig. 1, Fig. 5 is a block diagram of a decoder 6 of Fig. 1, Fig. 6 is a block diagram illustrating a second embodiment of the error correction encoding system according to the present invention, and Fig. 7 is a schematic illustrating throughput efficiency in the embodiments of the error correction encoding system according to the present invention. As shown in Fig. 1, the first embodiment of the error correction encoding system according to the present invention detects error frames contained in data received by a receiving side, selects an error correcting code corresponding to a number of error frames contained in block data, and signalling it to a transmitting side, while on the transmitting side, encodes the data with use of the selected error correcting code and transmits it. Designated at 1 is a transmitting terminal unit, 2 is an encoder, 3 is a transmitter, 4 is a channel, 5 is a receiver, 6 is a decoder, 8 is a receiving terminal unit, 9 is an error frame number counter circuit, 10A is an error correcting code selector, 11A is an error correcting code memory unit, 12 is an encoder, 13 is a transmitter, 14 is a channel, 15 is a receiver, 16 is a decoder, and 11B is an error correcting code memory unit. Referring to Fig. 2, operation of the error correction encoding system of Fig. 1 will be described below. Transmission data is delivered from the transmitting terminal unit 1 to the encoder 2. Four kinds of error correcting codes used in the encoder 2 are known as E1, E2, E3 and E4, and E1 is used in initial setting for encoding (Fig. 2, box 201). The encoder 2 gives a number to each frame with use of the correcting code E1, and encodes it. The encoder puts together a plurality of the frames into a block to provide encoded data (Fig. 2, box 202). The encoded data is modulated in the transmitter 3 and delivered to the channel 4 (Fig. 2, box 301). The channel 4 is subjected to fading, and produces burst errors in the modulated signal as a vehicle runs, which is received by the receiving side. The receiving side demodulates the received encoded data in the receiver 5 (Fig. 2, box 501). In succession, the decoder 6 decodes an output from the receiver 5 for each frame corresponding to the error correcting code E1 used in the encoder 2, while error frames are detected by means of an error detecting method based on a cyclic code (Fig. 2, box 601). The decoded data is supplied to the receiving terminal unit 8, while the error frame number counter circuit 9 evaluates a rate of an error frame number to all frames contained in a transmitted data block. The error correcting code memory unit 11A stores therein numbers corresponding to the error correcting codes E1 to E4. The error correcting code selector 10A selects a number indicative of a type of the error correcting code from the error correcting code memory unit 11A corresponding to the error rate of the frames contained in the one block data just received. The type number of the error correcting code selected by the error correcting code selector 10A and the number of the error frame are encoded through the encoder 12 and transferred to the transmitter 13 (Fig. 2, box 1201). The encoder 12 encodes the data transferred in conformity with the predetermined encoding system. The signal modulated by the transmitter 13 is delivered to the transmitting side via the channel 14 (Fig. 2, box 1301). The receiver 15, on the receiving side, demodulates the received modulated data, and delivers it to the decoder 16 (Fig. 2, box 1501). The decoder 16 decodes the type number of the error correcting code and the number of the error frame of the error correcting code supplied from the receiving side (Fig. 2, box 1601). When the decoder 16 detects any error, it requests the receiving side to again transmit the same data to the transmitting side. But, the description is omitted here. In addition, the decoder 16 takes out the error correcting code from the error correcting code memory unit 11B based on the type number of the received correcting code, and transfers it to the encoder 2 (Fig. 2, box 1602). The encoder 2 again transmits the frame data including the frame number received in error to the receiving side via the transmitter 3 with use of the selected error correcting code. Provided that a plurality of the error frames are detected, all the frames are likewise transmitted to the receiving side (Fig. 2, boxes 203, 204, 302). The next data from the transmitting terminal unit 1 is transmitted to the receiving side in the same procedure with use of the error correcting code selected by the error correcting code memory unit 11B. With the present embodiment of the encoding system for error correction, the error correcting code which the encoder 2 on the transmitting side uses is selected in response to the error rate of the frames within the received data block on the receiving side, and encoded for communication, whereby an encoding system for error correction adapted to communication conditions of the fading channel is provided. Fig. 3 illustrates transitions among the error correcting codes E1 to E4. The error correcting code E1 is one taking nk bits (n a positive integer) as one block when the bit number possessed by one frame is made k bits (e.g., 1024 bits), having no error correcting bit but only a parity check bit for error detection. The error correcting code E2 takes k bits as one block when a bit number possessed by one frame is made k bits, having no bit for error correction but only a parity check bit. The error correcting code E3 takes k bits as one block similarly as before, and has an error correcting code with an information rate of 1/2. The error correcting code E4 takes k bits as one block and has an error correcting code and a parity check bit. The code further securely transmits data even if an encoding rate is deteriorated to a fraction of several parts by making use of a decoding technique with decision by majority. The error correcting codes E1 to E4 are previously stored in the error correcting code memory unit 11B, and selected in response to conditions of a concerning circuit. Namely, when an error produced on the channel 4 has been corrected by making use of the error correcting code E2, provided that conditions of the channel 4 and the speed of an automobile, etc., are kept substantially constant, the error correcting code E2 is not changed, and communication runs with use of the code. With the conditions of the channel 4 bad-conditioned, error bits are increased, and the state of the encoding system for error correction changes to a state with the error correcting code E3 based on information available from the receiving side. Contrary, with the channel 4 better-conditioned, the state changes to a state with the error correcting code E1 based on information from the receiving side. The encoder 2 shown in Fig. 1 is one with use of a diffusion code, and comprises a circuit shown in Fig. 4. It is known that the encoder has in general shift registers and exclusive ORs (mode 2). The circuit of the encoder 2 is uniquely defined as given a generator polynomial. Therefore, with the above diffusion code, the encoder 2 is constructed as shown in Fig. 4. Designated at 30 is an encoding part input terminal, 31 is a b+1 stage shift register, 33 and 35 are b stage shift register, respectively, 32, 34, and 36 are exclusive ORs, respectively, 37 is an information/check changeover switch, and 38 is an encoding part output terminal. An information bit supplied to the encoding part input terminal 30 is provided to the information/check changeover switch, while provided to an input of the b+1 stage shift register 31. Thereafter, the information bits are delayed through the respective exclusive ORs and b stage shift registers, and finally a check bit is delivered from an output of the exclusive-OR 36. These information and check bits are alternately sent to the encoding part output terminal 38 with the aid of the information/check changeover switch 37, and transmitted to the transmitter 3. In addition, the decoder 6 shown in Fig. 1 comprises a circuit shown in Fig. 5. The decoder 6 of Fig. 5 is one with use of a diffusion code, and effects majority logic decoding of a convolutional code. In Fig. 5, designated at 42 and 43 are a b stage shift register, respectively, 44 a b+1 stage shift register, and 45 to 49 an exclusive OR, respectively. An information bit is supplied to the b stage shift register 42 via the information/check changeover switch 41 serving to alternately switch the information bit and the check bit, and delayed via the b stage shift register 43 and the b+1 stage shift register 44. In addition, a check bit yielded on the basis of an information bit received from the output of the exclusive OR 46 is delivered. The check bit and a check bit supplied via the information check changeover switch 41 are exclusive OR'ed by the exclusive OR circuit 45. An output of the exclusive OR 45 is supplied to the exclusive OR 51 on one side, and error detection is effected by the exclusive ORs 51, 54, 55, 57, and 59, a single-stage shift register 52, the b stage shift registers 53, 56, the b+1 stage shift register 58, and a majority element 60. As a result of it, an error detector signal for the information bit is available from an output of the majority element 60, while an error detection signal for the check bit available from the output of the exclusive OR 59. The output from the majority element 60 is supplied to the exclusive OR 49, whereby an erroneous information bit supplied from the b+1 stage shift register 44 is corrected, and a data output signal is delivered to the receiving terminal unit 8 via the data output terminal 50 of the decoder, while the above output from the majority element 60 is supplied to the information/check changeover switch 61. Further, the output from the exclusive OR 59 is delivered to the information/check switch 61. The information/check changeover switch 61 alternately switches between the error detection signal for the information bit and the error detection signal for the check bit, and delivers them. As a result of it, the error detection signal is supplied to an error frame number counter circuit 9 via an error detection signal output terminal 62. A second embodiment of the error correction encoding system according to the present invention will be described with reference to Fig. 6. The embodiment detects on the receiving side a number of error frames contained in a received data block of data transmitted from the transmitting side, and selects an error correcting code based on a frame error rate. The present embodiment is of the same as the first embodiment described before with the exception of a fact that it has not the error correcting code selector and the error correcting code memory unit on the receiving side but having the former only on the transmitting side. In Fig. 6, designated at 10B is the error correcting code selector, 17 is a unit for preparing data from an error frame number. Other symbols in the same figure are the same as those shown in Fig. 1. Transmission data transmitted from the transmitting terminal unit 1 is encoded for each frame unit by the encoder 2 with use of the error correcting code E1 in the same way as in Fig. 1, and numbers are assigned to every frames. In addition, a plurality of the frames are brought together into a block, modulated through the transmitter 3, and delivered to the channel 4. The receiving side demodulates the received encoded data by making use of the receiver 5, and thereafter the data is decoded by the decoder 6. The decoder 6 decodes the data for every frames as in Fig. 1, detects an erroneous frame, and prepares data from an error frame number in the data preparation unit 17. Then, the error frame number data is encoded in the encoder 12 using a predetermined encoding system, modulated through the transmitter 13, and delivered to the transmitting side. The transmitting side receives the transmitted data, demodulates through the receiver 15, and decodes by the decoder 16. In succession, the error correcting code selector 10B estimates a ratio of an error frame number to a number of all frames within one data block transmitted previously, selects the next error correcting code from the E1 to E4 stored in the error correcting code memory unit 11B corresponding to the error frame rate, and provides it to the encoder 2. All the error frames are encoded with use of a newly selected error correcting code, modulated in the transmitter 3, and retransmitted to the receiving side also together with a type of the newly selected error correcting code. Although the next block data is also encoded with the newly selected error correcting code, the error correcting code is changed thereafter corresponding to error frames for every block . Moreover, the error correcting codes E1 to E4 for use in the present embodiment are the same as those described in Fig. 3. As described above, the present embodiment also effects the error correcting encoding adapted to communication conditions of a fading channel. Although the above two embodiments are described with a half duplex method. This error correcting method can be adapted to full duplex method. This full duplex method can be realized by having the functioning circuits between the transmitting equipment and receiving equipment as shown in Fig. 1. Scheme of the full duplex equipment is as follows: Terminal unit is connected with encoder and decoder. Transmitter has the switch between encoder with error correcting code memory unit and encoder with error correcting code selector. Receiver has the switch between decoder with error correcting code memory unit and decoder with error frame numbers counter unit. Then a third embodiment of the present invention will be described. The present invention estimates a bit error rate of the whole of one block data received on the receiving side, and selects an error correcting code in response to the estimated bit error rate, while it compares the bit error rate with a channel error rate being specified transmission quality, for thereby deciding the received block data to be proper block data provided that a bit error rate of the received block data is less than the specified channel error rate, while it decides it to be improper if it is more than the specified channel error rate, and as a result of it,it encodes the resulting data with use of the selected error correcting code for retransmission. Namely, the receiving side estimates the bit error rate of the whole of the one block data with use of the output from the burst length measuring part 7B of Fig. 7, compares the bit error rate with a specified channel error rate, and if improper, requests the transmitting side to retransmit the block data. Simultaneously, the error correction encoding system transmits the bit error rate estimated thereby, and selects an optimum error correcting code from the error correcting code memory unit based on the bit error rate, and,furthermore,encodes error block data as well as the succeeding data with use of the selected error correcting code and transmits them. Thereafter, the error correcting code is altered corresponding to bit error rates for every blocks. Referring to Fig. 7, a throughput efficiency with respect to the bit error rate will be described. Automobile telephones and pocketable telephones relatively often communicate in their stopping. For brevity, such situation of the channel 412 is assumed that the automobile is at a stop and is running at a speed from 20 to 100 km/h. It is further assumed that the time interval taken by the automobile in communication at a stop is t s , and that in running t m , and a ratio therebetween with respect to the whole transmission time is 7 to 3. Communication error rates at a stop and in running of the automobile are respectively assumed P s and P m . According to experimental data, P s = 0 and P m = 10⁻³. Under the conditions, the throughout efficiency can be approximated by (1). Here, it is a total of the communication time and is equal to the sum of t s and t m . K s /N s and K m /N m are respectively encoding rates of error correction. Since no error is produced at automobile stoppage, K s /N s =1, while since in its running error correction is manifested, K m /N m =0.5. N m is indicative of an information bit number and K m is a control bit number, and both are assumed to be 100 and 50 in order. A result estimated according to equation (1), i.e., a case according to the embodiment of the present invention are depicted by a solid line A in Fig. 7, while a result evaluated when only a single error correcting code is applied with retransmission depicted by a broken line B in Fig. 7. It is evidenced from the figure that the present invention sharply improves the throughput efficiency. Although in vehicle communication radio channels are subjected to change of environment at all times due to the influence of fading, as described above, the present invention assures an extremely effective error correcting technique upon effecting data communication with use of channels located in strongly varying communication environments. It is anticipated that the throughput efficiency is improved because an optimum error correcting code is selected in conformity with conditions of a communication channel.

Claims: An error correction encoding method for use in effecting data communication via a fading channel dominated by burst errors between a transmitting side unit and a receiving side unit, said method supervising an error rate of received data, adaptively changing an error correcting code and comprising the steps of inputting information data in the transmitting side unit, encoding said input information data with codes of different types with different redundancies and selecting one type of error correcting code according to the initial state or the error rate of decoded data, transmitting said encoded data to said receiving side unit, receiving data transmitted from said transmitting side unit in the receiving side unit, decoding said transmitted data using said error correcting code of said selected number, evaluating the error rate of said decoded data and changing the error correcting code according to said error rate, characterised in that the method further comprises the steps of providing in the transmitting side unit the encoded data to be transmitted to the receiving side unit by giving a number to each data frame and putting together a plurality of data frames of the input information data into a data block to provide encoded data, decoding said transmitted data in the receiving side unit for each frame and detecting an erroneous or error frame and the number of the error frame, encoding the number of the error frame, transmitting said error frame number data to said transmitting side unit, receiving data transmitted from said receiving side unit in the transmitting side unit, decoding said received data using said error correcting code of said selected number, evaluating as the error rate of said decoded data the ratio of error frames to all data frames within one data block either on the receiving or on the transmitting side and selecting a number indicative of the type of the error correcting code according to said ratio of error frames. A data communication apparatus for use in effecting data communication via a fading channel dominated by burst errors comprising a transmitting side unit, a receiving side unit and said communication channel between, said transmitting side unit comprising: a source (1) of input information data, a means (2) for encoding said input information data with error correcting codes of different types with different redundancies and for selecting one type of error correcting code according to the initial state or the error rate of decoded data, a transmitter (3) for transmitting said encoded data to said receiving side unit, and said receiving side unit comprising: a receiver (5) for receiving data transmitted from said transmitting side unit, and a means (6, 7) for decoding the output from said receiver (5) using said error correcting code of said selected number, the data communication apparatus further comprising: a means for evaluating the error rate of said decoded data, and a means for changing the error correcting code according to said error rate, characterised in that the communication apparatus has half duplex and/or full duplex function, the means for encoding on the transmitting side comprises one encoder (2) which gives a number to each data frame and puts together a plurality of data frames of the input information data into a data block to provide encoded data, the means for decoding on the receiving side comprises one decoder (6) which decodes the output from said receiver (5) for each frame and detects an erroneous or error frame and the number of the error frame, the receiving side unit comprises: an encoder (12) for encoding the number of the error frame and a transmitter (13) for transmitting said error frame number data to said transmitting side unit, the transmitting side unit comprises: a receiver (15) for receiving data transmitted from said receiving side unit, and a decoder (16) for decoding an output from said receiver (15) using said error correcting code for said selected number, and that the means (9, 10 B) for evaluating the error rate of the decoded data evaluates the ratio of error frames to all data frames within one data block, and said means for changing the error correction code comprises an error correcting code selector (10 A, 10 B) for selecting a number indicative of the type of the error correcting code according to said ratio of error frames.

Inventors: AKIYAMA, HARUHIKO, FUKASAWA, ATSUSHI, KAWABE, MANABU, SATO, TAKURO
Applicants: OKI ELECTRIC INDUSTRY COMPANY, LIMITED
Application year: 1986
Main classification: H03M13
IPC codes: H04L1, H03M13