Injected block code distortion

Methods, systems, and apparatus for automatically injecting symbol errors into a data stream prior to transmitting the data stream for timing recovery robustness are disclosed. In one aspect, a first telecommunications device determines that a data transition rate of a data stream exceeds a pre-specified rate. In response to the determination that the data transition rate exceeds the pre-specified rate, the first telecommunications device injects symbol errors into the data stream prior to transmitting the data stream to a second telecommunications device. The pre-specified rate is based on at least a nominal passband of the second telecommunications device.

BACKGROUND

This specification relates to data transmission.

In a telecommunication network, for high-speed data communications without an accompanying clock signal, a receiver needs to recover a sampling clock (e.g., timing recovery) from an approximate frequency reference of a received data stream in order to recover data from the received data stream.

SUMMARY

In general, one innovative aspect of the subject matter described in this specification can be embodied in methods for automatically injecting symbol errors into a data stream prior to transmitting the data stream for timing recovery robustness. One example computer-implemented method includes the following: determining, by a first telecommunications device (e.g., a transmitter), that a data transition rate of a data stream exceeds a pre-specified rate, and in response to the determination that the data transition rate exceeds the pre-specified rate, injecting, by the transmitter, symbol errors into the data stream prior to transmitting the data stream to a second telecommunications device (e.g., a receiver).

These and other embodiments can each optionally include one or more of the following features. The pre-specified rate can be based on at least a nominal passband of the receiver. The injection of the symbol errors can include changing a logical value of one or more bits in the data stream to reduce the transition rate of the data stream. A data transition rate of the data stream with the injected symbol errors can be less than the pre-specified rate. The transmitter can be an optical line terminal (OLT), with a nominal data rate of 10 Gbps, and the receiver can be an optical networking unit (ONU), with a nominal data rate of 2.5 Gbps.

Methods can further include encoding, by the transmitter, data using a forward error correcting (FEC) coding having a plurality of codewords each having multiple data symbols and multiple parity symbols. The data stream can be part of multiple data symbols in a codeword of the plurality of codewords. The determination that the data transition rate of the data stream exceeds the pre-specified rate can include identifying a plurality of consecutive data symbols in the codeword. The plurality of consecutive data symbols can match one of a plurality of predetermined signal patterns. The plurality of predetermined signal patterns can include patterns having sequential high-low-high-low logic values. The injection of the symbol errors can include automatically replacing at least one data symbol in the identified plurality of consecutive data symbols in the codeword with the symbol errors. This is advantageous because the FEC coding can allow the receiver to repair data corruption in the received data stream, while the injected symbol errors can break high frequency content of data in the received data stream and make timing recovery robust at the receiver. As a result, an overall performance of high-speed data communications can be improved.

Methods can further include the following: progressing iteratively through following data symbols in the codeword from the identified plurality of consecutive data symbols, and transmitting the replaced codeword to the receiver. Maximum number of injected symbol errors in the codeword can be based on at least number of parity symbols in the codeword. The symbol errors can be injected at an end or in a middle of the identified plurality of consecutive data symbols in the codeword. Each symbol can have 8 bits. The symbol errors can provide symbol values of 00000000, 11111111, 00000001, or 11111110. This is advantageous because using byte boundary to inject symbol errors can reduce injected errors to a few bytes per FEC coding block (e.g., codeword). Since the FEC coding is insensitive to number of bit errors within a byte, as many bit errors as necessary can be included within an injected error byte to reduce the data transition rate of the data stream. As a result, using byte boundary to inject symbol errors may greatly reduce incidence of timing recovery failure at the receiver, while minimizing effect on coding gain at the receiver.

Particular embodiments of the subject matter described in this specification can be implemented so as to realize one or more of the following advantages. Automatically injecting symbol errors into a high frequency data stream can provide timing recovery robustness at a receiver, especially when the receiver has a nominal operating bandwidth that is less than a nominal operating bandwidth of the transmitter. This enables legacy equipment, which may have a 2.5 Gbps receiver optical component to realize a 10 Gbps communication rate with currently deployed equipment having a 10 Gbps transmitter optical component, to operate at its specified operating ranges and to be able to perform timing recovery even with the presence of high frequency content of data. Reducing incidence of timing recovery failure and avoiding resynchronization process at the receiver can improve communication performance and may enhance user experience.

