This patent document relates to receiving error correction coded digital communication signals.
There is an ever-growing demand for data communication in application areas such as wireless communication, fiber optic communication and so on. The demand on core networks is especially higher because not only are user devices such as smartphones and computers using more and more bandwidth due to multimedia applications, but also the total number of devices for which data is carried over core networks is increasing.
In some disclosed embodiments, a soft decision maximum likelihood sequence estimation (MLSE) technique is used to estimate received demodulated signal data prior to forward error decoding. A trellis structure is used to generate a soft value and a hard value decision for the received sample values. A hard decision about the received data bits is performed using the results of the trellis computations.
In one example aspect, the disclosed technology includes a method of and an apparatus for recovering information bits from a received signal in which information bits are encoded using a forward error correction code include generating a plurality of digital samples from the received signal, performing a maximum likelihood sequence estimation (MLSE) on the plurality of digital samples to generate a plurality of hard decision values and a plurality of soft decision values corresponding to the plurality of hard decision values, and recovering information bits by forward error correcting the plurality of un-error-corrected data bits.
In another example aspect, a method of generating sample value estimates from a plurality of symbol values representing a signal received over a transmission channel, each symbol in the plurality of symbols having a transmitted value from a set of reference symbol values includes generating a trellis model comprising one or more states, each state represented as a set of nodes corresponding to the set of reference symbol values such that, between two consecutive states, each node from a previous state is connected to each node in a next state by a path having a metric representing a likelihood of transition and estimating a first set of values representative of output sample values based on an absolute value of a difference of minimum path metric between reference symbols of consecutive states. This technique may be implemented in a communication receiver comprising an instruction memory and a processor that executes code from the memory to implement the technique.
An example of a prefiltering or Nyquist WDM transmission system with coherent detection is shown in
To facilitate ease of optical networking, tolerance of spectrum narrowing is useful, as signal channel spacing is degraded after transmission through optical channel, especially when reconfigurable optical add/drop multiplexers (ROADMs) (112) nodes are used in the network as the second example of an embodiment shown in
A conventional DSP (digital signal processing) algorithm using adaptive decision feed forward equalizer is an inefficient solution for the particular ISI compensation, since this finite impulse response (FIR) filter enhances noise during compensation of spectrum narrowing. In addition to the regular DSP in conventional coherent detection, additional digital filter and maximum likelihood sequence estimation (MLSE) algorithm are used to suppress noise and crosstalk to realize optimum detection (110) in strong filtering channels.
The various functional modules in
Soft Value=abs(min(D3,D1)−min(D2,D4)) Equation (1)
After finding a surviving path, the corresponding states along the surviving path are the MLSE hard decisions. Combining the hard decisions and the corresponding soft values, we can generate MLSE soft decisions as
Soft Decision Output=Soft Value.*Hard Decision. Equation (2)
Path metric for each transition from nodes of a previous state (e.g., representing possible values of sample values) is calculated (508). The survivor path metric (e.g., as used in a soft Viterbi decoder) is updated.
Next, the label pointing to the converged bit is updated. The next operation is to evaluate the label to decide if one-symbol decision is needed if no convergence appears in the memory 9514, 516). Then the basic Viterbi algorithm is employed and the soft/hard values are continually exported after the decision on the convergence state evaluation. The label is the identifier pointing to the converged bit in the memory, where the soft value is calculated and output. The number of states and transitions may in general be related to properties of transmission channel. For example, for a channel that may cause longer bit error bursts, a greater number of stages may be used.
As further shown in
With respect to
At 702, a plurality of digital samples are generated from the received signal. The process 700 may generate the plurality of digital samples using the previously discussed techniques with respect to the PD to digital filter modules (refer to
At 704, the process 700 performs an MLSE on the plurality of digital samples to generate a plurality of hard decision values and a plurality of soft decision values based on the plurality of hard decision values. As previously disclosed, the hard decision values may, e. g., provide a decision output that belongs to a known set of input symbol values (e.g., +1 or −1 in case of a QPSK input). In some implementations, the soft decision values may include a value and a corresponding confidence level of how probable that value is. The final soft-decision output is generated based on the hard-decision values for sign and soft decision values through Equation (2).
At 706, the process 700 determines a plurality of un-error-corrected data bits from the plurality of soft-decision output values. The un-error-corrected data bits, e.g., may be the result of MLSE processing prior to performing FEC decoding on these values to eliminate any bit errors that can be detected and/or corrected using an error correction code.
At 708 the process 700 recovers information bits by soft-decision forward error correcting the plurality of un-error-corrected data bits. In some implementations, the recovered information represents the data bits that were used to modulate/encode information at the transmitter side.
At 902, the process 900 generates a trellis model comprising one or more states, each state each state represented as a set of nodes corresponding to the set of reference symbol values such that, between two consecutive states, each node from a previous state is connected to each node in a next state by a path having a metric representing a likelihood of transition. One example of a trellis model is disclosed above with respect to
At 904, the process 900 estimates a first set of values representative of output sample values based on an absolute value of a difference of minimum path metric between reference symbols of consecutive states. One example of the estimation is discussed above with respect to Equation (1).
In some implementations, an optical signal receiver includes a signal reception module configured to generate symbol estimates based on input digitized signal values of a duo-binary optical signal. The signal reception module includes a trellis structure having a memory length of two, an alphabet set of two values and corresponding four transition paths from a previous state of two values to a next state of two values, in which a soft value of a symbol is computed using Equation (1) wherein abs represents an absolute value function and D1 and D3 represent transition path metrics from a first alphabet value in the previous state to the two alphabet values in the next state and D2 and D4 represent transition path metrics from a second alphabet value in the previous state to the two alphabet values in the next state.
In some implementations, an optical communication system includes an optical signal transmitter configured to transmit an error correction coded optical signal and an optical signal receiver configured to receive the error correction coded optical signal, generate a plurality of digital samples from the received signal, perform a maximum likelihood sequence estimation (MLSE) on the plurality of digital samples to generate a plurality of hard decision values and a plurality of soft decision values corresponding to the plurality of hard decision values, determine a plurality of un-error-corrected data bits from the plurality of hard decision values and the plurality of soft-decision values and recover information bits by forward error correcting the plurality of un-error-corrected data bits.
As an example of 3rd-order 25-GHz bandwidth constrained 128-Gb/s PDM-QPSK signal,
With reference to
The disclosed and other embodiments, modules and the functional operations described in this document can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this document and their structural equivalents, or in combinations of one or more of them. The disclosed and other embodiments can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more them. The term “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A propagated signal is an artificially generated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus.
A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
The processes and logic flows described in this document can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Computer readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
While this patent document contains many specifics, these should not be construed as limitations on the scope of an invention that is claimed or of what may be claimed, but rather as descriptions of features specific to particular embodiments. Certain features that are described in this document in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or a variation of a sub-combination. Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results.
Only a few examples and implementations are disclosed. Variations, modifications, and enhancements to the described examples and implementations and other implementations can be made based on what is disclosed.
This patent document claims the benefit of priority of U.S. Provisional Patent Application No. 61/803,778, filed on Mar. 20, 2013. The entire content of the before-mentioned patent application is incorporated by reference as part of the disclosure of this document.
Number | Date | Country | |
---|---|---|---|
61803778 | Mar 2013 | US |