Pam4 signal generation method, apparatus, and electronic device
Patent Information
- Application Number
- CN202610786238.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-02
- Publication Date
- 2026-10-09
AI Technical Summary
[0004]本发明提供一种PAM4信号生成方法、装置和电子设备,用以解决现有技术中PAM4信号生成方法存在信号非线性失真、静态参数难以适应实际工况以及电路复杂度高的问题,实现对非线性失真进行动态补偿和信号幅度的实时调控,生成性能优异的PAM4信号
[0015]本发明提供的PAM4信号生成方法、装置和电子设备,通过生成两路非归零码信号并利用一组预失真系数对其进行数字预失真处理,生成两路预失真处理后的非归零码信号,使信号在数字域预先补偿非线性特性,从而解决了信号非线性失真的问题。通过利用一组加权系数对两路预失真处理后的非归零码信号进行加权叠加,生成PAM4数字信号,将预失真处理和加权叠加均在数字域实现,减少了对复杂模拟电路的依赖,从而解决了电路复杂度高、成本和功耗较大的问题。通过将PAM4数字信号转换为模拟输出信号并对模拟输出信号进行模数转换得到反馈采样信号,从反馈采样信号中提取采样误差。采样误差等于当前符号的目标电平减去反馈采样信号中的实际采样数值。由于PAM4数字信号经过数模转换器转换为模拟输出信号的过程中,数模转换器会引入非线性失真,且温度、工艺、老化等因素会导致实际输出偏离期望值,因此该采样误差能够综合反映数模转换器引入的非线性失真以及温度、工艺、老化等因素造成的输出信号偏差。根据该采样误差同时计算并更新预失真系数和加权系数,使预失真系数和加权系数能够跟随温度、工艺和老化等变化而动态调整,直至采样误差连续低于预设阈值,得到最终PAM4数字信号,从而解决了静态参数设置难以适应实际工况的问题。
Smart Images