DETAILED DESCRIPTION

The present disclosure describes methods, systems, and apparatus for automatically injecting symbol errors into a data stream prior to transmitting the data stream for timing recovery robustness. For example, a transmitter can inject symbol errors into a data stream, prior to transmitting the data stream to a receiver, upon determining that a data transition rate of the data stream exceeds a pre-specified rate that is associated with a nominal passband of the receiver. Although this disclosure refers to optical telecommunications systems for purposes of example, the subject matter of this document can be applied to other types of telecommunications systems or other systems that transmit digital data.

In a telecommunication network, data streams, especially high-speed data streams (e.g., 10 Gbps), are transmitted without an accompanying clock signal. The receiver generates a clock from an approximate frequency reference of a received data stream, and then phase-aligns to transitions in the received data stream with a phase-locked loop (PLL) to recover data from the received data stream. This process is commonly known as clock and data recovery (CDR). Timing recovery failure at the receiver not only causes data recovery failure, but also causes the receiver unable to maintain synchronization with the transmitter. In some cases, the receiver may go offline and come back online again to resynchronize with the transmitter. This causes severe service disruptions to end users and results in unpleasant customer experience for the end users. High frequency content of data (e.g., data with 10101010 kinds of patterns) in the received data stream can result in an approximate frequency reference that exceeds a nominal operating range of the receiver and makes timing recovery at the receiver difficult. This disclosure describes techniques for improving performance of a timing recovery circuit by intentionally adding errors to data streams to avoid high-loss transmission frequencies. In some implementations, the errors are added on an FEC codeword basis so that the receiver can correct the added errors to recover data while maintaining timing recovery accuracy.

The disclosed subject matter addresses problems that arise when a data transition rate of a data stream exceeds a nominal data rate of a receiver. For example, a data stream with alternating 0 and 1 (e.g., high transition density) may cause the frequency of the data stream to be greater than the nominal operating bandwidth of the receiver. If the transitions persist for a threshold period, the CDR of the receiver may fail and, in some cases, cause the receiver to enter into a resynchronization process with the transmitter. In the present disclosure, the transmitter monitors data streams to be transmitted to the receiver during data retrieval and serialization process. If the transmitter detects that a data transition rate of a data stream exceeds a pre-specified rate that is associated with a nominal passband of the receiver, the transmitter intentionally injects symbol errors into the data stream prior to transmitting the data stream. The injected symbol errors interrupt the high frequency data pattern, reduce the data transition rate of the data stream, and can provide timing recovery robustness for the receiver (e.g., by shifting the frequency of the data transitions closer to the nominal operating frequency of the receiver). Using the techniques discussed in this document, timing recovery failure caused by high frequency content of data can be prevented. Any telecommunications devices with limited operating bandwidth can benefit from the subject matter described in this document.

In some implementations, a protocol-specified FEC function is used for correcting errors in data transmission over unreliable or noisy communication channels. With the FEC function implemented, a few injected symbol errors can be corrected by the receiver and can provide timing recovery robustness without losing the data stream. For example, in 10G-PON (e.g., XG-PON), Reed-Solomon coding is specified, in which data is encoded with Reed-Solomon coding resulting in a 248-byte codeword with 32 parity bytes in it. Theoretically, a maximum of 16 error bytes (e.g., half the number of parity bytes) can be injected in a codeword and the codeword can still be corrected at the receiver. Choosing an appropriate byte boundary to substitute data with error bytes of a number of transitions is advantageous, because the Reed-Solomon code is insensitive to the number of bit errors within a byte. As many errors as necessary may be introduced within a byte to reduce the transition rate to keep the clock recovery accurate. For example, for an 8-byte high frequency content of data in a codeword, not including any parity byte, one error byte of low transition rate (e.g., a byte providing symbol values of 00000001) can be injected to replace the fourth byte of the 8-byte high frequency content of data. Forcing errors in a few bytes per codeword may greatly reduce the incidence of timing recovery failure, while having little effect on coding gain. As a result, the Reed-Solomon error correcting will repair the data corruption, but the data corruption will make it easier to recover timing. This may result in an overall performance gain, especially in systems that use a high number of parity bytes. In some implementations, error bytes injected in a codeword may exceed the theoretical maximum number for maintaining synchronization purpose, even though the codeword cannot be corrected (e.g., lost) at the receiver.

