Method and system for improving forward error correction in serial coding during data transmission
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- INOVA SEMICON
- Filing Date
- 2024-03-07
- Publication Date
- 2026-04-29
AI Technical Summary
Existing methods for forward error correction in serial coding are inefficient, requiring extensive resources and energy, and are prone to errors due to the need for complex encoders and separate line coding of metadata, which is not fully utilized, leading to increased susceptibility to errors, especially in safety-critical environments like vehicles where real-time processing and energy efficiency are crucial.
The method involves segmenting user data into bit sequences of equal length, applying a subdivision rule to create partial forward error corrections and line codes, and transmitting these codes, which allows for efficient error correction and line coding of both user and correction data, reducing the number of gates required and avoiding explicit nesting, thus minimizing technical effort and error propagation.
This approach results in deterministic control of the transmission link, minimal bit errors, and efficient error correction, enabling reliable data transmission with reduced power consumption and hardware complexity, suitable for safety-critical applications like vehicles.
Smart Images

Figure EP2024055981_26122024_PF_FP_ABST
Abstract
Description
[0001] Method and system arrangement for improving forward error correction in serial coding in a data transmission
[0002] The present invention is directed to a method for improving forward error correction in serial coding during data transmission in a vehicle. Compared to the prior art, it provides the advantage, among other things, that despite a reduction in resource requirements, the physical behavior on a transmission channel can always be deterministically controlled. Thus, according to the proposed method, bit errors are minimal and a transmission error can be corrected efficiently, i.e. with minimal technical effort. Furthermore, the encoders used are designed with a minimal number of gates and the proposed method implicitly incorporates interleaving which is designed to ensure that so-called burst errors can be corrected particularly advantageously. This implicit interleaving makes it possible to dispense with the conventional buffer memories required for explicit interleaving.Furthermore, the invention ensures that user data, including corrective metadata, can be advantageously encoded during transmission. According to the invention, it can be ensured that not only the user data is line-encoded or line-encoded, but also the correction data. The present invention is also directed to an analog system arrangement for implementing the method, as well as to a computer program product with control commands that execute the method.
[0003] Different versions of the Ethernet protocol are known from the state of the art. Ethernet uses a variety of techniques to detect and correct errors during data transmission. Error correction mechanisms are part of the Ethernet protocol and ensure that the received data is correct and complete. Cyclic Redundancy Check (CRC) is one of the most important error detection techniques in Ethernet. With CRC, a checksum is calculated over the sent data and appended to the packet. At the receiver, the checksum is recalculated and compared with the received checksum. If the checksums do not match, an error is detected, and the packet is discarded.
[0004] Furthermore, the so-called forward error correction (FEC) is known from the prior art. Forward Error Correction (FEC) is a method of error correction in which additional redundancy information is added to the data. This redundancy allows the receiver to detect and correct errors without having to resend the packet. FEC is often used in high-speed Ethernet connections such as
[0005] 10 Gigabit Ethernet (10GbE) is used to ensure data integrity.
[0006] Link-level error correction is also known from the state of the art. At the physical layer, Ethernet can also perform error correction. Techniques such as signal amplification, noise suppression, and error correction codes are used to improve the stability of data transmission. These error correction mechanisms are implemented in the Ethernet transceivers, which perform the conversion between digital data and physical signals.
[0007] Error correction mechanisms play a crucial role in ensuring reliable data transmission in networks. They help detect, isolate, and correct transmission errors to ensure data integrity is maintained. Especially in mission-critical environments where large amounts of data are transmitted, error correction mechanisms are essential to maintaining connection quality.
[0008] The DisplayPort standard is also well-known. DisplayPort uses various error detection and correction methods to ensure that the transmitted data is reproduced accurately and without loss. These mechanisms are part of the DisplayPort protocol and contribute to the stability and quality of data transmission. Forward Error Correction (FEC) is an important error correction method in DisplayPort. It inserts additional redundancy information into the transmitted data. This redundancy allows the receiver to detect and correct erroneous data bits. This allows errors that occur during transmission to be effectively corrected without the need to retransmit the data.
[0009] Furthermore, it is generally known from the state of the art that data transmission over a serial data channel is typically error-prone. To address this problem, various coding techniques are used, such as line coding. This is also referred to as line coding.
[0010] The prior art recognizes the problem of faulty data transmission over a serial communications link and provides for line-coded data to be provided with forward error correction. The prior art therefore addresses the problem of error correction by providing line-coded data with a non-line-coded addition, namely forward error correction, which in turn is not line-coded. Thus, the prior art has the problem that even if line coding is provided, individual metadata is transmitted unencoded, and thus the advantages of line coding cannot be utilized for all transmitted data. This, in turn, represents a source of errors. The prior art partially overcomes this problem by separately line-coding the forward error correction data and then transmitting it.This creates additional overhead, and in order to protect the line-coded forward error correction data, a new forward error correction would have to be calculated. This, in turn, creates additional overhead and also creates a non-line-coded forward error correction.
[0011] Furthermore, the state of the art has the problem that forward error correction is always calculated over entire data words, resulting in enormous technical effort because an exponentially growing number of gates must be maintained and operated for an increasing word length. This makes state-of-the-art encoders that calculate forward error correction extremely expensive to manufacture and more prone to errors. Furthermore, they consume large amounts of power, which is undesirable in vehicles. Likewise, errors propagate over an entire word to a greater extent than if error corrections were calculated over partial words, which in turn increases the susceptibility to errors. This is also undesirable in vehicles, as data transmission is safety-critical, especially in vehicles.The susceptibility to errors is particularly significant in an automobile or a vehicle in general, as safety-critical functions must be provided.
[0012] Various coding methods and data transmission processes are known from the state of the art, but these all relate to application scenarios that can only be used to a disadvantage in an automobile. The state of the art often assumes that high computing power is available and that no high real-time requirements are placed. Furthermore, the state of the art often assumes that the weight and reliability of the components to be used play a subordinate role. The state of the art often relates to conventional computer networks, where reliability and low technical effort are less important. Based on this state of the art, there is a need for a method and / orTo create a system configuration that enables data to be processed as quickly as possible, given automotive safety requirements, while also requiring minimal technical effort and minimizing the error rate during transmission, since retransmission is not possible if an error is detected. The minimal technical effort should be achieved by using components that are as simple as possible, lightweight, and can also be efficiently manufactured in large quantities. Familiar methods and system configurations from computer network technology are typically not applicable here, since weight savings and real-time performance are not crucial for a desktop PC or server.While heat removal generally presents a challenge in computer systems, energy efficiency in an automobile is even more important, as in electromobility, for example, power consumption even influences the range of the vehicle.
[0013] Further prior art relates to the transmission of data in a serial data stream. For example, the prior art provides for extensive descriptive data to be sent along with the payload, indicating where the payload is located and how it should be interpreted. Furthermore, it is known in the prior art to discard individual data packets if they are not transmitted correctly. Furthermore, it is known in the prior art to resend data packets if they do not arrive at a sender in a timely manner or in an unexpected format.
[0014] When transmitting data serially, it is necessary to keep the number of ones and zeros in the serial data stream as equal as possible. This is called disparity. A disparity of zero on average, but also over a short period of time, is desirable to prevent baseline drift during transmission. Baseline drift (DC voltage fluctuation) of the serial signal leads to bit errors. In extreme cases, transmission is not possible.
[0015] To reliably recover the serial bits in the serial data stream on the receiving side without the need to transmit a clock pulse, a minimum number of 0->1 or 1->0 transitions is required. This allows the clock pulse for recovering the serial data to be generated locally at the receiver from the serial data stream. The so-called run length specifies how many identical bits (ones or zeros) can occur consecutively without a change. A short run length is always desirable, as long run lengths make it impossible to reliably recover the clock pulse from the serial data stream.
[0016] The task of the line code (in this case a block code or line code) is to generate a symbol with guaranteed disparity and guaranteed run length from arbitrary data words with arbitrary disparity and infinite run length. This leads to transmission overhead. More bits (in the form of symbols) must be transmitted than the net data word to be transmitted. This means that the required transmission speed (bandwidth) must be greater than the data rate of the data to be transmitted. This, in turn, leads to systems requiring higher error rates or more overhead, power, etc., than would be necessary to transmit the raw data.
[0017] It is therefore an object of the present invention to propose a method for improving forward error correction in serial coding during data transmission in a vehicle. The proposed method is to be efficient, requires little technical effort, and is as error-robust as possible. Furthermore, it is an object of the present invention to provide a correspondingly configured system arrangement for carrying out the method. Furthermore, it is an object of the present invention to propose a computer program product that contains control commands that implement the method or operate the system arrangement. Furthermore, a storage medium with control commands is to be proposed.
[0018] The problem is solved by the features of patent claim 1. Further advantageous embodiments are specified in the subclaims.
[0019] Accordingly, a method for improving forward error correction in serial coding during data transmission in a vehicle is proposed, comprising providing payload data to be transmitted; dividing the provided payload data into a plurality of bit sequences of equal length; reading out a subdivision rule which subdivides a bit sequence into a sequence of segments of each predefined length at a predetermined bit position; applying the read-out subdivision rule to all bit sequences of the plurality of bit sequences; iteratively creating a partial forward error correction for all segments of the same bit position across all bit sequences; iteratively applying a segment encoder across all segments of the same bit position to generate segment line codes across all segments for each bit position and for each bit sequence.applying to the respective partial forward error correction the segment encoder that was also applied to the segments for which the respective partial forward error correction was created to generate one partial forward error correction line code for each partial forward error correction; and transmitting all segment line codes and all partial forward error correction line codes;
[0020] According to the invention, forward error correction is improved by calculating it with respect to payload data and by first segmenting the payload data. A separate forward error correction is then calculated for each segment, so that the forward error correction does not refer to an entire data word, but rather to different subwords. This keeps the number of gates of the FEC encoders to be used low and avoids exponential growth. Furthermore, an improvement is achieved by the fact that, according to the invention, line coding is performed via the payload data together with the forward error correction, thus overcoming the disadvantage of the prior art, namely that the forward error correction is transmitted in an uncoded form.Furthermore, it is advantageous that error correction can work more efficiently because the error correction only refers to partial words and thus it is possible to detect in fine-grained detail where an error has occurred.
[0021] Conventional error correction always refers to entire data words and is therefore inefficient, or in the current state of the art, can lead to errors that cannot be corrected. This is avoided by segmentation according to the invention.
[0022] A further improvement is that all transmitted data is line-coded, allowing the entire data set to benefit from line coding. The transmission link is thus deterministically controllable, and bit errors are kept to a minimum. Furthermore, implicit interleaving results from sending smaller packets, resulting in implicit interleaving because not all data words are transmitted. This is achieved by using multiple forward error correction coders, each of which only applies to partial words. Thus, the present invention overcomes the disadvantage of the prior art, which requires the complex creation of explicit interleaving, which would also require additional buffer memory.
[0023] Due to the optimized disparity (line coding) of the bit sequence to be transmitted, errors can be avoided during interpretation on a serial channel. Thus, efficiency also refers to the fact that the bit sequence is particularly error-robust, allowing it to be reliably transmitted only once. Redundant transmission is avoided due to the high detectability, again due to the optimized disparity.
[0024] During serial data transmission, it is advantageous to maintain an equal number of ones and zeros in the serial data stream, if possible. This is generally referred to as disparity. For reliable clock recovery at the receiver, a run-length restriction can be imposed on the generated channel sequence. This limits the maximum number of consecutive ones and zeros. Thus, the proposed method can also be referred to as a method for efficiently encoding a bit sequence. According to the invention, the disparity is optimized by skillfully adjusting partial disparities. This can be particularly advantageous when the run length of the bit sequence is limited. The restricted disparity and the restricted run length can also refer to the arbitrary bit sequence provided. Thus, this does not have to be the efficiently transmittable bit sequence.Overall, the provided arbitrary bit sequence can be transmitted efficiently or a bit sequence to be transmitted is generated or created from this bit sequence, which can then be transmitted efficiently.
[0025] The proposed method is specifically designed for use in vehicles or is tailored to their specific needs. This is because vehicles offer safety-critical functions that must be appropriately protected. According to the invention, this is achieved in several ways: firstly, through forward error correction and through line coding. Furthermore, the reduced number of required gates is particularly advantageous in electromobility.
[0026] According to the invention, a preparatory method step involves providing the payload data to be transmitted. This typically involves a bit sequence of a fixed length. This can also be referred to as a data word.
[0027] The provided payload data is then divided into a plurality of bit sequences, each of equal length. In a preferred embodiment, these bit sequences can have a length of 112 bits. While the payload data can be a continuous data stream, the bit sequences are always of a specific length and, to a certain extent, provide a subdivision of the payload data. In the following, a bit sequence is also referred to as a data word. Furthermore, in the following, and particularly in the figures, it is assumed that, figuratively speaking, the bit sequences are arranged one below the other. Thus, each individual bit sequence extends horizontally, and the individual bit sequences are arranged one below the other vertically.
[0028] Since the bit sequences are now segmented, a subdivision rule is read out which divides a bit sequence into a sequence of segments, each of a predefined length at a predetermined position. The subdivision rule can be in the form of a data format which defines how long a segment must be. The individual segments do not have to be of the same length; this can vary from segment to segment. However, the subdivision rule stipulates that the individual bit sequences each have the same format, so that, figuratively speaking, the divisions are vertically equal. For example, the first segment of each bit sequence can have 11 bits. For example, the first four segments can each have 11 bits, followed by a segment of 7 bits. This can then be followed by another segment with 11 bits and then a segment of 6 bits. This data format is adhered to for all bit sequences.Thus, segments in the same position can always be of the same length, although the segments can, figuratively speaking, differ vertically. The segments, figuratively speaking, per line then form the bit sequence. The bit sequences in their vertical arrangement, as a whole, constitute the payload data.
[0029] Thus, the extracted subdivision rule is applied to all bit sequences of the plurality of bit sequences until the entire payload data is divided horizontally into bit sequences and the segments are formed vertically. Thus, all bit sequences are divided according to the same subdivision rule. The subdivision rule can be read from a data memory and applies to all bit sequences obtained from the payload data.
[0030] A partial forward error correction is then iteratively created for all segments with the same bit position across all bit sequences. Thus, figuratively speaking, a forward error correction is calculated for all vertical segments that are in the same bit position or sequence across all segments. This is performed for all segments, so that partial forward error corrections are created across all bit sequences and thus across the entire payload data. The totality of all partial forward error corrections thus creates a complete forward error correction that applies to the entire payload data or all bit sequences.
[0031] In general, it is also possible for the payload data to be simply divided into a bit sequence, or for the payload data to already be present as a bit sequence in its entirety. This then generates partial forward error correction for each segment.
[0032] Now, a segment encoder is iteratively applied to all segments with the same bit position to generate segment line codes across all segments for each bit position and each bit sequence. Thus, line coding is performed, figuratively speaking, across all vertical segments. This is advantageous because line encoders are specifically designed for predetermined lengths. This ensures that each vertical segment can be coded using a single line code. The iterative application of the segment encoders ensures that, figuratively speaking, the segments are line-coded column by column, and this is performed across all segments until all bit sequences are line-coded with respect to their segments.
[0033] It is particularly advantageous that the partial forward error correction has the same number of segments as the respective segments. Thus, the partial forward error correction can be encoded using the same line encoder as the corresponding segments.
[0034] The segment encoder that was also applied to the segments for which the respective partial forward error correction was created is applied to the respective partial forward error correction, generating one partial forward error correction line code for each partial forward error correction. Thus, the segment encoders that line-coded the respective segments are used and then also line-code the respective partial forward error corrections. Thus, the segments are line-coded column-by-column with the same segment encoder as the partial forward error corrections that relate to the respective column.
[0035] All segment line codes and all partial forward error correction line codes are then transmitted.
[0036] According to one aspect of the present invention, the subdivision rule is stored in a data memory and is present as a coding rule and / or is read from a hardware architecture. This has the advantage that the subdivision rule can be statically specified or can also be changed in the data memory. Furthermore, the subdivision rule can take the corresponding hardware architecture into account. If, for example, different encoders are provided for different bit lengths, the bit sequences can be subdivided such that the corresponding segments correspond to the respective encoders. The segments therefore have exactly the length provided by the respective encoder.
[0037] According to a further aspect of the present invention, all bit sequences have the same structure in their data format, the same segment lengths, and / or the same bit positions. This has the advantage that the individual segments can be fed to the respective encoders. For example, the first segment of each bit sequence is fed to the same encoder. Thus, figuratively speaking, the segments can be encoded column by column, with a specialized encoder for each column.
[0038] According to a further aspect of the present invention, the partial forward error correction has correction information which describes a target content of the segment for which the partial forward error correction was created. This has the advantage that the transmitted data can be corrected using this correction data, whereby an entire correction is not formed for each bit sequence, but rather individual partial forward error corrections are formed for the individual segments. All partial forward error corrections in their entirety describe all segments of all bit sequences and thus all payload data. The difference from the prior art here, however, is that a forward error correction is not formed for each bit sequence, but for all segments across all bit sequences. This makes it possible to use the same line encoder for each partial forward error correction that is used for the corresponding segments.
[0039] According to a further aspect of the present invention, the partial forward error correction has the same bit length as the segment over which it is created. This has the advantage that specialized line encoders can be maintained, thus creating maximum efficiency in that the corresponding column-wise line encoders are specialized precisely for the bit length they must then encode. This creates an efficient method with minimal technical complexity.
[0040] According to a further aspect of the present invention, a set of partial forward error corrections describes all the payload data to be transmitted in a correctable manner. This has the advantage that all the payload data being transmitted can be corrected for errors, but this can be done on a segment-by-segment basis, so that the proposed method is more fine-grained than the prior art.
[0041] According to a further aspect of the present invention, the segment encoders each generate at least part of a line code. This has the advantage that the outputs of the segment encoders can be combined to then provide the line codes to be transmitted.
[0042] According to a further aspect of the present invention, the entire segment encoder encodes 112-bit bit sequences into 128-bit words. This has the advantage of creating a particularly efficient line code.
[0043] According to a further aspect of the present invention, the partial forward error correction line codes are appended to the segment line codes during transmission. This has the advantage that all data to be transmitted is line-coded, thus allowing the line to be operated deterministically, and the advantages of line coding can be utilized for all data, not just the payload data itself.
[0044] According to a further aspect of the present invention, the bit position is specified as an offset or as a bit index in the bit sequence. This has the advantage that different addressing types can be used, and the index is based on an order of the respective segments, which can then be advantageously specified using known methods.
[0045] According to a further aspect of the present invention, the payload data is present as a serial data stream. This has the advantage that, theoretically, any amount of payload data can be transmitted, which is then divided into bit sequences of equal length.
[0046] According to a further aspect of the present invention, the method steps are performed in the described order and / or iteratively. This has the advantage that the coding order is reversed. According to the invention, forward error correction is performed first, followed by line coding. This does not preclude the possibility that individual method steps may need to be performed multiple times. This may be the case, for example, when multiple bit sequences are present and these must be segmented.
[0047] According to one aspect of the present invention, a line code segment is generated for each data subword block and / or each data subword block forward error correction. This has the advantage that the forward error correction does not have to be transmitted uncoded, but rather is also line-coded. Thus, the advantages of line coding are available not only for the payload data but also for the forward error correction.
[0048] According to a further aspect of the present invention, a forward error correction for a data block is composed of multiple partial forward error corrections of the data word blocks. This has the advantage that not one entire forward error correction is initially generated, but rather many individual partial forward error corrections, which together form a total forward error correction. In this way, the number of gates of the required FEC encoders is kept to a minimum. Nevertheless, it is possible to protect all data using forward error correction and, furthermore, to transmit the data including the forward error correction (FEC) in line-coded form.
[0049] According to a further aspect of the present invention, the data structure is read out, and a forward error correction sub-encoder is selected depending on the respective bit lengths of the data subwords. This has the advantage that the FEC encoders are precisely tailored to the segment lengths or the bit lengths of the subwords. In this way, it is possible to minimize the number of gates such that the encoders only need to create codes for small subwords and not for the entire data words. Consequently, each FEC encoder is precisely tailored to the bit length of the data subword to be encoded.
[0050] According to a further aspect of the present invention, the number of gates of the FEC partial encoders is selected depending on the bit length of the data subwords. This has the advantage that, compared to the prior art, the number of gates required for the FEC encoders is reduced, thus creating an efficient system arrangement or method, which is particularly advantageous in automobiles or vehicles. In this way, no unnecessary gates need to be maintained. Thus, a deterministic and minimal number of gates is achieved.
[0051] According to a further aspect of the present invention, the number of all gates of all encoders is selected such that, when the method is executed iteratively, the number of gates increases linearly with increasing data word lengths. This has the advantage that, taking the data format into account, a minimal number of gates is provided or that the data format can be selected such that only a linear increase in the number of gates is necessary. In one embodiment, the maximum bit length can be 10, 11, or 12 bits, which results in the required gates or circuits of the FEC encoders only increasing linearly. Since an exponential growth of gates is necessary for larger values, the present invention creates the technical effect of minimizing power consumption or energy absorption, which in turn leads to less waste heat.Furthermore, the proposed method is particularly robust, which is particularly advantageous in automobiles, where safety-critical functions are offered.
[0052] According to a further aspect of the present invention, each data word has 112 bits. This has the advantage that 128-bit words can be created with line coding, which corresponds to a common format. According to the invention, it has been shown that 112 bits in particular can be encoded in a particularly error-robust 128-bit format. This ensures that the transmission is subject to a lossy or error-prone data channel.
[0053] According to a further aspect of the present invention, the bit length of the data subword block forward error correction is selected such that it matches the bit length of the data subwords. This has the advantage that both the forward error correction and the data subwords or segments can be encoded using the same encoder, which is the line encoder, not the FEC encoder. Thus, the present invention makes the technical contribution that not only a minimal number of gates is required, but rather the total number of encoders is also minimized. Thus, the forward error correction can be line-encoded using the same encoder as the actual payload data segments.
[0054] According to a further aspect of the present invention, the data subword block forward error correction and the data subword block on the basis of which the data subword block forward error correction is calculated are line-coded using the same line encoder. This has the advantage that a minimal number of line codes are required. Figuratively speaking, virtually all columns, i.e., all subword blocks, including the corresponding partial forward error correction, are line-coded using the same segment encoder.
[0055] According to a further aspect of the present invention, the data structure is selected depending on the bit length of the data words. This has the advantage that the different bit lengths can be addressed dynamically, even at runtime, and thus the same data format can be selected for further data words as for a first data word provided. If initial data words are present, a corresponding data structure can be applied to a further serial data stream, and the further data words are structured in such a way that they correspond to the data structures of the first data words received.
[0056] According to a further aspect of the present invention, serial line coding is performed after calculating the data subword block forward error correction. This has the advantage that the order provided in the prior art is reversed, and the forward error correction is calculated first, which means that it can also be line-coded and does not have to be transmitted unencrypted or uncoded.
[0057] According to a further aspect of the present invention, the method steps are executed in a virtualized manner, and information about the underlying encoders and / or gates is generated. This has the advantage that the implementations can be evaluated in a preparatory method step, and thus it can be determined how many gates or how many FEC encoders and / or line encoders are to be provided. Furthermore, the entire method can be simulated. Hardware components can be provided virtually.
[0058] The object is also achieved by a system arrangement for improving forward error correction in serial coding during data transmission in a vehicle, comprising an interface unit configured to provide user data to be transmitted; a division unit configured to divide the provided user data into a plurality of bit sequences, each of the same length; a further interface unit configured to read out a division rule which divides a bit sequence into a sequence of segments, each of a predefined length at a predetermined bit position; a division unit configured to apply the read-out division rule to all bit sequences of the plurality of bit sequences; a correction unit configured to iteratively create a partial forward error correction for all segments of the same bit position across all bit sequences;a coding unit configured to iteratively apply one segment encoder each to all segments of the same bit position to generate segment line codes across all segments per bit position and per bit sequence; a further coding unit configured to apply the segment encoder to the respective partial forward error correction that was also applied to the segments for which the respective partial forward error correction was created to generate one partial forward error correction line code for each partial forward error correction; and a transmission unit configured to transmit all segment line codes and all partial forward error correction line codes.
[0059] The present invention is also directed to a system arrangement or a method which receives the data and then decodes it and reads out both the forward error correction and the payload data.
[0060] The problem is also solved by a computer program product with control commands which implement the proposed method or operate the proposed device.
[0061] According to the invention, it is particularly advantageous that the method can be used to operate the proposed devices and units. Furthermore, the proposed devices and units are suitable for implementing the method according to the invention. Thus, each device implements structural features suitable for executing the corresponding method. However, the structural features can also be configured as method steps. The proposed method also provides steps for implementing the function of the structural features. Furthermore, physical components can also be provided virtually or in a virtualized form.
[0062] Further advantages, features and details of the invention will become apparent from the following description, in which aspects of the invention are described in detail with reference to the drawings. The features mentioned in the claims and in the description can each be essential to the invention individually or in any combination. Likewise, the features mentioned above and those further explained here can each be used individually or in groups in any combination. Parts or components with similar functions or that are identical are sometimes provided with the same reference numerals. The terms “left”, “right”, “top” and “bottom” used in the description of the exemplary embodiments refer to the drawings in an orientation with normally legible figure designations or normally legible reference numerals.The embodiments shown and described are not intended to be exhaustive, but rather are exemplary in nature to illustrate the invention. The detailed description is intended to inform those skilled in the art; therefore, known circuits, structures, and methods are not shown or explained in detail in order not to obscure the understanding of the present description. The figures show:
[0063] Figure 1: several examples of a process flow with serial coding and
[0064] Calculation of a forward error correction according to the state of the art;
[0065] Figure 2: an optimized process flow with forward error correction and serial coding according to one aspect of the present invention;
[0066] Figure 3: encoding of payload data and calculating a
[0067] State-of-the-art forward error correction;
[0068] Figure 4: a method for improving forward error correction in serial
[0069] Coding in a data transmission in the vehicle according to the present invention;
[0070] Figure 5: a comparison of the coding according to the state of the art and the
[0071] A method for improving forward error correction according to one aspect of the present invention;
[0072] Figure 6: a diagram showing the required number of gates per bit length of
[0073] Forward error corrections clarified;
[0074] Figure 7A: encoding payload data into a line code according to one aspect of the present invention;
[0075] Figure 7B: the proposed system arrangement to improve the
[0076] Forward error correction in serial coding in a vehicle data transmission according to one aspect of the present invention;
[0077] Figure 8A: an aspect of the method for improving forward error correction according to an aspect of the present invention on the transmitter side;
[0078] Figure 8B: a method for improving forward error correction on
[0079] Receiver side according to the aspect of the present invention; and
[0080] Figure 9: a flowchart of a method for improving the
[0081] Forward error correction in serial coding during data transmission according to an aspect of the present invention.
[0082] Some of the figures present parameters which are familiar to the person skilled in the art in their English terminology and which are used as parameters and therefore cannot be translated.
[0083] Figure 1 shows three exemplary embodiments of how forward error correction is performed according to conventional methods. On the left, an exemplary embodiment is shown that first performs serial encoding of the payload data and then generates a forward error correction code (FEC). The serially encoded data is transmitted, and subsequently, the forward error correction is encoded and then appended to the encoded payload data. Thus, according to this prior art example, the forward error correction is generated over an entire data word, which then must be encoded again and is appended. Encoding is therefore not performed over the individual segments, but over the entire bit sequence.
[0084] In the middle, another prior art embodiment is shown, in which the line-encoding step of the forward error correction is omitted and unencoded parity information is appended. This has the disadvantage that the last data part, i.e., the parity information, is not line-encoded and is therefore highly error-prone.
[0085] On the right side, an example is shown which, in contrast to the example in the middle, omits the loopback of the parity information for serial coding. This results in the same disadvantages as in the example in the middle. Data transmission solutions place increasingly strict requirements on
[0086] Error-free operation / fault tolerance, which requires a fine tuning between serial coding and forward error correction (FEC) with ever-increasing data rates.
[0087] The current state of the art (Ethernet / DisplayPort) processes the data stream in the following order:
[0088] 1. The input data is encoded in the first step using serial coding (8b10b, 64b66b, 128b132b, etc.). For larger coding schemes from 64b66b upwards, this is primarily achieved by scrambling using LFSR.
[0089] 2. The serially coded stream is now additionally protected against bit errors using FEC (Forward Error Correction) coding. A complete FEC coding (FEC coding word) contains both the input data on a symbol basis and also the so-called parity symbols. For these applications, the input data is passed through the FEC untouched. This means that it always corresponds to the original serial code. The following additional procedures are now available: a. The parity symbols are now also serially coded afterwards (e.g. 8b10b) in order to meet the requirements for serial transmission (run length, DC balance, etc.). This additional post-coding of the parity symbols requires an additional encoder in hardware. b. Instead of the aforementioned subsequent serial coding of the parity symbols, there are also solutions with feedback of the parity symbols to step 1.).With a serial encoder, it is possible to control the DC balance based on the selection of a positive or negative symbol. However, this is associated with a corresponding dead time (depending on the size of the serial encoding and the FEC encoder). This can, for example, lead to a significant deviation in the temporary DC balance. c. The parity symbols are sent untreated directly to the serial link (e.g., DisplayPort 2.0). However, this is very imprecise because the parity symbols are generated depending on the input data. Here, one relies on the parity symbols being DC-balanced on average.
[0090] All of the methods mentioned (ac) have the disadvantage that they require large resources (e.g., two serial encoders) or result in insufficiently precise serial coding (e.g., DC balancing, run length, spectrum). In particular, inaccurate control over the serial coding, in combination with the transmission channel, can lead to the data stream not being able to be reconstructed error-free at the receiver end (CDR samples incorrectly). These effects are mitigated when operating with FEC (since this corrects bit / symbol errors), which unnecessarily deprives the FEC coding of its correction margin for further necessary error correction for errors caused by signal integrity or, for example, external influences. Based on the size of the overhead (2t see Figure 3), a Reed Solomon FEC can only correct t symbol errors in symbols.
[0091] Figure 2, on the other hand, shows the method according to the invention, in which forward error corrections are generated via the payload data, which are then also encoded with the payload data. The advantage here is that both the payload data and the forward error correction are line-coded and thus error-robust. This figure also shows that the difference from the prior art is that the forward error corrections are generated directly on the payload data and not on the line-coded payload data. This then enables all data to be transmitted in line-coded form, which in turn results in increased error robustness.
[0092] The procedure proposed below to improve the problem mentioned applies to all conceivable ECC / FEC codings and is not only applicable to Reed Solomon codes.
[0093] The presented method changes the order of serial coding and FEC:
[0094] 1. In the first step, the input data is protected using FEC or several individual FEC units with smaller symbol widths (6-12 bits). This also results in a total overhead of 2t.
[0095] The use of multiple FEC sub-codings is expressly preferred here, as this brings further positive properties (explained below).
[0096] 2. Subsequently, the respective current FEC output symbol(s) (not to be confused with the entire FEC coding word n) is encoded using block code in such a way that all desired properties of DC balance, run length, frequency spectrum, etc. are maintained.
[0097] In the case of multiple FEC coders in step 1, exactly the same number of block coders is used. This means that on the receiving side, a bit error on the link that destroys an entire data symbol of the serial code results in only a single FEC symbol error.
[0098] Figure 3 shows a flowchart according to the prior art, wherein the input data is line-coded, and then a forward error correction is generated. This forward error correction is appended to the present right-hand side, as shown at the very bottom. Thus, first the data word above is line-coded, and then a non-line-coded forward error correction is appended. This now presents a problem, since the forward error correction does not have the desired properties necessary for robust data transmission. Disadvantages arise because the data is not DC (digital current) balanced, meaning that a favorable parity is not set. Furthermore, clock recovery errors can occur with a non-line-coded transmission.In general, line coding is advantageous in that it allows an average value of the analog signals to be measured, and then it can be determined which actual signals are above this average value and which are below it. It is desirable that the number of analog signals above the average value, i.e., digital "1s," be equal to the number of analog signals below the average value, i.e., digital "0s." This allows for optimized signal modeling. This is not possible in Figure 3, since the forward error correction code is not line-coded.
[0099] Figure 4 shows the inventive method and transmission over a lossy channel. Here, every channel is potentially lossy, and it is particularly advantageous that forward error coding occurs first upon data input, followed by the entire serial coding. On the receiver side, the method is implemented in reverse analogue, and serial decoding occurs first, restoring not only the payload data but also the forward error correction.
[0100] Figure 5 shows an upper exemplary embodiment of a method according to the prior art, wherein in a first method step, an output data word or a bit sequence is line-coded from the first to the second line. This results in a code that is longer than the output bit sequence, which is also referred to herein as overhead. In a subsequent method step, a forward error correction code is generated from the second line to the third line and appended to the line coding. As can now be seen, the first part on the left of the data to be transmitted is line-coded, and the second part, namely the forward error correction, is not line-coded. This entails problems, since the advantages of line coding must be foregone for the appendix on the right. This is disadvantageous.
[0101] In the exemplary embodiment in the middle of the present figure, the output word ABC is again shown at the top. The bit sequence therefore consists of the segments A, B and C. In this case, these are 11 bits, 6 bits and 7 bits long. According to the invention, it is not the entire data word, i.e. the entire bit sequence, that is, is protected in its entirety, i.e. provided with a forward error correction code, but rather the individual segments are protected. This is shown in the second line by the fact that the corresponding forward error correction code is shown after each segment A, B and C. In a subsequent method step, line coding is applied in the third line, or the data from the second line is completely line-coded, which results in a line code in the third line. This can now be transmitted, and it is clear that all of the data is line-coded and that the forward error correction code is also line-coded.Thus, the advantages of line coding apply to all data to be transmitted.
[0102] The exemplary embodiment at the very bottom of Figure 5 shows the method steps according to the invention, although further sub-steps are possible. The different bit sequences are shown, with the payload data now divided into bit sequences of equal length. The entire payload data is thus divided into four bit sequences, all of the same length. These four bit sequences are in turn divided into segments of equal length. Figuratively speaking, individual bit sequences are arranged horizontally, and these bit sequences are arranged one below the other, so that each row reflects a bit sequence. As can also be seen, the bit sequences are each divided into three segments of equal length. This results in a matrix-like arrangement of the payload data with bit sequences per row and segments per column.
[0103] Now, instead of performing line coding as is provided for in the prior art, a partial forward error correction is calculated for each column, i.e., for all segments at the same bit position, according to the subdivision rule specified in the above method step. As can be seen in the first row of the second rectangle, a partial forward error correction is drawn at the top, which is referred to as FEC overhead in this figure. The segmented bit sequences are now available according to the subdivision rule, and the partial forward error corrections for all segments at the same bit position are available across all bit sequences.
[0104] A segment encoder is then applied to all segments with the same bit position to generate segment line codes across all segments for each bit position and each bit sequence. In a further or the same method step, the same segment encoder is applied to the respective partial forward error correction (FEC) code, resulting in a single line code that includes the segment line codes and the partial forward error correction (FEC) codes. As can now be seen below in Figure 5, all data has been line-coded, and in particular, the FEC code has also been line-coded. This data can now be advantageously transmitted.
[0105] Figure 6 shows, in a diagram on the y-axis, the number of gates required to create a forward error correction code as a function of the bit length to be encoded on the x-axis. As can be seen, this is an exponential growth, and from a bit length of 10-12 bits, the growth of the gates, i.e. the number of gates required for forward error correction, increases above average. Thus, according to the invention, it is particularly advantageous to perform forward error correction for each segment, as this avoids having to take the entire data word, i.e. the entire bit length, into account. If the entire bit length had to be taken into account for forward error correction, the bit length would typically be beyond the critical 12 bits. The number of gates required in the forward error correction encoder would increase in an unfavorable manner.This illustrates the advantageous technical effect of the present invention, which first forms segments over the bit sequence and then calculates the forward error correction on the segments.
[0106] At this point, reference is again made to the subdivision rule according to Figure 5, which stipulates that a segment can have 11 bits, 6 bits or 7 bits.
[0107] By using multiple FEC encoders / decoders with smaller FEC symbol sizes, both the number of required gates and the maximum operating frequency for a given process node F are reduced. max larger (shorter carry chains, more parallelism). Figure 6 shows the relationship between the FEC symbol size in bits and the required implementation. This refers to a hardware implementation of a Reed Solomon FEC. The gate count is normalized (to 12-bit symbol size), allowing direct comparison. The exponential relationship between symbol size in bits and the implementation in gates can be seen in the graph.
[0108] The same symbol widths do not necessarily always have to be used for the respective small FEC sub-coders. Large serial codes can also consist of several different sub-codes (the simplest example is 8b10b, which can be constructed from 3b4b and 5b6b), as suggested for use with FEC. In the case of the present invention or ADXpress (registered trademark), this is achieved by a total of 11 coders with four basic types: 6b8b, 7b8b, 11b12b, and 11b13b. The FEC symbol width used for the respective sub-code is determined by the data word width of the respective serial coder. For 6b8b, for example, an FEC with a symbol width of 6 bits is used accordingly.
[0109] The complete structure for the transmitter data path of the present invention, or ADXpress (registered trademark), is shown in one aspect in Figure 8A. The data path in the receiver is constructed in a correspondingly inverse manner (see also Figure 8B).
[0110] Figure 7A shows a line coding system or a line coding device with multiple line coding units, which, for example, map 11 bits to 12 bits, 11 bits to 13 bits, or 11 bits to 12 bits. This corresponds to the sequence in Figure 7 from right to left and illustrates that the input data word, i.e., the bit sequence at the top, is divided into individual segments, and then the individual segments are line-coded. The calculation of the forward error correction is not yet taken into account in Figure 7A, so the system arrangement according to Figure 7A can serve as the starting system arrangement for the present invention.
[0111] Figure 7A above shows any 112-bit bit sequence being segmented into 11, 6, or 7 bits. The coding units are then addressed in parallel, converting the bits into subsymbols optimized for disparity. For example, 11 bits are encoded to 12 bits, or 11 bits to 13 bits.
[0112] In Figure 7A, on the far left in the middle, a coding unit from the second subset is shown, designated 11B12B. This produces a subsymbol with any sign, i.e., with any disparity. To compensate for this disparity, the coded unit 11B13B is connected downstream in parallel with the bit sequence. This means that a data stream is formed which converts the most significant bits of twice 11 into two subsymbols. Firstly, 11B12B converts the 11-bit data segment into a 12-bit subsymbol with any sign, i.e., disparity, and secondly, the 11-bit data segment is coded into 13-bits by the coding unit 11B13B. In the figure, the second coding unit from the left, 11B13B, is a coding unit from the first subset. This has an inverter and a multiplexer.The first 13 bits are therefore present as a data stream, which is divided in such a way that it is inverted once with respect to its sign, i.e., its disparity, and once remains unchanged. Further down, it is shown that, with disparity feedback, the positive or negative—i.e., the original or inverted—data stream is used to compensate for the sign from the leftmost coding unit. Therefore, two data streams are applied to the first multiplexer on the left, each representing the subsymbol: once with the conventional sign, as output from the 11-bit 13-bit coding unit, and once with an inverted sign or inverted disparity.
[0113] Based on the feedback from the unit at the very top, the disparity resulting from the leftmost encoder 11B12B is determined, and thus the multiplexer, at the very bottom left, compensates for or minimizes the disparity of the subsymbol of the leftmost encoder 11B12B. This is carried out in parallel in such a way that the coding units from the second subset are followed by coding units from the first subset, which minimize or eliminate the disparity. Finally, the overall symbol is output at the very bottom right. This overall symbol has 128 bits and is made up of the subsymbols, as inserted into the bold line below using the slanted arrows. Thus, the subsymbols whose disparity is optimized or minimized are present on this output line, and these subsymbols form the overall symbol, which can then be output and transmitted.
[0114] According to one aspect of the present invention, a 112-bit data word with any disparity (maximum disparity: 112) and any run length (maximum run length: 112) is encoded into a 128-bit symbol. The overhead resulting from the encoding is thus 14.2%. The maximum run length occurring in the symbol, as with any sequencing of any symbols, is 8 equal bits.
[0115] The maximum disparity in the long mean is 0. The disparity in a symbol is less than 9.
[0116] The complexity of the logic is minimal, comparable to 10 8B / 10B encoders (with the well-known disadvantage of the large overhead).
[0117] This is achieved by the use, or parallel use, of several “small” encoders whose characteristics regarding disparity and run length are optimally matched to one another.
[0118] The encoders 11 B12B, 7B8B and 6B8B all generate symbols with a guaranteed maximum run length of 6, even with arbitrary sequencing of the (partial) symbols.
[0119] According to one aspect of the present invention, the encoder (11 B13B) generates symbols with a guaranteed maximum run length of 7 or 5 at the beginning or end of the symbol. Due to the sequencing (Fig. 2) of the (11 B13B) with the other encoders, a maximum run length of 8 can be created in the symbol.
[0120] See encoder properties as follows:
[0121] 11B13B: 11 bits of data are mapped to 2048 13-bit symbols. The symbols can be transmitted inverted or non-inverted.
[0122] Disparity:
[0123] +3... +9 or controllable -3... -9
[0124] Run length in word: 7
[0125] Running length at the edge: 5.
[0126] 11B13B: 11 bits of data are mapped to 2048 13-bit symbols. The symbols can be transmitted inverted or non-inverted.
[0127] Disparity: +3... +9 or controllable -3... -9
[0128] Run length in word: 7
[0129] Run length at the edge: 5 11B12B: 11-bit data is mapped to 2048 12-bit symbols. The symbols are transmitted uninverted.
[0130] Disparity: -2, -1 , 0, 1 , 2
[0131] Run length in word: 6
[0132] Running length at the edge: 3
[0133] 7B8B: 7-bit data is mapped to 128 8-bit symbols. The symbols are transmitted uninverted.
[0134] Disparity: -2, -1 , 0, 1 , 2
[0135] Run length in word: 6
[0136] Running length at the edge: 3
[0137] 6B8B: 6-bit data is mapped to 64 8-bit symbols. The symbols are transmitted uninverted.
[0138] Disparity: 0
[0139] Run length in word: 6
[0140] Running length at the edge: 3
[0141] With the four 11 B13B encoders, a disparity of at least +-12 can be controllably generated to compensate for the uncontrollable disparity of a maximum of +-12 (6 x +-2) of the 11 B12B and 7B8B encoders, so that a balanced disparity can be reliably achieved regardless of the data to be transmitted.
[0142] To further reduce the complexity of the hardware, according to one aspect of the present invention, four small encoders (11B13B) are used, the disparity of which can be controlled with respect to sign (+-).
[0143] According to one aspect of the present invention, symbol disparity is controlled by each encoder calculating the parity of "its" subsymbol. This is done with little effort, since the subsymbol has only a few bits.
[0144] For four of the eleven encoders, the sign of the disparity of the subsymbol can be actively controlled by inverting the generated subsymbol. The encoders (11B13B) have the special feature that their symbols generate a symbol with positive disparity (+3... +9) for all input data. Inverting the subsymbol produces a symbol with negative disparity (-3... -9).
[0145] This allows the disparity (-2, -1, 0, 1, 2) of the subsymbols of the other encoders (11B12B and 7B8B) to be compensated. The 6B8B encoder generates symbols whose disparity is always 0. Then, all (sub)parities of the encoders (11B12B and 7B8B) are added, and the result determines how many inverted and non-inverted symbols of the encoder (11B13B) are used.
[0146] The minimum (smallest) disparity of the encoder is 11B13B +-3. Thus, in total, these four encoders can reliably compensate for a disparity of +-12 (4*+-3) per symbol.
[0147] Furthermore, five (11B12B) encoders and one (7B8B) encoder are used, each with a maximum disparity of +-2. Thus, in the extreme case, these six encoders produce a disparity of exactly +-12 (2*+-6). This can be reliably compensated by the 11B13B encoders.
[0148] According to one aspect of the present invention, the method achieves the same quality as an 8B10B code but with half the overhead (loss due to coding).
[0149] The implementation of the encoding and decoding hardware requires only minimal resources (logic) due to the use of several small encoders instead of one large one.
[0150] The encoding can typically be done entirely in one clock cycle of the parallel data path (no pipelining necessary).
[0151] The control of the disparity of the 128-bit symbol can be realized with (very) little logic, and can be realized entirely within one clock of the data path (slowly), instead of calculating the disparity by counting the one and zero bits in the serial data stream with the very fast serial clock.
[0152] Due to the deterministic disparity and run length, another
[0153] Scrambling is not necessary and thus a fast synchronization to the data stream receiver is possible (no scrambler synchronization necessary).
[0154] This is very useful, among other things, for power-save modes, where the link can be turned off for energy-saving purposes and then turned back on when needed. Fast synchronization between transmitter and receiver is essential for this.
[0155] According to one aspect of the present invention, a 112-bit data word with any disparity (maximum disparity: 112) and any run length (maximum run length: 112) is encoded into a 128-bit symbol. The overhead resulting from the encoding is thus 14.2%.
[0156] The maximum run length occurring in the symbol, as well as in any sequencing of any symbols, is 8 equal bits.
[0157] The maximum disparity in the long mean is 0. The disparity in a symbol is less than 9.
[0158] The complexity of the logic is minimal, comparable to 10 8B / 10B encoders (with the well-known disadvantage of the large overhead).
[0159] This is achieved by the use, or parallel use, of several “small” encoders whose characteristics regarding disparity and run length are optimally matched to one another.
[0160] The encoders 11 B12B, 7B8B and 6B8B all generate symbols with a guaranteed maximum run length of 6, even with arbitrary sequencing of the (partial) symbols.
[0161] According to one aspect of the present invention, the encoder (11 B13B) generates symbols with a guaranteed maximum run length of 7 or 5 at the beginning or end of the symbol. Due to the sequencing (Fig. 2) of the (11 B13B) with the other encoders, a maximum run length of 8 can be created in the symbol.
[0162] See encoder properties as follows:
[0163] To further reduce hardware complexity, four small encoders (11B13B) are used, whose disparity can be controlled with respect to the sign (+-). According to one aspect of the present invention, the symbol disparity is controlled such that each encoder calculates the parity of "its" subsymbol. This is done with minimal effort, since the subsymbol has only a few bits.
[0164] For four of the eleven encoders, the sign of the disparity of the subsymbol can be actively controlled by inverting the generated subsymbol. The encoders (11B13B) have the special feature that their symbols generate a symbol with positive disparity (+3... +9) for all input data. Inverting the subsymbol produces a symbol with negative disparity (-3... -9).
[0165] This allows the disparity (-2, -1, 0, 1, 2) of the subsymbols of the other encoders (11B12B and 7B8B) to be compensated. The 6B8B encoder generates symbols whose disparity is always 0. Then, all (sub)parities of the encoders (11B12B and 7B8B) are added, and the result determines how many inverted and non-inverted symbols of the encoder (11B13B) are used.
[0166] The minimum (smallest) disparity of the encoder is 11B13B +-3. Thus, in total, these four encoders can reliably compensate for a disparity of +-12 (4*+-3) per symbol.
[0167] Furthermore, five (11B12B) encoders and one (7B8B) encoder are used, each with a maximum disparity of +-2. Thus, in the extreme case, these six encoders produce a disparity of exactly +-12 (2*+-6). This can be reliably compensated by the 11B13B encoders.
[0168] The method achieves the same quality as an 8B10B code but with half the overhead (loss due to coding).
[0169] The implementation of the encoding and decoding hardware requires only minimal resources (logic) due to the use of several small encoders instead of one large one.
[0170] The encoding can typically be done entirely in one clock cycle of the parallel data path (no pipelining necessary).
[0171] The control of the disparity of the 128-bit symbol can be realized with (very) little logic, and can be realized entirely within one clock of the data path (slowly), instead of calculating the disparity by counting the one and zero bits in the serial data stream with the very fast serial clock.
[0172] Due to the deterministic disparity and run length, further scrambling is not necessary and thus fast synchronization to the data stream is possible on the receiver side (no scrambler synchronization required).
[0173] This is very useful, among other things, for power-save modes, where the link can be turned off for energy-saving purposes and then turned back on when needed. Fast synchronization between transmitter and receiver is essential for this.
[0174] Figure 7B now shows the adapted system arrangement from Figure 7A, with corresponding partial forward error correction encoders now shown. These are referred to here as FEC blocks. This figure shows that segments are first formed from the bit sequences, which corresponds to the upper arrows pointing downwards from the payload data. This is where the partial forward error corrections are generated and then fed into the coding units, as already shown in Figure 7A. The line coding units are referred to here as line coders and encode both the segments of the bit sequences and the partial forward error corrections. The parity can also be adjusted in optional process steps. The line-coded data is then output at the bottom and transmitted to the right via a potentially error-prone communication channel to a receiver (not shown here).
[0175] Figure 8A shows the inventive method for improving forward error correction and, in particular, shows the method steps performed on the transmitter side. The arrows at the bottom of this Figure 8A correspond to the arrow at the top of the subsequent Figure 8B. The data is thus input according to Figure 8A, and then the partial forward error correction is calculated. As can be seen above, all segments have the same bit length. This means that the first column contains 11 bits, the second column contains 11 bits, and the last column contains 6 bits.
[0176] A partial forward error correction is then generated across all segments of the same bit sequence, which has the same bit length as the corresponding segments. This results in the data with a parity symbol. In a final process step, serial line coding takes place, which, for example, maps 11 bits to 12 bits, or 11 bits to 13 bits, or 6 bits to 8 bits. This data can now be transmitted over the potentially interference-prone channel. This results in a transmission as shown in Figure 8A below or in the present Figure 8B above.
[0177] Figure 8B shows the process on the receiver side and corresponds to the process in Figure 8A in reverse. As also shown in Figure 8B, it is recognized that bit errors may be present, which, however, can be handled particularly advantageously at the segment level. The bit errors therefore do not occur in the entire bit sequence, but only in individual segments and can therefore be handled advantageously. This leads to the corrected data, as shown below in Figure 8B, and thus the 112 bits are recovered, as they served as the output in Figure 8A.
[0178] Figure 9 shows a flowchart of a method for improving forward error correction in serial coding during data transmission in a vehicle, comprising providing 100 payload data to be transmitted; dividing 101 the provided payload data into a plurality of bit sequences of equal length; reading 102 a subdivision rule which subdivides a bit sequence into a sequence of segments of each predefined length at a predetermined bit position; applying 103 the read-out subdivision rule to all bit sequences of the plurality of bit sequences; iteratively creating 104 a partial forward error correction for all segments of the same bit position across all bit sequences; iteratively applying 105 a segment encoder across all segments of the same bit position to generate segment line codes across all segments for each bit position and for each bit sequence;applying 106 each of the segment encoders to the respective partial forward error correction that was also applied 105 to the segments with respect to which the respective partial forward error correction was created 104, to generate one partial forward error correction line code for each partial forward error correction; and transmitting 107 all segment line codes and all partial forward error correction line codes.
[0179] All segment line codes and all partial forward error correction line codes are also transmitted. In this final step, all generated segment line codes and partial forward error correction line codes are transmitted. These transmitted codes contain the information for error detection and correction for the corresponding segments and partial forward error corrections. The described method enables improved forward error correction during serial coding and data transmission in the vehicle. By dividing the payload data into segments and applying specific coding methods to these segments, effective error detection and correction at the segment level is achieved.
[0180] By iteratively creating a partial forward error correction for all segments with the same bit position and applying a segment encoder to each segment, targeted error correction for the transmitted data is enabled. The partial forward error correction line codes contain the necessary information to detect and correct errors, while the segment line codes represent the structure and content of the segments and also contribute to error detection and correction.
[0181] By transmitting all generated segment line codes and partial forward error correction line codes, the receiver can analyze the received data accordingly and detect and correct errors to ensure reliable and accurate transmission of the payload data in the vehicle.
[0182] The described method thus provides improved forward error correction, which is particularly important in demanding environments such as vehicles, where interference and signal loss can occur. It contributes to ensuring reliable and high-quality data transmission, which is of great importance for various automotive applications, such as autonomous driving, vehicle safety systems, and infotainment applications.
[0183] The invention makes it possible to maintain all desired properties and requirements for serial coding at all times while ensuring efficient operation of an FEC. By deliberately positioning the serial encoder after the FEC units, the physical behavior on the link can always be deterministically controlled (not the case with scramblers as serial coding).
[0184] In addition, the selection of the FEC symbol size based on the data word size of the respective serial sub-encoder ensures that bit errors always propagate to a minimum (a defective line code symbol then generates only one defective FEC symbol). Furthermore, the use of multiple FEC sub-encoders creates a very efficient type of interleaving. This is possible without the laborious manual interleaving of symbols, which would always require data (increased latency and buffering). This also makes it possible to correct burst errors, for example, 112 / 128 bit errors, at once.
[0185] Only the schematic structure in Figures 7A, 7B and 8A, 8B clearly shows that this is the case: 128 bit errors in this case result in only a single symbol error in the respective FEC sub-coder. With conventional single-FEC coding, a burst error of the same length (128 erroneous bits in a row) would generate several symbol errors in succession. Depending on the selected coding, this can lead to the FEC word (all symbols of an FEC cycle) no longer being decodable (thus making correction impossible). This is usually achieved by interleaving symbols of one FEC cycle with those of one or more subsequent FEC cycles.However, this is only possible with the use of buffers on the transmit and receive sides. This allows the data to be interleaved at the transmitter and then converted back into the original continuous FEC symbol data stream of the individual FEC cycles at the receiver using the inverse operation. Using multiple small FEC encoders eliminates the need for interleaving and thus the buffers required for interleaving (although only to a certain extent; a burst error of more than 128 consecutive bits mentioned in the example results in more than one symbol being corrupted per individual FEC cycle).
[0186] The number of symbols a particular FEC sub-encoder can repair (t) depends on the overhead 2t (see Figure 2). This must be selected accordingly for the desired application. The case shown in Figure 8A with one symbol error per FEC sub-encoder is already reached at t=1 (i.e., two parity symbols overhead). It should also be noted that the burst error can also occur without any restrictions in the range of parity symbols.
Claims
Patent claims 1. A method for improving forward error correction in serial coding during data transmission in a vehicle, comprising: - providing (100) user data to be transmitted; - dividing (101) the provided user data into a plurality of bit sequences of equal length; - reading (102) a subdivision rule which divides a bit sequence into a sequence of segments of each predefined length at a predetermined bit position; - applying (103) the read-out subdivision rule to all bit sequences of the plurality of bit sequences; - iteratively creating (104) a partial forward error correction for all segments of the same bit position across all bit sequences; - an iterative (105) application of a segment encoder over all segments of the same bit position in order to generate segment line codes over all segments per bit position and per bit sequence; - applying (106) to the respective partial forward error correction each segment encoder which was also applied (105) for the segments with respect to which the respective partial forward error correction was created (104) to generate one partial forward error correction line code per partial forward error correction; and - transmitting (107) all segment line codes and all partial forward error correction line codes.
2. Method according to claim 1, characterized in that the subdivision rule is stored in a data memory, is present as a coding rule and / or is read out from a hardware architecture.
3. Method according to claim 1 or 2, characterized in that all bit sequences have the same structure in their data format, the same segment lengths and / or the same bit positions.
4. Method according to one of the preceding claims, characterized in that the partial forward error correction comprises correction information which describes a target content of the segment over which the partial forward error correction was created.
5. Method according to one of the preceding claims, characterized in that the partial forward error correction has the same bit length as the segment over which it is created.
6. Method according to one of the preceding claims, characterized in that a totality of the partial forward error corrections describes all the user data to be transmitted in a correctable manner.
7. Method according to one of the preceding claims, characterized in that the segment encoders each generate at least part of a line code.
8. Method according to one of the preceding claims, characterized in that the entirety of the segment encoders encodes bit sequences of 112 bits into words of 128 bits.
9. Method according to one of the preceding claims, characterized in that during the transmission (107) the partial forward error correction line codes are appended to the segment line codes.
10. Method according to one of the preceding claims, characterized in that the bit position is specified as an offset or as a bit index in the bit sequence.
11. Method according to one of the preceding claims, characterized in that the user data is present as a serial data stream.
12. Method according to one of the preceding claims, characterized in that the method steps are carried out in the described order and / or are carried out iteratively.
13. A system arrangement for improving forward error correction in serial coding during data transmission in a vehicle, comprising: - an interface unit configured to provide (100) user data to be transmitted; - a division unit configured to divide (101) the provided user data into a plurality of bit sequences of equal length; - a further interface unit configured to read out (102) a subdivision rule which subdivides a bit sequence into a sequence of segments of each predefined length at a predetermined bit position; - a subdivision unit configured to apply (103) the read-out subdivision rule to all bit sequences of the plurality of bit sequences; - a correction unit configured to iteratively create (104) a partial forward error correction for all segments of the same bit position across all bit sequences; - a coding unit configured to iteratively (105) apply a segment encoder over all segments of the same bit position to generate segment line codes over all segments per bit position and per bit sequence; - a further coding unit configured to apply (106) to the respective partial forward error correction each segment encoder which was also applied (105) for the segments with respect to which the respective partial forward error correction was created (104) in order to generate one partial forward error correction line code per partial forward error correction; and - a transmission unit arranged to transmit (107) all segment line codes and all partial forward error correction line codes.
14. A computer program product comprising instructions which, when the program is executed by at least one computer, cause the computer to carry out the steps of the method according to any one of claims 1 to 12.
15. A computer-readable storage medium comprising instructions which, when executed by at least one computer, cause the computer to carry out the steps of the method according to any one of claims 1 to 12.