Method and apparatus for generating bit errors with a poisson error distribution |
|||||||
申请号 | US10365877 | 申请日 | 2003-02-13 | 公开(公告)号 | US07003708B1 | 公开(公告)日 | 2006-02-21 |
申请人 | Howard H. Ireland; Jeffery T. Nichols; | 发明人 | Howard H. Ireland; Jeffery T. Nichols; | ||||
摘要 | A method and apparatus that enable a Poisson distribution to be approximated by generating random bit sequences over a number of clock cycles. The apparatus of the present invention comprises a Poisson distribution module that includes logic configured to modulo-2 add at least two pseudo-random bit sequences (PRBSs) together to generate a number of PRBSs, which are then compared to a threshold bit sequence. The result of the comparison is a random bit sequence. Over a number of clock cycles, the random bit sequences produced approximate a Poisson distribution. The present invention can be used to evaluate the performance of communications systems by modulo-2 adding these random bit sequences with encoded data words to insert errors into the encoded data words, and then determining how well the communications system decodes and corrects the errors in the encoded data words. The present invention is particularly useful in this environment because the true distribution of errors in encoded data words transmitted over communications links generally is Poisson in nature. | ||||||
权利要求 | What is claimed is: |
||||||
说明书全文 | This application claims priority to a provisional application that was filed on Feb. 21, 2002, entitled OC-192 Forward Error Correction and Sonet Transport Overhead ASIC Functional Specification, having Ser. No. 60/359,274, which is incorporated by reference herein in its entirety. The present invention relates to communications and, more particularly, to a method and apparatus for generating bit errors with a Poisson distribution, which can be used in a communications system, such as, for example, a forward error correction (FEC) system, to check the performance characteristics of the communications system. When information is transmitted over a communications link between a receiver and a transmitter, the bits that describe the information being transmitted can be corrupted. In other words, the receiver may determine that a received bit that is supposed to be a binary 1 is a binary 0, and vice versa. Corruption of bits in a data stream may be caused by a variety of factors or components in the communications link. For example, in an optical fiber network, optical energy is transmitted in the form of optical pulses that have particular levels that correspond to binary 1s and 0s. If the level of the optical energy is too low, the receiver can have difficulty determining whether a pulse corresponds to a binary 1 or a binary 0. Repeaters, or amplifiers, normally are disposed at particular locations along the communications link that amplify the optical signals so that they are at the proper levels to enable the receiver to determine whether it has received a binary 1 or a binary 0. Typically, the optical signals are converted into electrical signals at the repeaters. The electrical signals are then amplified and converted into optical signals, which are then modulated back onto the optical fiber. Similarly, at the receiver, the optical signals typically are converted back into electrical signals, which the receiver compares to a threshold value to determine whether it has received a binary 1 or a binary 0. Because it is possible for the bits to be corrupted, techniques have been developed and implemented that provide error correction. In other words, if a bit received by the receiver is erroneously determined to be a binary 1 when it was meant to be a binary 0 when it was transmitted, and vice versa, receivers utilize various techniques to determine whether a bit value has been incorrectly identified and to correct the bit value. One known technique used for such purposes is generally referred to as the “Automatic Request To Transmit” (ARM) technique. In accordance with this technique, when the receiver detects a bit error, it sends a signal to the transmitter that tells the transmitter to retransmit the block of data that contained the error. The receiver processes the retransmitted data block and detects bit errors. The data block may need to be retransmitted several times before the receiver determines that the data is without error. Of course, retransmitting data utilizes bandwidth and generally slows down the overall throughput of the communications system. A technique known as Forward Error Correction (FEC) is commonly used in the communications industry to reduce errors in data being transmitted over a communications link without requiring retransmission of data. FEC not only detects bit errors, but corrects detected bit errors. One of the primary advantages of FEC over ARM is that no retransmission of data is required with FEC. This is because FEC techniques introduce redundancy in the data bits that enables the receiver of a communications system to detect errors in data being transmitted and to correct the detected errors. The redundancy generally is introduced by utilizing data bits from the data stream to encode the data stream. The receiver has a decoder that has intelligence with regard to the encoding scheme used by the transmitter, which enables the receiver to decode the data and detect and correct errors without the need for retransmission. Another advantage of FEC is that, because it does not require retransmission of data, simplex links can be used, which is desirable in certain situations, such as when the receivers are receive-only terminals. Generally, FEC techniques and systems fall into two broad categories, namely, block coding and convolution coding. Various block coding and convolution coding techniques are currently in use in the communications industry. In the past, the use of block codes has generally been limited to use in communications systems that have relatively low data rates for various reasons, such as the aforementioned adverse effects on overall coding gain (signal-to-noise ratio, Eb/No), which is expressed in decibels (dB), for short data bursts and the reduced overall throughput that can result from the synchronization requirement. Convolution coding has generally been the preferred FEC technique for high data rate implementations. However, convolution coding results in higher output bit error rates (BER) than the output (BERs) that can be achieved using block coding. Some customers want FEC systems with very low BERs (e.g., 10−15), which generally cannot be achieved using convolution coding, but which can be achieved using block coding, such as Bose-Chaudhuri-Hocquenghem (BCH) block coding, for example. It is difficult to characterize the performance of FEC systems without having to first set a desired signal-to-noise ratio through analog methods. A Poisson Error Distribution is the type of error distribution that is found in Binary Symmetric Channels, which are common in many communication systems. It would be desirable to provide a method and apparatus for erroring encoded bit sequences in a way that closely approximates a Poisson probability distribution to enable the performance characteristics of communications systems to be more accurately determined. Accordingly, a need exists for a method and apparatus generating errors with a distribution that closely approximates a Poisson probability distribution. The present invention provides a method and apparatus that enable a Poisson distribution to be approximated. In accordance with the present invention, random bit sequences are generated over a number of clock cycles, and the pattern of the random bit sequences over time approximates a Poisson distribution. The apparatus of the present invention comprises a Poisson distribution module that includes logic configured to modulo-2 add at least two pseudo-random bit sequences (PRBSs) together to generate a number of PRBSs, which are then compared by comparator logic to a threshold bit sequence. The result of each comparison of a PRBS with the threshold bit sequence is either a logic 1 or a logic 0. The PRBSs are compared to the threshold bit sequence simultaneously by the comparator logic during a clock cycle, thereby resulting in a random bit sequence being output from the comparator logic (i.e., from the Poisson distribution module) every clock cycle. Over a number of clock cycles, the random bit sequences produced approximate a Poisson distribution. The present invention can be used to evaluate the performance of communications systems by modulo-2 adding these random bit sequences with encoded data words to insert errors into the encoded data words, and then determining how well the communications system decodes and corrects the errors in the encoded data words. The present invention is particularly useful in this environment because the true distribution of errors in encoded data words transmitted over communications links generally is Poisson in nature. These and other features and advantages of the present invention will become apparent from the following description, drawings and claims. The present invention provides a method and apparatus that enable errors to be generated with a Poisson distribution. The apparatus of the present invention comprises a Poisson distribution module that generates the Poisson distribution bit errors. The present invention enables the performance of a communications system, such as, for example, a Forward Error Correction (FEC) system to be characterized without having to set a desired signal-to-noise ratio through analog methods. In other words, the errors generated by the Poisson distribution module can be modulo-2 added to an encoded word, such as an FEC encoded word, and the ability of the FEC decoder to detect and correct the errors provides an assessment of the performance capabilities of the FEC system. It should be noted that although the present invention has thus far been discussed with reference to its use with FEC systems, the Poisson distribution module of the present invention can be used in any environment where it is desirable or necessary to generate errors with a Poisson distribution. The comparison logic 36 performs N, A-bit comparisons and outputs an N-bit sequence. A random N-bit sequence is generated every system clock cycle, and over many N-bit sequences, the resulting distribution of binary 1's closely approximates the Poisson distribution. Thus, for every system clock cycle, the module 10 outputs an N-bit sequence. Over time, these N-bit sequences approximate a Poisson distribution. In the case where it is desirable to insert errors into an N-bit encoded data word, such as an unerrored N-bit FEC encoded data word, for example, the N-bit sequence output from the comparator logic 36 is modulo-2 added to the N-bit unerrored data word by XOR logic 37 to produce an N-bit word having an error distribution that approximates a Poisson distribution. In the case where the Poisson distribution module 10 is used for such a purpose, under normal operations, the unerrored N-bit FEC encoded data word would be selected by the multiplexer and output at output 39 every clock cycle, whereas the N-bit errored sequence would be selected by the multiplexer 38 and output at output 39 every clock cycle when the performance characteristics of a decoder are being assessed. A general equation giving the total number of bits M that need to be operated on by the comparator logic 36 simultaneously every clock cycle, given a parallel data word of N-bits and a highest-order PRBS polynomial of order A, is given by: M=(N−1)*S+A. In this equation, the term S corresponds to the bit separation between subsequent comparisons of the output bits of the XOR logic 35 by the comparator logic 36. Through experimentation, it was determined that if the outputs from the XOR logic 35 that connect to the comparison logic 36 are bit-separated from the bits used for subsequent comparisons by at least a few bits (e.g., approximately 7 or more), a very good Poisson error approximation will be obtained, whereas if this is not done, the bit error sequences may be too highly correlated, and the Poisson error approximation may not be as good. In accordance with the preferred embodiment, bit separation is accomplished by wiring the XOR logic 35 to the comparator logic 36 in such a way that bit separation is achieved. In addition, if a small bit separation is not employed, a very large number of logic gates may be needed to perform the XOR and generate the PRBS sequences. For example, where a given number of error bits need to be generated within an N-bit word each clock cycle, an A-bit separation would require (N−1)*A-bit XOR logic to generate each A-bit comparator value and (N−1)*A-bit PRBS generators. Using a bit separation less than A-bits results in a (1-A/S)*100 percent reduction in the logic gates required to implement the invention than might otherwise be required. In an experiment, the following polynomials were chosen for orders A=31 and B=29: 231−1 PRBS: YM=YM-30+YM-27 229−1 PRBS: YM=YM-28+YM-26 To verify the Poisson error distribution achieved by the present invention, errors were generated using a 31-bit comparison threshold of 20C49C in hexadecimal notation or 2147484 in decimal notation. This resulted in approximately a 2147484/(231−1) or 10−3 bit error rate (BER). The internal data path width, N, was 128. The total number of errors blocks collected were 1000. Each error block represented the total number of errors generated in 16 sequential 128-bit error words. These errors blocks were then histogrammed into 20 bins to determine the distribution, which is shown in It should be noted that the present invention has been described with reference to particular embodiments for the purposes of demonstrating the principles and concepts of the present invention. Those skilled in the art will understand that present invention is not limited to these example embodiments. Also, those skilled in the art will understand, in view of the present disclosure, that a variety of logical configurations can be used to achieve the goals of the present invention. |