Turning to the illustrated embodiment,FIG. 1is a block diagram illustrating an example optical networking environment100for automatically injecting symbol errors into a data stream prior to transmitting the data stream. As illustrated inFIG. 1, the environment100includes a passive optical network (PON)102that connects users to a network104. In some implementations, the environment100may include additional and/or different components not shown in the block diagram, such as one or more active optical networks (AONs), another type of network that provides network services (e.g., ADSL2+, VDSL2, etc.), or a combination of these and other technologies. In some implementations, components may also be omitted from the environment100.

As illustrated, the PON102includes an OLT106at a service provider's central office (or other distribution point), a splitter108, an ONU110near residential locations116, an ONU112near business locations118, and an ONU114near wireless communications equipment120. Using a splitter108, the OLT106is coupled to a number of ONUs110,112, and114(also referred to as optical network terminals (ONTs)), which are located near end users, thereby forming a point-to-multipoint network. For example, in the case of Gigabit Passive Optical Network (GPON), a single OLT port can connect to 64 different ONUs through the splitter108.

The OLT106, as a network distribution element, provides an interface between the PON102and the network104, and serves as the service provider's endpoint of the PON102. The OLT106transmits downstream data traffic to ONUs (e.g., ONUs110,112, and114), and receives upstream data traffic from the ONUs.

Each ONU can include, or otherwise be coupled to, one or more customer-premises equipment (CPE) or subscriber devices (e.g., CPE modems). For example, the ONU110is a device that terminates the PON102at the customer end, and provides a service connection to a user living in the residential locations116. The ONU110terminates optical fiber transmission and can transform incoming optical signals into electrical signals, adapted to subscriber devices. As a result, ONUs can provide network services, for example, to residential locations116, business locations118, or other forms of communications infrastructure, such as wireless communications equipment120.

In some situations, optical components (e.g., photodiode and TIA as discussed in more detail inFIG. 3below), that are only rated to support 2.5 Gbps data rates are used for ONUs to operate in a 10 Gbps PON at a lower cost than components specifically designed for 10 Gbps rates. In the 10 Gbps PON, an OLT can connect to 64 ONUs or more, depending on link budget. When timing recovery problems arise due to high frequency content of data transmitted by the 10 Gbps OLT, upgrading the OLT to fix the problem appears to be a cost-efficient way. Upgrading or replacing all 64 ONUs near different end user locations not only is expensive (both in capital costs and labor), but also can lead to network downtime, potentially lost revenues, and potential customer satisfaction issues (e.g., due to downtime and/or delays in providing the service). Since the low cost ONU components have a nominal data rate of 2.5 Gbps, that is less than a nominal data rate of the 10 Gbps OLT, when data sent by the 10 Gbps OLT contains high frequency content of data, the high frequency content of data is outside of the nominal range of the optical components of the ONUs. For example, a non-return-to-zero (NRZ) line code with high frequency content of data (e.g., long runs of alternating 0 and 1), transmitted at 10 Gbps, is essentially a 5 GHz Sine wave. As discussed with reference toFIG. 4, the ONUs with 2.5 Gbps optical components may have an upper cutoff frequency well below 5 GHz. The high frequency content of data may result in a signal frequency outside of the passband of the ONUs. The received signal strength at 5 GHz can be attenuated by 15 to 20 dB comparing to signal strength that is received within the passband. As a result, the ONUs may not be able to accurately recover the clock signal from the attenuated signal and lose synchronization with the 10 Gbps OLT. By the 10 Gbps OLT injecting error symbols into the high frequency content of data as described in the present disclosure, the frequency of the signal may be reduced. This can lower the frequency of the data towards (or within) the nominal passband of the ONUs or, at least, limits the time the frequency of the data being outside of the nominal passband of the ONUs to a short period. As a result, the ONUs can keep timing recovery accuracy when receiving high frequency content of data using low data rate optical components.

The network104facilitates wireless or wireline communications between the components of the PON102with any other local or remote computer, such as additional PONs, servers, or other devices communicably coupled to the network104, including those not illustrated inFIG. 1. As illustrated inFIG. 1, the network104is depicted as a single network, but may be comprised of more than one network without departing from the scope of this disclosure.

