High-speed oscilloscope eye diagram real-time jitter detection method and system
By obtaining zero-crossing timestamps through a high-speed analog-to-digital converter and a zero-crossing detection algorithm, and combining clustering and Fourier transform, the problem of unstable edge positioning in traditional jitter detection is solved, thereby improving the stability and integrity of jitter detection.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- 成都玖锦科技有限公司
- Filing Date
- 2025-12-19
- Publication Date
- 2026-05-01
AI Technical Summary
Traditional high-speed oscilloscope eye diagram jitter detection methods are affected by noise disturbances and sampling errors, resulting in random dispersion of zero-crossing positions, decreased edge positioning stability, insufficient reliability of period judgment, incomplete frequency domain characteristics, and difficulty in revealing the internal variation patterns of jitter.
Signals are acquired by a high-speed analog-to-digital converter, zero-crossing timestamps are obtained based on a zero-crossing detection algorithm, edge time points are clustered and analyzed, error compensation weights are assigned, and jitter frequency components are analyzed by Fourier transform to achieve edge coordinate drift compensation and period correction, thereby generating jitter detection results.
It improves the consistency of edge localization and the stability of jitter representation, clearly separates the periodic structure and amplitude relationship of jitter, and enhances the overall stability and integrity of jitter detection.
Smart Images

