Group delay based averaging

10345339 ยท 2019-07-09

Assignee

Inventors

Cpc classification

International classification

Abstract

Embodiments of the present invention provide techniques and methods for improving signal-to-noise ratio (SNR) when averaging two or more data signals by finding a group delay between the signals and using it to calculate an averaged result. In one embodiment, a direct average of the signals is computed and phases are found for the direct average and each of the data signals. Phase differences are found between each signal and the direct average. The phase differences are then used to compensate the signals. Averaging the compensated signals provides a more accurate result than conventional averaging techniques. The disclosed techniques can be used for improving instrument accuracy while minimizing effects such as higher-frequency attenuation. For example, in one embodiment, the disclosed techniques may enable a real-time oscilloscope to take more accurate S parameter measurements.

Claims

1. A method for measuring an output from a device under test in a test and measurement instrument based on two or more signals under test from the device under test, comprising: acquiring at an interface the two or more signals under test from the device under test; determining an average signal based on the two or more signals under test; determining an average group delay for the average signal; determining individual group delays for each of the two or more signals under test; determining a difference between the average group delay and the individual group delay for each of the two or more signals under test; generating compensated signals by compensating each difference between the average group delay and the individual group delay for each of the two or more signals under test; averaging the compensated signals to produce an averaged result; and outputting the averaged result as the output from the device under test.

2. The method of claim 1, wherein: determining the average group delay comprises determining a phase for the average signal; determining individual group delays for each of the two or more signals under test comprises determining individual phases for each of the two or more signals under test; and determining the difference between the average group delay and each of the individual group delays comprises determining differences between the average signal phase and the individual phases.

3. The method of claim 2, wherein determining the phase of the average signal comprises: transforming the average signal from a time domain to a frequency domain by a fast Fourier transform; and obtaining a phase from the transformation; and wherein determining the phases of the two or more signals under test comprises transforming the two or more signals under test from a time domain to a frequency domain by a fast Fourier transform, and obtaining phases from the results of the transformation.

4. The method of claim 2, wherein determining the phase for the average signal comprises: calculating a derivative of the average signal; transforming the derivative of the average signal from a time domain to a frequency domain by a fast Fourier transform; and obtaining a phase from the result of the transformation; and wherein determining the phases of the two or more signals under test comprises: calculating derivatives of the two or more data signals; transforming the derivatives from a time domain to a frequency domain by a fast Fourier transform; and obtaining phases from the results of the transformation.

5. The method of claim 2, wherein determining the phase differences comprises: unwrapping the phase of the average signal; unwrapping the phases of the two or more signals under test; and determining the phase differences by subtracting the unwrapped phase of the average signal from each of the unwrapped phases of the two or more signals under test.

6. The method of claim 2, wherein the differences comprise first differences and compensating the differences comprises: performing a straight-line fit for each of the differences by using a least mean squared method; obtaining second differences based at least in part on the slopes of the straight-line fit; and compensating the second differences.

7. The method of claim 6, wherein compensating the differences further comprises: determining time shifts for the two or more signals under test based on the second differences; and multiplying the results of the transformations to the frequency domain of the two or more signals under test by exp(j*2*f*t.sub.i), where j represents the square root of negative 1, f represents frequency, and t.sub.i represents the time shifts.

8. The method of claim 3, wherein transforming the average signal from the time domain to the frequency domain by the fast Fourier transform comprises determining a derivative of the average signal and transforming the derivative of the average signal from a time domain to a frequency domain by a fast Fourier transform; and wherein transforming the two or more signals under test to the frequency domain comprises determining derivatives of each of the two or more signals under test and transforming the derivatives from a time domain to a frequency domain by a fast Fourier transform.

9. The method of claim 4, wherein outputting the averaged result further comprises integrating the averaged result.

10. The method of claim 2, wherein averaging the compensated signals to produce the averaged result comprises; averaging the compensated signals in the frequency domain to produce an averaged frequency-domain result; and producing an averaged result by the averaged frequency-domain result to a time domain by an inverse fast Fourier transform.

11. The method of claim 2, wherein averaging the compensated signals to produce an averaged result comprises; generating time-domain compensated signals by transforming each compensated signal to a time domain by an inverse fast Fourier transform; and averaging the time-domain compensated signals to produce an averaged result.

12. A test and measurement instrument configured to compute a group-delay based averaged result of two or more signals under test, comprising: a physical interface configured to obtain the two or more signals under test; memory configured to store digital representations of the two or more signals under test, and the averaged result; a processor, configured to: determine an average signal based on the two or more signals under test; determine an average group delay for the average signal; determine individual group delays for each of the two or more signals under test; determine a difference between the average group delay and the individual group delay for each of the two or more signals under test; generate compensated signals by compensating each difference between the average group delay and the individual group delay for each of the two or more signals under test; and average the compensated signals to produce an averaged result.