In some implementations, one or more of the illustrated components may be included within network104as one or more cloud-based services or operations. The network104may be all or a portion of an enterprise or secured network, while in another case, at least a portion of the network104may represent a connection to the Internet, a public switched telephone network (PSTN), a data server, a video server, or additional or different networks. In some implementations, a portion of the network104may be a virtual private network (VPN). Further, all or a portion of the network104can comprise either a wireline or wireless link. Example wireless links may include 802.11ac/ad/af/a/b/g/n, 802.20, WiMax, LTE, and/or any other appropriate wireless link. In other words, the network104encompasses any internal or external network, networks, sub-network, or combination thereof, operable to facilitate communications between various computing components, inside and outside the environment100. The network104may communicate, for example, Internet Protocol (IP) packets, Frame Relay frames, Asynchronous Transfer Mode (ATM) cells, voice, video, data, and other suitable information between network addresses. The network104may also include one or more local area networks (LANs), radio access networks (RANs), metropolitan area networks (MANs), wide area networks (WANs), all or a portion of the Internet, and/or any other communication system or systems at one or more locations.

FIG. 2is a block diagram of an example OLT transmitter200. In some implementations, the OLT transmitter200may include additional and/or different components not shown in the block diagram. Components may also be omitted from the OLT transmitter200. The components illustrated inFIG. 2may be similar to or different from those described inFIG. 1.

As illustrated inFIG. 2, the OLT transmitter200receives data streams from a data source202separated from the OLT transmitter200. In some other implementations, the data source202is included in the OLT transmitter200. The OLT transmitter200includes a scrambler204, an error injector206, a transmitter208, and a laser circuit210. In some implementations, one or more components of the OLT transmitter200are integrated in a field-programmable gate array (FPGA).

As illustrated, the OLT transmitter200includes a scrambler204. The purpose of the scrambler204is to randomize the output of the data source202to eliminate low frequency content of data (e.g., long runs of 0s and/or long runs of 1s). The scrambler204is specified by standard communication protocols to fill the low frequency content of data with sufficient transitions for a receiver's clock to maintain synchronization, avoiding channel operation below the low frequency cutoff (406inFIG. 4). In principle, the disclosed subject matter could also be used to introduce intentional transitions to reduce long runs of 0s or is that remain in the scrambler output data pattern.

As illustrated, the OLT transmitter200includes an error injector206. The error injector206can be configured to monitor data streams from the scrambler204for high frequency content of data (e.g., long runs of alternating logical 0's and 1's) that may cause timing recovery failure at a receiver. The error injector206can be configured to automatically inject error symbols into the high frequency content of data, to reduce transition density of the high frequency content of data. As a result, when the high frequency content of data is outside of the nominal range of the receiver (or at least a specified amount higher than the nominal range of the receiver), the error injector can inject symbol errors that lower the frequency of the data towards (or within) the nominal passband of the receiver. The injected symbol errors will help the receiver recover clock and data signal from the high frequency content of data, as illustrated and discussed inFIG. 4below. In some implementations, the error injector206can include an encoder that applies FEC coding to the data streams before injecting error symbols. With the FEC coding implemented, the injected symbol errors can be corrected by the receiver, while keeping timing recovery accurate.

As illustrated, the OLT transmitter200includes a transmitter208and a laser circuit210. The transmitter208can be configured to transmit data streams from the error injector206to the laser circuit210. The laser circuit210can be configured to transform electrical signals from the transmitter208into optical signals. As illustrated, the laser circuit210includes a laser driver212and a laser diode214. The laser driver212can have a specified nominal operating range and is configured to drive the laser diode214. The laser diode214can have a specified nominal operating range and transmits the optical signals, over an optical fiber, to a receiver. For example, if the OLT transmitter200can support 10 Gbps data rates, both the laser driver212and the laser diode214can have a specified nominal operating range of 10 Gbps.

Additional components (not shown inFIG. 6) may be added to the example OLT transmitter200. For example, an encoder (not shown) may be placed between the scrambler204and the error injector206. In some implementations, the encoder converts data streams from the scrambler204into FEC codewords and feeds the FEC codewords to the error injector206. In some implementations, the encoder also feeds a start indicator and an end indicator for each FEC codeword to the error injector206. In some implementations, the encoder also feeds a start indicator and an end indicator, for each data symbol, in each FEC codeword to the error injector206. In some implementations, the encoder is a Reed-Solomon encoder.