Figure CN121364341B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of jitter analysis technology, and in particular to a method and system for real-time jitter detection of eye diagrams in high-speed oscilloscopes. Background Technology
[0002] The field of jitter analysis technology involves measuring and analyzing the time offset generated during the transmission and measurement of high-speed digital signals. Its core aspects include separating the components of clock jitter and data jitter, quantifying the statistical characteristics of different jitter components, extracting the timing deviations of rising edges, falling edges, and zero crossings in the eye diagram, and using high-speed sampling instruments to continuously track the position of signal edges to form a systematic understanding of the overall jitter behavior. This field relies on the sampling architecture, triggering mechanism, and eye diagram reconstruction process of high-speed oscilloscopes to carry out jitter source identification and feature analysis.
[0003] The traditional high-speed oscilloscope eye diagram real-time jitter detection method refers to acquiring data eye diagrams with a high-speed oscilloscope, performing time stamping on continuous sampling points, determining the zero-crossing time of each signal transition as the edge time position by interpolation, obtaining the offset of adjacent bit period edges by point-by-point comparison, and classifying periodic jitter into random jitter by performing histogram statistics on a large number of edge time points. It generally uses equal-interval time acquisition at a fixed sampling rate, edge capture based on zero-crossing level judgment, obtaining accurate edge time using linear interpolation, and sequentially accumulating edge time differences to form a jitter distribution to complete the detection and characterization of jitter behavior in the eye diagram.
[0004] Traditional eye diagram jitter detection relies on equally spaced sampling to obtain edge time points. Due to noise disturbances and sampling errors, the zero-crossing positions are randomly scattered. The edge time determined by interpolation has an offset that accumulates with the sequence. The lack of structural correlation between cross-cycle time points makes it impossible to identify the overall drift between different cycles. Edge difference methods only reflect local jump differences and cannot characterize long-term change trends. The cycle length is determined based on a single time interval, which is easily affected by occasional anomalies, causing the cycle deviation to be continuously amplified in the measurement sequence. The jitter characteristics rely on simple time distribution statistics, which cannot reveal the internal change patterns. This results in problems such as decreased edge positioning stability, insufficient reliability of cycle judgment, and incomplete presentation of frequency domain features. Summary of the Invention
[0005] To address the technical problems of traditional eye diagram jitter detection, which relies on equal-interval sampling to obtain edge time points, resulting in randomized zero-crossing positions due to noise disturbances and sampling errors, the interpolated edge time points exhibiting cumulative shifts over time, the lack of structural correlation between cross-cycle time points leading to the inability to identify overall drift across different cycles, the edge difference method only reflecting local jump differences and failing to characterize long-term trends, the cycle length determined by single time intervals being susceptible to occasional anomalies causing cycle deviations to be continuously amplified in the measurement sequence, and the jitter characteristics relying on simple time distribution statistics failing to reveal internal change patterns, leading to decreased edge positioning stability, insufficient reliability of cycle determination, and incomplete frequency domain characteristics, this invention provides a high-speed oscilloscope eye diagram real-time jitter detection method and system.
[0006] To achieve the above objectives, the present invention provides a method and system for real-time eye diagram jitter detection of a high-speed oscilloscope, wherein the method includes the following steps:
[0007] S1: Acquire the digital waveform of the signal under test through a high-speed analog-to-digital converter, detect the timestamp corresponding to the zero-crossing position based on the zero-crossing detection algorithm, calculate the time offset, group by bit period, and obtain the cross-period edge time series;
[0008] S2: Based on the cross-cycle edge time series, perform cluster analysis on the zero-crossing points of the same phase in adjacent bit periods, group the edge time points into jump point clusters, calculate the deviation, and obtain the cluster drift trend vector.
[0009] S3: Based on the cluster drift trend vector, assign error compensation weights to time points within the jump point cluster, calculate the time coordinate correction amount by weighting, and superimpose it onto the corresponding time coordinates to obtain the edge positioning coordinates after drift compensation.
[0010] S4: Call the drift compensation edge positioning coordinates, monitor the time interval between the first and last zero crossings of the bit period through the period boundary detection circuit, calculate the difference with the standard period length, and trigger a correction command when the correction threshold is exceeded to obtain the period correction edge coordinates.
[0011] S5: Based on the edge coordinates after periodic correction, the Fourier transform algorithm is used to analyze the spectral characteristics of the edge position sequence, extract the jitter frequency components and amplitude, calculate the jitter amplitude parameters, and generate eye diagram jitter detection results.
[0012] As a further embodiment of the present invention, the cross-cycle edge time series includes timestamps, bit period groups, and cross-cycle jump points. The jump point cluster includes cluster centers, offsets, and dispersion. The drift-compensated edge positioning coordinates include correction amounts, compensation weights, and positioning accuracy. The period-corrected edge coordinates include period length deviation, period consistency, and correction deviation. The eye diagram jitter detection results include jitter frequency components, amplitude components, and spectral characteristics.
[0013] As a further aspect of the present invention, the specific steps of S1 are as follows:
[0014] S101: Obtains digital waveforms through high-speed analog-to-digital converter, compares the amplitude and sign of adjacent sampling points based on zero-crossing detection algorithm and locates the sign change point, performs linear proportional interpolation on the sign change point based on the amplitude difference between the two sampling points and determines the crossover time position, and generates a zero-crossing timestamp sequence.
[0015] S102: Call the zero-crossing timestamp sequence, perform differential processing on the difference between adjacent time positions to form a time displacement correlation value, then perform proportional mapping on the correlation value according to the sampling time interval to obtain the time displacement set, and perform segmented aggregation according to the sampling time order to obtain the periodic time offset matrix;
[0016] S103: Based on the periodic time offset matrix, sort multiple entries according to their intra-segment index positions, aggregate entries with the same index position according to the segment order, and obtain the cross-period edge time series.
[0017] As a further aspect of the present invention, the specific steps of S2 are as follows:
[0018] S201: Based on the cross-cycle edge time series, perform a retrieval operation on the zero-crossing time value of the same phase in adjacent bit periods, and perform a difference operation between the time value and the phase reference time value. Then, arrange the difference items according to the phase index sequence to generate a zero-crossing difference matrix.
[0019] S202: Call the zero-crossing difference matrix, perform aggregation on the difference vector based on the difference magnitude and phase index, extract the offset sequence from the aggregated vector, and then reorganize the offsets according to the group order to obtain the offset distribution parameter set;
[0020] S203: Call the offset distribution parameter set, perform serialization and arrangement of the offset parameters in index order, perform difference operation on adjacent offset parameters to form a difference sequence, extract the direction change term according to the sequence position and accumulate it to obtain the cluster drift trend vector.
[0021] As a further aspect of the present invention, the specific steps of S3 are as follows:
[0022] S301: Based on the cluster drift trend vector, retrieve the time coordinates within the jump point cluster and call the offset parameter items in the offset distribution parameter set. Compare the offset parameter items with the error compensation threshold and aggregate the items greater than the threshold to obtain the weighted coefficient matrix value.
[0023] The error compensation threshold is based on the statistical extraction of all offset parameter items in the offset distribution parameter set, and is a quantitative reference value obtained by performing a linear combination of the mean and standard deviation of all offset parameter items in the offset distribution parameter set.
[0024] S302: Call the weighted coefficient matrix value, perform proportional conversion between the time coordinates and weighted coefficients in the jump point cluster, aggregate the conversion results, calculate the offset based on the aggregated offset parameters, perform difference processing on the offset and time coordinates, and obtain the time coordinate correction value.
[0025] S303: Call the time coordinate correction value, perform superposition processing on the time coordinates and correction values in the jump point cluster, sort by time and maintain the continuity of the index to obtain the edge positioning coordinates after drift compensation.
[0026] As a further aspect of the present invention, the specific steps of S4 are as follows:
[0027] S401: Based on the drift compensation edge positioning coordinates, detect the positioning coordinate time series, retrieve the first and last zero-crossing time positions of each bit period, calculate the first and last zero-crossing time interval, perform consistency judgment on the time interval sequence, and generate the zero-crossing interval amount.
[0028] S402: Call the zero-crossing interval amount, perform difference calculation on the zero-crossing interval amount according to the standard cycle length reference value, compare the difference with the correction threshold, when the difference exceeds the correction threshold, trigger the correction command and record the trigger identifier, and establish the cycle difference identifier amount;
[0029] S403: Call the period difference identifier, and adjust the time coordinate of the edge positioning coordinate after drift compensation according to the difference direction and difference magnitude recorded in the identifier. Converge the adjusted edge time series to obtain the edge coordinate after period correction.
[0030] As a further aspect of the present invention, the correction threshold is a fixed quantization threshold determined based on the statistical dispersion of the zero-crossing interval recorded in the stable segment of the original bit period. The statistical dispersion is obtained by performing mean and deviation analysis on the zero-crossing interval in the original bit period.
[0031] The standard period length reference value is a reference period value obtained based on the nominal period parameter of the rated bit period, which is calculated from the rated frequency of the clock reference signal.
[0032] As a further aspect of the present invention, the specific steps of S5 are as follows:
[0033] S501: Based on the periodically corrected edge coordinate sequence, perform frequency domain decomposition based on Fourier transform on the discrete amplitudes within the sequence and compare the sampled values with the frequency index. After comparison, perform amplitude positioning and index aggregation and serialization processing to generate a frequency domain amplitude array.
[0034] S502: Call the frequency domain amplitude array, perform amplitude difference retrieval on the frequency sampled values in the array and adjacent sampled values, compare the difference values with the amplitude difference threshold, perform aggregation encoding and sequence sorting on the indexes that are greater than the amplitude difference threshold, and obtain the jitter frequency index set;
[0035] S503: Call the jitter frequency index set, perform amplitude conversion on the amplitude parameter corresponding to the index frequency and the time interval parameter of the edge position sequence, and perform weighted superposition and amplitude sequence normalization on the converted amplitude value to obtain the eye diagram jitter detection result.
[0036] As a further aspect of the present invention, the amplitude difference threshold is a quantitative value calculated by using a proportional coefficient to the interval span parameter of the amplitude distribution interval and the amplitude change of the discrete amplitude sample values within the frequency domain amplitude array.
[0037] In addition, the present invention also provides a real-time eye diagram jitter detection system for high-speed oscilloscopes, the real-time eye diagram jitter detection system for high-speed oscilloscopes comprising:
[0038] The original waveform sampling module acquires the digital waveform of the signal under test through a high-speed analog-to-digital converter, detects the timestamp corresponding to the zero-crossing position based on the zero-crossing detection algorithm, calculates the time offset, and groups it by bit period to obtain the cross-period edge time series.
[0039] The edge aggregation analysis module performs cluster analysis on the zero-crossing points of the same phase in adjacent bit periods based on the cross-cycle edge time series, groups the edge time points into jump point clusters, calculates the deviation, and obtains the cluster drift trend vector.
[0040] The drift compensation calculation module, based on the cluster drift trend vector, assigns error compensation weights to time points within the jump point cluster, calculates the time coordinate correction amount by weighting, and superimposes it onto the corresponding time coordinates to obtain the edge positioning coordinates after drift compensation.
[0041] The period calibration monitoring module calls the drift compensation edge positioning coordinates, monitors the time interval between the first and last zero crossings of the bit period through the period boundary detection circuit, calculates the difference with the standard period length, and triggers a correction command when the correction threshold is exceeded to obtain the period correction edge coordinates.
[0042] The spectral feature extraction module analyzes the spectral characteristics of the edge position sequence using the Fourier transform algorithm based on the periodically corrected edge coordinates, extracts the jitter frequency components and amplitudes, calculates the jitter amplitude parameters, and generates eye diagram jitter detection results.
[0043] Compared with the prior art, the advantages and positive effects of the present invention are as follows:
[0044] In this invention, phase correlation is established across the periodic edge sequence and the distribution structure of time points is identified by clustering, so that the cross-period offset forms a resolvable pattern. By extracting the drift trend and adjusting the correction amount of time points with difference weights, the systematic deviation that gradually accumulates in the sequence is suppressed. Period calibration is triggered by dynamic identification of periodic time intervals, so that the influence of abnormal periods is eliminated locally. By resolving the frequency components in the corrected edge sequence, the periodic structure and amplitude relationship of jitter changes can be clearly separated, thereby improving the consistency of edge positioning and strengthening the overall stability and integrity of jitter expression. Attached Figure Description
[0045] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the accompanying drawings without creative effort.
[0046] Figure 1 This is a schematic diagram of the steps of the present invention;
[0047] Figure 2 This is a detailed schematic diagram of S1 of the present invention;
[0048] Figure 3 This is a detailed schematic diagram of S2 of the present invention;
[0049] Figure 4 This is a detailed schematic diagram of S3 of the present invention;
[0050] Figure 5 This is a detailed schematic diagram of S4 of the present invention;
[0051] Figure 6 This is a detailed schematic diagram of S5 of the present invention;
[0052] Figure 7 This is a system module diagram of the present invention. Detailed Implementation
[0053] The technical solution of the present invention will now be described with reference to the accompanying drawings.
[0054] In embodiments of the present invention, words such as "exemplarily," "for example," etc., are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" in the present invention should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of the word "exemplary" is intended to present the concept in a concrete manner. Furthermore, in embodiments of the present invention, the meaning expressed by "and / or" can be both, or either one.
[0055] In the embodiments of this invention, the terms "image" and "picture" may sometimes be used interchangeably. It should be noted that, without emphasizing the distinction between them, they convey the same meaning. Similarly, the terms "of," "corresponding (relevant)," and "corresponding" may sometimes be used interchangeably. It should be noted that, without emphasizing the distinction between them, they convey the same meaning.
[0056] In this embodiment of the invention, sometimes the subscript such as W1 is written in a non-subscript form such as W1. When the difference is not emphasized, the meaning they express is the same.
[0057] To make the technical problems, technical solutions and advantages of the present invention clearer, a detailed description will be given below in conjunction with the accompanying drawings and specific embodiments.
[0058] Please see Figure 1 This invention provides a method for real-time jitter detection of eye diagrams in high-speed oscilloscopes, comprising the following steps:
[0059] S1: Acquire the digital waveform of the signal under test through a high-speed analog-to-digital converter, detect the timestamp corresponding to the zero-crossing position based on the zero-crossing detection algorithm, calculate the time offset, group by bit period, and obtain the cross-period edge time series;
[0060] S2: Based on the cross-cycle edge time series, cluster analysis is performed on the zero-crossing points of the same phase in adjacent bit periods, and the edge time points are grouped into jump point clusters. The deviation is calculated to obtain the cluster drift trend vector.
[0061] S3: Based on the cluster drift trend vector, error compensation weights are assigned to time points within the cluster at the jump point. The time coordinate correction is calculated by weighting and superimposed on the corresponding time coordinates to obtain the edge positioning coordinates after drift compensation.
[0062] S4: Call the drift compensation edge positioning coordinates, monitor the time interval between the first and last zero crossings of the bit period through the period boundary detection circuit, calculate the difference with the standard period length, and trigger the correction command when the correction threshold is exceeded to obtain the edge coordinates after period correction.
[0063] S5: Based on the edge coordinates after periodic correction, the Fourier transform algorithm is used to analyze the spectral characteristics of the edge position sequence, extract the jitter frequency components and amplitude, calculate the jitter amplitude parameters, and generate eye diagram jitter detection results.
[0064] The cross-cycle edge time series includes timestamps, bit period groups, and cross-cycle jump points. The jump point clusters include cluster centers, offsets, and dispersion. The edge positioning coordinates after drift compensation include corrections, compensation weights, and positioning accuracy. The edge coordinates after period correction include period length deviation, period consistency, and correction deviation. The eye diagram jitter detection results include jitter frequency components, amplitude components, and spectral characteristics.
[0065] Please see Figure 2 The specific steps of S1 are as follows:
[0066] S101: Obtains digital waveforms through high-speed analog-to-digital converter, compares the amplitude and sign of adjacent sampling points based on zero-crossing detection algorithm and locates the sign change point, performs linear proportional interpolation on the sign change point based on the amplitude difference between the two sampling points and determines the crossover time position, and generates a zero-crossing timestamp sequence.
[0067] First, start the configuration. A high-speed oscilloscope front-end acquisition module with a high sampling rate, which locks onto the object under test. A high-speed serial signal link inputs analog signals to a signal with a bit width of [missing information]. In analog-to-digital converters, the analog-to-digital converter uses... The voltage amplitude is continuously acquired at fixed sampling time intervals, and the continuously acquired analog voltage is quantized into a value containing... Discrete voltage sequence at each sampling point Then, the zero-crossing detection logic module in the central processing unit is called to initialize the traversal pointer. for Read data from two adjacent sampling points sequentially from the memory. and Extract respectively and The sign bit is used to perform an XOR logical operation. If the result is... The system determines that a sign change point exists at this location, meaning the signal waveform crosses the zero-level axis at this point, and records the index. Corresponding physical sampling time as well as Corresponding physical sampling time ,in Set as The corresponding amplitude value Measured as ,and Set as The corresponding amplitude value Measured as Next, based on the principle of linear proportional interpolation, a cross-time calculation model is constructed. This model calls the floating-point arithmetic unit to calculate the sum of the absolute values of the amplitudes of the two sampling points. The calculation result is Calculate the proportion of the absolute value of the amplitude of the previous sampling point in the total amplitude difference. Substituting the numerical values, we obtain Simultaneously calculate the time step. The proportion coefficient With time step Multiply to obtain the zero-crossing point relative to the zero-crossing point. time offset Finally, this offset is added to the base sampling time. The above calculates the precise zero-cross timestamp. Following this process, the subsequent sampling points are traversed, the positions of sign changes in the sequence are identified, and the interpolation calculations are performed sequentially. The calculated results are then... The values are stored sequentially in a double-rate synchronous dynamic random access memory, forming a structure with a length of [missing information]. Zero-crossing timestamp sequence .
[0068] S102: Call the zero-crossing timestamp sequence, perform differential processing on the difference between adjacent time positions to form a time displacement correlation value, then perform proportional mapping on the correlation value according to the sampling time interval to obtain the time displacement set, and perform segmented aggregation according to the sampling time order to obtain the periodic time offset matrix;
[0069] Recall the zero-cross timestamp sequence constructed in memory Read the first timestamp in the sequence As a reference phase, the standard unit interval of the signal under test is set. for The differential processing engine is activated to sequentially read two adjacent timestamps from the sequence. and Perform subtraction to obtain the difference between adjacent time positions. For example, reading in a certain operation as well as The difference was calculated. The difference was then subjected to an interval relative to the standard unit. The modulo operation preprocesses the data, but to preserve the multi-cycle jitter characteristics, correlation value calculation is performed here, and the difference is calculated. and the nearest integer multiple The comparison is performed, and the calculation formula is as follows: ,in In order to make The smallest positive integer, in this example Substituting the values into the numerical values, the time displacement correlation value is obtained. This positive value indicates that the signal edge lags behind the ideal clock. This difference and correlation operation is performed sequentially on adjacent points in the sequence to form a set of time-displacement correlation values. Then, a proportional mapping is performed on the correlation values based on the sampling time interval to establish a two-dimensional mapping table. The global time index of the sampling point in the original waveform is used as the horizontal axis, and the calculated time-displacement correlation value is used as the coordinate. Using the vertical axis as the ordinate, obtain the time displacement set, and then perform segmented aggregation according to the sampling time order, setting the segment window length. Corresponding to the horizontal time base span of the oscilloscope screen, for example, setting each segment to contain indivual The time displacement set is sequentially divided into Each subset represents the jitter distribution within a signal period, and a period time offset matrix is constructed. Each row of the matrix corresponds to a segmented subset, and each column of the matrix corresponds to the first segment within that subset. Each edge position will be calculated Values are filled into the corresponding elements of the matrix. The specific differential processing and mapping data are shown in Table 1.
[0070] Table 1: Signal edge time displacement mapping data table.
[0071]
[0072] As shown in Table 1, by comparing the difference of the original timestamp with the ideal multiple, the picosecond jitter component of each edge relative to the ideal clock was accurately extracted, and the component was then loaded into the periodic time offset matrix.
[0073] S103: Based on the periodic time offset matrix, sort multiple entries according to their intra-segment index positions, aggregate entries with the same index position according to the segment order, and obtain cross-period edge time series;
[0074] Based on the constructed periodic time offset matrix The matrix column sorting and aggregation controller is activated. For each row of data vectors in the matrix, the intra-segment index position sorting is performed. Due to the existence of bit loss or bit error in the actual signal, the number of detected edges in each segment is inconsistent. First, the rows of the matrix are traversed to identify the valid non-empty data elements in each row, and intra-segment index values are assigned according to the relative time order of the elements in the row. For example, for the first The row vector of the row, containing the first row. Each valid edge jitter value is marked as , No. Each marker is This process continues until the end of the line, after which a vertical scan is performed to locate the index position within the specific segment. For example, selecting From the first of the matrix Arriving at the Extract line by line within the row. The value of an entry, if a row is in position If data is missing, the row will be automatically skipped, and the extracted values will be used. Serial aggregation is performed according to the row number order, i.e., segment order, of the matrix to construct a cross-cycle edge jitter subsequence for that specific edge position. Then, the pointer is... Incrementing, repeating the extraction and aggregation process described above, until... Once the maximum number of columns in the matrix is reached, the generated subsequences are sorted by index. The data can be concatenated sequentially or output as independent data channels to ultimately obtain a complete cross-cycle edge time series. This sequence not only contains simple time information, but also implies the periodic jitter trend of the signal during long-term transmission through its arrangement structure. This result shows that discrete single-trigger sampling data has been successfully reconstructed into a statistically significant continuous eye diagram data source, which can directly support subsequent eye diagram rendering and jitter histogram analysis.
[0075] Please see Figure 3 The specific steps of S2 are as follows:
[0076] S201: Based on the cross-cycle edge time series, perform a search operation on the zero-crossing time value of the same phase of adjacent bit periods, and perform a difference operation between the time value and the phase reference time value. Then, arrange the difference items according to the phase index sequence to generate a zero-crossing difference matrix.
[0077] Call the cross-cycle edge time series generated in memory Initialize the phase reference clock generator, and set the reference clock frequency to be strictly synchronized with the baud rate of the signal under test. The corresponding standard unit interval Fixed as Start sequence retrieval pointer point to Read the first zero-crossing time value from the address of the first address. For example, reading According to the preset code length (Corresponding to PRBS7 code pattern) Calculate the relative phase position of the current time point within the code pattern period using the modulo operation formula. Determine the phase index and substitute it into the numerical calculation to obtain... Take the integer part to lock the phase index Then, based on this index, the phase reference time lookup table is called to obtain the ideal reference time value corresponding to that phase. Assuming the current cumulative number of cycles is ,but Calculation A search operation is performed on the zero-crossing time value of the same phase in adjacent bit periods, scanning backwards in the sequence to lock the next marker as the index. zero crossing time point For example, the time value of the corresponding position in the next cycle is retrieved. Perform difference calculations to determine the deviation between the time value and the phase reference time value. The relative jitter calculation logic is used here, that is, the calculation... Relative to the deviation of the local recovery clock, if the local recovery clock is aligned at this point... The difference Continue performing this operation on the data points in the sequence to obtain massive amounts of difference data, and then construct a zero-crossing difference matrix. The row dimensions of this matrix correspond to the phase index. to The column dimension corresponds to the number of observation periods, and the calculated difference term According to its corresponding phase index Fill in the corresponding row of the matrix, for example, the above Fill in the first Line number The column will be used to detect subsequent events. Fill in the first Line number The columns complete the data classification and loading, and finally generate the zero-crossing difference matrix. The instantaneous jitter amplitude of 127 different phase points during continuous monitoring was fully recorded.
[0078] S202: Call the zero-crossing difference matrix, perform aggregation on the difference vector based on the difference magnitude and phase index, extract the offset sequence from the aggregated vector, and then reorganize the offsets according to the group order to obtain the offset distribution parameter set;
[0079] Retrieve the zero-crossing difference matrix that has been constructed in the cache area Activate the matrix aggregation processor to perform aggregation on the specific phase index vector represented by each row in the matrix, and set the step size of the difference magnitude aggregation interval. for traversing the matrix row data vector The difference magnitude is mapped to the corresponding quantization interval, and the number of landing points in each interval is counted, for example, the numerical value. fall into The interval is incremented by 1. After the statistics for that row are completed, the center value of the high-probability distribution interval is extracted from the aggregation result as the feature offset of that phase. For example, the statistical peak of the 3rd row is located in... If the interval is specified, then the feature offset is extracted. (Midpoint of the interval), perform this operation on the matrix rows sequentially to generate a sequence containing... The original offset sequence of elements Then, the offsets are adjusted according to the group order, and the data channel grouping standard in the high-speed serial bus protocol is used to... Divided into There are 1 logical groups, each containing 1 logical group. Each phase index (truncated or padded at the end), for the first group (index ), calculate the root mean square value of the offset within the group. Assume the set of offsets within the group is Substituting into the root mean square formula, we can calculate the result. Simultaneously extract the maximum positive offset within the group. and maximum negative offset The statistical feature parameters are packaged to obtain the offset distribution parameter set. This parameter set quantifies the jitter dispersion and central trend of different phase groups in detail. The specific grouping and data set are shown in Table 2.
[0080] Table 2: Adjustment table of phase offset distribution parameters.
[0081]
[0082] As shown in Table 2, the massive point-by-point difference data is compressed and organized into distribution parameters with macroscopic statistical significance, clearly demonstrating the signal quality differences in different logical channel regions.
[0083] S203: Call the offset distribution parameter set, perform serialization and arrangement of the offset parameters in index order, perform difference operation on adjacent offset parameters to form a difference sequence, extract the direction change term based on the sequence position and accumulate it to obtain the cluster drift trend vector;
[0084] Call the offset distribution parameter set in memory The trend analysis engine is started. First, the offset parameters are serialized and arranged according to their index order. Then, the aggregated feature values of multiple groups in Table 2 are extracted to form a one-dimensional feature vector. Then, a difference operation is performed on the adjacent offset parameters in the vector, calculated using the following formula: Calculate the first-order difference respectively Second-order difference Third-order difference To form a difference sequence Then, based on the sequence position, the direction change term is extracted, and a positive drift threshold is set. Negative drift threshold Scan one by one Determine the elements in the data. If the threshold is not exceeded, it is marked as a stable state. ,determination Less than Marked as negative drift ,determination Greater than Marked as positive drift Accumulate the marker value into the corresponding drift counter and initialize the accumulation variable. Perform accumulation operation However, in the weighted mode, a higher weighting coefficient is assigned to positive large drifts. Recalculate the cumulative value The results indicate a slight positive divergence trend overall. Finally, the difference results from multiple groups were combined with the cumulative trend value to obtain the cluster drift trend vector. This vector quantization describes the dynamic evolution of eye diagram jitter in different phase intervals.
[0085] Please see Figure 4 The specific steps of S3 are as follows:
[0086] S301: Based on the cluster drift trend vector, retrieve the time coordinates within the cluster at the jump point and call the offset parameter items in the offset distribution parameter set. Compare the offset parameter items with the error compensation threshold and aggregate the items greater than the threshold to obtain the weighted coefficient matrix value.
[0087] The error compensation threshold is based on the statistical extraction of all offset parameter items in the offset distribution parameter set, and is a quantitative reference value obtained by performing a linear combination of the mean and standard deviation of all offset parameter items in the offset distribution parameter set.
[0088] Based on the obtained cluster drift trend vector Initiate the abnormal transition point locking procedure, based on the markers in the vector. or The drift direction index is used to retrieve the corresponding time coordinates within the cluster of transition points in the cross-period edge time series, for example, to retrieve the set of edge times affected by positive drift. ,in Then call the generated offset distribution parameter set The phase offset parameter is extracted to construct a statistical sample space, and the sample size is [not specified]. Set as First, the floating-point arithmetic unit is called to perform an accumulation operation on the offset parameter and divide it by the sample size to obtain the arithmetic mean. Assuming the sum is Then the mean is calculated. Next, calculate the sum of squares of the differences between each parameter and the mean, and divide by . Obtaining the standard deviation by taking the square root Substituting the numerical values, we obtain At this point, according to the Gaussian distribution The principle is to set the error compensation threshold calculation logic and select weighting coefficients. Perform linear combination operations The error compensation threshold was calculated. After obtaining the quantization reference value, the offset parameter items corresponding to the jump point cluster are scanned one by one, and numerical comparison and judgment are performed. For example, for the corresponding offset parameter ,determination This item was identified as a significant source of jitter and retained, while for If an item is identified as natural noise, it will be removed. For the selected offsets exceeding a threshold, an aggregation operation will be performed, and a weighting coefficient will be calculated based on the magnitude of the deviation from the threshold. The calculation formula is as follows: ,for Calculated The weights of the retained items are calculated sequentially, ultimately generating a weighted coefficient matrix value for this cluster. This matrix precisely quantifies the contribution of each anomalous transition point to the overall time series drift.
[0089] S302: Call the weighted coefficient matrix value, perform proportional conversion between the time coordinate and the weighted coefficient within the jump point cluster, aggregate the conversion results, calculate the offset based on the aggregated offset parameter, perform difference processing on the offset and the time coordinate, and obtain the time coordinate correction value.
[0090] Call the weighted coefficient matrix value generated in memory The corresponding transition point within the cluster is used to activate the timing error correction engine, perform proportional conversion for each controlled edge point, and read the time coordinates. Corresponding original offset parameters and weighting coefficients First, the conversion results are aggregated to determine the effective drift component at that point, and then a multiplication operation is performed. The effective drift value is calculated. This value represents the non-random deviation caused by systematic jitter at that point in time. The target theoretical offset is then calculated based on the aggregated offset parameters. In this model, the goal is to revert significant drift to the threshold boundary or the ideal zero point. The correction objective is set as eliminating the effective drift component, i.e., calculating the offset. Next, the offset is compared with the original time coordinate to obtain the correction vector. Since the previous detection showed a positive hysteresis drift (i.e., the time value is too large), the correction direction should be negative. The difference calculation formula is then constructed. Substituting the values, we obtain the time coordinate correction value. If the corresponding negative lead drift is reversed, the sign is reversed within the cluster. Repeat this calculation process for each outlier point, for example, for another time point. The correction amount was calculated. The calculation results are temporarily stored in the cache to form a complete sequence of time coordinate correction values. The specific drift parameter processing and correction calculation data are shown in Table 3.
[0091] Table 3: Calculation table for drift compensation at abnormal jump points.
[0092]
[0093] As shown in Table 3, the weighted correction amount for each outlier was adaptively calculated based on the statistical threshold, ensuring that the compensation operation only targets significant drift errors and avoids excessive intervention in normal random jitter.
[0094] S303: Call the time coordinate correction value, perform superposition processing on the time coordinates and correction values in the jump point cluster, sort by time and maintain the continuity of the index to obtain the edge positioning coordinates after drift compensation;
[0095] The calculated time coordinate correction sequence and the original time coordinates within the jump point cluster are called, and a parallel adder array is started to perform superposition processing on the two to achieve physical coordinate relocation. For index 1, edge points, read the original coordinates With correction amount Perform algebraic addition The compensated coordinates are calculated. For indexes The point, calculate This process essentially pulls the diverging edge trajectory back to near the convergent ideal eye diagram trajectory. After updating the coordinates of the points, due to the significant correction causing a slight time sequence misalignment, the quicksort algorithm is immediately invoked with the updated time values. The entire sequence is reordered for the keywords, ensuring that edge events are strictly arranged in a monotonically increasing logical order. Simultaneously, an index continuity check is performed, traversing the sorted sequence. If index breaks are found due to filtering or merging, continuous logical indexes are reassigned. For example, the original index Mapped to the first in the new sequence Each valid bit outputs the final drift-compensated edge positioning coordinate sequence. The results indicate that the signal timing after statistical weighting compensation has reduced nonlinear drift interference, and the generated eye diagram data will exhibit higher clarity and opening when displayed in superimposed form.
[0096] Please see Figure 5 The specific steps of S4 are as follows:
[0097] S401: Based on the edge positioning coordinates after drift compensation, detect the positioning coordinate time series, retrieve the first and last zero-crossing time positions of each bit period, calculate the first and last zero-crossing time interval, perform consistency judgment on the time interval sequence, and generate the zero-crossing interval amount.
[0098] Call the edge positioning coordinate sequence generated after drift compensation processing First, activate the periodic retrieval engine in the timing logic analysis unit. This engine sets the bitstream length window to be analyzed to... Each standard unit interval positions the pointer to the first valid time coordinate of the sequence. ,For example And read the next adjacent time coordinate in sequence. ,For example The system executes the first and last zero-crossing point recognition logic to determine whether these two consecutive coordinate points constitute a complete signal level switching cycle, i.e., to verify whether there is a jump that crosses a logic threshold between them. Once confirmed... The starting point is zero and To terminate at zero, immediately start the floating-point subtractor to calculate the physical time span between the two and obtain the original time interval value. Substituting the numerical values, we obtain Then, a consistency check is performed on the calculated time interval sequence to filter it, and a reasonable fluctuation range of the effective bit period is preset. This range is based on the signal baud rate. Corresponding ideal cycle Set upper and lower limits, for example, set the lower limit as... And the upper limit is To exclude long-term connections or long-term connection Non-single-bit span data caused by the code pattern, if the calculated If a sample falls within this interval, it is marked as a valid consistency interval sample; otherwise, it is discarded as invalid data, and the traversal pointer continues to move and read. and , assuming Calculate the difference to get The value exceeded the set range, was determined to be a non-single-bit period and skipped. Through scanning and filtering the entire sequence, zero-crossing interval data that met the single-bit characteristics were extracted one by one, and the data was stored in a high-speed buffer queue according to its original time-series index. Finally, a sequence containing... Sequence of zero-crossing intervals of valid elements This sequence not only records the actual duration of each independent bit, but also preserves the instantaneous pulse width modulation characteristics caused by high-frequency noise or inter-symbol interference during signal transmission, providing an accurate time-domain measurement basis for subsequent fine-grained correction.
[0099] S402: Call the zero-crossing interval amount, perform difference calculation on the zero-crossing interval amount according to the standard cycle length reference value, compare the difference with the correction threshold, when the difference exceeds the correction threshold, trigger the correction command and record the trigger identifier, and establish the cycle difference identifier amount;
[0100] Call the zero-crossing interval sequence in the storage queue First, extract the rated frequency parameters of the clock reference signal. The nominal period parameter of the rated bit period, i.e., the standard period length reference value, is obtained by using the reciprocal operation relationship. Then select the first part of the sequence Using the zero-crossing intervals in a stable state as a statistical sample, mean and deviation analysis is performed to determine the correction threshold, and the statistical coprocessor is invoked to calculate the sample mean. with standard deviation Assuming the calculation yields , ,in accordance with Statistical principles set a fixed quantification threshold, and the calculation formula is as follows: Substituting the values into the calculation yields the correction threshold. After establishing the baseline and threshold, the interval for each zero-crossing point in the sequence is... Perform the difference calculation and construct the difference operation formula. For example, for the first interval quantity Calculate the difference For another interval Calculate the difference The absolute value of the calculated difference is compared with the correction threshold. Perform numerical comparisons, targeting ,determination This is within the normal fluctuation range and will not trigger correction. ,determination Upon confirming a significant distortion in the bit period, a correction command is immediately triggered, and the trigger flag is recorded. Meanwhile, a periodic difference identifier containing the difference magnitude, direction sign and corresponding edge index is established. The entire sequence is traversed, and the excess difference events are recorded in detail in the correction register file. The specific periodic detection and threshold determination data are shown in Table 4.
[0101] Table 4: Bit Period Difference Detection and Correction Judgment Table.
[0102]
[0103] As shown in Table 4, by strictly comparing thresholds, abnormal bit periods that deviate too much from the nominal value were identified, thus locking in the target object for subsequent targeted geometric correction.
[0104] S403: Call the periodic difference identifier, and adjust the time coordinate of the edge positioning coordinate after drift compensation according to the difference direction and difference magnitude recorded in the identifier. Converge the adjusted edge time series to obtain the edge coordinate after periodic correction.
[0105] The period difference flag in the calibration register file is invoked to start the time coordinate fine-tuning controller. Time coordinate adjustments are then performed on the specific edges marked as triggering calibration, using the indices in Table 4 as... Taking the anomaly as an example, the periodic difference is This indicates that the current bit period is too long, causing a zero-crossing point at the end of the period. A hysteresis drift occurred relative to the ideal position. The original drift-compensated edge positioning coordinates of that point were read. The adjustment strategy is determined based on the direction of the difference. For positive differences (larger period), a contraction adjustment is performed, and the adjustment amount is calculated. This means only pulling back the portion exceeding the threshold, or using a full regression strategy. Here, a full regression to the nominal value strategy is used to maximize the eye diagram opening, and the adjustment amount is set. Perform addition to update coordinates For indexes negative difference (Period is too short), perform an expansion adjustment and calculate the adjustment amount. Update the corresponding coordinates The above coordinate translation operation is performed sequentially on the recorded identifiers. For normal points that have not triggered correction, the original coordinates are kept unchanged. After completing the traversal and correction of the entire sequence, the adjusted edge time points are aggregated into a new memory space, and a timing integrity check is performed again to ensure that the adjustment operation has not caused a timeline reversal conflict. Finally, the periodically corrected edge coordinate sequence is obtained. Each data point in this sequence has been rigorously aligned to the ideal bit clock grid, eliminating periodic width and narrow distortion caused by non-uniform transmission medium or driver jitter, and can be directly used to generate high-precision jitter-free eye diagram models.
[0106] Please see Figure 6 The specific steps of S5 are as follows:
[0107] S501: Based on the edge coordinate sequence after periodic correction, the discrete amplitudes within the sequence are decomposed in the frequency domain based on Fourier transform, and the sampled values are compared with the frequency index. After comparison, amplitude positioning and index aggregation are performed and serialization is carried out to generate a frequency domain amplitude array.
[0108] Based on the generated periodically corrected back edge coordinate sequence First, the frequency domain signal processing engine is activated, and the discrete amplitude generation module within the sequence is called to transform the edge position deviation in the time domain into a discrete time interval error sequence. Set the number of sampling points The time resolution corresponds to the system clock cycle. For example, before extraction The error value at each point is Then, a frequency domain decomposition operation based on Fast Fourier Transform (FFT) is performed to map the time-domain sequence to the frequency domain space, and the complex spectral coefficients at each frequency point are calculated. For the fundamental frequency... (Assuming the sampling rate is) and ), calculate the real part With the imaginary part The amplitude of the sampled value is calculated based on the modulo operation logic. Calculate one by one to The amplitude corresponding to the frequency index is used to generate the original spectrum data. Then, the calculated sampled values are compared with the frequency index using a scanning process, with the background noise floor threshold set as... It identifies frequency components that are significantly higher than the base, for example, in the index. (correspond Amplitude was detected at ) In the index (correspond Amplitude was detected at ) Amplitude localization is performed on key frequency points, recording their precise frequency coordinates and energy intensity. Index aggregation is then performed on nearby spectral leakage components. If the index... , , If the amplitude of each value is higher than the judgment line, then its energy is accumulated to the center index. Above, calculate the aggregation amplitude. After completing the aggregation processing of the entire frequency band, the data is serialized in ascending order of frequency index to construct a structured data stream containing frequency, amplitude, and phase information, ultimately generating a frequency domain amplitude array. The array clearly decomposes and quantifies the periodic jitter components that were originally mixed in the time domain into discrete spectral lines.
[0109] S502: Call the frequency domain amplitude array, perform amplitude difference retrieval on the frequency sampled values in the array and adjacent sampled values, compare the difference values with the amplitude difference threshold, perform aggregation encoding and sequence sorting on the indexes that are greater than the amplitude difference threshold, and obtain the jitter frequency index set;
[0110] Call the frequency domain amplitude array in memory The jitter component filtering controller is activated to perform amplitude difference retrieval for each frequency sample value in the array and its adjacent sample values, in order to index... Aggregate amplitude For example, retrieve its left adjacent value. (Sidelobe suppression has been performed), calculate the difference value. To accurately determine whether the difference originates from deterministic jitter rather than random noise fluctuations, a dynamic amplitude difference threshold needs to be constructed. First, statistical extraction is performed on all discrete amplitude samples within the frequency domain amplitude array to identify the maximum amplitude in the array. With minimum amplitude Calculate the interval span parameter of the amplitude distribution interval. Simultaneously, the amplitude variation of the discrete amplitude sample values is calculated, which is the first-order difference standard deviation of the total sequence amplitude. Select the scaling factor and set the span weight based on the set signal-to-noise ratio requirements. Weight of change A quantitative value is obtained by performing a linear weighted calculation. Substituting the numerical values, we obtain After obtaining this threshold, the calculated difference value will be... Amplitude difference threshold Perform comparison and determination For indexes identified as significant jitter frequencies, aggregate encoding is performed on those with amplitude difference thresholds, and the indexes are then... The data were labeled as specific interference sources (such as power switch noise), and redundant harmonic components were removed. The sequences were then rearranged. The specific frequency domain difference analysis and screening data are shown in Table 5, and the final jitter frequency index set was obtained. This set precisely identifies the main periodic interference frequency points that affect eye diagram quality.
[0111] Table 5. Frequency Domain Amplitude Difference Screening Analysis Table.
[0112]
[0113] As shown in Table 5, deterministic jitter components with high energy characteristics were effectively extracted from the complex spectral background through differential screening using dynamic thresholds.
[0114] S503: Call the jitter frequency index set, perform amplitude conversion on the amplitude parameter corresponding to the index frequency and the time interval parameter of the edge position sequence, and perform weighted superposition and amplitude sequence normalization on the converted amplitude value to obtain the eye diagram jitter detection result;
[0115] Call the selected jitter frequency index set The eye diagram parameter synthesis unit is activated, and the amplitude parameters corresponding to the index frequency and the edge position sequence time interval parameters are converted into single-sideband amplitudes in the frequency domain. Reduced to peak-to-peak jitter contribution in the time domain It adopts sinusoidal dithering conversion logic, and the calculation formula is as follows: For example, for Components, calculation ,for Components, calculation The converted amplitude values are then weighted and summed. Considering the receiver clock recovery circuit's (CDR) tracking and suppression capability against low-frequency jitter, weighting coefficients are set based on the frequency point's position relative to the CDR loop bandwidth. Assuming the loop bandwidth is... Then the above All high-frequency jitter is out-of-band and cannot be tracked or eliminated, therefore it is fully included and a weighting factor is set. Perform superposition operation This result represents the total deterministic jitter, which is then combined with random jitter. Estimated value, assuming Corresponding bit error rate The peak-to-peak value coefficient is Calculate total jitter Finally, amplitude sequence normalization is performed, and the total jitter value is compared with the standard unit interval. Compare and calculate eye diagram opening. Substituting the values, we get Simultaneously calculate the horizontal opening ratio. Obtain eye movement detection results This result quantitatively and intuitively reflects the actual effective sampling window width that the signal link can provide at the receiving end after eliminating systematic interference and taking random noise into account.
[0116] Please see Figure 7 A high-speed oscilloscope eye diagram real-time jitter detection system includes:
[0117] The original waveform sampling module acquires the digital waveform of the signal under test through a high-speed analog-to-digital converter, detects the timestamp corresponding to the zero-crossing position based on the zero-crossing detection algorithm, calculates the time offset, and groups it by bit period to obtain the cross-period edge time series.
[0118] The edge aggregation analysis module performs cluster analysis on the zero-crossing points of the same phase in adjacent bit periods based on the cross-cycle edge time series, groups the edge time points into jump point clusters, calculates the deviation, and obtains the cluster drift trend vector.
[0119] The drift compensation calculation module, based on the cluster drift trend vector, assigns error compensation weights to time points within the cluster at the jump point, calculates the time coordinate correction amount by weighting, and superimposes it onto the corresponding time coordinates to obtain the edge positioning coordinates after drift compensation.
[0120] The period calibration monitoring module calls the drift compensation edge positioning coordinates, monitors the time interval between the first and last zero crossings of the bit period through the period boundary detection circuit, calculates the difference with the standard period length, and triggers a calibration command when it exceeds the calibration threshold to obtain the period calibration edge coordinates.
[0121] The spectral feature extraction module uses the Fourier transform algorithm to analyze the spectral characteristics of the edge position sequence based on the edge coordinates after periodic correction, extracts the jitter frequency components and amplitude, calculates the jitter amplitude parameters, and generates eye diagram jitter detection results.
[0122] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A method for real-time jitter detection of eye diagrams in high-speed oscilloscopes, characterized in that, Includes the following steps: S1: Acquire the digital waveform of the signal under test through a high-speed analog-to-digital converter, detect the timestamp corresponding to the zero-crossing position based on the zero-crossing detection algorithm, calculate the time offset, group by bit period, and obtain the cross-period edge time series; The specific steps of S1 are as follows: S101: Obtains digital waveforms through high-speed analog-to-digital converter, compares the amplitude and sign of adjacent sampling points based on zero-crossing detection algorithm and locates the sign change point, performs linear proportional interpolation on the sign change point based on the amplitude difference between the two sampling points and determines the crossover time position, and generates a zero-crossing timestamp sequence. S102: Call the zero-crossing timestamp sequence, perform differential processing on the difference between adjacent time positions to form a time displacement correlation value, then perform proportional mapping on the correlation value according to the sampling time interval to obtain the time displacement set, and perform segmented aggregation according to the sampling time order to obtain the periodic time offset matrix; S103: Based on the periodic time offset matrix, sort multiple entries according to their intra-segment index positions, aggregate entries with the same index position according to segment order, and obtain cross-period edge time series; S2: Based on the cross-cycle edge time series, perform cluster analysis on the zero-crossing points of the same phase in adjacent bit periods, group the edge time points into jump point clusters, calculate the deviation, and obtain the cluster drift trend vector. The specific steps of S2 are as follows: S201: Based on the cross-cycle edge time series, perform a retrieval operation on the zero-crossing time value of the same phase in adjacent bit periods, and perform a difference operation between the time value and the phase reference time value. Then, arrange the difference items according to the phase index sequence to generate a zero-crossing difference matrix. S202: Call the zero-crossing difference matrix, perform aggregation on the difference vector based on the difference magnitude and phase index, extract the offset sequence from the aggregated vector, and then reorganize the offsets according to the group order to obtain the offset distribution parameter set; S203: Call the offset distribution parameter set, perform serialization and arrangement of the aggregated feature values of the offset parameter aggregation in index order, perform difference operation on adjacent aggregated feature values to form a difference sequence, extract the direction change term according to the sequence position and accumulate it to obtain the cluster drift trend vector; S3: Based on the cluster drift trend vector, assign error compensation weights to time points within the jump point cluster, calculate the time coordinate correction amount by weighting, and superimpose it onto the corresponding time coordinates to obtain the edge positioning coordinates after drift compensation. S4: Call the drift compensation edge positioning coordinates, monitor the time interval between the first and last zero crossings of the bit period through the period boundary detection circuit, calculate the difference with the standard period length, and trigger a correction command when the correction threshold is exceeded to obtain the period correction edge coordinates. S5: Based on the edge coordinates after periodic correction, the Fourier transform algorithm is used to analyze the spectral characteristics of the edge position sequence, extract the jitter frequency components and amplitude, calculate the jitter amplitude parameters, and generate eye diagram jitter detection results.
2. The method for real-time jitter detection of high-speed oscilloscope eye diagrams according to claim 1, characterized in that, The cross-cycle edge time series includes timestamps, bit period groups, and cross-cycle jump points. The jump point cluster includes cluster centers, offsets, and dispersion. The drift-compensated edge positioning coordinates include correction amounts, compensation weights, and positioning accuracy. The period-corrected edge coordinates include period length deviation, period consistency, and correction deviation. The eye diagram jitter detection results include jitter frequency components, amplitude components, and spectral characteristics.
3. The method for real-time jitter detection of high-speed oscilloscope eye diagrams according to claim 1, characterized in that, The specific steps for S3 are as follows: S301: Based on the cluster drift trend vector, retrieve the time coordinates within the jump point cluster and call the offset parameter items in the offset distribution parameter set. Compare the offset parameter items with the error compensation threshold and aggregate the items greater than the threshold to obtain the weighted coefficient matrix value. S302: Call the weighted coefficient matrix value, perform proportional conversion between the time coordinates and weighted coefficients in the jump point cluster, aggregate the conversion results, calculate the offset based on the aggregated offset parameters, perform difference processing on the offset and time coordinates, and obtain the time coordinate correction value. S303: Call the time coordinate correction value, perform superposition processing on the time coordinates and correction values in the jump point cluster, sort by time and maintain the continuity of the index to obtain the edge positioning coordinates after drift compensation.
4. The method for real-time jitter detection of high-speed oscilloscope eye diagrams according to claim 3, characterized in that, The specific steps of S4 are as follows: S401: Based on the drift compensation edge positioning coordinates, detect the positioning coordinate time series, retrieve the first and last zero-crossing time positions of each bit period, calculate the first and last zero-crossing time interval, perform consistency judgment on the time interval sequence, and generate the zero-crossing interval amount. S402: Call the zero-crossing interval amount, perform difference calculation on the zero-crossing interval amount according to the standard cycle length reference value, compare the difference with the correction threshold, when the difference exceeds the correction threshold, trigger the correction command and record the trigger identifier, and establish the cycle difference identifier amount; S403: Call the period difference identifier, and adjust the time coordinate of the edge positioning coordinate after drift compensation according to the difference direction and difference magnitude recorded in the identifier. Converge the adjusted edge time series to obtain the edge coordinate after period correction.
5. The method for real-time jitter detection of high-speed oscilloscope eye diagrams according to claim 4, characterized in that, The correction threshold is a fixed quantization threshold determined based on the statistical dispersion of the zero-crossing interval recorded in the stable segment of the original bit period. The statistical dispersion is obtained by performing mean and deviation analysis on the zero-crossing interval in the original bit period. The standard period length reference value is a reference period value obtained based on the nominal period parameter of the rated bit period, which is calculated from the rated frequency of the clock reference signal.
6. The method for real-time jitter detection of high-speed oscilloscope eye diagrams according to claim 4, characterized in that, The specific steps of S5 are as follows: S501: Based on the periodically corrected edge coordinate sequence, perform frequency domain decomposition based on Fourier transform on the discrete amplitudes within the sequence and compare the sampled values with the frequency index. After comparison, perform amplitude positioning and index aggregation and serialization processing to generate a frequency domain amplitude array. S502: Call the frequency domain amplitude array, perform amplitude difference retrieval on the frequency sampled values in the array and adjacent sampled values, compare the difference values with the amplitude difference threshold, perform aggregation encoding and sequence sorting on the indexes that are greater than the amplitude difference threshold, and obtain the jitter frequency index set; S503: Call the jitter frequency index set, perform amplitude conversion on the amplitude parameter corresponding to the index frequency and the time interval parameter of the edge position sequence, and perform weighted superposition and amplitude sequence normalization on the converted amplitude value to obtain the eye diagram jitter detection result.
7. The method for real-time jitter detection of high-speed oscilloscope eye diagrams according to claim 6, characterized in that, The amplitude difference threshold is a quantitative value calculated by using a proportional coefficient to the amplitude distribution interval span parameter and the amplitude change of the discrete amplitude sample values within the frequency domain amplitude array.
8. A high-speed oscilloscope eye diagram real-time jitter detection system, characterized in that, The system is used to implement the real-time jitter detection method for high-speed oscilloscope eye diagrams according to any one of claims 1-7, the system comprising: The original waveform sampling module acquires the digital waveform of the signal under test through a high-speed analog-to-digital converter, detects the timestamp corresponding to the zero-crossing position based on the zero-crossing detection algorithm, calculates the time offset, and groups it by bit period to obtain the cross-period edge time series. The edge aggregation analysis module performs cluster analysis on the zero-crossing points of the same phase in adjacent bit periods based on the cross-cycle edge time series, groups the edge time points into jump point clusters, calculates the deviation, and obtains the cluster drift trend vector. The drift compensation calculation module, based on the cluster drift trend vector, assigns error compensation weights to time points within the jump point cluster, calculates the time coordinate correction amount by weighting, and superimposes it onto the corresponding time coordinates to obtain the edge positioning coordinates after drift compensation. The period calibration monitoring module calls the drift compensation edge positioning coordinates, monitors the time interval between the first and last zero crossings of the bit period through the period boundary detection circuit, calculates the difference with the standard period length, and triggers a correction command when the correction threshold is exceeded to obtain the period correction edge coordinates. The spectral feature extraction module analyzes the spectral characteristics of the edge position sequence using the Fourier transform algorithm based on the periodically corrected edge coordinates, extracts the jitter frequency components and amplitudes, calculates the jitter amplitude parameters, and generates eye diagram jitter detection results.
Citation Information
Patent Citations
Method and apparatus for measuring jitter
CN101133336A
Digital signal analysis method and device, terminal and storage medium
CN119147814A