13. The test and measurement instrument of claim 12, further comprising an analog-to-digital converter configured to convert the two or more signals under test to two or more digital signals under test.

14. The test and measurement instrument of claim 12, wherein the process is further configured to: determine the average group delay by determining a phase for the average signal; determine individual group delays for each of the two or more signals under test by determining individual phases for each of the two or more signals under test; and determining the difference between the average group delay and each of the individual group delays comprises determining differences between the average signal phase and the individual phases.

15. The test and measurement instrument of claim 14, wherein the processor is further configured to determine the phase of the average signal by: transforming the average signal from a time domain to a frequency domain by a fast Fourier transform; and obtaining a phase from the transformation; and wherein determining the phases of the two or more signals under test comprises transforming the two or more signals under test from a time domain to a frequency domain by a fast Fourier transform, and obtaining phases from the results of the transformation.

16. The test and measurement instrument of claim 14, wherein the processor is configured to determine determining the phase for the average signal bu: calculating a derivative of the average signal; transforming the derivative of the average signal from a time domain to a frequency domain by a fast Fourier transform; and obtaining a phase from the result of the transformation; and wherein the processor is configured to determine the phases of the two or more signals under test by: calculating derivatives of the two or more data signals; transforming the derivatives from a time domain to a frequency domain by a fast Fourier transform; and obtaining phases from the results of the transformation.

17. The test and measurement instrument of claim 14, wherein the processor is further configured to determine the phase differences comprises: unwrapping the phase of the average signal; unwrapping the phases of the two or more signals under test; and determining the phase differences by subtracting the unwrapped phase of the average signal from each of the unwrapped phases of the two or more signals under test.

18. The test and measurement instrument of claim 14, wherein the differences comprise first differences and the processor is further configured to compensate the differences by: performing a straight-line fit for each of the differences by using a least mean squared method; obtaining second differences based at least in part on the slopes of the straight-line fit; and compensating the second differences.

19. The test and measurement instrument of claim 18, wherein the processor is further configured to compensate the differences by: determining time shifts for the two or more signals under test based on the second differences; and multiplying the results of the transformations to the frequency domain of the two or more signals under test by exp(j* 2*f*t.sub.i), where j represents the square root of negative 1, f represents frequency, and t.sub.i represents the time shifts.

20. The test and measurement instrument of claim 15, wherein transforming the average signal from the time domain to the frequency domain by the fast Fourier transform includes determining a derivative of the average signal and transforming the derivative of the average signal from a time domain to a frequency domain by a fast Fourier transform; and wherein transforming the two or more signals under test to the frequency domain comprises determining derivatives of each of the two or more signals under test and transforming the derivatives from a time domain to a frequency domain by a fast Fourier transform.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 depicts a prior art high speed serial data link system.

(2) FIG. 2 depicts the phase and magnitude for the average of two vectors.

(3) FIG. 3 depicts a method for compensating time shifts between data signals in accordance with one embodiment of the present invention.

(4) FIG. 4 depicts a magnitude plot obtained in accordance with the disclosed invention, compared with a magnitude plot obtained using prior art averaging techniques.

(5) FIG. 5 depicts insertion loss measured in accordance with the disclosed invention, compared to insertion loss measured with a prior art VNA.

(6) FIG. 6 depicts an exemplary instrument for performing clock recovery in accordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

(7) FIG. 1 depicts a high-level block diagram of a serial data link system. Transmitter (Tx) 105 is connected to a receiver (Rx) 115 through a channel 110. As is known in the art, the channel 110 may consist of any physical transmission medium, including copper wire, coaxial cable, optical fiber, or (in the case of wireless transmission) the air. A channel 110 may also consist of multiple mediums.

(8) Real-time oscilloscopes are commonly used to measure characteristics of serial data link systems. As discussed above, the trigger jitter in real time scopes introduces horizontal shifts which cause the higher-frequency portions of the measured signal to be attenuated when averaging is used. The horizontal time shift (also called jitter) between two otherwise identical data signals (e.g., signals a and b) causes a constant group delay between the two signals. This group delay causes a proportional phase difference between the two signals. The relationship between time difference t and phase difference can be seen in the following equation:
(f)=2*f*t (eq 1)

(9) The impact that these horizontal shifts have on the averaged result can be examined in the frequency domain. At a particular frequency f, each signal may be represented by a vector in complex coordinates, as shown in FIG. 2. In FIG. 2, two data signals a and b are represented by the vectors {right arrow over (a)} 205 and {right arrow over (b)} 210. The phase difference between {right arrow over (a)} 205 and {right arrow over (b)} 210 is 220.