FIG. 3is a block diagram of an example ONU receiver300. In some implementations, the ONU receiver300may include additional and/or different components, not shown in the block diagram. Components may also be omitted from the ONU receiver300. The components illustrated inFIG. 3may be similar to or different from those described inFIG. 1.

As illustrated inFIG. 3, the ONU receiver300includes a receiver optical component302(e.g., a receiver optical sub-assembly (ROSA)). The receiver optical component302includes a reverse biased photodiode304and a trans-impedance amplifier (TIA)306. In operation, the receiver optical component302receives an optical signal as input, and outputs an electric signal. Generally, the receiver optical component302has a specified operational range (e.g., specified maximum data rate) that is based on the components (e.g., the photodiode304and the TIA306) used to implement the receiver optical component302. For example, one receiver optical component can have a specified operational range of 2.5 Gbps, while another receiver optical component may have a specified operational range of 10 Gbps. When the specified operational range of a given receiver optical component is exceeded, the quality of the electrical signals output by the receiver optical component will degrade, as discussed with reference toFIG. 4below. For example, when the data transition rate of optical signals received by the receiver optical component302exceed its specified data rate (e.g., a nominal data rate of 2.5 Gbps), an “eye opening” of the electrical signal output from the receiver optical component302will close. At some point beyond the specified data rate (e.g., at a data rate corresponding to frequency412inFIG. 4), the “eye opening” of the electrical data output from the receiver optical component302closes to the point that the electrical output of the receiver optical component302can no longer be used to recover clock and data from the signal received by the receiver optical component302.

As illustrated, the TIA306is connected to a differential amplifier312, through capacitors308and310, which protect the electronical components of the ONU receiver300. The differential amplifier312can be configured to increase amplitude of the TIA306and output a differential electrical signal. The output of the differential amplifier312is coupled to a continuous time linear equalizer (CTLE)314. The CTLE314can be configured, for example, to whiten the noise of the electrical signals output by the differential amplifier312, which increases the ability of the CDR316to recover clock and data signals output by the differential amplifier312.

When the quality of the electrical signals output by the receiver optical component302is degraded beyond a certain point (e.g., less than a specified eye opening), the CTLE314is unable to converge automatically. For example, when the data transition rate of a signal received by the receiver optical component302exceeds the specified data rate for the receiver optical component302(e.g., frequency412inFIG. 4), the CTLE314will generally be unable to converge automatically. As a result, the CDR316may fail to recover clock and data signals.

As illustrated inFIG. 3, the ONU receiver300includes a CDR316. Since high speed serial interfaces usually do not have any accompanying clock, the CDR316is needed to recover a sampling clock in order to sample the data on serial lines. To recover the sampling clock, the CDR316needs a reference clock of approximately the same frequency, and phase align the reference clock to the transitions on the incoming data stream (e.g., clock recovery). Sampling the incoming data signal with the recovered clock can generate a bit stream of data (e.g., data recovery). The CDR316is configured to recover data from incoming data stream without any bit errors due to over/under sampling. As illustrated and discussed inFIG. 4below, the CDR316may operate better when the frequency corresponding to the data transitions are within the nominal passband of the receiver. The CDR316may work and still be able to recover clock and data when the receiver operates outside its nominal passband for a period of time. However, when the duration becomes longer, or the signal frequency gets higher, the signal strength attenuates dramatically and eventually renders the receiver unable to recover. For example, a 2.5 Gbps ONU, discussed with reference toFIG. 1, may withstand 100 bits (or some other number of bits) of high frequency content of data without losing timing recovery accuracy.

As illustrated inFIG. 3, the electrical output of the CDR316is then passed to a de-serializer318for extracting data from the received data streams.

Additional components (not shown inFIG. 3) may be added to the example ONU receiver300. For example, an upstream communication component (e.g., a bi-directional optical sub-assembly (BOSA)) may exist to facilitate transmission of data upstream to an OLT. In some implementations, the upstream communication component includes the same components as those in the example OLT transmitter200(discussed with reference toFIG. 2). In some implementations, the CDR316is accompanied by a decision feedback equalizer (DFE) to provide nonlinear equalization to improve the error rate of the receiver in a band-limited channel.

