The present invention relates to a method for error correction of packet data, in which code words are used over multiple data packets.
For data transmission in packet form, the DAB (digital audio broadcasting) standard, for example, specifies a method for how data is to be transmitted in packet mode. This provides a method for error recognition to recognize incorrectly transmitted data packets (CRC method). Since the individual packets may be assembled into data groups and further into data files, a single incorrect bit may corrupt the transmission of large quantities of data. In DAB, error protection is achieved via a convolutional code. The goal in this case is to achieve a bit error rate of 10−4. However, practical experience has shown that while this bit error rate is sufficiently low for audio, it is too high for transmitting data services.
In the DVB-T method, a chained code of convolutional code and block code is used. Very low bit error rates, in the order of magnitude of 10−8, may be achieved in this way.
Errors may be corrected using the present invention, in which code words are used over multiple data packets, and redundancy information is added for error correction while maintaining the original packet data structure, at the cost of a free data field and a stuffing data field or a useful data field. The cycle of the error protection, e.g., its code word length, is selected as a multiple of a minimum size for a packet length. In accordance with the present invention, a DAB receiver does not have to have knowledge of this method, but the DAB receiver nonetheless recognizes the data as valid DAB packet mode data and is able to process it using a typical error recognition method (CRC), for example. Higher-quality receivers, which control the error correction method according to the present invention, may use the method and thus provide correct data files more often and/or more rapidly.
Valid lengths for packets are 24, 48, 72, or 96 bytes. This structure must be maintained in the achievement of the object according to the present invention in order to allow decoding in conventional receivers.
Any desired method which uses a systematic code may be employed for error correction. This means the data to be protected remains unchanged and only additional redundancy information in the form of additional bytes, which are used for error correction, is added. A Reed-Solomon code RS (255, 239), which is shortened to the packet sizes used, may be used as an example. Code shortening is a known method for this code.
Two example embodiments are suggested according to the present invention for inserting redundancy information:
The SYNC byte is used for recognizing packets which contain redundancy bytes. Alternatively, the command bit (bit 7) from the packet header may be set in such packets.
In this embodiment, the cycle of the error protection coincides with that of the packets. This means the code word length of the additional error protection must be a multiple of the minimum size for a packet length, here 24. Code word lengths of 168, 192, 216, and 240, in addition to others, are thus also conceivable, for example. The selected code word length is then filled up using an integral combination of the four possible packet sizes.
In order to be able to calculate the CRC of the packet which contains the additional redundancy information, the CRC bytes are handled in the particular next code word. If they were included in the same code word, the CRC calculation would not be possible, since the redundancy bytes of the RS code would also have to be calculated with the CRC bytes, which might in turn only be calculated as soon as the RS bytes were available. The RS bytes are thus calculated first and inserted into the packet. The CRC bytes are then calculated and appended. Since they are not in the same RS code word, this does not change the RS bytes.
A defined address is inserted into the packet header to recognize that redundancy bytes are present. A SYNC byte may also be used for this purpose. In this case, no useful data may be transported in the packet.
For this embodiment of
In this example, the code is shortened to the length (208/192). The code word is not calculated beyond the packet header PH and the padding P.
In this embodiment, the cycle of the error protection useful data length must coincide with that of the packets, i.e., the useful data length of the code word of the additional error protection must be a multiple of the minimum size for a packet length, 24 here. The selected useful data length is filled up using an integral combination of the four possible packet sizes. The packet having the redundancy information R is appended thereto. At the time of decoding, only the redundancy bytes of the redundancy packet are used and the remainder is discarded completely (PHc, P, CRC).
The RS redundancy bytes (RS bytes in
A completely backwards-compatible (level 2) method for error correction for DAB packet mode having implicit interleaving may thus be achieved.
Number | Date | Country | Kind |
---|---|---|---|
10 2004 014 594 | Mar 2004 | DE | national |
10 2004 021 308 | Apr 2004 | DE | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP2005/051303 | 3/21/2005 | WO | 00 | 8/14/2008 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2005/093983 | 10/6/2005 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6721337 | Kroeger et al. | Apr 2004 | B1 |
20020015405 | Sepponen et al. | Feb 2002 | A1 |
Number | Date | Country |
---|---|---|
0 889 613 | Jan 1999 | EP |
2004-23577 | Jan 2004 | JP |
WO 0115358 | Mar 2001 | WO |
WO 0246942 | Jun 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20080307290 A1 | Dec 2008 | US |