(10) Taking the direct average of {right arrow over (a)} 205 and {right arrow over (b)} 210 yields vector {right arrow over (c)} 215. As depicted in FIG. 2, vector {right arrow over (c)} 215 points to the mid-point of line {right arrow over (ab)} 225. The vector {right arrow over (c)} 215 is perpendicular to the line {right arrow over (ab)} 225, and bisects the angle . The magnitude of {right arrow over (c)} 215 is cos(/2) times the common magnitude of {right arrow over (a)} 205 and {right arrow over (b)} 210. When {right arrow over (a)} 205 and {right arrow over (b)} 210 are not in phase (i.e., when 220 is not zero), the magnitude of {right arrow over (c)} 215 will be less than the common magnitude of {right arrow over (a)} 205 and {right arrow over (b)} 210.

(11) The disclosed techniques address the time shift between data signals by explicitly measuring and compensating t before performing the averaging. By compensating the time shifts, the phase difference 220 is reduced to zero for all data signals that need to be averaged. So the averaged vector {right arrow over (c)} 215 will have the same magnitude as {right arrow over (a)} 205 and {right arrow over (b)} 210, since cos(0)=1.

(12) According to one embodiment of the present invention, two or more data signals (x.sub.1, . . . , x.sub.n) are acquired and a direct average of all of the data signals x is computed. Group delays (y.sub.1, . . . , y.sub.n) are computed for each individual signal (x.sub.1, . . . , x.sub.n) and an average group delay y is computed for the average signal x. Next, the difference between each signal's group delay (y.sub.1, . . . , y.sub.n) and the average group delay y is computed. The differences are compensated to create compensated signals (z.sub.1, . . . , z.sub.n). Finally, the compensated signals are averaged together to create an averaged result z.

(13) FIG. 3 depicts an exemplary flowchart for performing group delay-based averaging according to one embodiment of the present invention. At step 300, two or more data signals (x.sub.1, . . . , x.sub.n) are acquired. A direct average of all of the data signals is computed at step 305, to obtain an averaged signal x.

(14) In the embodiment shown in FIG. 3, the group delays are determined using by using phases of each signal. At step 310, the phase (f) of the averaged signal x is determined. In one embodiment, the phase is computed by performing a Fast-Fourier Transform (FFT) for the averaged signal x. In another embodiment, the phase (f) is computed by taking a derivative of the averaged signal x, and performing an FFT for the derivative of x. In both embodiments, a windowing function may optionally be applied before performing the FFT. The windowing function improves performance by eliminating leakage into adjacent frequency bins.

(15) At step 315, phases (f).sub.i are computed for the individual data signals similar to step 310. In one embodiment, phases (f).sub.i are computed by performing an FFT for each signal (x.sub.1, . . . , x.sub.n). In embodiments where the derivative was used to determine x in step 310, the derivative of each signal must be computed at step 315 before performing an FFT to find the phase of each derivative. In both embodiments, a windowing function may optionally be applied before performing the FFTs.

(16) In steps 310 and 315, the decision to perform an FFT on the signal or its derivative may depend on what type of data the signal contains. For example, when the starting and ending values of the signal are not close to each other (e.g., as in a step-like waveform), it may be preferable to use the signal's derivative. For other types of signals, using the signal itself may yield better results.

(17) At step 320, a phase difference (f).sub.i between each individual phase (f).sub.i and the average phase is computed. In one embodiment, the phases found in steps 310 and 315 may be unwrapped and used to compute the phase difference for each individual signal. For example, the unwrapped average phase (f) may be subtracted from the unwrapped individual phases (f).sub.i to obtain phase differences ((f).sub.i, . . . , (f).sub.n). Any other suitable method of computing phase differences may also be used.

(18) At step 325, the slope .sub.i(f) of each phase difference (f).sub.i is computed. In one embodiment, a straight line fit may be performed using the Least Mean Squared (LMS) method. A weighting function may be optionally used when performing the LMS fit. For example, this phase plot is smoother at lower frequencies than it is at higher frequencies. To obtain a more accurate slope, it may be useful to weight the low frequency values more than the high frequency values.

(19) The phase slopes may be compensated directly, or converted to time differences first. In embodiments where time differences are compensated, the slopes .sub.i(f) are first used to determine a time shift t.sub.i for each signal x.sub.1 . . . x.sub.n at step 330. For example, eq 1 above describes a relationship between slope and time shift. In one embodiment, the time shift t.sub.i for each signal may be determined by dividing the slope of that signal's phase difference by 2*f (where f is the frequency). In other words:

(20) t i = i ( f ) 2 * f ( eq 2 )