FIG. 4is a graph showing an example frequency response400of the example ONU receiver300. In the example frequency response400, the example ONU receiver300responds differently to input signals of different frequencies. As illustrated inFIG. 4, the passband of the example ONU receiver300has maximum amplitude Ap1402and half the maximum amplitude is labeled as Ap2404, which corresponds to a lower cutoff frequency406of the passband410and an upper cutoff frequency408of the passband410. The frequencies between lower cutoff frequency406and upper cutoff frequency408constitute the passband410of the example ONU receiver300. Input signals within the passband410may pass with less attenuation than input signals outside the passband410. For example, the strength (e.g., amplitude) of an input signal at frequency412may be attenuated dramatically as compared to the signal strength (e.g., amplitude) of input signals that are within the passband410. As a result, the input signals outside of the passband410may not be detected correctly and may cause timing recovery failure at the CDR316of the example ONU receiver300.

Generally, the nominal passband of the ONU is designed based on the nominal data rate that the ONU is built to support. For example, an ONU that is built to support a 2.5 Gbps data rate will generally have a smaller passband than an ONU that is built to support a 10 Gbps data rate. However, the actual frequency of the analog signals representing data transmitted over a network depend on the rate at which the data transitions from high to low and low to high. For example, a signal representing a long run of 0's or 1's in a data stream will have a lower frequency than a signal that represents a long run of 1-0-1-0 data transitions. As such, the actual frequency of signals representing a 10 Gbps data stream may only occasionally approach their highest frequency. Further, symbol errors can be injected into a long run of 1-0-1-0 data transitions (or other higher frequency data transitions) so that the frequency of the input signal representing these data transitions can be brought back within the passband410of an ONU that was built for a lower data rate (e.g., 2.5 Gbps), such that the higher data rate stream (e.g., 10 Gbps data stream) can be recovered by a lower rated ONU (e.g., a 2.5 Gbps ONU) and the CDR316of the example ONU receiver300(e.g., having a 2.5.Gbps receiver) can accurately recover timing of a 10 Gbps data stream.

FIG. 5is a flow chart of an example process500for automatically injecting symbol errors into a data stream, prior to transmitting the data stream, to reduce the frequency of a signal representing the data stream. The example process500can be performed, for example, by one or more telecommunications devices, such as those described with reference toFIGS. 2 and 3. The example process500can also be implemented as instructions stored on a non-transitory, computer-readable medium that, when executed by one or more telecommunications devices, configures the one or more telecommunications devices to perform and/or cause the one or more telecommunications devices to perform the actions of the example process500.

A data transition rate of a data stream is determined by a first telecommunications device, to exceed a pre-specified rate (505). In some implementations, the pre-specified rate is based on at least a nominal passband of a second telecommunications device. In some implementations, the nominal passband of the second telecommunication device is determined in a lab test, before the second telecommunication device is deployed. In some implementations, the lab test also determines other parameters associated with the second telecommunication device, such as how many bits of high frequency content the second telecommunication device can withstand, without losing timing recovery accuracy. In some implementations, the parameters are associated with a type and/or a manufactured date of a chip in the second telecommunications device. In some implementations, the first telecommunications device can query the second telecommunications device for the chip information to determine the nominal passband of the second telecommunication device. In some implementations, the first telecommunications device can perform an on-demand test with the second telecommunications device to determine the parameters associated with the second telecommunications device.

In response to the determination that the data transition rate exceeds the pre-specified rate, the first telecommunications device injects symbol errors into the data stream, prior to transmitting the data stream to the second telecommunications device (510). In some implementations, the symbol errors are injected into the middle of the determined data stream. In some implementations, the symbol errors are injected into an end of the determined data stream. In some implementations, the first telecommunications device changes a logical value, of one or more bits, in the data stream to inject symbol errors into the determined data stream. In some implementations, after symbol errors injection, a data transition rate of the modified data stream is less than the pre-specified rate.

The modified data stream is transmitted by the first telecommunications device to the second telecommunications device (515). In some implementations, the first telecommunications device is an OLT, with a nominal data rate of 10 Gbps, and the second telecommunications device is an ONU, with a nominal data rate of 2.5 Gbps.