Figure CN122891402A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication technology, and in particular to a PAM4 signal generation method, apparatus, and electronic device. Background Technology
[0002] With the development of high-speed data centers, optical communication, and communication technologies, the requirements for transmission rates and bandwidth utilization are constantly increasing. PAM4 signals, which transmit 2 bits of data per symbol under the same bandwidth, have a significant advantage over traditional non-return-to-zero (NRZ) signals and have gradually become the main modulation method in high-speed interfaces and optical modules.
[0003] Currently, existing four-level pulse amplitude modulation (PAM4) signal generation technologies mainly rely on traditional analog circuits or directly superimposing two NRZ signals to achieve PAM4 modulation. This approach has the following drawbacks: First, it suffers from signal nonlinearity distortion. Due to the inherent nonlinearity and temperature drift of analog circuits, signal distortion is easily caused. Second, static parameter settings are difficult to adapt to actual operating conditions. Fixed modulation parameters are difficult to maintain optimal performance under the influence of factors such as temperature, manufacturing process, and aging. Third, the circuit complexity is high. Some implementation methods based on mixing and branch superposition require high circuit linearity, resulting in higher cost and power consumption. Summary of the Invention
[0004] This invention provides a PAM4 signal generation method, apparatus, and electronic device to solve the problems of signal nonlinear distortion, static parameters that are difficult to adapt to actual working conditions, and high circuit complexity in existing PAM4 signal generation methods. It achieves dynamic compensation for nonlinear distortion and real-time control of signal amplitude to generate PAM4 signals with excellent performance.
[0005] This invention provides a PAM4 signal generation method, comprising: Two non-return-to-zero (NRZ) code signals are generated, and the two NRZ code signals correspond to the most significant bit and the least significant bit of the PAM4 signal, respectively. A set of predistortion coefficients is used to perform digital predistortion processing on the two non-return-to-zero code signals to generate two predistorted non-return-to-zero code signals. A set of weighting coefficients is used to weight and superimpose the two pre-distorted non-return-to-zero code signals to generate a PAM4 digital signal. The PAM4 digital signal is converted into an analog output signal, and the analog output signal is then converted into an analog-to-digital signal to obtain a feedback sampling signal. Extract the sampling error from the feedback sampling signal; The predistortion coefficient and the weighting coefficient are calculated and updated simultaneously based on the sampling error until the sampling error is continuously lower than a preset threshold, thus obtaining the final PAM4 digital signal.
[0006] In one embodiment, the sampling error is obtained by weighted summation of instantaneous sampling error, level error, eye height error, bit error rate, and sampling phase error; the process of updating the predistortion coefficients based on the sampling error includes: The adjustment amount of the predistortion coefficient is determined based on the sampling error at the current moment and the non-return-to-zero code signal input to the digital predistortion processing at the current moment; The updated predistortion coefficients are determined based on the adjustment amount of the predistortion coefficients and the predistortion coefficients before the update.
[0007] In one embodiment, the instantaneous sampling error is determined in the following manner: The analog output signal is oversampled to obtain multiple sampling points within each symbol period; The master sampling point is determined from the plurality of sampling points, and the master sampling value is obtained; The ideal PAM4 level corresponding to the current symbol is determined based on the training sequence, pseudo-random binary sequence, or decision feedback result. Calculate the instantaneous sampling error, which is equal to the ideal PAM4 level minus the main sample value.
[0008] In one embodiment, the level error is determined in the following manner: The main sample value is divided into four sample sets according to the corresponding ideal PAM4 level; The average value of the main sampled values within each sample set is taken to obtain the actual center value of each level. The difference between the actual center value of each level and the ideal PAM4 level is calculated to obtain the level error; The eye height error is determined in the following way: The eye height is obtained by calculating the difference between the actual center values of adjacent levels, and the eye height error is obtained by calculating the difference between the eye height and the ideal eye height.
[0009] In one embodiment, the sampling error includes an instantaneous sampling error; the weighting coefficients include a first weighting coefficient and a second weighting coefficient; the process of updating the weighting coefficients according to the sampling error includes: The instantaneous sampling error is obtained from the sampling error, and the instantaneous sampling error is equal to the target level of the current symbol minus the actual sampled value obtained from the feedback sampling signal; The first adjustment amount is determined based on the instantaneous sampling error, the step size factor, and the non-return-to-zero code signal after pre-distortion processing of the most significant bit signal at the current moment; The second adjustment amount is determined based on the instantaneous sampling error, the step size factor, and the non-return-to-zero code signal after pre-distortion processing of the least significant bit signal at the current moment; Based on the first adjustment amount and the first weighting coefficient before the update, determine the updated first weighting coefficient; The updated second weighting coefficient is determined based on the second adjustment amount and the second weighting coefficient before the update; Determine whether the updated first weighting coefficient and the updated second weighting coefficient meet preset conditions, the preset conditions including: both weighting coefficients are greater than zero, and the updated first weighting coefficient is greater than the updated second weighting coefficient; If the conditions are not met, the updated first weighting coefficient and the updated second weighting coefficient are adjusted until the preset conditions are met. The two weighting coefficients that meet the preset conditions are normalized so that their sum equals one, thus obtaining the weighting coefficients for the next round of weighted superposition.
[0010] In one embodiment, the sampling error includes level error and eye height error; the weighting coefficient includes a first weighting coefficient and a second weighting coefficient; the process of updating the weighting coefficient according to the sampling error includes: Updates are performed according to preset time windows, each containing N symbols, where N is a preset positive integer; Within each time window, the level error between the actual center value of the four levels of the PAM4 digital signal and the ideal PAM4 level, as well as the eye height error between adjacent levels, are obtained. The first weighting coefficient and the second weighting coefficient are updated based on the level error and the eye height error.
[0011] The present invention also provides a PAM4 signal generation device, comprising the following modules: A digital signal generation module is used to generate two non-return-to-zero (NRZ) code signals, which correspond to the most significant bit and the least significant bit of the PAM4 signal, respectively. The digital predistortion processing module is used to perform digital predistortion processing on the two non-return-to-zero code signals using a set of predistortion coefficients, and generate two predistorted non-return-to-zero code signals. An adaptive weighted superposition module is used to superimpose the two pre-distorted non-return-to-zero code signals using a set of weighting coefficients to generate a PAM4 digital signal; convert the PAM4 digital signal into an analog output signal, and perform analog-to-digital conversion on the analog output signal to obtain a feedback sampling signal; extract the sampling error from the feedback sampling signal; and simultaneously calculate and update the pre-distortion coefficients and the weighting coefficients based on the sampling error until the sampling error is continuously lower than a preset threshold to obtain the final PAM4 digital signal.
[0012] The present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement any of the above-described PAM4 signal generation methods.
[0013] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the PAM4 signal generation method as described above.
[0014] The present invention also provides a computer program product, including a computer program that, when executed by a processor, implements the PAM4 signal generation method as described above.
[0015] The PAM4 signal generation method, apparatus, and electronic device provided by this invention generate two non-return-to-zero (NRZ) code signals and perform digital predistortion processing on them using a set of predistortion coefficients. This generates two predistorted NRZ code signals, pre-compensating for nonlinear characteristics in the digital domain, thus solving the problem of signal nonlinear distortion. By using a set of weighting coefficients to weight and superimpose the two predistorted NRZ code signals, a PAM4 digital signal is generated. Both predistortion processing and weighted superposition are implemented in the digital domain, reducing reliance on complex analog circuits and solving the problems of high circuit complexity, cost, and power consumption. A feedback sampling signal is obtained by converting the PAM4 digital signal into an analog output signal and performing analog-to-digital conversion on the analog output signal. The sampling error is extracted from the feedback sampling signal. The sampling error is equal to the target level of the current symbol minus the actual sampled value in the feedback sampling signal. Because the digital-to-analog converter (DAC) introduces nonlinear distortion during the conversion of the PAM4 digital signal to an analog output signal, and factors such as temperature, manufacturing process, and aging can cause the actual output to deviate from the expected value, this sampling error can comprehensively reflect the nonlinear distortion introduced by the DAC and the output signal deviation caused by factors such as temperature, manufacturing process, and aging. Based on this sampling error, the pre-distortion coefficient and weighting coefficient are simultaneously calculated and updated, allowing them to dynamically adjust according to changes in temperature, manufacturing process, and aging, until the sampling error continuously falls below a preset threshold, thus obtaining the final PAM4 digital signal. This solves the problem that static parameter settings are difficult to adapt to actual working conditions. Attached Figure Description
[0016] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0017] Figure 1 This is a flowchart illustrating the PAM4 signal generation method provided by the present invention.
[0018] Figure 2 This is a schematic diagram of the pre-distortion processing flow provided by the present invention.
[0019] Figure 3 This is a schematic diagram of the PAM4 signal generation device provided by the present invention.
[0020] Figure 4 This is a schematic diagram of the structure of the electronic device provided by the present invention. Detailed Implementation
[0021] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.
[0022] The following is combined Figures 1 to 4 This invention describes a PAM4 signal generation method, apparatus, and electronic device. The method can be used in high-speed data centers, optical communication modules, 5G / 6G communication systems, and other scenarios requiring high-speed signal transmission. In these applications, as transmission rates continue to increase, the requirements for signal bandwidth utilization and signal quality also become increasingly stringent. Traditional non-return-to-zero (NRZ) codes can only transmit 1 bit of data per symbol period, while PAM4 signals can transmit 2 bits of data per symbol within the same bandwidth, exhibiting higher spectral efficiency. However, PAM4 signals are more sensitive to nonlinear distortion and require precise control of the uniformity of the four level intervals. The method of this invention, through digital predistortion processing, adaptive weighted superposition, and closed-loop feedback control, can compensate for nonlinear distortion in the system in real time and dynamically adjust the weighting coefficients to adapt to changes in operating conditions such as temperature, process, and aging, thereby generating high-quality, highly stable PAM4 signals that meet the signal quality requirements of the aforementioned high-speed communication scenarios.
[0023] Figure 1 This is a flowchart illustrating the PAM4 signal generation method provided by the present invention. A PAM4 signal is a four-level pulse amplitude modulation signal, where each symbol can take four different level values, such as -1, -1 / 3, +1 / 3, and +1 after normalization, corresponding to the binary combinations "00", "01", "10", and "11", respectively. Figure 1 As shown, the PAM4 signal generation method includes the following: S110. Generate two non-return-to-zero (NRZ) code signals, which correspond to the most significant bit and least significant bit of the PAM4 signal, respectively.
[0024] The aforementioned Non-Return-to-Zero (NRZ) code is a binary signal encoding method where a high level represents "1" and a low level represents "0" within each symbol period, and the level remains constant throughout the entire symbol period. In this invention, the values of the two NRZ signals can be normalized to -1 and +1. In the PAM4 signal, each symbol carries 2 bits of information, where the most significant bit is called the Most Significant Bit (MSB) and the least significant bit is called the Least Significant Bit (LSB).
[0025] First, two independent non-return-to-zero (NRZ) code signals are generated. The first NRZ code signal corresponds to the most significant bit of the PAM4 signal and is denoted as the MSB signal; the second NRZ code signal corresponds to the least significant bit of the PAM4 signal and is denoted as the LSB signal.
[0026] Both signals have the same bit rate, for example, 25 Gbit / s. Within each symbol period, the MSB and LSB signals each take a high or low value. To facilitate subsequent digital processing, the values of the two signals can be normalized, for example, +1 represents a high level and -1 represents a low level. Thus, within each symbol period, the combination of MSB and LSB corresponds to a PAM4 level: when (MSB, LSB) = (-1, -1), it corresponds to PAM4 level -1; (-1, +1), it corresponds to -1 / 3; (+1, -1), it corresponds to +1 / 3; and (+1, +1), it corresponds to +1.
[0027] The two non-return-to-zero (NRZ) code signals can be generated in various ways, such as using the digital logic modules inside a Field-Programmable Gate Array (FPGA), or reading pre-stored data sequences from external memory. The generated two NRZ code signals are then fed into subsequent digital predistortion processing modules.
[0028] S120. A set of predistortion coefficients is used to perform digital predistortion processing on the two non-return-to-zero code signals to generate two predistortion-processed non-return-to-zero code signals.
[0029] Predistortion coefficients refer to a set of coefficients used to compensate for nonlinear distortion in a system. The digital predistortion processing module (i.e....) Figure 2 The preprocessing module receives the input signal, namely the two non-return-to-zero (NRZ) code signals mentioned above. This module uses a set of predistortion coefficients to process the two NRZ code signals, generating two predistorted NRZ code signals. The basic principle of digital predistortion processing is: a distortion opposite to the nonlinear characteristics of the subsequent digital-to-analog converter is applied to the NRZ code signal in advance, so that after digital predistortion processing, weighted superposition, and digital-to-analog conversion, the final analog output signal can be restored to the desired ideal waveform. In other words, predistortion processing is to perform inverse compensation on the NRZ code signal in the digital domain to cancel the nonlinear distortion introduced by the digital-to-analog converter.
[0030] Digital predistortion processing can be implemented using a lookup table. Specifically, the predistortion coefficients are stored in a lookup table, the address of which is determined by the value of the non-return-to-zero (NRZ) code signal or the state interval in which the NRZ code signal resides. During processing, the NRZ code signal at the current moment is used as an index to read the corresponding predistortion output value from the lookup table; this output value is the NRZ code signal after predistortion processing. Since the NRZ code signal consists of two independent NRZ signals, the lookup table can be set separately for each signal, or the two signals can be jointly encoded and used as the index for a combined lookup table.
[0031] Digital predistortion processing can also be implemented using polynomial calculations. Specifically, the predistortion coefficients are used as coefficients of a polynomial. The non-return-to-zero (NRZ) code signal at the current moment is substituted into this polynomial to calculate the predistortion output value, which is the NRZ code signal after predistortion processing. For example, consider the polynomial y = a·x, where x is the input NRZ code signal, y is the output NRZ code signal after predistortion processing, and a is the predistortion coefficient; or the polynomial y = a·x + b·x. 3 For example, x is the input non-return-to-zero (NRZ) code signal, y is the output NRZ code signal after predistortion processing, and a and b are the predistortion coefficients. The polynomial can be a simple linear function or a nonlinear function containing higher-order terms; the specific form is determined based on the nonlinear characteristics of the analog circuit link.
[0032] Regardless of whether a lookup table or polynomial calculation method is used, the specific value of the predistortion coefficient can be dynamically adjusted through an adaptive algorithm to adapt to changes in operating conditions such as temperature variations and device aging. After digital predistortion processing, two predistorted non-return-to-zero code signals are output, denoted as follows: (corresponding to the most significant bit signal) and (Corresponding to the least significant bit signal).
[0033] S130. The two pre-distorted non-return-to-zero code signals are weighted and superimposed using a set of weighting coefficients to generate a PAM4 digital signal.
[0034] The weighting coefficients are used to adjust the proportion of the two NRZ signals when synthesizing a PAM4 signal. The first weighting coefficient applies to the NRZ signal corresponding to the most significant bit, and the second weighting coefficient applies to the NRZ signal corresponding to the least significant bit. By adjusting the ratio of the two weighting coefficients, the interval between the four levels of the PAM4 signal can be controlled.
[0035] The two predistorted non-return-to-zero (NRZ) code signals are fed into an adaptive weighted superposition module. This module uses a set of weighting coefficients to weight and superimpose the two signals to generate a PAM4 digital signal. The specific calculation method for weighted superposition is as follows: the predistorted NRZ code signal corresponding to the most significant bit... Multiply by the first weighting factor The non-return-to-zero code signal after pre-distortion processing of the corresponding least significant bit Multiply by the second weighting factor Then add the two products together, that is: in, This is the generated PAM4 digital signal. Weighting coefficients. and It is not fixed, but dynamically adjusted during operation through an adaptive algorithm to maintain a uniform distribution of the four levels of the PAM4 signal.
[0036] S140. Convert the PAM4 digital signal into an analog output signal, and perform analog-to-digital conversion on the analog output signal to obtain a feedback sampling signal.
[0037] The generated PAM4 digital signal is fed into a high-speed digital-to-analog converter (DAC). The DAC converts the digital signal into an analog output signal, which can be used to drive a subsequent optical modulator to achieve electro-optical conversion, converting the electrical signal into an optical signal for transmission. The high-speed analog-to-digital converter (ADC) acquires the output signal, i.e., the analog output signal, and performs analog-to-digital conversion on this signal to obtain a feedback sampling signal, which is used to achieve closed-loop adaptive adjustment of the predistortion coefficients and weighting coefficients.
[0038] S150, Extract the sampling error from the feedback sampling signal.
[0039] Sampling error refers to the error information extracted from the feedback sampled signal, used to measure the difference between the actual sampled value in the feedback sampled signal and the target level of the current symbol. Sampling error can be the instantaneous error of the current symbol, or a comprehensive error statistically obtained within a time window.
[0040] To reduce the impact of noise on error extraction, error information for multiple symbols can be statistically analyzed within a time window. For example, the actual center value of each of the four levels can be statistically analyzed, and the deviation between the actual center value of each level and the ideal PAM4 level can be calculated to obtain the level error. Simultaneously, the eye height between adjacent levels can be calculated, and the deviation between each eye height and the ideal eye height can be calculated to obtain the eye height error. Furthermore, bit error rate information, eye width information, and sampling phase error information can be extracted from the feedback sampling signal. These various error information (instantaneous sampling error, level error, eye height error, bit error rate, sampling phase error, etc.) can be used individually or weighted together to form a comprehensive error, which serves as the basis for subsequent coefficient updates. The specific form of the sampling error can be flexibly selected according to system requirements and implementation complexity.
[0041] S160. Simultaneously calculate and update the predistortion coefficient and the weighting coefficient based on the sampling error until the sampling error is continuously lower than a preset threshold to obtain the final PAM4 digital signal.
[0042] The predistortion coefficient update process is as follows: the predistortion coefficients are adjusted according to the sampling error at the current moment to obtain the updated predistortion coefficients. The updated predistortion coefficients are then sent back to the digital predistortion processing module for predistortion processing of subsequent non-return-to-zero code signals.
[0043] The weighting coefficient update process is as follows: the weighting coefficients are adjusted according to the sampling error at the current moment to obtain the updated weighting coefficients. The updated weighting coefficients are then fed back to the adaptive weighted superposition module for weighted superposition of the subsequent pre-distortion processed non-return-to-zero code signals.
[0044] The above update process can be implemented using an adaptive algorithm, such as the minimum mean square error algorithm. The basic idea of this algorithm is to adjust the coefficients along the direction of the fastest error decrease, so that the error gradually decreases.
[0045] The above update process is repeated, and after each update, it is determined whether the sampling error is continuously below a preset threshold. Continuously below the preset threshold means that the sampling error value is less than the preset threshold for multiple consecutive sampling periods. For example, it can be set that if the sampling error is less than 0.01 for each of 10 consecutive symbol periods, the stopping condition is considered met. The purpose of using continuous judgment rather than single judgment is to avoid misjudgment caused by single noise or occasional interference, ensuring that iteration stops only after the PAM4 digital signal quality has stabilized and met the requirements.
[0046] If the sampling error remains below a preset threshold, the coefficient update process stops, and the currently generated PAM4 digital signal is output as the final PAM4 digital signal. If the sampling error does not yet meet this condition, the coefficient update process continues iteratively until the stopping condition is met.
[0047] The following example illustrates the workflow of the PAM4 signal generation method described above: Assume that initially, the two non-return-to-zero (NRZ) code signals are the MSB sequence [+1,-1,+1,+1,...] and the LSB sequence [+1,+1,-1,-1,...]. First, predistort the two signals using initial predistortion coefficients (e.g., set to 1, i.e., no predistortion), and the output remains the original NRZ code signal. Then, use initial weighting coefficients (e.g., set to...)... =0.7, =0.3) The two pre-distorted signals are weighted and superimposed to generate the initial PAM4 digital signal. This PAM4 digital signal is then converted from digital to analog and output, while a feedback sampling signal is obtained through feedback sampling.
[0048] Extract the sampling error from the feedback sampling signal. Assume the actual sampled value deviates significantly from the target level; for example, when the target level should be +1, the actual sampled value is only +0.85, resulting in an instantaneous sampling error of +0.15. This error indicates poor quality of the current output signal, requiring adjustment of the coefficients.
[0049] Based on the sampling error, the adjustments for the predistortion coefficient and the weighting coefficient are calculated respectively. Assuming the adjustment for the predistortion coefficient is +0.02, the updated predistortion coefficient becomes 1.02; the adjustments for the weighting coefficient are respectively... =-0.01, If the weighting factor is +0.01, then the updated weighting factor becomes... =0.69, =0.31.
[0050] The updated predistortion coefficients and weighting coefficients are used to repeatedly perform digital predistortion processing, weighted superposition, feedback sampling, error extraction, and coefficient updates on subsequent input non-return-to-zero (NRZ) code signals, continuously generating PAM4 digital signals and extracting sampling errors. After each update, it is determined whether the sampling error is continuously below a preset threshold. If the sampling error has not yet met the stopping condition, the coefficients continue to be updated. If, after multiple iterations, the sampling error is below the preset threshold for several consecutive periods, the update stops, and the currently generated PAM4 digital signal is used as the final output. For example, if the preset threshold is set to 0.01 and the number of consecutive judgment periods is set to 10, then when the sampling error is below 0.01 for 10 consecutive periods, the update stops, and the current PAM4 digital signal is used as the final output.
[0051] Through the aforementioned closed-loop adaptive adjustment process, the predistortion coefficients and weighting coefficients can automatically converge to the optimal predistortion coefficients and optimal weighting coefficients, ensuring that the quality of the final output PAM4 digital signal meets the requirements. When temperature changes or device aging causes changes in link characteristics, the sampling error will increase again. The method of this invention will automatically resume the coefficient update process and reconverge to the new optimal predistortion coefficients and optimal weighting coefficients, thereby achieving long-term stable high-performance output.
[0052] The PAM4 signal generation method provided by this invention generates two non-return-to-zero (NRZ) code signals and performs digital pre-distortion processing on them using a set of pre-distortion coefficients. This generates two pre-distorted NRZ code signals, pre-compensating for nonlinear characteristics in the digital domain, thus solving the problem of signal nonlinear distortion. By using a set of weighting coefficients to weight and superimpose the two pre-distorted NRZ code signals, a PAM4 digital signal is generated. Both pre-distortion processing and weighted superposition are implemented in the digital domain, reducing reliance on complex analog circuits and thus solving the problems of high circuit complexity, cost, and power consumption. The PAM4 digital signal is converted into an analog output signal, and then an analog-to-digital conversion is performed to obtain a feedback sampling signal. The sampling error is extracted from the feedback sampling signal. The sampling error is equal to the target level of the current symbol minus the actual sampled value in the feedback sampling signal. Because the digital-to-analog converter (DAC) introduces nonlinear distortion during the conversion of the PAM4 digital signal to an analog output signal, and factors such as temperature, manufacturing process, and aging can cause the actual output to deviate from the expected value, this sampling error can comprehensively reflect the nonlinear distortion introduced by the DAC and the output signal deviation caused by factors such as temperature, manufacturing process, and aging. Based on this sampling error, the pre-distortion coefficient and weighting coefficient are simultaneously calculated and updated, allowing them to dynamically adjust according to changes in temperature, manufacturing process, and aging, until the sampling error continuously falls below a preset threshold, thus obtaining the final PAM4 digital signal. This solves the problem that static parameter settings are difficult to adapt to actual working conditions.
[0053] In one embodiment, reference is made to Figure 2 As shown, the update of the predistortion coefficients is implemented using the Least Mean Square (LMS) algorithm. The sampling error refers to the overall error, which is calculated by analyzing the instantaneous sampling error. Level error Eye height error Bit error rate and sampling phase error The weighted sum is used to obtain the overall error. for: ; in, These are weighting coefficients used to adjust the weight of each error in the overall error.
[0054] The process of updating the predistortion coefficients based on the sampling error includes: Based on the sampling error at the current moment and the non-return-to-zero code signal input to the digital predistortion processing at the current moment, the adjustment amount of the predistortion coefficient is determined; based on the adjustment amount of the predistortion coefficient and the predistortion coefficient before the update, the updated predistortion coefficient is determined.
[0055] Specifically, in this embodiment, the digital predistortion processing module is implemented internally within the FPGA as a look-up table (LUT). Each LUT contains multiple LUT cells, and each LUT cell stores a predistortion coefficient.
[0056] Let the predistortion coefficient of the k-th LUT unit be... ,in This represents the current time. Let the non-return-to-zero code signal input to the digital predistortion processing at the current time be... The sampling error at the current moment is The first step is the long factor. .Will , Multiplying x[n] by the three factors yields the adjustment amount for the predistortion coefficients. The predistortion coefficients before the update Adjustment amount with predistortion coefficient Add them together to get the updated predistortion coefficients. ,Right now .
[0057] when When the value falls within the k-th amplitude interval or corresponds to the k-th code pattern state, only the predistortion coefficients corresponding to the k-th LUT unit are updated. To avoid abrupt changes in the predistortion coefficients stored in the LUT, interpolation updates can also be performed on adjacent LUT units based on distance.
[0058] To prevent overcompensation, the updated predistortion coefficients are subjected to amplitude limiting, i.e. ,in and These are the preset minimum and maximum values, respectively. This is a limiting function, its function is to limit the amplitude of the current. Limited to and Between. If Less than Then take If greater than Then take Otherwise, it remains unchanged.
[0059] When the sampling error is continuously below a preset threshold, freeze or reduce the first step length factor. When there are significant changes in temperature, output power, or bit error rate, increase the first step length factor. To accelerate convergence. The updated predistortion coefficients are stored in the LUT inside the FPGA for subsequent digital predistortion processing.
[0060] The PAM4 signal generation method provided by this invention determines the adjustment amount of the predistortion coefficients based on the current sampling error and the non-return-to-zero code signal input to the digital predistortion processing at the current time. This correlates the adjustment direction of the predistortion coefficients with the current sampling error and the input non-return-to-zero code signal, ensuring that the coefficient updates proceed in the direction of reducing the sampling error. By determining the updated predistortion coefficients based on the adjustment amount and the predistortion coefficients before the update, a recursive update of the predistortion coefficients is achieved. This allows the predistortion coefficients to be dynamically adjusted according to changes in the sampling error, thereby compensating for nonlinear distortion in the system in real time.
[0061] In one embodiment, the instantaneous sampling error is determined in the following manner: The analog output signal is oversampled to obtain multiple sampling points within each symbol period; The master sampling point is determined from the plurality of sampling points, and the master sampling value is obtained; The ideal PAM4 level corresponding to the current symbol is determined based on the training sequence, pseudo-random binary sequence, or decision feedback result. Calculate the instantaneous sampling error, which is equal to the ideal PAM4 level minus the main sample value.
[0062] Specifically, during the error acquisition phase, the analog-to-digital converter oversamples the analog output signal, obtaining multiple sampling points within each symbol period. More specifically, let the symbol period be... Multiple sampling phases are set within one symbol period. ( ), This indicates the sequence number of the sampling point (i.e., the sequence number of the sampling phase). The analog-to-digital converter samples the analog output signal at each sampling phase to obtain the sampling point number. Sampling sequence near the symbol First, determine the master sampling point. The master sampling point is the optimal sampling position selected within each symbol period to obtain the master sample value of the current symbol. The master sampling point can be determined using the maximum eye height criterion. That is, in multiple sampling phases within each symbol period, measure the vertical distance (i.e., eye height) between adjacent levels, calculate the average of the three eye heights, and select the sampling phase that maximizes this average as the master sampling point; or calculate the minimum of the three eye heights and select the sampling phase that maximizes this minimum as the master sampling point (i.e., maximize the minimum eye height and make the three eye heights as balanced as possible).
[0063] The principal sampling point can also be determined as follows: Take one sampling point before and one after the current sampling time, denoted as the previous sampling point and the next sampling point, respectively. Compare the difference between the previous sampling point and the current sampling point, and the difference between the current sampling point and the next sampling point. If the difference between the previous sampling point and the current sampling point is greater than the difference between the current sampling point and the next sampling point, it indicates that the current sampling time is too far to the left (too early), and the sampling phase needs to be adjusted backward; if the difference between the previous sampling point and the current sampling point is less than the difference between the current sampling point and the next sampling point, it indicates that the current sampling time is too far to the right (too late), and the sampling phase needs to be adjusted forward; if the two are equal, it indicates that the current sampling time is at the center of the eye diagram, and the sampling phase remains unchanged. Through multiple iterative adjustments, the sampling point gradually approaches the center position of the eye diagram. The sampling phase corresponding to the principal sampling point is denoted as... The main sample value is denoted as .
[0064] Determine the ideal PAM4 level corresponding to the current symbol based on the training sequence, pseudo-random binary sequence, or decision feedback result. Ideal PAM4 level The value can be -1, -1 / 3, +1 / 3, or +1. When using the training sequence method, during the communication system startup or initialization phase, the transmitter and receiver pre-agree on a known fixed data sequence (i.e., the training sequence). The transmitter sends signals according to this training sequence, and the receiver, knowing the ideal PAM4 level transmitted in each symbol period, can directly use this ideal PAM4 level as the target level for the current symbol. When using the pseudo-random binary sequence method, the transmitter uses a pseudo-random binary sequence generator to generate the data sequence, and the receiver uses the same generator polynomial to synchronously generate the same pseudo-random binary sequence. Since the pseudo-random binary sequence generated by the receiver is exactly the same as the data sequence generated by the transmitter, the receiver directly obtains the ideal PAM4 level corresponding to each symbol period based on this sequence, using it as the target level for the current symbol. When using the decision feedback method, the receiver samples the received PAM4 signal and determines which of the four levels the current symbol belongs to based on the magnitude of the sampled value (for example, if the sampled value is less than -2 / 3, it is judged as -1; if it is between -2 / 3 and 0, it is judged as -1 / 3; if it is between 0 and 2 / 3, it is judged as +1 / 3; and if it is greater than 2 / 3, it is judged as +1). The decision result is used as the estimated value of the transmitted data and is used as the target level of the current symbol.
[0065] Calculate the instantaneous sampling error of the current symbol The instantaneous sampling error is equal to the ideal PAM4 level minus the main sample value, i.e. .
[0066] This invention oversamples the analog output signal, obtaining multiple sampling points within each symbol period. This allows for the acquisition of complete waveform information within a symbol period, providing a data foundation for the accurate selection of subsequent master sampling points. By determining the master sampling point from multiple sampling points and obtaining its value, the optimal sampling position can be selected, ensuring that the master sampling value accurately reflects the actual level of the current symbol and reducing errors introduced by sampling phase deviations. The ideal PAM4 level corresponding to the current symbol is determined based on the training sequence. Since the training sequence is a pre-agreed known data sequence between the transmitter and receiver, the receiver can accurately obtain the ideal PAM4 level transmitted within each symbol period, thus providing an accurate reference value for calculating the instantaneous sampling error. By calculating the instantaneous sampling error as the ideal PAM4 level minus the master sampling value, the output signal deviation of the current symbol can be obtained in real time, providing accurate error input for the closed-loop adaptive update of the predistortion coefficients and weighting coefficients.
[0067] The bit error rate (BER) is determined as follows: At the receiver, a decision is made on the main sample value of each symbol in the feedback sampled signal. For example, a sample value less than -2 / 3 is judged as -1, between -2 / 3 and 0 as -1 / 3, between 0 and 2 / 3 as +1 / 3, and greater than 2 / 3 as +1. During the training phase, the transmitter and receiver pre-agree on a known training sequence, and the receiver knows the ideal PAM4 level for each symbol. The decision result is compared with the ideal PAM4 level in the training sequence: if the decision result equals the ideal PAM4 level, it is considered correct; if the decision result does not equal the ideal PAM4 level, it is considered an error. The number of erroneous symbols within a time window is counted, and divided by the total number of symbols within that window, the BER is obtained. For example, in 10,000 symbols, if there are 5 erroneous symbols, the BER is 5 / 10,000 = 0.0005.
[0068] The sampling phase error is determined as follows: A sampling point within each symbol period is obtained from the feedback sampling signal, and an auxiliary sampling point is taken before and after each of these sampling points. The sampling values of the auxiliary sampling points are then calculated. Sampled values of the auxiliary sampling points difference Sampling phase error ,in This is a preset proportional coefficient. The magnitude and sign of the sampling phase error determine its magnitude and direction: if This indicates that the sampled value of the preceding auxiliary sampling point is greater than the sampled value of the following auxiliary sampling point, the sampling point is offset to the left (too early), and there is a sampling phase error. A positive value indicates that the sampling phase needs to be adjusted backward; if... This indicates that the sampled value of the preceding auxiliary sampling point is less than the sampled value of the following auxiliary sampling point, the sampling point is offset to the right (too late), and there is a sampling phase error. A negative value indicates that the sampling phase needs to be adjusted forward; if This indicates that the sampling point is located at the center of the eye diagram, and the sampling phase error is... It is zero.
[0069] In one embodiment, the level error is determined in the following manner: The main sample value is divided into four sample sets according to the corresponding ideal PAM4 level; The average value of the main sampled values within each sample set is taken to obtain the actual center value of each level. The difference between the actual center value of each level and the ideal PAM4 level is calculated to obtain the level error; The eye height error is determined in the following way: The eye height is obtained by calculating the difference between the actual center values of adjacent levels, and the eye height error is obtained by calculating the difference between the eye height and the ideal eye height.
[0070] Specifically, to reduce the impact of noise on error extraction, the actual level center within a time window is statistically analyzed for each of the four levels. Specifically, let the... The sample set of each level is ( (corresponding to levels -1, -1 / 3, +1 / 3, and +1 respectively), this set contains all items within the time window that are judged to belong to the first... The principal sample value of the i-th level is obtained by averaging all the principal sample values in this set. The actual center value of each level ,Right now ,in express The number of samples in the middle The main sample value.
[0071] Calculate the difference between the actual center value and the ideal PAM4 level for each level to obtain the level error. Level error of each level equal to the Ideal PAM4 level Subtract the first The actual center value of each level ,Right now Ideal PAM4 level The value can be: =-1, =-1 / 3, =+1 / 3, =+1.
[0072] The eye height is obtained by calculating the difference between the actual center values of adjacent levels. The three eye heights are denoted as follows: , , ,in , , .
[0073] Calculate the difference between each eye height and the ideal eye height to obtain the eye height error. The ideal eye height is... =2 / 3, therefore eye height error ,in. For eye height error, These correspond to three different eye heights.
[0074] This invention effectively reduces the impact of single-point noise on level center estimation and improves the accuracy of level center measurement by statistically analyzing the actual level center within a time window for each of the four levels and averaging the main sampled values within each level set. By calculating the difference between the actual center value of each level and the ideal PAM4 level, the level error can be obtained, quantitatively assessing the degree of deviation of each level from the ideal position and providing level error information for subsequent comprehensive error calculation. Furthermore, by calculating the difference between the actual center values of adjacent levels to obtain the eye height, and calculating the difference between the eye height and the ideal eye height to obtain the eye height error, the eye opening degree of the eye diagram and the uniformity among the three eye heights can be quantitatively assessed, providing eye height error information for subsequent comprehensive error calculation.
[0075] In one embodiment, the sampling error includes an instantaneous sampling error; the weighting coefficients include a first weighting coefficient and a second weighting coefficient; the process of updating the weighting coefficients according to the sampling error includes: The instantaneous sampling error is obtained from the sampling error, and the instantaneous sampling error is equal to the target level of the current symbol minus the actual sampled value obtained from the feedback sampling signal; The first adjustment amount is determined based on the instantaneous sampling error, the step size factor, and the non-return-to-zero code signal after pre-distortion processing of the most significant bit signal at the current moment; The second adjustment amount is determined based on the instantaneous sampling error, the step size factor, and the non-return-to-zero code signal after pre-distortion processing of the least significant bit signal at the current moment; Based on the first adjustment amount and the first weighting coefficient before the update, determine the updated first weighting coefficient; The updated second weighting coefficient is determined based on the second adjustment amount and the second weighting coefficient before the update; Determine whether the updated first weighting coefficient and the updated second weighting coefficient meet preset conditions, the preset conditions including: both weighting coefficients are greater than zero, and the updated first weighting coefficient is greater than the updated second weighting coefficient; If the conditions are not met, the updated first weighting coefficient and the updated second weighting coefficient are adjusted until the preset conditions are met. The two weighting coefficients that meet the preset conditions are normalized so that their sum equals one, thus obtaining the weighting coefficients for the next round of weighted superposition.
[0076] Specifically, the instantaneous sampling error is obtained from the sampling error. Let the input vector be denoted as Let the weight vector be denoted as .
[0077] The weighting coefficients are updated using the least mean square error algorithm, and the update formula is as follows: ,in This is the step size factor used for adjusting the weighting coefficients.
[0078] Specifically, based on instantaneous sampling error , And the non-return-to-zero code signal after pre-distortion processing of the most significant bit signal at the current moment. Determine the first adjustment amount, that is Based on instantaneous sampling error , And the non-return-to-zero code signal after pre-distortion processing of the least significant bit signal at the current moment. Determine the second adjustment amount, that is .
[0079] Based on the first adjustment amount and the first weighting coefficient before the update Determine the updated first weighting coefficient. ,Right now Based on the second adjustment amount and the second weighting coefficient before the update. Determine the updated second weighting coefficient. ,Right now .
[0080] To ensure that the order of the four levels of PAM4 is not reversed, the updated first weighting coefficient is adjusted. and the updated second weighting coefficient Perform constrained projection. Determine... and Whether the preset conditions are met, the preset conditions include: , ,and If not satisfied, adjust. and This continues until the preset condition is met. Specifically: if... Then Set to the preset minimum positive number; if Then Set to the preset minimum positive number; if Then exchange and The value, or setting for and 2 / 3 of the sum for and One-third of the sum. Repeat the above judgment and adjustment process until... , and .
[0081] The two weighted coefficients that meet the preset conditions are normalized so that their sum equals one, i.e., the following steps are performed: ; ; Obtain the weighting coefficients for the next round of weighted superposition.
[0082] This invention obtains the instantaneous sampling error from the sampling error and determines the first and second adjustment amounts based on the instantaneous sampling error, the step size factor, and the pre-distorted non-return-to-zero code signal corresponding to the most significant bit and least significant bit at the current moment. This correlates the adjustment direction of the weighting coefficients with the current instantaneous error and the input signal, ensuring that the weighting coefficient updates proceed in the direction of reducing the error. By determining the updated first weighting coefficient based on the first adjustment amount and the first weighting coefficient before the update, and determining the updated second weighting coefficient based on the second adjustment amount and the second weighting coefficient before the update, a recursive update of the weighting coefficients is achieved, allowing the weighting coefficients to be dynamically adjusted according to changes in the instantaneous sampling error. By determining whether the updated first and second weighting coefficients satisfy the preset condition that both are greater than zero and the first weighting coefficient is greater than the second weighting coefficient, and adjusting when the condition is not met, the order of the four levels of PAM4 is not reversed, thus ensuring that the four levels of the synthesized signal are arranged in the correct order. By normalizing two weighting coefficients that meet preset conditions so that their sum equals one, the weighting coefficients for the next round of weighted superposition are obtained, ensuring the stability of the weighting coefficient ratio and keeping the distribution of the four levels of PAM4 balanced.
[0083] In one embodiment, the sampling error includes level error and eye height error; the weighting coefficient includes a first weighting coefficient and a second weighting coefficient; the process of updating the weighting coefficient according to the sampling error includes: Updates are performed according to preset time windows, each containing N symbols, where N is a preset positive integer; Within each time window, the level error between the actual center value of the four levels of the PAM4 digital signal and the ideal PAM4 level, as well as the eye height error between adjacent levels, are obtained. The first weighting coefficient and the second weighting coefficient are updated based on the level error and the eye height error.
[0084] Specifically, the weighting coefficients do not need to be updated at every sampling point; updates can be performed within a preset time window. Each time window contains N symbols, where N is a preset positive integer, for example, N=100.
[0085] Within each time window, the actual center values of the four levels in that window are counted and denoted as follows. , , , These correspond to the actual center values of levels -1, -1 / 3, +1 / 3, and +1, respectively. The three eye heights between adjacent levels are counted and denoted as... , , ,in , , .
[0086] The level error is obtained by calculating the difference between the actual center value of each level and the ideal PAM4 level. Ideal PAM4 level =-1, =-1 / 3, =+1 / 3, =+1, the level error is ( ).
[0087] Calculate the differences between the three eye heights and the ideal eye height to obtain the eye height error. The ideal eye height is... =2 / 3, therefore eye height error ,in. For eye height error, These correspond to three different eye heights.
[0088] The first weighting coefficient is updated based on the level error and eye height error. Second weighting coefficient The specific update method is as follows: First, calculate the average of the four level errors to obtain the average error. If the average error is positive, it indicates that the overall level is too high, and the first or second weighting coefficient should be decreased; if the average error is negative, it indicates that the overall level is too low, and the first or second weighting coefficient should be increased. A value >0 indicates that the actual voltage level is generally too low. and Multiply by a coefficient greater than 1. (e.g., 1.01), causing the level to rise; if This indicates that the actual voltage level is generally too high. and Multiply by a coefficient less than 1. (e.g., 0.99) to lower the level.
[0089] Secondly, the average of the three eye heights is calculated to obtain the average eye height. And at first glance Error with average eye height, second eye height Error with average eye height, third eye height Error compared to average eye height. Adjust the ratio of the two weighting coefficients based on the eye height error: if... Less than and Greater than This indicates that the first weighting coefficient is too large relative to the second weighting coefficient. Multiply by the scaling factor D (e.g., 0.99), and Multiply by the scaling factor C (e.g., 1.01); if Greater than and Less than This indicates that the first weighting coefficient is too small compared to the second weighting coefficient. Multiply by the scaling factor C (e.g., 1.01), and Multiply by the proportional reduction factor D (e.g., 0.99); if the three eye heights are basically equal, keep the weighting factor unchanged.
[0090] Applying the above two adjustments sequentially to the weighting coefficients yields the updated weighting coefficients: ; ; in, This is the overall adjustment coefficient (determined to be A, B, or 1 based on the average error). and The proportional adjustment factor (determined to be C, D, or 1 based on the eye height error, and...) ).
[0091] The adjustment coefficients mentioned above (such as 1.01 and 0.99) are merely examples; in practical applications, the adjustment step size can be preset as needed. The updated weighting coefficients are used for weighted summation in the next time window. Updating the weighting coefficients by time window reduces the impact of single-point noise and occasional bit errors on the weight update.
[0092] This invention updates the weighting coefficients according to preset time windows, each containing N symbols, avoiding updates at every sampling point and thus reducing interference from single-point noise and occasional bit errors. By statistically analyzing the actual center values of the four levels and the three eye heights within each time window, and calculating the level error and eye height error, the amplitude uniformity and eye diagram balance of the signal can be comprehensively evaluated based on the statistical information within the window. By updating the first and second weighting coefficients according to the level error and eye height error, the adjustment of the weighting coefficients simultaneously considers the overall offset of the level center and the balance among the three eye heights, thereby comprehensively optimizing the distribution of the four levels of PAM4 and ensuring that the output signal levels are evenly distributed.
[0093] In the above embodiments, the weighting coefficients are updated using the least mean square error algorithm. Alternatively, the present invention can also use the following alternative algorithms to update the weighting coefficients.
[0094] For ease of description, the following symbols are first defined: Input vector ,in This is the pre-distorted non-return-to-zero code signal corresponding to the most significant bit signal at the current moment. The non-return-to-zero code signal is the pre-distorted version of the least significant bit signal at the current moment, and the values of the two signals are normalized to -1 and +1.
[0095] Weight vector ,in The first weighting coefficient, This is the second weighting coefficient.
[0096] 1) Normalized minimum mean square error algorithm: To avoid instability in the update amplitude caused by changes in input amplitude or code pattern distribution, the normalized minimum mean square error algorithm can be used to update the weighting coefficients. The update formula is: ; in, To prevent small constants from being divided by zero, The modulus squared of the input vector is given. This method is suitable for hardware implementation and exhibits a relatively stable convergence speed under different code density conditions. This represents the instantaneous sampling error. This is the step size factor used for adjusting the weighting coefficients.
[0097] 2) Recursive Least Squares Algorithm: For rapid temperature changes or link response changes caused by device aging, a recursive least squares algorithm can be used to update the weighting coefficients. The update process is as follows: ; ; ; in, For the gain vector, For the first The covariance matrix at each symbol time, For the first The covariance matrix at each symbol time, Forgetting factor (0 < ≤1), The updated weight vector, This is the weight vector before the update. This algorithm converges faster than the minimum mean square error algorithm and is suitable for rapid reconvergence after calibration or sudden changes in operating conditions.
[0098] 3) Kalman filter algorithm: Treating the weighting coefficients as state variables that drift slowly with temperature, aging, and optical power, the Kalman filter algorithm can be used to update the weighting coefficients. Establish the state equation and observation equation: Equations of state: ; Observation equation: ; Where v[n] represents state noise, and ξ[n] represents observation noise. The update process is as follows: ; ; in, State noise represents the random drift of the weights; For observation noise; K[n] is the Kalman gain. For the prediction error covariance, i.e., according to the first... The first symbol time predicted by the [number]th symbol time. Error covariance at each symbol time. To observe the noise covariance, The updated weight vector, The predicted weight vector, i.e., based on the first... The first symbol time predicted by the [number]th symbol time. Weight vector at each symbol time. Observation noise covariance. It can be adaptively set according to the noise, bit error rate or eye diagram jitter of the analog-to-digital converter.
[0099] 4) Constrained Mirror Descent Algorithm: To ensure that the weighting coefficients remain positive and normalized, a constrained mirror descent algorithm can be used to update the weighting coefficients. The update process is as follows: ; ; in, For the previous version Each weighting coefficient For the updated number Each weighting coefficient For the objective function on the th The gradient of each weighted coefficient, This is the second step size factor. Objective function It can be set to: ; in, For ideal PAM4 level, Main sample value, For high standards, Having high aspirations For bit error rate, The first weighting coefficient, This is the second weighting coefficient. , , These are the preset weighting coefficients. This method can simultaneously minimize error, balance eye height, and constrain weight ratios.
[0100] 5) Synchronous perturbation random approximation algorithm: When the objective function includes metrics that are difficult to analyze and differentiate, such as bit error rate, eye width, and jitter tolerance, the synchronous perturbation random approximation algorithm can be used to update the weighting coefficients.
[0101] Jitter tolerance refers to the maximum timing jitter amplitude that the receiver can tolerate. Eye width is determined as follows: eye width refers to the size of the horizontal opening of the eye in the eye diagram, i.e., the allowable deviation range of the sampling time. From the feedback sampling signal, the horizontal width of the eye corresponding to each level in the eye diagram can be measured. Specifically, for each eye height, the time interval between its left and right intersection points is measured; this interval is the eye width. The larger the eye width, the stronger the signal's tolerance to timing jitter.
[0102] objective function It can be set as: in, For bit error rate, For wide eyes, For jitter tolerance, , , These are preset weighting coefficients. The lower the bit error rate, the wider the eye width, the larger the jitter tolerance, and the smaller the objective function value, the better the quality of the final output PAM4 digital signal.
[0103] The update process is as follows: Each iteration generates a random perturbation vector Δ[n], and measures are performed accordingly: ; ; Estimate the gradient: ; Then update the weighting coefficients: ; in, For the index of the weighting coefficients, w[n+1] is the weight vector before the update, w[n+1] is the weight vector after the update, and Δ[n] is the random perturbation vector. For random perturbation vectors The The component (i.e., the corresponding component) The perturbation component of each weighted coefficient). This is the perturbation step size, used to control the amplitude of the perturbation. The objective function value after positive perturbation. This represents the objective function value after negative perturbation. For the first The gradient estimate of each weighted coefficient. The update step size is used to control the magnitude of weight updates. The projection function is used to project the updated weight vector into the feasible region, such as satisfying... , , and The algorithm estimates the multidimensional weight gradient with only two perturbation measurements, making it suitable for online closed-loop parameter tuning in FPGAs or digital signal processors.
[0104] The aforementioned alternative algorithms can be selected based on specific application scenarios to achieve better convergence performance or adapt to different operating conditions.
[0105] The PAM4 signal generation apparatus provided by the present invention is described below. The PAM4 signal generation apparatus described below and the PAM4 signal generation method described above can be referred to in correspondence.
[0106] The PAM4 signal generation device provided by this invention refers to... Figure 3 As shown, it includes the following modules: The digital signal generation module 210 is used to generate two non-return-to-zero (NRZ) code signals, which correspond to the most significant bit and the least significant bit of the PAM4 signal, respectively. Digital predistortion processing module 220 is used to perform digital predistortion processing on the two non-return-to-zero code signals using a set of predistortion coefficients to generate two predistorted non-return-to-zero code signals. The adaptive weighted superposition module 230 is used to superimpose the two pre-distorted non-return-to-zero code signals using a set of weighting coefficients to generate a PAM4 digital signal; convert the PAM4 digital signal into an analog output signal, and perform analog-to-digital conversion on the analog output signal to obtain a feedback sampling signal; extract the sampling error from the feedback sampling signal; and simultaneously calculate and update the pre-distortion coefficients and the weighting coefficients based on the sampling error until the sampling error is continuously lower than a preset threshold to obtain the final PAM4 digital signal.
[0107] Figure 4 An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 4As shown, the electronic device may include: a processor 310, a communications interface 320, a memory 330, and a communication bus 340, wherein the processor 310, the communications interface 320, and the memory 330 communicate with each other via the communication bus 340. The processor 310 can call logical instructions in the memory 330 to execute a PAM4 signal generation method, which includes: Two non-return-to-zero (NRZ) code signals are generated, and the two NRZ code signals correspond to the most significant bit and the least significant bit of the PAM4 signal, respectively. A set of predistortion coefficients is used to perform digital predistortion processing on the two non-return-to-zero code signals to generate two predistorted non-return-to-zero code signals. A set of weighting coefficients is used to weight and superimpose the two pre-distorted non-return-to-zero code signals to generate a PAM4 digital signal. The PAM4 digital signal is converted into an analog output signal, and the analog output signal is then converted into an analog-to-digital signal to obtain a feedback sampling signal. Extract the sampling error from the feedback sampling signal; The predistortion coefficient and the weighting coefficient are calculated and updated simultaneously based on the sampling error until the sampling error is continuously lower than a preset threshold, thus obtaining the final PAM4 digital signal.
[0108] Furthermore, the logical instructions in the aforementioned memory 330 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, essentially, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0109] On the other hand, the present invention also provides a computer program product, the computer program product comprising a computer program that can be stored on a non-transitory computer-readable storage medium, wherein when the computer program is executed by a processor, the computer is able to execute the PAM4 signal generation method provided by the above methods, the method comprising: Two non-return-to-zero (NRZ) code signals are generated, and the two NRZ code signals correspond to the most significant bit and the least significant bit of the PAM4 signal, respectively. A set of predistortion coefficients is used to perform digital predistortion processing on the two non-return-to-zero code signals to generate two predistorted non-return-to-zero code signals. A set of weighting coefficients is used to weight and superimpose the two pre-distorted non-return-to-zero code signals to generate a PAM4 digital signal. The PAM4 digital signal is converted into an analog output signal, and the analog output signal is then converted into an analog-to-digital signal to obtain a feedback sampling signal. Extract the sampling error from the feedback sampling signal; The predistortion coefficient and the weighting coefficient are calculated and updated simultaneously based on the sampling error until the sampling error is continuously lower than a preset threshold, thus obtaining the final PAM4 digital signal.
[0110] In another aspect, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to perform the PAM4 signal generation method provided by the methods described above, the method comprising: Two non-return-to-zero (NRZ) code signals are generated, and the two NRZ code signals correspond to the most significant bit and the least significant bit of the PAM4 signal, respectively. A set of predistortion coefficients is used to perform digital predistortion processing on the two non-return-to-zero code signals to generate two predistorted non-return-to-zero code signals. A set of weighting coefficients is used to weight and superimpose the two pre-distorted non-return-to-zero code signals to generate a PAM4 digital signal. The PAM4 digital signal is converted into an analog output signal, and the analog output signal is then converted into an analog-to-digital signal to obtain a feedback sampling signal. Extract the sampling error from the feedback sampling signal; The predistortion coefficient and the weighting coefficient are calculated and updated simultaneously based on the sampling error until the sampling error is continuously lower than a preset threshold, thus obtaining the final PAM4 digital signal.
[0111] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0112] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0113] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for generating a PAM4 signal, characterized in that, include: Two non-return-to-zero (NRZ) code signals are generated, and the two NRZ code signals correspond to the most significant bit and the least significant bit of the PAM4 signal, respectively. A set of predistortion coefficients is used to perform digital predistortion processing on the two non-return-to-zero code signals to generate two predistorted non-return-to-zero code signals. A set of weighting coefficients is used to weight and superimpose the two pre-distorted non-return-to-zero code signals to generate a PAM4 digital signal. The PAM4 digital signal is converted into an analog output signal, and the analog output signal is then converted into an analog-to-digital signal to obtain a feedback sampling signal. Extract the sampling error from the feedback sampling signal; The predistortion coefficient and the weighting coefficient are calculated and updated simultaneously based on the sampling error until the sampling error is continuously lower than a preset threshold, thus obtaining the final PAM4 digital signal.
2. The PAM4 signal generation method according to claim 1, characterized in that, The sampling error is obtained by weighted summation of instantaneous sampling error, level error, eye height error, bit error rate, and sampling phase error; The process of updating the predistortion coefficients based on the sampling error includes: The adjustment amount of the predistortion coefficient is determined based on the sampling error at the current moment and the non-return-to-zero code signal input to the digital predistortion processing at the current moment; The updated predistortion coefficients are determined based on the adjustment amount of the predistortion coefficients and the predistortion coefficients before the update.
3. The PAM4 signal generation method according to claim 2, characterized in that, The instantaneous sampling error is determined in the following way: The analog output signal is oversampled to obtain multiple sampling points within each symbol period; The master sampling point is determined from the plurality of sampling points, and the master sampling value is obtained; The ideal PAM4 level corresponding to the current symbol is determined based on the training sequence, pseudo-random binary sequence, or decision feedback result. Calculate the instantaneous sampling error, which is equal to the ideal PAM4 level minus the main sample value.
4. The PAM4 signal generation method according to claim 2, characterized in that, The level error is determined in the following way: The main sample value is divided into four sample sets according to the corresponding ideal PAM4 level; The average value of the main sampled values within each sample set is taken to obtain the actual center value of each level. The difference between the actual center value of each level and the ideal PAM4 level is calculated to obtain the level error; The eye height error is determined in the following way: The eye height is obtained by calculating the difference between the actual center values of adjacent levels, and the eye height error is obtained by calculating the difference between the eye height and the ideal eye height.
5. The PAM4 signal generation method according to claim 1, characterized in that, The sampling error includes an instantaneous sampling error; the weighting coefficients include a first weighting coefficient and a second weighting coefficient; the process of updating the weighting coefficients based on the sampling error includes: The instantaneous sampling error is obtained from the sampling error, and the instantaneous sampling error is equal to the target level of the current symbol minus the actual sampled value obtained from the feedback sampling signal; The first adjustment amount is determined based on the instantaneous sampling error, the step size factor, and the non-return-to-zero code signal after pre-distortion processing of the most significant bit signal at the current moment; The second adjustment amount is determined based on the instantaneous sampling error, the step size factor, and the non-return-to-zero code signal after pre-distortion processing of the least significant bit signal at the current moment; Based on the first adjustment amount and the first weighting coefficient before the update, determine the updated first weighting coefficient; The updated second weighting coefficient is determined based on the second adjustment amount and the second weighting coefficient before the update; Determine whether the updated first weighting coefficient and the updated second weighting coefficient meet preset conditions, the preset conditions including: both weighting coefficients are greater than zero, and the updated first weighting coefficient is greater than the updated second weighting coefficient; If the conditions are not met, the updated first weighting coefficient and the updated second weighting coefficient are adjusted until the preset conditions are met. The two weighting coefficients that meet the preset conditions are normalized so that their sum equals one, thus obtaining the weighting coefficients for the next round of weighted superposition.
6. The PAM4 signal generation method according to claim 1, characterized in that, The sampling error includes level error and eye height error; the weighting coefficient includes a first weighting coefficient and a second weighting coefficient; the process of updating the weighting coefficient according to the sampling error includes: Updates are performed according to preset time windows, each containing N symbols, where N is a preset positive integer; Within each time window, the level error between the actual center value of the four levels of the PAM4 digital signal and the ideal PAM4 level, as well as the eye height error between adjacent levels, are obtained. The first weighting coefficient and the second weighting coefficient are updated based on the level error and the eye height error.
7. A PAM4 signal generation device, characterized in that, include: A digital signal generation module is used to generate two non-return-to-zero (NRZ) code signals, which correspond to the most significant bit and the least significant bit of the PAM4 signal, respectively. The digital predistortion processing module is used to perform digital predistortion processing on the two non-return-to-zero code signals using a set of predistortion coefficients, and generate two predistorted non-return-to-zero code signals. An adaptive weighted superposition module is used to weight and superimpose the two pre-distorted non-return-to-zero code signals using a set of weighting coefficients to generate a PAM4 digital signal; convert the PAM4 digital signal into an analog output signal, and perform analog-to-digital conversion on the analog output signal to obtain a feedback sampling signal; Extract the sampling error from the feedback sampling signal; calculate and update the predistortion coefficient and the weighting coefficient based on the sampling error, until the sampling error is continuously lower than a preset threshold, to obtain the final PAM4 digital signal.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that, When the processor executes the computer program, it implements the PAM4 signal generation method as described in any one of claims 1 to 6.
9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the PAM4 signal generation method as described in any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the PAM4 signal generation method as described in any one of claims 1 to 6.