Multi-pulse extraction for transmitter calibration
By extracting multiple pulses and using multi-pulse fitting and machine learning technology, the problem of signal-noise distortion ratio measurement accuracy and fitting error in high-speed communication systems is solved, and the transmitter calibration and communication link performance is improved.
Patent Information
- Application Number
- CN202410869118.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-06-26
- Filing Date
- 2024-07-01
- Publication Date
- 2024-12-31
AI Technical Summary
In high-speed communication systems, the accuracy of signal-to-noise distortion ratio (SNDR) measurement results is crucial for transmitter calibration, but prior art is difficult to effectively improve signal integrity and reduce fitting errors, especially vertical under PAM4 signaling The problem of reduced eye margin.
By extracting multiple pulses instead of a single pulse from the signal of the device under test, the multi-pulse fitting method is used to optimize the signal-to-noise distortion ratio (SNDR) value, and calibrating using machine learning networks and deep learning techniques, combined with multi-pulse judgment feedback Equalizer (MPDFE) structure to improve equalization performance.
Improves the accuracy and signal integrity of transmitter calibration, reduces fitting errors, and enhances communication link performance, especially under PAM4 signaling, which enables higher signal-to-noise distortion ratios and wider eye diagram openings.
Smart Images

Figure CN119232281A_ABST
Abstract
Description
[0001] Related Applications
[0002] The present disclosure is a non-provisional application of U.S. Provisional Application No. 63 / 525,204, filed on June 29, 2023, entitled “MULTIPLE PULSE EXTRACTION FOR TRANSMITTER CALIBRATION,” U.S. Provisional Application No. 63 / 524,205, filed on June 29, 2023, entitled “MACHINE LEARNING BASED MEASUREMENT USING MULTIPLE EXTRACTED PULSES,” and U.S. Provisional Application No. 63 / 548,796, filed on February 1, 2024, entitled “MULTIPLE-PULSES-BASED DECISIONFEEDBACK EQUALIZER (MPDFE),” and claims the benefit of the U.S. Provisional Applications, the disclosures of which are incorporated herein by reference in their entirety. Technical Field
[0003] The present disclosure relates to test and measurement instruments and methods, and more particularly, to multi-pulse extraction and its use in transmitter calibration, measurement, and equalizers. Background Art
[0004] As the speed of the signal increases with the design and use of next-generation high-speed communication systems, signal integrity requirements become more and more stringent. The timing budget decreases as the bit rate increases, resulting in a decrease in the unit interval (UI). When the signaling scheme changes from NRZ (non-return to zero) to PAM4 (pulse amplitude modulation 4), the vertical eye diagram margin is reduced by three times. Improving communication link performance requires accurate transmitter calibration. For PAM4 electrical signaling, the transmitter is characterized by the measurement results of SNDR (signal-to-noise-distortion ratio). The best transmitter calibration results in the highest possible SNDR of the transmitter. SNDR has become a key measurement result for characterizing transmitters in high-speed serial standards, including PCIE (Peripheral Component Interconnect Express) Gen 6 and Gen7, 400Gb / s Ethernet IEEE 802.3cd and IEEE 802.3ck, all of which are available at http: / / www.ieee802.org / 3 / and are incorporated herein by reference as a whole.
[0005] The SNDR measurement result is defined as:
[0006]
[0007] where p maxrepresents the “signal” term in the SNDR and is defined as the peak of the extracted linear fit impulse response (LFPR). e represents the “distortion” term in SNDR and is defined as the fitting error of the linear fit. n represents the "noise" term in SNDR and is defined as the vertical noise.
[0008] There are other uses for the extracted LFPR. U.S. Patent Application No. 18 / 210,583, filed on August 21, 2022, “EXTRACTED LINEAR FIT PULSE RESPONSE BASED MACHINE LEARNING FOR MEASUREMENT,” discusses using the LFPR and other data representations of waveforms provided to a machine learning network to predict the measurement results of waveforms received from a device under test (DUT). The contents of that application are incorporated herein by reference in their entirety. Improving the speed and accuracy of these predictions would have many benefits. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Figure 1 An embodiment of a test and measurement device is shown.
[0010] Figure 2 An eye diagram of a PAM4 waveform is shown.
[0011] Figure 3 Shows Figure 2 Mode waveform of the PAM4 waveform.
[0012] Figure 4 Shown from Figure 3 A full view of a single extracted linear fit impulse response (LFPR) of the pattern waveform.
[0013] Figure 5 Full and zoomed-in views of an embodiment of extracted even and odd LFPRs and the difference therebetween are shown.
[0014] Figure 6 Four normalized LFPRs for four symbols are shown.
[0015] Figure 7 Shows Figure 6 Unnormalized LFPR of .
[0016] Figure 8 Full and zoomed-in views of eight normalized LFPRs are shown.
[0017] Fig. 9 A LFPR is compared and the difference to the average LFPR is shown.
[0018] Fig.10An example of a PAM4 mode waveform is shown.
[0019] Fig.11 Shows Fig.10 Eye diagram of the PAM4 mode waveform.
[0020] Fig.12 Shows from Fig.10 A single pulse is extracted from the pattern waveform.
[0021] Fig.13 Shows Fig.10 Four unnormalized linear fit impulse responses (LFPR) of the pattern waveform.
[0022] Fig.14 Shown from Fig.10 The normalized four LFPRs.
[0023] Fig.15 Shows Fig.10 A vertical histogram of the waveform.
[0024] Fig.16 Shown according to Fig.10 A 2D image of the pattern waveform is ready to be submitted to the machine learning network.
[0025] Fig.17 Two-dimensional images of four different signals with different LFPRs and vertical histograms are shown, ready to be submitted to a machine learning network.
[0026] Fig.18 An embodiment of a convolutional neural network that can use multiple spikes is shown.
[0027] Fig.19 An embodiment of an eye diagram with vertical and horizontal histogram positions identified is shown.
[0028] Fig. 20 An example of a conventional decision feedback equalizer (DFE) structure is shown.
[0029] Fig.21 An embodiment of a multiple pulse based decision feedback equalizer (MPDFE) structure is shown.
[0030] Fig. 22 A diagram showing an embodiment of MPDFE tap value selection based on symbols at delay line positions.
[0031] Fig.23 A PAM4 mode waveform is shown.
[0032] Fig.24 A PAM4 eye diagram is shown.
[0033] Fig.25Shown from Fig.23 A single LFPR of a waveform.
[0034] Fig.26 A comparison of the LFPR with that after applying conventional DFE is shown.
[0035] Fig. 27 Shown from Fig.23 Four unnormalized LFPRs of the pattern waveforms.
[0036] Fig.28 Shown from Fig. 27 Four normalized LFPRs.
[0037] Fig.29 The results for PAM4 Symbol 2 and Symbol 3 after applying conventional DFE are shown.
[0038] Fig.30 The results for PAM4 symbol 2 and symbol 3 after applying MPDFE are shown.
[0039] Fig.31 The conventional DFE is shown in Figure 2. Fig.23 Eye diagram of the PAM4 mode waveform.
[0040] Fig.32 shows the Fig.23 Eye diagram of the PAM4 mode waveform. DETAILED DESCRIPTION
[0041] Embodiments herein relate to a new technique that extracts multiple pulses instead of a single pulse from a signal generated by a device under test (DUT) or a communication device. In one embodiment, the DUT includes a transmitter, and the embodiment uses multiple pulses to calibrate the transmitter to optimize the SNDR value. The embodiment focuses on linearly fitting the pulse response related terms (particularly σ e , that is, the distortion term of SNDR discussed above).
[0042] Multiple pulse extraction uses some of the same definitions and operations as a single LFPR, so the discussion begins there. The IEEE standard 802.3ba referenced above discusses single pulse extraction. As used herein, the terms "pulse," "pulse response," and "linear fit pulse response (LFPR)" all refer to the resulting pulses shown in the several figures. The pulse responses (single pulse response or multiple pulse responses) are produced by the process of linear fitting. Linear fitting is a method of obtaining (one or more) pulses. Since fitting allows (one or more) pulses to be obtained from the pattern waveform, it can be said that fitting extracts pulses (one or more) from the pattern waveform.
[0043] The device under test (DUT) generates the waveform that is captured by the test and measurement instrument. Figure 1 An embodiment of such an instrument is shown. Figure 1 An embodiment of a test apparatus is shown in which a test and measurement instrument measures or tests a DUT 14. The test apparatus may include a test and measurement instrument, such as an oscilloscope 10. The test and measurement instrument 10 receives a signal from the DUT 14 directly or through an instrument probe 16. In the case of an optical transmitter DUT, the probe typically includes a test fiber coupled to an optoelectronic converter (not shown) that provides a signal to the test and measurement instrument through one or more ports 13. Two ports may be used for differential signaling, while one port is used for single-ended signaling. The signal is sampled and digitized by the instrument to become a waveform. For example, if the test and measurement instrument 10 includes a sampling oscilloscope, a clock recovery unit (CRU) 20 may recover a clock signal from the data signal. Software clock recovery may be used on a real-time oscilloscope.
[0044] The test and measurement instrument has one or more processors (represented by processor 12), memory 22, and a user interface 26. The memory may store executable instructions in the form of code that, when executed by the processor, cause the processor to perform tasks. The user interface 26 of the test and measurement instrument allows a user to interact with the instrument 10, such as entering settings, configuring tests, etc. The test and measurement instrument may also include a reference equalizer and analysis module 24.
[0045] Embodiments herein employ machine learning in the form of a machine learning network 30, such as a deep learning network. The machine learning network may include a processor that has been programmed with the machine learning network as part of a test and measurement instrument, or to which the test and measurement instrument has access. As test equipment capabilities and processors evolve, one or more processors, such as 12, may include both. The machine learning system may take the form of a programming model that operates on one or more of the processors.
[0046] The process of extracting a single LFPR is as follows. When capturing a waveform from the DUT, the instrument can use hardware or software clock recovery to resample the acquired waveform to have M samples per UI (unit interval). The resampled and averaged pattern waveform is denoted as y(k). Symbol x(n) is aligned with y(k) such that the first M samples of y(k) correspond to the first symbol of the test pattern x(n), the second M samples of y(k) correspond to the second symbol, and so on. If the pattern length is N, then the M×N waveform matrix Y is defined as
[0047]
[0048] The process then rotates the sign vector x by the specified pulse delay Dp , to generate the delayed symbol vector x r , as shown in equation (3)
[0049] x r =[x(D p +1) x(D p +2) … x(N) x(1) … x(ND p )] (3)
[0050] Dp is the pulse delay in units of unit interval (UI). The pulse delay determines how many pre-cursors are included in the extracted pulse. p is the length of the pulse in UI units. If N p If it is equal to 600, the extracted pulse covers 600 UI.
[0051] Define the symbol matrix X as the N × N symbol matrix derived from x, as shown in equation (4)
[0052]
[0053] Define the subset symbol matrix X1 as the first N of X p The rows are concatenated with a row vector of length N. Then, the M×(N p +1) The coefficient matrix P is defined by equation (5). The superscript “T” denotes the matrix transpose operator.
[0054]
[0055] Then the error waveform e(k) is read column by column from the elements of E, as shown in equation (6)
[0056]
[0057] The distortion term, also called the fitting error σ e , is defined as the root mean square (RMS) value of the error waveform e(k).
[0058] P1 is defined as the first N p The subset coefficient matrix consists of columns, as shown in equation (7). Then the linear fitting impulse response p(k) is read column by column from the elements of P1.
[0059]
[0060] For those with Figure 2 The eye diagram shown in Figure 3 The average mode waveform of the PAM4 signal shown in Figure 1 is extracted using the current linear fitting pulse response extraction method for a single pulse. Figure 4 For a PAM4 signal, symbols 0, 1, 2, and 3 are represented as values of [-1-1 / 31 / 31] in the symbol vector x.
[0061] Instead of conventional techniques that use a single pulse to fit a pattern waveform, embodiments herein use multiple pulses to fit a pattern waveform. Various examples of multiple pulses according to various embodiments of the present disclosure are discussed.
[0062] The process can use even and odd pulses. These two pulses represent pulses at even UI and odd UI. The process can use the model to find the difference between even and odd pulses caused by duty cycle error, also known as even-odd jitter, where the timing between even and odd UI is different. To maintain the even and odd sequence, if the pattern length is odd, twice the odd pattern length is used to calculate the average pattern waveform y(k) and alignment symbol x(n). The pattern length used to calculate the even and odd pulses is twice the original odd pattern length. If the original pattern has an even length, the process uses the original pattern length to calculate the even and odd pulses.
[0063] In order to obtain two pulses representing even pulses and odd pulses, X Np Defined as the first N of X in equation (4) p In addition, the process defines the following two N for even pulses and odd pulses: p ×N switch matrix.
[0064] When two matrices are combined using a dot product, the switch matrix turns elements in the other matrix on and off. Turning an element "on" means that the element value is preserved, and turning an element "off" means setting the element to 0.
[0065] The switch matrix for odd UI is defined as:
[0066]
[0067] The first row starts with 1 and alternates between 0 and 1. The second row starts with 0 and alternates between 0 and 1, and so on. Switching matrix W for even UI even Defined in equation (9), it is related to W odd Complementary.
[0068]
[0069] express
[0070]
[0071] where “·” represents the dot product operator, and ones(1,N) represents a row vector of ones of length N.
[0072] Calculate the following equation to get P even_odd
[0073]
[0074] and fitting error
[0075] E even_odd =P even_odd ·X even_odd -Y (12)
[0076] Let P odd P even_odd The first N p Column, and P even P even_odd After N p Column, then from P odd Read the linear fitting impulse response P of the odd UI column by column in the elements of odd (k). From P even Read the linear fitting impulse response P of even UI column by column in the elements of even (k).
[0077] for Figure 3 The waveform shown in Figure 5 Even pulses, odd pulses and their difference obtained using this process are shown in both full view and zoomed in view.The zoomed in view on the right shows a little more detail of the difference between even and odd pulses, especially evident at the peak of the pulse response shown by circle 40 in the full view.
[0078] The PAM4 signal has 4 symbols, namely symbols 0, 1, 2, and 3. To check linearity, the levels of symbols 0 and 3 are usually used as reference levels, and then the levels of symbols 1 and 2 are checked to see if they are evenly spaced between the reference levels. For multi-pulse extraction of PAM4 symbols, three pulses are extracted: one normalized pulse representing both symbols 0 and 3, one normalized pulse representing symbol 1, and one normalized pulse representing symbol 2. This process converts the following three N p The ×N switch matrix is defined as
[0079]
[0080]
[0081]
[0082] The "==" operation returns a Boolean value. If the Boolean value of the element in the matrix is true, and the "==" condition is satisfied, then W symThe corresponding element in is set to 1. If the Boolean value is false, the "==" condition is not satisfied, then W sym The elements in are set to 0.
[0083] express
[0084]
[0085] Calculate the following equation to get P sym
[0086]
[0087] and fitting error
[0088] E sym =P sym ·X sym -Y (16)
[0089] Let P sym0_3 P sym The first N p Column, then P sym1 P sym The next N p Column and P sym2 For the next N p Then from P sym0_3 The normalized linear fitting impulse response P of symbol 0 and symbol 3 is read column by column from the elements of sym0_3 (k). From P sym1 The normalized linear fitting impulse response P of symbol 1 is read column by column from the elements of sym1 (k). From P sym2 The normalized linear fitting impulse response P of symbol 2 is read column by column from the elements of sym2 (k).
[0090] Figure 6 Shows from Figure 3 Full view and zoomed-in version of multiple pulses extracted from the waveform shown in . The difference between the symbols can be seen in the zoomed-in version on the right, where the Symbol 1 pulse is almost completely overlaid on the Symbol 3 pulse.
[0091] like Figure 6 As shown in , the normalized pulses of all symbols are similar to each other, making it easier to compare pulses on the same scale. The normalized pulses may be unnormalized.
[0092] p sym0_un_normalized =-p sym0_3 (17)
[0093]
[0094]
[0095] p sym3_un_normalized =p sym0_3
[0096] Figure 7 Unnormalized pulses are shown.
[0097] By fitting multiple pulses of PAM4 symbols at even and odd UIs, more details of the PAM4 signal can be obtained. It is a combination of the even and odd pulse embodiment with the above-mentioned four pulse embodiment. In this embodiment, each of the PAM4 symbols is represented by two pulses, one for odd UI and one for even UI. Since the levels of symbols 0 and 3 are usually used as reference levels, it is allowed to check whether the levels of symbols 1 and 2 are evenly spaced between the reference levels. For multiple pulse extraction of PAM4 symbols at even and odd UIs, six pulses are extracted: one normalized pulse representing both symbol 0 and symbol 3 of odd UI and one normalized pulse representing even UI, one normalized pulse representing symbol 1 of odd UI and one normalized pulse representing even UI, one normalized pulse representing symbol 2 of odd UI and one normalized pulse representing even UI. For the six pulses, the following six N p The ×N switch matrix is defined as:
[0098] W sym0_3_odd =W sym0_3 ·W odd (18)
[0099] W sym0_3_even =W sym0_3 ·W even
[0100] W sym1_odd =W sym1 ·W odd
[0101] W sym1_even =W sym1 ·W even
[0102] W sym2_odd =W sym2 ·W odd
[0103] W sym2_even =W sym2 ·W even
[0104] The switch matrix on the right side of the equation is defined in the first two cases of multi-pulse.
[0105] express
[0106]
[0107] Calculate the following equation to get P sym_even_odd
[0108]
[0109] and fitting error
[0110] E sym_even_odd =P sym_even_odd ·X sym_even_odd -Y (21)
[0111] Let P sym0_3_odd P sym_even_odd The first N p Column, then P sym0_3_even YesP sym_even_odd The next N p Column, and for P sym1_odd , P sym1_even , P sym2_odd , P sym2_even And so on. Then from P sym0_3_odd The normalized linear fitting impulse response P of the symbol 0 and symbol 3 of the odd UI is read column by column in the elements of sym0_3_odd (k). From P sym0_3_even The normalized linear fitting impulse response P of the even UI symbol 0 and symbol 3 is read column by column in the elements of sym0_3_even (k), and so on for the remaining four pulses.
[0112] The matrix X in Equation 10 even_odd , X in Equation 14 sym and X in Equation 19 sym_even_odd are called "extended symbol" matrices. They are based on the symbol matrix X and various switch matrices. Similarly, various P matrices are related to the coefficient matrix P.
[0113] Figure 8 Shown in full view and enlarged view for Figure 3 The waveforms in Figure 1 show the normalized symbol pulses for even and odd UIs.
[0114] In one embodiment, the multi-pulse linear fitting process starts by acquiring the waveform from the DUT (which can be a transmitter). The process then performs software or hardware clock recovery. It then calculates the average data pattern waveform, such as Figure 3 The data pattern waveform shown in . The instrument can then obtain the data pattern sequence through pattern detection, or it can already obtain a known pattern sequence. This allows alignment between the pattern sequence and the pattern waveform.
[0115] The process then constructs a symbol matrix X based on the data pattern sequence and the pattern waveform Np And waveform matrix Y. Then build the switch matrix for multi-pulse fitting, and Np The process then calculates the coefficient matrix P and the error matrix E containing the pulse information. The pulse sample P is read from the matrix P pulse_i (k), and read the error waveform e(k) from the matrix E.
[0116] Table 1 summarizes the Figure 2 The fitting error of the waveform shown in (using single pulse vs. multiple pulses) and the (average) pulse peak value.
[0117] Table 1. Comparison of fitting errors
[0118] method <![CDATA[δ e (mV)]]> <![CDATA[p max (mV)]]> Single Pulse 5.67 402.60 Even / Odd pulses 4.43 402.60 4 pulses for 4 symbols 4.97 402.61 8 pulses for 4 symbols and even / odd 3.35 402.61
[0119] Note that the multi-pulse fit reveals differences between normalized pulses. When the fit is allowed to use multiple pulses, the fitting error δ e The (average) p of single pulse fitting and multi-pulse fitting is reduced. max The values are almost the same.
[0120] When there is a mismatch between multiple pulses, single pulse fitting produces a larger fitting error than multi-pulse fitting. The larger fitting error includes a penalty on transmitter measurements such as SNDR. To improve transmitter performance, multi-pulse fitting can be used as a tool for calibrating the transmitter so that multiple pulses are better matched.
[0121] like Fig. 9 As shown in , the average pulse includes the average of all pulses to be calibrated. For example, the average pulse can be the average of the even pulses and the odd pulses. Each pulse is compared to the average pulse, as shown in the figure, and any non-zero difference indicates a mismatch.
[0122] According to some embodiments of the present disclosure, an example transmitter calibration process is described as follows. A test and measurement instrument acquires a waveform from a transmitter. One or more processors then perform the multi-pulse fit discussed above. The selection of pulses depends on the transmitter characteristics and the calibration goals. For example, if the transmitter has even and odd timing errors, an even-odd pulse fit may be selected. The process then calculates an average pulse. The average pulse is calculated using the normalized pulses. Tuning the transmitter involves selecting one or several normalized pulses, comparing them to the average pulse, and then tuning the transmitter to reduce the difference. The process may be repeated until the mismatch between pulses is minimized.
[0123] Instead of using an average pulse, two or more normalized pulses can be compared directly. To include both options, the average pulse includes an embodiment of a reference pulse. When two normalized pulses are compared directly, one of the normalized pulses will serve as the reference pulse.
[0124] Transmitter calibration can use multiple pulses of various types. For example, first tune the even-odd pulse mismatch to reduce the mismatch between even and odd UIs, as described in the even-odd pulse discussion above, and then tune the symbol-level linear mismatch using the symbol embodiment above. Alternatively, in the even-odd symbol embodiment above, directly tune the symbols at even and odd UIs.
[0125] This discussion has used PAM4 to describe the multiple pulse fitting process and calibration method. The method can be generalized to other PAMn modulations, where n can be other values besides n=4.
[0126] So far, this discussion has described a new multi-pulse fitting method that introduces a switch matrix for various multi-pulse selections. Multi-pulse fitting, also known as multi-pulse extraction, reveals details of pulses that were hidden by the data waveform. The details of the pulses can be used to debug the device and for calibration. Since the fitting routine uses the full waveform, multi-pulse fitting returns numerically stable and accurate results. Using the accurate multi-pulses obtained from the fitting algorithm, calibration can achieve higher accuracy.
[0127] Having discussed methods on how to perform multi-pulse extraction, various uses and applications of multi-pulse extraction can be considered. This includes using multiple pulses for machine learning to make measurements.
[0128] U.S. patent application Ser. No. 18 / 210,583, filed on June 15, 2023, and entitled “MACHINE LEARNING FOR MEASUREMENT USING LINEARRESPONSE EXTRACTED FROM WAVEFORM,” hereinafter “the '583 application,” the contents of which are hereby incorporated by reference into the present disclosure, describes machine learning-based measurements using single pulses extracted from a waveform. Other forms of data have been considered for machine learning-based measurements. For example, eye diagrams of signals have been used by machine learning to obtain measurements. See S. Varughese, A. Melgar, V. A. Thomas, P. Zivny, S. Hazzard, and S. Ralph, “Accelerating Assessments of Optical Components Using Machine Learning: TDECQ as Demonstrated Example,” Journal of Lightwave Technology, Vol. 39, No. 1, pp. 64-72, 2021, hereinafter “Varughese.”
[0129] Full-mode or partial-mode waveforms are also used for machine learning for measurements. See the same. U.S. Patent Application Publication No. 2022 / 0373598, entitled "SHORT PATTERN WAVEFORM DATABASE BASED MACHINE LEARNING FORMEASUREMENT," published on November 24, 2022, hereinafter referred to as the "'598 Application," the contents of which are hereby incorporated by reference into the present disclosure, introduces a short-mode waveform database or machine learning-based measurements. Instead of extracting a single linear fit pulse response from a waveform, a new method is described above that can extract multiple linear fit pulse responses from a waveform. Multiple pulses contain more information about the signal. The discussion now turns to an embodiment of machine learning-based measurements using multiple pulses. Machine learning techniques can significantly increase the speed of complex measurements. Increased measurement speed translates into increased production yields.
[0130] When signal speed increases, equalizers in transmitters and receivers are widely used to improve system performance. For example, the PCIE Gen6 receiver has a 16-tap DFE in addition to the CTLE (continuous time linear equalizer). When the receiver has an equalizer, some of the measurements are performed on the equalized signal. For example, in PCIE Gen6, the eye height and eye width measurements are defined based on the eye diagram of the equalized waveform. In another example, the IEEE 802.3 standard for 100G / 400G specifies the transmitter and dispersion eye closure (TDECQ) measurement as a key pass / fail criterion for 26GBaud and 53GBaud PAM4 optical signaling. The TDECQ measurement involves a 5-tap FFE.
[0131] For complex and time-consuming measurements, machine learning techniques can provide significant improvements in measurement speed. The information contained in the data used by machine learning affects the machine learning results. The '598 application describes data containing short pattern waveforms for machine learning. The advantage is that the data has time series information. However, the selected short pattern only appears in a portion of the entire data pattern. Certain conditions require processing long waveforms to obtain a sufficient appearance of the selected short pattern. As discussed in the '583 application, the linear fitting pulse response method is more efficient in acquiring the data required for machine learning. Instead of extracting a single pulse from the waveform, the above method expands the single pulse extraction to multiple pulse extractions. Multiple pulses contain more information about the signal. For example, for a PAM4 signal, 4 pulses can better represent 4 symbols. When the neural network sees more information, more accurate measurements can be obtained from machine learning.
[0132] To obtain more accurate measurements, especially for measurements that require an equalizer, the input data to the neural network should contain time series information because the equalizer operates on time series samples. Conventional eye diagram data loses the time series information between symbols. Full pattern waveforms may have large sizes, making training a neural network slow. The short pattern waveform dataset uses only a portion of the waveform, so it ignores the unused portion of the waveform that still contains signal information.
[0133] A single linear fit impulse response extraction technique has been used for measurement and equalizer adaptation. The linear fit impulse contains time series information common to all data. Time series information is useful for analyzing inter-symbol interference. Time series information can be used to determine equalization parameters such as FFE (feed forward equalizer) taps, DFE taps, and CTLE.
[0134] As discussed above, multiple extracted pulses can better represent the signal. For example, Fig.10 shows the waveform of a PAM4 signal, and Fig.11The eye diagram of this signal is shown, where the eye is completely closed due to the large channel loss.
[0135] Fig.12 A single linear fit impulse response extracted from the waveform is shown. The linear fit impulse response extraction process successfully extracts the pulse even though the eye is closed due to channel loss.
[0136] Fig.13 Four symbols of a PAM4 signal extracted from a waveform using the multi-pulse extraction algorithm described above are shown
[0123] . In this example, the multi-pulse extraction algorithm also successfully extracts pulses when the eye diagram is fully closed.
[0137] The four pulses can be normalized by multiplying them by [-1, -1 / 3, 1 / 3, 1] to obtain normalized pulses, such as Fig.14 The overlay of the four normalized pulses reveals that, in addition to the nominal scaling factor [-1-1 / 31 / 31], there are differences in the four symbols. Fig.14 , the differences are most apparent at the peak of the pulse indicated by circle 42. These differences include additional characterizing information about the signal compared to the single pulse representation.
[0138] Depending on the measurement requirements, other data can also be used together with multiple pulses for machine learning. For example, a vertical histogram of the entire waveform or a vertical histogram at the center of the eye diagram can be used. Fig.15 Shown in.
[0139] For different choices of machine learning methods, multiple pulses and vertical histograms can be arranged in an appropriate format. For example, each of the multiple pulses and vertical histograms is a 1-dimensional vector, so they can be treated as a 1-D data set and fed into a neural network that processes 1-D data. Examples include RNN (recurrent neural network), LSTM (long short-term memory), and 1-D CNN (convolutional neural network). The data set can also be organized as tabular data. Another embodiment puts the data into a 2-D image and uses a 2-D CNN model.
[0140] Fig.16 Shows that from Fig.13 The waveform shown extracts multiple pulses, represented by the grey lines (such as 44) at the bottom, with darker colours associated with higher amplitudes in the linear fit pulses. Fig.15 The vertical histogram shown in is represented by the grey line 46 on the top, with darker colours associated with more hits.
[0141] If the impulse response is of longer duration, each of the impulses may be represented by multiple lines in the 2-D image.
[0142] Training CNN requires a large training data set. In one embodiment, the data set is obtained from laboratory tests using BERT, a board with multiple channels, and a real-time oscilloscope. Fig.17 The images shown in represent 4 acquired signals with different linear fit pulses and different vertical histograms. These images are overlaid with Fig.16 The same characteristics as the images in .
[0143] Fig.18 An embodiment of a CNN model is shown using multiple pulses as input to an input layer 41. The CNN may have multiple hidden layers, such as 43, and produce tuning parameters or test results at an output layer 45. Many existing deep learning CNN models can be used for measurements, for transmitter tuning, and for receiver equalizer adaptation.
[0144] An embodiment of a process for making machine learning measurements using multiple extracted pulses begins by acquiring a waveform on a real-time (RT) or equivalent-time (ET) oscilloscope or other test and measurement instrument. The instrument then runs software clock recovery or hardware clock recovery to obtain a pattern waveform. Multiple pulses are extracted from the waveform using the multi-pulse extraction fitting process discussed above. To increase speed, the fitting process can use only a portion of the waveform, for example, a portion covering approximately 10,000 symbols. Because the fitting process uses every symbol, 10,000 symbols provide enough data to obtain an accurate linear fit of the pulses. Portions covering other numbers of symbols may also be used.
[0145] The process may select other data types that provide relevant information for the measurement. For example, a vertical histogram at the center of the UI is selected for signal-to-noise ratio (SNR) measurement. Two vertical histograms around the center of the UI are selected for TDECQ measurement. Jitter measurement uses a horizontal histogram of (one or more) edge crossing levels. Multiple vertical histograms, multiple horizontal histograms, combinations of vertical histograms and horizontal histograms are also contemplated and used in various embodiments. Fig.19 is an example with a light signal where the locations of the various histograms are identified by lines.
[0146] Once the data type has been selected, the process must choose a data representation suitable for neural network machine learning. For example, the extracted linear fit pulse and vertical histogram are Fig.16The extracted linear fit pulses and 1-D histograms can also be represented in a 1-D dataset. The neural network can have various structures. When using a pre-trained deep learning network model, transfer learning can be performed. In transfer learning, only the dataset with linear fit pulses is used to train the last fully connected layer. The dataset fed into the neural network is normalized. The result is then denormalized. For example, the label values are normalized for neural network training. After the neural network training is completed and it has performed its predictions, the prediction results are denormalized, which is the inverse mapping of the normalization.
[0147] Other modifications and variations exist. In addition to linearly fitting the impulse response, other linear responses (such as impulse responses and step responses) can also be extracted from the acquired pattern waveform and used as input to the machine learning model.
[0148] As described in the '598 application, a linear fit pulse data set can be combined with a selected short pattern waveform data set for machine learning.
[0149] PAM4 signals are used to describe multiple pulses for machine learning. As mentioned above, the multi-pulse algorithm can be applied to other PAMn signals, for example, for PAM3, n=3, for PAM6, n=6.
[0150] Other parameters may also be incorporated into the 2D image, for example, the oscilloscope noise value may be represented by a line or bar in the image.
[0151] The above embodiments describe a new input data selection for machine learning to improve the speed and accuracy of measurements from machine learning by using multiple extracted linear pulses. This method puts the essential information of the signal into a compact form that can be fed into a neural network for machine learning.
[0152] When the signal speed increases, the equalizer in the transmitter and receiver is widely used to improve the system performance. For example, as shown in Table 2, for each generation of PCIE, as the transmission speed increases from 8GT / s to 64GT / s, the number of DFE (decision feedback equalizer) taps increases from 1 in Gen3 to 16 in Gen6, and the signal modulation scheme changes from NRZ in the generations before Gen6 to PAM4 in Gen6.
[0153] Table 2. PCIE DFE
[0154] Transfer speed Number of DFE taps Signal Modulation Gen3 8GT / s 1 NRZ Gen4 16GT / s 2 NRZ Gen5 32GT / s 3 NRZ Gen6 64GT / s(32GBaud) 16 PAM4
[0155] Traditional DFE structure Fig. 20 In Fig. 20 In, xk is the input of the DFE at 50, and y k is the input to the decision function (also called slicer) 52. The decision function detects the symbol in a digital sense. For NRZ signals, its output may be -1, 1, which represents bit 0 and bit 1, and for PAM4 signals, its output may be -1, -1 / 3, 1 / 3, 1, which represents symbol 0, symbol 1, symbol 2, symbol 3. The decision function output is then fed into a delay block (such as 54) along the delay line, and the delay block output is coupled to the DFE tap d i multiplied, and then fed back to the summing node to be combined with the input signal x k Sum. N is the number of DFE taps. For PCIE Gen3, N=1. For PCIE Gen6, N=16.
[0156] U.S. Patent No. 11,765,002, issued on September 19, 2023, “EXPLICIT SOLUTION FOR DFE OPTIMIZATION WITH CONSTRAINTS,” discloses an explicit solution for finding optimal DFE taps based on a single LFPR, and is incorporated herein by reference in its entirety.
[0157] In a PAM4 signal, the normalized pulses of symbols 0, 1, 2, and 3 are usually different, as discussed above. The multi-LFPR method described above (which is hereby incorporated by reference into the present disclosure) can be used to extract multiple LFPRs for multiple symbols. Multiple LFPRs capture more details of the signal than a single LFPR, thereby providing an opportunity to improve the DFE design, which can improve equalizer performance.
[0158] Fig. 20 The conventional DFE structure shown in has a single set of tap values. Fig.21 A new DFE structure called MPDFE (Multi-Pulse DFE) is described in i,mi are selected from a set of predetermined tap values based on the detected symbols through the delay block. The index i is the tap number, and the index mi is based on the symbol "number" of the signal.
[0159] For example, Fig.21 As shown in , there are 4 possible tap values for the PAM4 signal at each delay line position. i,mi There are two indices, as mentioned above, the first index represents the delay line position corresponding to the tap, and the second index represents the sign. Fig. 22 An example is shown. For example, if Fig.21If the symbol is 2, then m1 = 2 and the tap value d is selected for delay line position 1. 1,2 If the next symbol is 0, then m1 = 0 and tap value d is selected for delay line position 1 1,0 The tap values are selected in the same manner for all delay line positions. In the next clock cycle, the detected symbol is shifted along the delay line through the delay block and the tap value selection is updated based on the updated symbol at the corresponding delay line position. In one embodiment, the filter may use multipliers such as (-1, -1 / 3, 1 / 3, and 1) for PAM4 symbols 0, 1, 2, and 3, which are combined with the tap value (d 1,1 d1, 1,2 …d i,mi ), for example, Fig.21 The product of the tap value and the multiplier may be stored in a lookup table and the filter will access the value from the table based on the sign.
[0160] The process of determining the tap values for MPDFE is described with the help of numerical examples. Fig.23 The PAM4 signal shown in the mode waveform has Fig.24 The closed eye diagram shown in . A single LFPR extracted from the pattern waveform is Fig.25 Shown in.
[0161] The taps of a conventional DFE are determined to minimize the amplitude of the post-cursor sample at the center of the unit interval (UI). Fig.26 As shown in FIG. 7 , curve 70 shows the LFPR before applying the DFE, and curve 72 shows the LFPR after applying the DFE. As shown, for the rear cursor, the DFE minimizes the amplitude of the sample at the center of the UI to zero. This example uses a 40-tap DFE.
[0162] However, for PAM4 signals, the normalized pulses of all symbols are not always the same. Multiple pulses of multiple symbols can be extracted according to the above method. The unnormalized pulses are Fig. 27 and the normalized pulse Fig.28 The unnormalized pulse represents the actual size of the pulse of the symbol, and the normalized pulse is scaled based on the symbols 0, 1, 2, and 3, represented by the values of -1, -1 / 3, 1 / 3, and 1 in the pattern.
[0163] Note that some of the normalized pulses are very similar to each other, but not all normalized symbol pulses are identical, e.g. Fig.28, most noticeable at the top of the pulse. When a single set of DFE taps based on a single LFPR is applied to each of the normalized multipulses, the DFE fails to minimize the samples at the UI center of all multipulses to zero when the pulses are not all identical at the UI center. In this numerical example, applying the DFE taps determined from a single LFPR to the unnormalized symbol pulses produces non-zero residuals at the UI center in the post-DFE pulses of Symbol 3 and Symbol 2, as shown in Fig.29 Looking at circle 80, it can be seen that at 2, the center of the UI interval between 1.5 and 2.5, the residual is not zero.
[0164] With the help of multi-LFPR extraction, MPDFE determines the tap values d for j = 0, 1, 2, 3 and k = 1, 2, ..., L representing 4 symbols. j,k , where L represents the MPDFE length. For each symbol j, the tap value d j,k is optimized to minimize the post-cursor residual at the center of the UI. The above explicit solution can be applied to each pulse. In this numerical example, MPDFE taps are applied to the symbol pulses, producing zero residual at the center of the UI for the post-DFE pulses of unnormalized Symbol 3 and Symbol 2, which is Fig.30 It can be seen that at the center of the UI highlighted by circle 80, the pulse is zero, which is consistent with Fig.29 The pulses are different.
[0165] Once the DFE taps are determined for each symbol, MPDFE can be implemented as Fig.21 and 22 As an example to help understanding, a 40-tap DFE filter has 40 tap values. As an example, in the MPDFE method for PAM4, each of the 40 taps now has four values each, for a total of 160 values. For example, when a symbol enters delay position 1, the MPDFE method results in the tap value for that symbol at that tap.
[0166] As a comparison, Fig.31 shows the eye diagram after applying a conventional DFE. Fig.32 shows the eye diagram after applying MPDFE. The difference is subtle because both methods apply DFE to open the eye, but if you look at Fig.31 82 in the Fig.32 By comparing with area 84 in Fig.31 The area between the open eyes in is larger because the eyes are opened less. Fig.32 The eye diagram after MPDFE shown in Fig.31 The eye diagram after the traditional DFE shown in has a wider eye opening, demonstrating the improvement provided by MPDFE over the traditional DFE.
[0167] If the channel characteristics are known or accurately estimated, the Maximum Likelihood Sequence Estimation Equalizer (MLSE) provides optimal equalization. However, the MLSE equalizer has a higher computational complexity than the traditional DFE. If the channel characteristics are known or accurately estimated, the MLSE equalizer can fully cover the range of channel responses. The computational complexity of MLSE is M L , where M is the number of symbols and L is the length of the equalizer. Due to the exponential function, L cannot be too large to make the MLSE implementation feasible. For example, Matlab has a complexity of 2 for MLSE. 20 The upper limit of 20 Equal to 4 10 , which means that the MLSE in Matlab cannot fully cover the channel response that lasts longer than 10UI. In this numerical example, the channel response lasts more than 20UI, as shown by Fig.26 and Fig.28 As indicated. Note that when a high-speed signal doubles its symbol rate, the number of UIs in a fixed time period also doubles. The higher computational complexity of MLSE increases the cost of implementation and thus limits its application.
[0168] Table 3 summarizes the comparison of computational complexity of traditional DFE, MPDFE and MLSE.
[0169] Table 3. Computational complexity formula
[0170] Equalizer Type Computational complexity DFE MXL MPDFE MXL MLSE <![CDATA[M L ]]>
[0171] Table 4 shows the numerical values of computational complexity of three equalizer configurations with M=4, L=10, 20, 40.
[0172] Table 4. Computational complexity values for M = 4
[0173] Equalizer Type L=10 L=20 L=40 DFE 40 80 160 MPDFE 40 80 160 MLSE 1.04E6 1.10E12 1.21E24
[0174] The MPDFE concept can also be applied to even and odd pulses as discussed above, as well as any other multi-pulse cases of various modulation schemes (e.g., PAM8 signaling).
[0175] Embodiments herein provide MPDFE, a new DFE structure that improves equalization performance without increasing the same computational complexity and implementation cost. Advances in semiconductors have enabled new generations of receivers with higher computational capabilities, lower power consumption, and reduced cost. Increases in signal speeds, such as 400G to 800G, and more complex modulation schemes, such as NRZ to PAM4 to PAM8, impose more challenges on receivers to successfully compensate for signal impairments. MPDFE is an attractive technique to improve receiver performance without increasing cost.
[0176] One embodiment includes a computing device, comprising: a port that allows the computing device to receive a signal from a device under test (DUT); one or more processors configured to execute code that causes the one or more processors to: obtain a waveform from the signal; derive a pattern waveform from the waveform using one of hardware or software clock recovery, the pattern comprising multiple symbols based on the type of the signal; perform linear fit impulse response (LFPR) extraction on the pattern waveform to extract more than one impulse response; extract the impulse response for each symbol; define a multi-pulse decision feedback equalizer (MPDFE) with multiple taps; use the impulse response for each symbol to determine a set of MPDFE tap coefficients for the symbol; and apply the coefficients for a given symbol at each delay position in the MPDFE as the symbol is shifted through a delay line of the MPDFE structure.
[0177] Another embodiment includes the computing device above, wherein the code causing the one or more processors to extract the impulse response for each symbol comprises code causing the one or more processors to extract one of a linear fit impulse response (LFPR), an impulse response, or a step response.
[0178] Another embodiment includes the computing device described above, wherein the code causing the one or more processors to use the impulse response of each symbol to determine a set of DFE taps for the symbol includes code causing the one or more processors to select a set of DFE tap values that minimizes the amplitude of the post-cursor sample at the center of the unit interval of each symbol.
[0179] Another embodiment includes the computing device above, wherein the code further comprises code for causing the processor to determine the DFE tap values using the normalized pulse for each symbol.
[0180] Another embodiment includes the computing device above, wherein the port is connected to a high speed communication link.
[0181] Another embodiment includes the computing device described above, wherein the computing device comprises a test and measurement instrument.
[0182] Another embodiment includes the computing device above, wherein the type of signal is one of a PAM4 or PAM8 signal.
[0183] Another embodiment includes the above computing device, wherein the number of taps is sixteen.
[0184] Another embodiment includes the computing device described above, wherein the code that causes the one or more processors to apply the coefficient of a given symbol at each delay position in the MPDFE structure as the symbol is shifted through the delay lines of the MPDFE structure includes code that multiplies the symbol by the coefficient and a symbol multiplier based on the symbol.
[0185] Another embodiment includes the computing device described above, wherein the code that causes one or more processors to multiply a symbol by a coefficient and a symbol-based symbol multiplier includes code that causes the one or more processors to access a lookup table that stores the product of the multiplier for each symbol at each delay position to obtain a symbol-based product.
[0186] Another embodiment includes the computing device above, wherein the processor is further configured to execute code that causes the one or more processors to average multiple repetitions of the pattern waveform to produce an averaged pattern waveform as the pattern waveform.
[0187] Another embodiment includes a method for optimizing an equalizer for a communication link, comprising: receiving a signal from a device under test (DUT), obtaining a waveform from the signal; deriving a pattern waveform from the waveform using one of hardware or software clock recovery, the pattern comprising multiple symbols based on the type of the signal; performing linear fit impulse response (LFPR) extraction on the pattern waveform to extract more than one LFPR; extracting an impulse response for each symbol; defining a multi-pulse decision feedback equalizer (MPDFE) having multiple taps; using the impulse response for each symbol to determine a set of tap values for each symbol; and applying coefficients for a given symbol at each delay position in the MPDFE as the symbol is shifted through a delay line of the MPDFE structure.
[0188] Another embodiment includes the above method wherein extracting the impulse response for each symbol comprises extracting one of a linear fit impulse response (LFPR), an impulse response, or a step response.
[0189] Another embodiment includes the above method wherein determining a set of taps for each symbol comprises selecting tap values that minimize the amplitude of a post-cursor sample at a center of a unit interval for each symbol.
[0190] Another embodiment includes the above method, further comprising determining the taps using a normalized pulse for each symbol.
[0191] Another embodiment includes the above method, wherein the type of signal is one of a PAM4 signal or a PAM8 signal.
[0192] Another embodiment includes the above method, wherein the type of signal is a Peripheral Component Interconnect Express (PCIE) signal compliant with PCIE Gen6.
[0193] Another embodiment includes the above method, wherein the number of taps is sixteen.
[0194] Another embodiment includes the above method wherein applying the coefficient for a given symbol at each delay position in the MPDFE structure as the symbol is shifted through delay lines of the MPDFE structure comprises multiplying the symbol by the coefficient and a symbol multiplier based on the symbol.
[0195] Another embodiment includes the above method wherein multiplying the symbol by the coefficient and the symbol multiplier comprises accessing a lookup table that stores the product of the multiplier for each symbol at each delay position to obtain the symbol-based product.
[0196] Another embodiment includes the above method, further comprising averaging multiple repetitions of the pattern waveform to produce an averaged pattern waveform as the pattern waveform.
[0197] Aspects of the present disclosure may be operated on specially created hardware, on firmware, digital signal processors, or on a general-purpose computer including a processor that operates according to programming instructions. The term controller or processor as used herein is intended to include a microprocessor, a microcomputer, an application-specific integrated circuit (ASIC), and a dedicated hardware controller. One or more aspects of the present disclosure may be implemented with computer-usable data and computer-executable instructions (such as one or more program modules) executed by one or more computers (including monitoring modules) or other devices. Typically, a program module includes routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types when executed by a processor in a computer or other device. Computer-executable instructions may be stored on a non-temporary computer-readable medium, such as a hard disk, an optical disk, a removable storage medium, a solid-state memory, a random access memory (RAM), etc. As will be understood by those skilled in the art, the functions of the program modules may be combined or distributed as needed in various aspects. In addition, the functions may be implemented in whole or in part with firmware or hardware equivalents (such as integrated circuits, FPGAs, and the like). Certain data structures may be used to more efficiently implement one or more aspects of the present disclosure, and such data structures are considered to be within the scope of the computer-executable instructions and computer-usable data described herein.
[0198] In some cases, the disclosed aspects may be implemented in hardware, firmware, software, or any combination thereof. The disclosed aspects may also be implemented as instructions carried or stored on one or more or non-transitory computer-readable media, which may be read and executed by one or more processors. Such instructions may be referred to as computer program products. Computer-readable media as discussed herein means any medium that can be accessed by a computing device. As an example and not limitation, computer-readable media may include computer storage media and communication media.
[0199] Computer storage media means any medium that can be used to store computer-readable information. By way of example and not limitation, computer storage media may include RAM, ROM, electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital video disk (DVD) or other optical disk storage, cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, and any other volatile or non-volatile, removable or non-removable media implemented in any technology. Computer storage media excludes the signal itself and the transient form of signal transmission.
[0200] Communication media refers to any medium that can be used for communication of computer-readable information. By way of example and not limitation, communication media may include coaxial cables, fiber optic cables, air, or any other medium suitable for communication of electrical, optical, radio frequency (RF), infrared, acoustic, or other types of signals.
[0201] Example
[0202] Illustrative examples of the disclosed technology are provided below. Embodiments of the technology may include one or more of the examples described below and any combination thereof.
[0203] Example 1 is a test and measurement instrument comprising: a port that allows the instrument to receive a signal from a device under test (DUT); one or more processors configured to execute code that causes the one or more processors to: acquire a waveform from the signal; derive a pattern waveform from the waveform using one of hardware or software clock recovery; perform linear fit pulse response (LFPR) extraction on the pattern waveform to extract more than one LFPR; determine a reference pulse response from the more than one LFPR; compare at least one of the LFPRs to the reference pulse response to determine a difference; and tune the DUT to reduce the difference.
[0204] Example 2 is the test and measurement instrument of Example 1, wherein the code causing the one or more processors to perform LFPR extraction to extract more than one LFPR includes code causing the one or more processors to perform one of the following operations: extracting the LFPR for pulses from even and odd unit intervals, extracting the LFPR for symbol pulses, or extracting the LFPR for symbol pulses from even and odd unit intervals.
[0205] Example 3 is the test and measurement instrument of Example 2, wherein the symbol pulses are generated by PAM4 symbols.
[0206] Example 4 is the test and measurement instrument of Example 2, wherein the symbol pulse is generated by a signal having n symbol pulses.
[0207] Example 5 is the test and measurement instrument of any of Examples 1 to 4, wherein the code causing the one or more processors to determine a reference pulse response includes code causing the one or more processors to determine a mean mode waveform.
[0208] Example 6 is the test and measurement instrument of Example 5, wherein the code causing the one or more processors to determine the reference pulse response includes code causing the one or more processors to: normalize more than one LFPR; calculate an average pulse; and use the average pulse as a reference pulse.
[0209] Example 7 is the test and measurement instrument of any of Examples 1 to 6, wherein the code causing the one or more processors to determine a reference pulse response includes code causing the one or more processors to compare two or more LFPRs, wherein one of the two or more LFPRs serves as a reference pulse.
[0210] Example 8 is the test and measurement instrument of any of Examples 1 to 7, wherein the one or more processors are further configured to cause the one or more processors to repeatedly acquire, derive, execute, determine, compare, and tune until the difference has been minimized.
[0211] Example 9 is the test and measurement instrument of any of Examples 1 to 8, wherein the code causing the one or more processors to perform LFPR to extract more than one LFPR comprises code causing the one or more processors to perform the following operations: construct a symbol matrix X based on the data pattern sequence and the pattern waveform Np and waveform matrix Y; construct a switch matrix based on the type of multiple pulses to be used; use the switch matrix and X Np A spread symbol matrix is constructed; a coefficient matrix is solved from the spread symbol matrix; and more than one LFPR is obtained by reading pulse samples of each pulse from the coefficient matrix.
[0212] Example 10 is the test and measurement instrument of Example 9, wherein the one or more processors are further configured to execute code that causes the one or more processors to: construct an error matrix E, perform matrix multiplication on the coefficient matrix and the extended symbol matrix, and subtract the waveform matrix Y.
[0213] Example 11 is the test and measurement instrument of any of Examples 1 to 10, wherein the one or more processors are further configured to execute code that causes the one or more processors to average multiple repetitions of the pattern waveform to produce an average pattern waveform as the pattern waveform.
[0214] Example 12 is a method of calibrating a transmitter, comprising: obtaining a waveform from a signal received from the transmitter; deriving a pattern waveform from the waveform using one of hardware or software clock recovery; performing linear fit pulse response (LFPR) extraction on the pattern waveform to extract more than one LFPR; determining a reference pulse response from the more than one LFPR; comparing at least one of the LFPRs to the reference pulse response to determine a difference; and tuning the transmitter to reduce the difference.
[0215] Example 13 is the method of Example 12, wherein performing LFPR extraction to extract more than one LFPR comprises one of extracting pulses from even and odd unit intervals, extracting symbol pulses, or extracting symbol pulses from even and odd unit intervals.
[0216] Example 14 is the method of any of Examples 12 or 13, wherein determining the reference pulse response comprises determining an average pulse, and determining the reference pulse comprises: normalizing more than one LFPR; calculating the average pulse; and using the average pulse as the reference pulse.
[0217] Example 15 is the method of any of Examples 12 to 14, wherein determining the reference pulse response comprises comparing two or more LFPRs, wherein one of the two or more LFPRs serves as a reference pulse.
[0218] Example 16 is the method of any of Examples 12 to 15, further comprising repeating obtaining, deriving, executing, determining, comparing, and tuning until the difference has been minimized.
[0219] Example 17 is the method of any of Examples 12 to 16, further comprising averaging multiple repetitions of the pattern waveform to produce an averaged pattern waveform as the pattern waveform.
[0220] Example 18 is a test and measurement instrument comprising: one or more ports configured to receive signals from one or more devices under test (DUTs); and one or more processors configured to execute code that causes the one or more processors to: acquire a waveform from the signal; derive a pattern waveform from the waveform using one of hardware or software clock recovery; extract more than one pulse responses from the pattern waveform by performing linear fit pulse response (LFPR) extraction on the pattern waveform; present one or more data representations including the data representation of the more than one pulse responses to a machine learning network to generate measurement result predictions for the DUT; and receive the measurement result predictions for the DUT from the machine learning network.
[0221] Example 19 is the test and measurement instrument of Example 18, wherein the one or more data representations include one or more of a vertical histogram of the entire pattern waveform, a vertical histogram at the center of a unit interval of an eye diagram representation of the pattern waveform, two vertical histograms around the center of the unit interval of the eye diagram, and a horizontal histogram at the edges of crossing levels of the eye diagram.
[0222] Example 20 is the test and measurement instrument of any of Examples 18 or 19, wherein the machine learning network employs a neural network that processes one-dimensional data, and the code that causes the one or more processors to present one or more data representations includes code that causes the one or more processors to present a one-dimensional data set, the one-dimensional data set comprising a vertical histogram at an eye center of an eye diagram representation of a waveform.
[0223] Example 21 is the test and measurement instrument of any of Examples 18 to 20, wherein the machine learning network employs a neural network that processes two-dimensional data, and the code that causes one or more processors to present one or more data representations includes code that causes one or more processors to present a two-dimensional data set, the two-dimensional data set comprising more than one extracted impulse responses and at least one histogram.
[0224] Example 22 is the test and measurement instrument of Example 21, wherein the two-dimensional data includes pixels having a darkness corresponding to one of a magnitude of the extracted impulse response and a number of hits in the histogram.
[0225] Example 23 is the test and measurement instrument of any of Examples 18 to 22, wherein the code that causes the one or more processors to present the one or more data representations to the machine learning network causes the one or more processors to normalize the one or more data representations before presenting the one or more data representations to the machine learning network and to denormalize predictions of measurements received from the machine learning network.
[0226] Example 24 is the test and measurement instrument of any of Examples 18 to 23, wherein the code causing the one or more processors to present one or more data representations of more than one impulse responses to the machine learning network includes code causing the one or more processors to present the data representations to the machine learning network for measurement, wherein the measurement includes one or more of signal-to-noise-distortion ratio (SNDR), signal-to-noise ratio (SNR), jitter, and transmitter dispersion eye closure quaternary (TDECQ).
[0227] Example 25 is the test and measurement instrument of any of Examples 18 to 24, wherein the one or more processors are further configured to execute code that causes the one or more processors to train the machine learning network to make the selected measurements.
[0228] Example 26 is the test and measurement instrument of any of Examples 18 to 25, wherein the code causing the one or more processors to extract more than one pulse response includes code causing the one or more processors to extract one of a linear fit pulse response (LFPR), an impulse response, and a step response.
[0229] Example 27 is the test and measurement instrument of any one of Examples 18 to 27, wherein the one or more processors are further configured to execute code that causes the one or more processors to average multiple repetitions of the pattern waveform to produce an average pattern waveform as the pattern waveform.
[0230] In addition, this written description refers to specific features. It is to be understood that the disclosure in this specification includes all possible combinations of those specific features. For example, where a specific feature is disclosed in the context of a particular aspect, the feature may also be used in the context of other aspects to the extent possible.
[0231] Furthermore, when reference is made in the present application to a method having two or more defined steps or operations, the defined steps or operations may be performed in any order or simultaneously, unless the context excludes those possibilities.
[0232] All features disclosed in the specification including claims, abstract and drawings, and all steps in any method or process disclosed, may be combined in any combination except combinations in which at least some of such features and / or steps are mutually exclusive. Unless expressly stated otherwise, each feature disclosed in the specification including claims, abstract and drawings may be replaced by an alternative feature serving the same, equivalent or similar purpose.
[0233] Although particular aspects of the present disclosure have been illustrated and described for purposes of illustration, it will be appreciated that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, the invention should not be limited, except as by the appended claims.
Claims
1. A test and measurement instrument comprising: Ports that allow the instrument to receive signals from the device under test (DUT); One or more processors configured to execute code that causes the one or more processors to: Get waveform from signal; deriving a pattern waveform from the waveform using either hardware or software clock recovery; performing a linear fit impulse response (LFPR) extraction on the pattern waveform to extract more than one LFPR; determining a reference impulse response from more than one LFPR; comparing at least one of the LFPRs to a reference impulse response to determine a difference; and Tune the DUT to reduce the difference.
2. A test and measurement instrument as claimed in claim 1, wherein: The code causing the one or more processors to perform LFPR extraction to extract more than one LFPR includes code causing the one or more processors to perform one of extracting LFPRs for pulses from even and odd unit intervals, extracting LFPRs for symbol pulses, or extracting LFPRs for symbol pulses from even and odd unit intervals.
3. A test and measurement instrument as claimed in claim 2, wherein: The symbol pulses are generated from the PAM4 symbols.
4. A test and measurement instrument as claimed in claim 2, wherein: The symbol pulse is generated from a signal having n symbol pulses.
5. The test and measurement instrument as claimed in claim 1, wherein: The code causing the one or more processors to determine a reference impulse response includes code causing the one or more processors to determine an average mode waveform.
6. A test and measurement instrument as claimed in claim 5, wherein: The code for causing the one or more processors to determine a reference impulse response includes code for causing the one or more processors to: Normalize more than one LFPR; calculating the average pulse; and Use the average pulse as the reference pulse.
7. The test and measurement instrument as claimed in claim 1, wherein: The code causing the one or more processors to determine a reference pulse response includes code causing the one or more processors to compare two or more LFPRs, wherein one of the two or more LFPRs serves as a reference pulse.
8. The test and measurement instrument as claimed in claim 1, wherein: The one or more processors are further configured to cause the one or more processors to repeat acquiring, deriving, executing, determining, comparing, and tuning until the difference has been minimized.
9. The test and measurement instrument as claimed in claim 1, wherein: The code causing the one or more processors to execute the LFPR to extract more than one LFPR includes code causing the one or more processors to: Construct symbol matrix X based on data pattern sequence and pattern waveform Np and waveform matrix Y; constructing a switch matrix based on the type of multiple pulses to be used; Using the switch matrix and X Np Construct an extended symbol matrix; Solve the coefficient matrix from the expanded symbol matrix; as well as More than one LFPR is obtained by reading the pulse samples for each pulse from the coefficient matrix.
10. A test and measurement instrument as claimed in claim 9, wherein: The one or more processors are further configured to execute code that causes the one or more processors to: Construct the error matrix E, perform matrix multiplication on the coefficient matrix and the extended symbol matrix and subtract the waveform matrix Y.
11. The test and measurement instrument of claim 1, wherein: The one or more processors are further configured to execute code that causes the one or more processors to average multiple repetitions of the pattern waveform to produce an averaged pattern waveform as the pattern waveform.
12. A method for calibrating a transmitter, comprising: obtaining a waveform from a signal received from a transmitter; deriving a pattern waveform from the waveform using either hardware or software clock recovery; performing a linear fit impulse response (LFPR) extraction on the pattern waveform to extract more than one LFPR; determining a reference impulse response from more than one LFPR; comparing at least one of the LFPRs to a reference impulse response to determine a difference; and Tune the transmitter to reduce the difference.
13. The method of claim 12, wherein: Performing LFPR extraction to extract more than one LFPR includes one of extracting pulses from even and odd unit intervals, extracting symbol pulses, or extracting symbol pulses from even and odd unit intervals.
14. The method of claim 12, wherein: Determining a reference pulse response includes determining an average pulse, and determining a reference pulse includes: Normalize more than one LFPR; calculating the average pulse; and Use the average pulse as the reference pulse.
15. The method of claim 12, wherein: Determining a reference pulse response includes comparing two or more LFPRs, wherein one of the two or more LFPRs serves as a reference pulse.
16. The method of claim 12, further comprising repeating obtaining, deriving, executing, determining, comparing, and tuning until the difference has been minimized.
17. The method of claim 11, further comprising averaging a plurality of repetitions of the pattern waveform to produce an average pattern waveform as the pattern waveform.
18. A test and measurement instrument comprising: one or more ports configured to receive signals from one or more devices under test (DUT); as well as One or more processors configured to execute code that causes the one or more processors to: Get waveform from signal; deriving a pattern waveform from the waveform using either hardware or software clock recovery; extracting more than one impulse response from the pattern waveform by performing a linear fit impulse response (LFPR) extraction on the pattern waveform; presenting one or more data representations including data representations of more than one impulse response to a machine learning network to generate a prediction of a measurement result for the DUT; as well as Receive measurement result predictions for the DUT from the machine learning network.
19. A test and measurement instrument as claimed in claim 18, wherein: The one or more data representations include one or more of a vertical histogram of the entire pattern waveform, a vertical histogram at the center of a unit interval of an eye diagram representation of the pattern waveform, two vertical histograms around the center of a unit interval of the eye diagram, and a horizontal histogram at the edges of crossing levels of the eye diagram.
20. The test and measurement instrument of claim 18, wherein: The machine learning network employs a neural network that processes one-dimensional data, and the code that causes the one or more processors to present one or more data representations includes code that causes the one or more processors to present a one-dimensional data set, wherein the one-dimensional data set includes a vertical histogram at an eye center of an eye diagram representation of a waveform.
21. The test and measurement instrument of claim 18, wherein: The machine learning network employs a neural network that processes two-dimensional data, and the code that causes one or more processors to present one or more data representations includes code that causes one or more processors to present a two-dimensional data set that includes more than one extracted impulse responses and at least one histogram.
22. A test and measurement instrument as claimed in claim 21, wherein: The two-dimensional data includes pixels having a darkness corresponding to one of the amplitude of the extracted impulse response and the number of hits in the histogram.
23. The test and measurement instrument of claim 18, wherein: The code causing the one or more processors to present the one or more data representations to the machine learning network causes the one or more processors to normalize the one or more data representations before presenting the one or more data representations to the machine learning network and to denormalize predictions of measurements received from the machine learning network.
24. The test and measurement instrument of claim 18, wherein: The code causing the one or more processors to present one or more data representations of more than one impulse responses to the machine learning network includes code causing the one or more processors to present the data representations to the machine learning network for measurements including one or more of signal-to-noise-distortion ratio (SNDR), signal-to-noise ratio (SNR), jitter, and transmitter dispersion eye closure quaternary (TDECQ).
25. The test and measurement instrument as recited in claim 18, wherein: The one or more processors are further configured to execute code that causes the one or more processors to train the machine learning network to make the selected measurements.
26. The test and measurement instrument as recited in claim 18, wherein: The code causing the one or more processors to extract more than one impulse responses includes code causing the one or more processors to extract one of a linear fit impulse response (LFPR), an impulse response, and a step response.
27. The test and measurement instrument as claimed in claim 18, wherein: The one or more processors are further configured to execute code that causes the one or more processors to average multiple repetitions of the pattern waveform to produce an averaged pattern waveform as the pattern waveform.