The example process500shown inFIG. 5can be modified or reconfigured to include additional, fewer, or different actions (not shown inFIG. 5), which can be performed in the order shown or in a different order. For example, before505, a data stream may pass through a scrambler to fill long runs of 0s and/or long runs of is with sufficient transitions. In some implementations, one or more of the actions can be repeated or iterated, for example, until a terminating condition is reached. In some implementations, one or more of the individual actions shown inFIG. 5can be executed as multiple separate actions, or one or more subsets of the actions shown inFIG. 5can be combined and executed as a single action.

FIG. 6is a flow chart of another example process600for automatically injecting symbol errors into a data stream, prior to transmitting the data stream, to reduce the frequency of a signal representing the data stream. The example process600can be performed, for example, by one or more telecommunications devices such as those described with reference toFIGS. 2 and 3. The example process600can also be implemented as instructions stored on a non-transitory, computer-readable medium that, when executed by one or more telecommunications devices, configures the one or more telecommunications devices to perform and/or cause the one or more telecommunications devices to perform the actions of the example process600.

Data to be transmitted to a second telecommunications device is encoded by a first telecommunications device using an FEC coding having a plurality of codewords, each having multiple data symbols and multiple parity symbols (605). In some implementations, the FEC coding used is Reed-Solomon coding (other coding schemes can be used). In some implementations, the FEC coding is performed by a device different than the first telecommunications device.

For each codeword, a plurality of consecutive data symbols matching one of a plurality of predetermined signal patterns are identified in the particular codeword by the first telecommunications device (610). In some implementations, the plurality of predetermined signal patterns include patterns having sequential high-low-high-low logic values. In some implementations, the plurality of predetermined signal patterns include patterns with high transition density. In some implementations, data transition rates of the plurality of predetermined signal patterns exceed a pre-specified rate that is based on at least a nominal passband of the second telecommunications device. For example, if the first telecommunications device is an OLT, with a nominal data rate of 10 Gbps, and the second telecommunications device is an ONU, with a nominal data rate of 2.5 Gbps, the pre-specified rate may be set to 2.5G per second. In some implementations, the pre-specified rate may be set to a number less than 2.5G per second. In some implementations, the pre-specified rate may be set to a number greater than 2.5G per second.

At least one data symbol in the identified plurality of consecutive data symbols in the particular codeword is automatically replaced with symbol errors (615). In some implementations, the replaced at least one data symbol is in a middle of the identified plurality of consecutive data symbols. In some other implementations, the replaced at least one data symbol is at an end of the identified plurality of consecutive data symbols. In some implementations, the first telecommunications device changes a logical value of one or more bits in the at least one data symbol, to replace the at least one data symbol with symbol errors. In some implementations, after replacing the at least one data symbol with symbol errors, the modified plurality of consecutive data symbols do not match any of the plurality of predetermined signal patterns.

The first telecommunications device automatically processes data symbols in the particular codeword for predetermined signal patterns. The first telecommunications device iterates through following data symbols in the particular codeword from the identified plurality of consecutive data symbols (620). In some implementations, a maximum number of data symbols in a codeword that can be replaced with symbol errors, is based on at least number of parity symbols in the codeword. In some implementations, each symbol has 8 bits, and the symbol errors provide symbol values of 00000000, 11111111, 00000001, or 11111110. In some other implementations, each symbol has a bit number different than 8 (e.g., 10-bit symbol used in IEEE 802.3bj).

The modified codeword is transmitted by the first telecommunications device to the second telecommunications device (625). In some implementations, the first telecommunications device is an OLT, with a nominal data rate of 10 Gbps and the second telecommunications device is an ONU, with a nominal data rate of 2.5 Gbps.

The example process600shown inFIG. 6can be modified or reconfigured to include additional, fewer, or different actions (not shown inFIG. 6), which can be performed in the order shown or in a different order. For example, before605, data may pass through a scrambler to prevent long runs of 0s and/or long runs of 1s. In some implementations, one or more of the actions can be repeated or iterated, for example, until a terminating condition is reached. In some implementations, one or more of the individual actions shown inFIG. 6can be executed as multiple separate actions, or one or more subsets of the actions shown inFIG. 6can be combined and executed as a single action.