(21) At step 335, the signals are compensated. In embodiments where time shifts were computed at step 330, the time shifts t.sub.1 . . . t.sub.n are compensated. In one embodiment, the result of the FFT that was performed on each individual signal (or its derivative) x.sub.i, . . . , x.sub.n may be multiplied by exp(j*2*f*t.sub.i) to obtain compensated FFT results z.sub.i, . . . , z.sub.n -where j represents the square root of negative one, f is frequency, and t.sub.i is the time shift of each signal. In other embodiments, the compensated FFT results z.sub.i, . . . , z.sub.n may be obtained by multiplying the FFT results by exp(j*.sub.i(f)) instead.

(22) At step 340, the compensated FFT results z.sub.i, . . . , z.sub.n are averaged and converted to the time domain, in order to obtain an averaged time-domain result. In one embodiment, the compensated signals z.sub.i, . . . , z.sub.n are averaged to obtain an averaged result z, and an inverse FFT (IFFT) is used to convert the averaged result z to the time domain. In another embodiment, an IFFT may be performed to convert each compensated signal z.sub.i, . . . , z.sub.n to the time domain first, before averaging the results of the IFFTs to obtain an averaged time-domain results z.

(23) In embodiments where the signals' derivatives were used in step 310 or 315, the averaged result obtained in step 335 is integrated at step 345 to return the averaged result to its correct form. Although the embodiment depicted in FIG. 3 uses phase and time derivatives, any known methods for determining and compensating group delays may be used instead.

(24) The disclosed group delay based approach has several advantages. First, by compensating for time shifts, the disclosed technique improves overall SNR by preserving the averaged signal level at higher frequencies. Second, the disclosed techniques use FFT and IFFT, which are more computationally efficient than conventional approaches (such as cross-correlation methods) that must align the data signals before averaging them. Third, the disclosed techniques obtain an averaged result by using a Least Mean Squared (LMS) type of line fit, which results in a single value that can be used directly to compensate the time shifts. In comparison, conventional cross correlation methods require an extra interpolation step to find the value of the time shifts t.sub.i. Fourth, the disclosed techniques use all of the data points in each data signal to obtain the value of t.sub.i. In contrast, conventional methods based on edge-crossing only use a few data points around the edges of the waveform in each data signal. Finally, the disclosed techniques may be used to provide a computationally efficient manner of averaging a repeating data pattern, while providing more accurate results than traditional edge-based methods.

(25) FIG. 4 depicts magnitude plots for a step like data signal that has gone through a derivative operation. As shown in FIG. 4, the magnitude of a group-delay based average result that was obtained in accordance with the present invention (shown by plot 405) is improved by about 2 dB at 30 GHz when compared to a conventionally-averaged result (shown by plot 410).

(26) FIG. 5 depicts an insertion loss measurement result 505 obtained using a real-time oscilloscope in accordance with the present invention. As shown in FIG. 5, the insertion loss curve 505 correlates with an insertion loss measurement 510 that was taken with a VNA, for frequencies up to 25 GHz. This illustrates that the disclosed techniques enable a real-time oscilloscope to measure signals with similar accurately as a VNA, within a given a range of frequencies.

(27) In one embodiment, the improved group-delay based averaging techniques may be performed by an exemplary general-purpose device 600 such as a real-time oscilloscopeas depicted in FIG. 6. Device 600 may acquire data signals through a physical input 605 which may be a digital or analog input, or an interface such as a network, memory, or device interface. In embodiments where interface 605 receives analog signals, analog-to-digital (A/D) converter 610 may be used to convert the analog signal into a digital signal. In another embodiment, the data signal may be acquired from memory (for example, memory 620), or from another device. Memory 620 may store instructions that cause processor 615 to perform the improved group-delay based averaging techniques when executed. Memory 620 may also store data acquired from physical interface 605. The one or more intermediate or final results obtained during the disclosed methods may be stored in memory 620, output to a different device, or used for further operations by processor 615. Memory 620 may comprise one or more separate memories, including memory located in one or more other devices.

(28) Although specific embodiments of the invention have been described for purposes of illustration, it will be apparent to those skilled in the art that various modifications may be made without departing from the spirit and scope of the invention. For example, the disclosed techniques are not limited to computing s-parameters in real-time oscilloscopes but may be used to compensate time shifts in any other instruments or devices, or for other types of signal processing. And, as previously discussed, any suitable methods may be used to determine and compensate for the group delays. Furthermore, any suitable method of determining or estimating derivatives may be used. For example, as is known in the art, a signal's derivative may be estimated by taking its difference. Although the term data signal has been used, it is understood that the present techniques may be performed on any type of acquired signal (i.e., signal under test). Likewise, one of ordinary skill in the art will understand the relationship between phase, delay, and group delay of a signal. Accordingly, the invention should not be limited except as by the appended claims.