A digital signal processing system capable of compensating for frequency response variations and generating a response characteristic that complies with a provided specification. The system automatically generates digital filters to provide this compensation with almost any form of channel frequency response information and with user defined specifications. The capability of this system to trade-off noise performance, pulse response, and frequency response flatness in order to provide an optimized response is demonstrated. The system also provides feedback to the user on the final response characteristics.
|
0. 1. A signal processing system capable of compensating for the channel response characteristics of an input waveform, comprising:
input means for inputting input specifications for specifying the design of a filter, including:
channel response characteristics defining the response characteristics of a channel used to acquire said input waveform; and
user specifications for specifying a desired frequency response and a degree of compliance to the desired frequency response;
a filter builder for generating coefficients for said filter and outputting final performance specifications, having:
a compensation filter generator for generating coefficients corresponding to a compensation response on the basis of the inverse of the channel response characteristics; and
a response filter generator for generating coefficients corresponding to a combination of an ideal response and a noise reduction response on the basis of the user specifications; and
said filter for filtering said input waveform and outputting an overall response waveform having said desired frequency response, comprising:
a filter coefficient cache for storing the coefficients generated by said filter builder;
a compensation filter portion for filtering said input waveform using the coefficients stored in said filter coefficient cache corresponding to said compensation response; and
a response filter portion having a response filter stage and a noise reduction stage for filtering the compensated waveform output from said compensation filter portion and outputting said overall response waveform; said response filter portion filtering using the coefficients stored in said filter coefficient cache corresponding to said combination of said ideal response and said noise reduction response.
0. 146. A waveform processing system comprising:
at least one input channel to receive an input signal; and
means for building the digital filter according to a plurality of parameters, the digital filter comprising a plurality of processing objects, and being configured to substantially flatten the channel response across a frequency range by sequentially executing a plurality of the processing objects, each of the plurality of processing object being applied to only a portion of the input signal.
0. 144. A waveform processing system comprising:
at least one input channel to receive an input signal; and
means for substantially increasing an effective bandwidth of each of the at least one input channels by building a digital filter according to a plurality of parameters, the digital filter having a compensation portion to substantially flatten the response of the input channel across at least one frequency range and a boost portion to substantially compensate for attenuation in the frequency response within a frequency range that is above a nominal bandwidth of the channel.
0. 133. A waveform processing system comprising:
at least one channel to receive an input waveform, each channel having a nominal bandwidth;
a converter to convert each received input waveform to a digital representation; and
a digital filter to receive each digital representation, the digital filter having a frequency response for each channel to substantially flatten a frequency response of the channel across at least one frequency range based upon response characteristics of the channel, wherein the digital filter comprises a plurality of processing objects, and is configured to process each input waveform by sequentially executing a plurality of the processing objects.
0. 89. A method for filtering an input waveform, comprising the steps of:
determining a plurality of parameters for a digital filter to substantially flatten the response of an input channel of a waveform processor across at least one frequency range based upon characteristics of the channel, said channel having a nominal bandwidth and a nominal pulse response;
building the digital filter according to the plurality of parameters, the digital filter comprising a plurality of processing objects, and being configured to substantially flatten the channel response;
receiving an input waveform on the channel; and
applying the digital filter to the input waveform by sequentially executing the plurality of processing objects;
whereby a filtered waveform is generated.
0. 76. A waveform processing system comprising:
at least one channel to receive an input waveform, each channel having a nominal bandwidth;
a converter to convert each received input waveform to a digital representation; and
a digital filter to receive the digital representation, the digital filter having a frequency response for each channel (i) to substantially flatten a frequency response of the channel across at least one frequency range based upon at least response characteristics of the channel and (ii) to substantially increase an effective bandwidth by substantially compensating for attenuation in the frequency response within a frequency range that is above the nominal bandwidth of the channel;
wherein application of the digital filter to each channel yields an effective channel bandwidth substantially greater than the nominal bandwidth for each channel.
0. 33. A method for filtering an input waveform, comprising the steps of:
determining a plurality of parameters for a digital filter to substantially increase an effective bandwidth and to substantially flatten a frequency response of an input channel of a digital oscilloscope based upon at least response characteristics of the input channel;
building the digital filter according to the plurality of parameters, the digital filter having a compensation portion to substantially flatten the response of the input channel across at least one frequency range and a boost portion to substantially compensate for attenuation in the frequency response within a frequency range that is above a nominal bandwidth of the channel;
receiving an input waveform on the channel;
converting the input waveform to a digital representation;
applying the digital filter to the digital representation; and
generating a filtered waveform,
wherein application of the digital filter to the channel yields an effective channel bandwidth substantially greater than the nominal bandwidth.
0. 2. The signal processing system according to
0. 3. The signal processing system according to
0. 4. The signal processing system according to
0. 5. The signal processing system according to
0. 6. The signal processing system according to
0. 7. The signal processing system according to
0. 8. The signal processing system according to
0. 9. The signal processing system according to
0. 10. The signal processing system according to
0. 11. A signal processing element for filtering an input digital waveform, comprising:
a filter builder for generating filter coefficients on the basis of a channel frequency response and a user response characteristics; said channel frequency response being determined on the basis of a response input and a correction input;
an infinite impulse response (IIR) filter having an IIR input for said input digital waveform and an IIR coefficient input connected to said filter builder; said IIR filter producing an IIR filtered waveform from the input digital waveform on the basis of the filter coefficients generated by said filter builder;
a finite impulse response (FIR) filter having an FIR input for said input digital waveform and a FIR coefficient input connected to said filter builder; said FIR filter producing a FIR filtered waveform from the input digital waveform on the basis of the filter coefficients generated by said filter builder; and
an output selector switch for selecting either said FIR filtered waveform or said FIR filtered waveform for output.
0. 12. The signal processing element according to
0. 13. The signal processing element according to
0. 14. The signal processing element according to
0. 15. The signal processing element according to
0. 16. The signal processing element according to
0. 17. The signal processing element according to
0. 18. The signal processing element according to
0. 19. The signal processing element according to
0. 20. The signal processing element according to
0. 21. The signal processing element according to
0. 22. The signal processing element according to
0. 23. A method of filtering an input digital waveform to compensate for the response characteristics of an acquisition channel, comprising the steps of:
generating a compensation portion of a filter on the basis of an input channel response, using the steps of:
pre-warping said input channel response;
designing an analog filter emulating the pre-warped input channel response by making an initial filter guess and iterating the coefficients of said initial filter guess to minimize a mean-squared error;
inverting said analog filter; and
digitizing the inverted analog filter to produce said compensation portion of said filter using a bilinear transformation; and
filtering said input digital waveform using said compensation portion of said filter.
0. 24. The method according to
0. 25. The method according to
0. 26. The method according to
0. 27. The method according to
0. 28. The method according to
0. 29. The method according to
0. 30. The signal processing system according to
0. 31. The method according to
0. 32. The method according to
0. 34. The method of
0. 35. The method of
0. 36. The method of
0. 37. The method of
0. 38. The method of
0. 39. The method of
0. 40. The method of
0. 41. The method of
0. 42. The method of
0. 43. The method of
0. 44. The method of
0. 45. The method of
0. 46. The method of
0. 47. The method of
0. 48. The method of
0. 49. The method of
0. 50. The method of
0. 51. The method of
0. 52. The method of
0. 53. The method of
0. 54. The method of
0. 55. The method of
0. 56. The method of
0. 57. The method of
0. 58. The method of
0. 59. The method of
0. 60. The method of
0. 61. The method of
0. 62. The method of
0. 63. The method of
0. 64. The method of
0. 65. The method of
0. 66. The method of
0. 67. The method of
0. 68. The method of
0. 69. The method of
0. 70. The method of
0. 71. The method of
0. 72. The method of
0. 73. The method of
0. 74. The method of
0. 75. The method of
0. 77. The system of
0. 78. The system of
0. 79. The system of
0. 80. The system of
0. 81. The system of
0. 82. The system of
0. 83. The system of
0. 84. The system of
0. 85. The system of
0. 86. The system of
0. 87. The system of
0. 88. The system of
0. 90. The method of
0. 91. The method of
0. 92. The method of
0. 93. The method of
0. 94. The method of
0. 95. The method of
0. 96. The method of
0. 97. The method of
0. 98. The method of
0. 99. The method of
0. 100. The method of
0. 101. The method of
0. 102. The method of
0. 103. The method of
0. 104. The method of
0. 105. The method of
0. 106. The method of
0. 107. The method of
0. 108. The method of
0. 109. The method of
0. 110. The method of
0. 111. The method of
0. 112. The method of
0. 113. The method of
0. 114. The method of
0. 115. The method of
0. 116. The method of
0. 117. The method of
0. 118. The method of
0. 119. The method of
0. 120. The method of
0. 121. The method of
0. 122. The method of
0. 123. The method of
0. 124. The method of
0. 125. The method of
0. 126. The method of
0. 127. The method of
0. 128. The method of
0. 129. The method of
0. 130. The method of
0. 131. The method of
0. 132. The method of
0. 134. The system of
0. 135. The system of
0. 136. The system of
0. 137. The system of
0. 138. The system of
0. 139. The system of
0. 140. The system of
0. 141. The system of
0. 142. The system of
0. 143. The system of
0. 145. The system of
0. 147. The system of
|
27
and thus
Therefore, one method of determining the scope channel response is to take a known stimulus with frequency content Hs, apply it to the input of the DSO channel, acquire it with the digitizer and acquisition system, measure its frequency content Hm and use Equation 5 to determine the channel frequency response Hc.
The resp 69 and corr 70 input pins are polymorphic, meaning they show the same interface, but their behavior differs based on the input. Namely, each input pin is capable of accepting either a time-domain or frequency-domain waveform. Thus the system can receive channel frequency response specifications in the following four formats:
What is known about
Reference Format
reference
Time-domain waveform
Frequency sweep
Time-domain response
D
A
Frequency content
C
B
A: Frequency sweep is provided with known time domain response
This combination is almost never used, since the time domain response of a swept sinusoid is rarely known.
B: Frequency sweep is provided with known frequency response
This combination is probably the most common. Accurate instruments that deliver radio frequency (RF) sinusoids are easy to find (for example, the HP8648B 2 GHz signal generator manufactured by Hewlett Packard). Furthermore, the frequency content of the actual sinusoid delivered to the DSO is easy to measure using an RF power meter or sufficiently accurate spectrum analyzer. Also, a network analyzer can be utilized to measure the frequency response characteristic of any cables used to deliver the sinusoid. One of the drawbacks of this combination is that it takes a long time to sweep the sinusoid since each frequency of interest must be delivered to the DSO and a measurement must be made of the amplitude and phase of the signal at each frequency point. Another drawback is that it is difficult to accurately know the phase of the sinusoid. Sometimes, this difficulty can be overcome using special trigger outputs from the generator.
C: Time domain waveform is provided with known frequency response.
This is another common combination. The main requirement for a source using this combination is that it has sufficient power at the frequencies of interest. Two common inputs are step and impulse functions. While perfect steps and impulses cannot be generated easily, it is possible to know the frequency content of the waveform. The easiest manner is to first calibrate the generator by acquiring the time-domain waveform with a DSO and then measure the frequency response of the channel using the method disclosed in combination B. The frequency content of the time-domain source waveform is easily calculated as the measured response from the frequency sweeps minus the frequency content of the sweep generator plus the measured frequency response of the time-domain source waveform. The measured frequency response of the time-domain source waveform is easily calculated using a Fast Fourier Transform (FFT) or Chirp Z Transform (CZT).
While calibration of the time-domain generator suffers from the same drawbacks as described in combination B, this calibration does not need to be performed as frequently (only often enough for the calibration of the time-domain source to remain valid). This combination also suffers from the additional drawback that it is difficult to generate time-domain waveforms whose frequency content does not vary with amplitude. Since the DSO frequency response will vary over its various gain ranges, it is desirable to have a source that can be easily used at any possible gain setting. The strength of this method is the speed and ease with which the measurement is made. All that is needed is to input the calibrated time-domain waveform, trigger on the waveform, and average enough acquisitions to sufficiently reduce the noise. This process can often be performed in under a second.
D. Time domain waveform is provided with known time domain response
This combination is not often used. It has the same benefits as combination C, in that once calibrated the measurement of the time domain waveform can be performed quickly. The problem is that the actual time domain performance of the source usually cannot be determined directly. In other words, it would be inferred from a frequency response measurement. Note that this combination could be used if a DSO using the present invention were used in the calibration of the time-domain source.
The type of waveform attached to the resp 69 and corr 70 inputs is determined by examining its waveform descriptor. The time domain waveforms are converted to frequency responses using the standard Chirp-Z transform (CZT). See M. T. Jong, Methods of Discrete Signal And Systems Analysis, McGraw-Hill Inc., 1982, pp. 297-301, the entire contents thereof being incorporated herein by reference. The CZT is used because it allows precise setting of the number of frequency points in the response, regardless of the sampling rate. Many advanced Fast Fourier Transform (FFT) algorithms also provide this capability, but the CZT is simple and only requires a radix 2 FFT regardless of the number of points in the input signal. While the number of frequency points is settable in the filter builder, 50 points (from 0 Hz to the maximum compensation frequency) works well. The maximum compensation frequency is the frequency at which we will no longer try to undo the effects of the channel frequency response. Usually, this is the frequency at which the magnitude response of the channel approaches the noise floor. This frequency is usually the maximum attainable bandwidth of the instrument using this invention.
Although there are a fixed number of points (from 0 to the maximum compensation frequency), the CZT is sometimes calculated out to the Nyquist limit. It is sometimes useful to view the performance of the compensation portion beyond the frequencies of interest.
Once the waveform at the input to the resp 69 and corr 70 inputs have been converted to frequency responses, Hs and Hm have been determined. Generally the frequency response is represented as a magnitude (in decibels) and a phase (in degrees). If necessary, the responses are resampled using C-spline interpolation. At this point, Hc is calculated by subtracting the magnitude and the phase. Hc forms the basis for the design of the compensation filter portion.
An example of a calculated Hc is shown in FIG. 5. The source waveform used to determine Hm is a step 80 provided by a step generator. This step has been acquired by a DSO channel. To reduce noise and increase resolution (both horizontally and vertically), the acquired step is averaged repeatedly by the DSO. The impulse response of a perfect step is:
and thus the frequency content is:
The frequency content of the step (Hs) can easily be determined by taking the derivative of the step acquired through a channel with a flat frequency response and applying the CZT.
The compensation filter portion is designed based on this channel response to counteract the deviation of the response from 0 dB—in effect, the filter provides the exact inverse of the channel response. An analog filter is first designed that emulates the channel response as closely as possible, the filter is inverted to provide the inverse response, and then converted to a digital filter using a bilinear transformation. The bilinear transformation is well known to those skilled in the art of digital signal processing, but some of the details are described below.
The bilinear transformation is used to convert analog filters to digital filters through a direct substitution of the Laplace variable s. Take an analog filter transfer function:
perform the following substitution:
And algebraically manipulate the resulting equation to put it in the following form:
By performing this substitution, a digital filter according to Equation 10 will not perform exactly as the analog filter of Equation 8. This is because the substitution shown in Equation 9 creates a non-linear relationship between the frequency response of the analog and digital filters. This non-linear relationship is called warping. Specifically, this relationship is:
where fd is the frequency where the digital frequency response is evaluated, fa is the frequency where the analog frequency response evaluated, and Fs is the sampling rate of the digital system. In other words, using this transformation, the analog filter response evaluated at fa equals the digital filter response evaluated at fd. Note that:
x≈tan−1(x) for small values of x. Equation 12
Therefore, fa≈fd for small values of fa with respect to Fs. In other words, the performance of the digital filter matches the performance of the analog filter for low frequencies with respect to the sample rate. For this reason, filters designed using the bilinear transform are sometimes able to ignore the warping effect. However, in the DSO, the bandwidth may be exactly at the Nyquist rate. Hence, the effects of warping cannot be ignored.
To account for warping, the channel frequency response is prewarped.
Note that Equation 13 tends towards infinity as f approaches the Nyquist rate. Even excluding the Nyquist rate, frequencies close to Nyquist still generate large prewarped frequencies. For this reason, the size of the prewarped frequencies are restricted to a fixed multiplicative factor (e.g. 50). Any prewarped response points above fifty times the Nyquist rate are discarded.
An analog filter, having the form of Equation 8, matching the prewarped response is built. As seen from the prewarped response 201 shown in
The filter is built by deciding on the value of N (the number of filter coefficients in the numerator and denominator polynomial) and making an initial guess at the numerator and denominator coefficients an and bm. Then, these coefficients are iteratively adjusted until the mean-squared error between the magnitude response of the filter and the prewarped channel frequency response specified is minimized. It is important that the initial guess of the coefficient values be reasonable. If not, the L2 minimization may not converge, or may converge to a local minimum instead of the absolute minimum. If the local minimum is far away from the absolute minimum, the resulting filter design may be useless. Generally, a reasonable guess would be any guess that has no overlapping poles and zeros, or whose frequency response is close to the channel frequency response.
An appropriate guess is designed by imagining a filter design that is basically flat, within the constraints that the filter has N coefficients. From Bode plot approximations, a single, real pole or zero has a 3 dB effect at the pole location. In other words, a pole at s=−j·ωp, will provide attenuation of 3 dB at f=ωp/2·π. Further, a pole creates a knee in the response at the 3 dB point. The response is basically flat before this knee, and rolls off at 6 dB per octave after the knee. There is a correction to this approximation of about 1.0 dB downward an octave in either direction. Since poles and zeros work to cancel each other, the 6 dB/octave roll-off created by a pole is cancelled by a zero that is higher in frequency. In other words, a pole followed by a zero will create a response that is basically level out to the pole, dropping at 6 dB/octave after the pole and being basically level at and beyond the frequency of the zero. Thus, if a sequence of poles and zeros is provided in a certain manner, it is possible to build a basically flat response. The sequence would be either: pole, zero, zero, pole, pole, zero . . . ; or zero, pole, pole, zero, zero, pole . . . .
By examining the Bode approximation, these poles and zeros should be spaced an octave apart out to the maximum frequency of compensation for ideal flatness. Since for high order systems this might cause undo compression of multiple poles below the first frequency response point in the channel frequency response, a multiplicative factor—as opposed to exact octave spacing—can be used.
This factor may be calculated as follows: The end frequency (fend) is defined as the last frequency point in the prewarped channel frequency response. The start frequency (fstart) is defined to be somewhat higher than 0 Hz (e.g. the 8th frequency point in the prewarped channel response). The multiplicative factor (Mspace) that would fit alternating poles and zeros ideally between these frequencies is:
Mspace is 2.0 for exact octave spacing.
With this in mind, an array of frequencies is generated, and the poles and zeros are placed at these frequencies in one of the two sequences stated earlier. The array of frequencies is described by:
nε0 . . . 2·N−1 fn=fstart·(Mspace)n Equation 15
Once the poles and zeros are known, the numerator and denominator polynomials having the form of Equation 8 are calculated by polynomial multiplication.
Besides being essentially flat, this guess at the pole and zero locations has another characteristic that makes it a good initial starting point in the L2 minimization. Because all of the poles and zeros (except the first and the last) are adjacent along the negative real axis in the S-plane, they can easily pair together and move off as complex conjugate pairs during the fit of the filter to the channel response. Complex conjugate pairs of poles and zeros are very effective at resolving sharp ripples in the channel frequency response. Since complex poles and zeros must come in conjugate pairs, it is ideal to have them initially sitting next to one another on the real axis.
It is now necessary to adjust the coefficients of this initial filter guess to minimize the error between its response and the prewarped channel response. A statement of this problem is as follows:
Given a prewarped channel frequency response containing K coordinates where each coordinate is of the form (ωk,hk). Respectively, ωk and hk are the frequency in GHz and the magnitude response (unitless) of the kth data point. Find values an and bm such that the mean squared error (mse) is minimized. In other words, we minimize:
A (local) minimum is reached when the filter coefficients an and bm are such that the partial derivatives of the mean-squared error with respect to all coefficients are zero when the filter magnitude response is evaluated at these coefficient values. This is done by finding the point at which the gradient is zero. This means that the partial derivative with respect to any coefficient is zero:
The evaluation of these partial derivatives leads to:
Equation 17 and Equation 18 demonstrate that to evaluate the partial derivatives of the mean-squared error, we require analytical functions for the magnitude response and the partial derivatives with respect to the magnitude response only. In fact, most non-linear equation solvers require exactly that. The magnitude response can be evaluated as:
The partial derivative of the magnitude response with respect to each numerator coefficient is:
The partial derivative of the magnitude response with respect to each denominator coefficient is:
At this point, knowing equation 19, Equation 25, and Equation 27, the filter can be adequately solved using any reasonable non-linear equation solver (e.g. the genfit function within MathCAD or the Levenberg-Marquardt algorithm).
Note that when solving this equation, the partial derivative with respect to coefficient b0 should not use Equation 27, but should instead be set to infinity (or a huge number). This is because the actual values a0 and b0 are arbitrary. The ratio of a0 and b0 is all that is important—this ratio sets the dc gain of the system. If one of these coefficients is not fixed, then both may grow very large or very small. By setting the partial derivative of b0 to infinity, the equation solver will not significantly modify this parameter, and a0 will remain unconstrained to set the ratio of a0 to b0.
Knowing the magnitude response function and the partial derivatives, along with an initial guess at the starting filter coefficients, the Levenberg-Marquardt algorithm is run repeatedly. See Nadim Khalil, VLSI Characterization with Technology Computer-Aided Design—PhD Thesis, Technische Universität Wien, 1995, the entire contents thereof being incorporated herein by reference. For each iteration, the coefficients are adjusted to reduce the mean-squared error. Levenberg-Marquardt is a balance between two common least-squares minimization methods: the method of steepest decent, in which the small steps are made along the gradient vector of the mean-squared error at each iteration. The method of steepest decent is very slow, but guaranteed to converge to a local minimum. The other method is Newton-Gauss. Newton-Gauss convergence is very fast but can diverge. Levenberge-Marquardt measures its own performance on each iteration. Successful iterations cause it to favor Newton-Gauss on subsequent iterations. Failed iterations cause it to favor steepest-decent on subsequent iterations. The method it is favoring depends on a value (λ).
TABLE 2
Line
Math Step
Description
1
For k = 0 . . . K − 1
for each response point
2
Rk ← |H(ωk, gi−1)| − Mk
Calculate a residual
3
for j = 0 . . . 2N
For each response point and
coefficient
4
Calculate an element of the Jacobian matrix as the partial derivative with respect to a coefficient evaluated a response point
5
H ← JT · W · J
Calculate the approximate
Hessian matrix
6
For j = 0 . . . 2N
Generate a matrix with only
7
Dj,j ← Hj,j
the diagonal elements of the
Hessian matrix
8
ΔP ← (H + λ · D)−1 · JT · W · R
Calculate the delta to apply
to the coefficients
9
gi ← gi−1 − ΔP
Apply the delta to the
coefficients
10
Calculate the new mean- squared error
11
if msei > msei−1
If the mean-squared error
12
λ ← λ · 10
increased, favor steepest
13
decent, otherwise favor
14
else
Newton-Gauss convergence
Table 2 steps through an iteration of the Levenberg-Marquardt algorithm, where g is a vector of coefficients such that:
nε0 . . . N
gn=an
gn+N+1=bn Equation 28
The mean-squared error mse0 is initialized to a value between the initial guess filter response and the prewarped channel response and λ is initialized to 1000. Iteration of this method is complete when one of the following conditions occurs:
Once a local minimum has been reached, examination of the mean-squared error tests the performance of the minimization. If it is not low enough, the coefficients are randomly agitated to shake the system out of the local minimum and iteration continues with the hopes of converging on the absolute minimum.
At this point, both the numerator and denominator polynomial coefficients have been found for an analog filter, as described by Equation 8. This analog filter approximates the prewarped channel frequency response. The numerator and denominator are then swapped to form an analog filter that compensates the channel response.
The roots of each polynomial are found using a combination of LaGuerre's Method, followed by Bairstow's Method to refine the complex roots found by LaGuerre. See William H. Press et al., Numerical Recipes in C: the Art of Scientific Computing—2nd Edition, Cambridge University Press, 1992, pp. 369-379, the entire contents thereof being incorporated herein by reference. The refinement consists of an assumption that complex roots must come in conjugate pairs if the polynomial is real, which they are. This refinement is necessary if high order polynomials are utilized.
Once the roots are found, the complex conjugate pairs are joined and the analog filter is re-formed as:
where st is the filter section. The filter is now in the form of biquad sections. The number of sections is the smallest integer greater than or equal to half the original numerator or denominator polynomial.
The filter can now be converted into a digital filter. A bilinear transformation is used to perform this conversion. Each section of the filter is in the form:
To convert the filter, we make the substitution in s as shown in Equation 9. The substitution is not made algebraically, but instead using the Bilinear Coefficient Formula. See Peter J. Pupalaikis, Bilinear Transform Made Easy, ICSPAT 2000 Proceedings, CMP Publications, Inc., 2000, the entire contents thereof being incorporated herein by reference. Each coefficient of each stage of the filter section shown in Equation 30 is converted to a digital filter section:
For biquad sections, N=2 and all coefficients are divided by B0, so that B0 becomes 1.0 with no change in performance. At this point, the compensation portion of the filter element has been computed.
The magnitude response of this filter is evaluated at the frequency points used to match the channel frequency response (the points prior to prewarping), and the waveform representing this response is output through the comp output 76 of the filter builder 56 and on to the comp output pin 72 shown in FIG. 4. In this manner, the DSO user can examine the compensation filter performance.
Since higher degrees of compliance result in more biquad sections in the compensation filter,
The design of the arbitrary response portion of the filter is now described.
The advanced settings tab 91 leads to another dialog box as shown in FIG. 16. Note that an additional control has been added under response optimization called Favor 92. A choice is provided to factor noise performance 93 or the optimization specified 94. This choice will be explained when the details of the response filter design are discussed below. Control is also provided for compensation 95. This includes the degree of compliance 96 that determines the number of biquad sections in the compensation filter portion. Also, the maximum compensation frequency 97 can be set to specify the frequency up to the desired compliance. Control over the final digital filter implementation 98 may also be provided. Two choices, IIR 99 and FIR 100, are shown. Another possible choice is a default setting (i.e. Auto, which automatically chooses the faster of the IIR or FIR filter for final implementation). Tests showed that insofar as the update rate, the IIR filter invariably outperformed the FIR filter. Also, the IIR filter length does not vary with the sample rate (as does the FIR). Therefore, for purposes of this application, the IIR filter is the preferred filter, but the user may choose the FIR filter if desired. Since the FIR is the truncated impulse response of an IIR, the filter settling amount 101 must be specified (e.g. 10e-6). The filter settling value defines the sample point in the impulse response beyond which the impulse response can be neglected. The filter settling samples 102 is a value calculated based on the specified filter settling value. For FIR implementations, it is the number of filter taps. In both the FIR and IIR implementations, it is the number of points that must appear off-screen to the left of the displayed waveform to allow for filter startup.
Recall that the generated responses consist of two portions—the desired response and the noise reducer. The noise reducer must be included not only for the elimination of noise, but also to protect against overboost in the compensation filter beyond the maximum compensation frequency (fmc). This is because the compensation filter is basically unconstrained outside the compensation frequencies. As seen in FIG. 11 and
Five possible response optimizations are now discussed, in order of complexity from lowest to highest. The trivial case is no optimization, which simply leaves this portion out of the final filter and disables the compensation portion.
Flatness optimization involves the design of a Butterworth filter as the response portion. The intent of the Butterworth filter is to supply some noise reduction (and overboost protection for the compensation filter) while affecting the pass-band as little as possible. The design is that of a traditional Butterworth filter with the pass-band and stop-band edges being specified (fp and fs), along with the maximum pass-band attenuation (Ap) and the minimum stop-band attenuation (As). See T. W. Parks, Digital Filter Design, John Wiley & Sons, Inc., 1987, pp. 159-205, the entire contents thereof being incorporated herein by reference. The resulting Butterworth filter has a calculated order Obutter. This order may be clipped, if necessary, to the specified largest order allowed Obuttermax. If the filter is clipped to Obuttermax the filter will not meet both the passband and stop-band specifications. In this case, the Butterworth filter is situated to provide the exact attenuation As at fs. Hence, the attenuation at fp will be greater than Ap, thus the flatness specification is violated. If the filter order is not clipped, then the filter will meet, or exceed the specifications. This is because the filter order is chosen as the smallest integer that satisfies the specifications. In this case, the user specifies a bias towards which specifications should be exceeded in the favor specification 92. If the user favors noise performance 93, the Butterworth filter represents the traditional design providing the exact attenuation Ap at fp and generally providing better attenuation than As at fs. If the respond optimization 94 is favored, the Butterworth is situated to provide the exact attenuation As at fs. In this case, the attenuation at fp will be less than or equal to Ap and the filter will generally outperform the flatness specification.
The specifications for the flatness response are derived from the user specifications: fp is set to the specified bandwidth frequency (fbw) even though it is not actually the bandwidth, Ap is taken from the specification of δ (deviation), and As is a default value based on the hardware behavior of the particular scope channel. The value of δ is generally chosen based on the typical compensation filter performance. In other words, if the compensation filter can provide at best 0.1 dB of compliance, then a δ less than 0.1 is probably an unnecessary constraint. The value fs is calculated as Mmcf times fmc unless overridden, where Mmcf has a default value based on the particular scope channel (e.g. 1.667).
The noise performance response optimization is similar to the flatness response optimization, except that Ap is set to the specified attenuation (Abw) at the bandwidth frequency (fbw). Note that Abw defaults to 3 dB, but downward modification is allowed to guarantee the bandwidth. As and fs are ignored and the Butterworth filter is designed as the highest order Butterworth filter allowed (Obuttermax) having attenuation Abw at fbw. This provides the absolute maximum amount of attenuation for a given bandwidth. The specifications for the noise performance response are derived from the user specifications: fp is taken from the bandwidth specification (fbw), and fs is calculated as Mmcf times fmc unless overridden.
When pulse response optimization is specified, a Besselworth filter is designed to optimize the response characteristics. This filter has a combination of Bessel and Butterworth response characteristics. The Bessel filter has a linear phase response characteristic and a very slow roll-off. Most importantly, it is the low-pass filter with the best pulse response characteristics. The Butterworth filter has the sharpest roll-off, given a flat pass-band and stop-band response. The Besselworth filter is specified as follows:
Special responses—like single-pole, double-pole, critically damped, and other industry standards—are generated exactly as in the procedure outlined in
Regardless of the response filters generated, they are converted to digital filters and are retained internally as two stages (the noise reducer and the shaper). The frequency response of each is output on the noise 74 and shape 73 pins of the component shown in FIG. 4. In all response optimization cases, the Butterworth filter represents the noise reducer portion. In the case of pulse response optimization, the Bessel portion of the Besselworth filter design represents the shape portion. In the case of special responses, these responses represent the shape portion. In the case of flatness and noise performance optimizations, there is no shape filter portion and a frequency response indicating unity gain at all frequencies is output on the shape pin 73.
To filter data, the system cascades the shaper and noise reducer digital filters to form the arbitrary response generation filter portion. The system then cascades the compensation filter portion and arbitrary response generation filter portion to form the entire compensation and response generation system. The filter coefficients are output from the filter builder 56 coef output pin 65 shown in
In summary, the interfaces to the component shown in
Calibration of a system utilizing the component shown in
This calibration method calibrates the signal path through the channel 120 down to the switch 125, but also includes the path 126 to the reference generator 123. This means that the path 126 from the switch 125 to the reference generator 123 and the path 127 from the switch 125 to the scope input 119 must be designed very carefully, or its frequency response characteristics must be known. Furthermore, note that the probe 117 is out of the calibration loop. In effect, the calibration procedure explained calibrates the DSO to the scope input 119 only. While it is possible to design the internal paths of the scope (126 and 127) to high precision, this is not always possible with regard to the probe.
To account for this, many scope probes carry calibration information stored in an internal memory (EEPROM) that may be read by the internal computer when the probe is inserted. Calibrated probes carry frequency response information that can be used in the channel frequency response calculation. For example, if the frequency response of the probe is known, the internal computer can simply add this frequency response to the measured frequency response prior to sending the information to the filter-building component. The resulting compensation would then account for the frequency response of the probe.
Alternatively, the user may connect the probe 117 periodically to the reference signal output 128 and perform the calibration as described, except that the input selector switch 125 should remain in the normal operating position. The resulting calibration accounts for the frequency response from the probe tip 129 through the entire channel 120. While this type of calibration cannot be completely automated, it does provide the highest degree of compensation. Furthermore, if this type of calibration is the only calibration method provided, then there is no need for the input selector switch 125 and the internal path 126 to the reference generator.
Further, the calibrated reference generator 122 need not reside in the scope. It can be supplied externally and sold as an option to the DSO. In addition, the calibration data 124—while tied to the reference generator 123—need not be collocated. The data can reside on a disk for loading into the scope. However, there should be some method of identifying the reference generator 123 and corresponding calibration data 124. Depending on the type of generator used, no direct control of the generator by the internal computer may be necessary.
The filter builder calculates four responses: the channel response, and the three components of the filter response. The three components of the filter response are the compensation, shaper, and noise reducer responses. Using these response outputs, an all-encompassing frequency response specification can be delivered to the user by simply plotting any or all of the algebraic combinations of these responses and providing this information to the user. In this manner, the user can examine any frequency response behavior desired. In addition, plots like
The ability to provide this type of scope performance data is important. For example, many standard measurements require certain measurement instrument specifications (e.g. a particular measurement might state that a scope must be used that is flat to within 0.5 dB out to 2 GHz). Not only does the invention provide the capability to satisfy such a requirement, but it also provides the ability to examine the final specifications to ensure compliance. Finally, the invention allows for recording and printout of the scope specifications along with the users measurements (as shown in FIG. 20), thus providing verification of proper measurement conditions.
While a preferred embodiment of the present invention has been described using specific terms, such description is for illustrative purposes only, and it is to be understood that changes and variations may be made without departing from the spirit or scope of the following claims.
Patent | Priority | Assignee | Title |
8825421, | Nov 30 2009 | Rockwell Automation Technologies, Inc. | Digital implementation of a tracking filter |
Patent | Priority | Assignee | Title |
4788653, | Dec 23 1986 | General Electric Company | Digital filter for power system stabilizer |
4875166, | Oct 09 1987 | Input/Output, Inc.; INPUT OUTPUT, INC | Bandwidth enhancing seismic acquisition system and method |
5208596, | Apr 10 1992 | PLYMOUTH DEWITT, INC | DAC distortion compensation |
5226059, | Sep 07 1990 | Nortel Networks Limited | DSP line equalizer |
5239578, | May 15 1990 | Plantronics, Inc. | Noise cancelling apparatus for a telephone handset |
5280353, | Aug 15 1989 | CINTEL INTERNATIONAL LIMITED, A U K CORP | Method and apparatus for signal processing by interpolation and filtering with simultaneous frequency response compensation and offset generation |
5283483, | Jan 27 1993 | Fairchild Semiconductor Corporation | Slimmer circuit technique |
5341177, | Sep 04 1991 | SAMSUNG ELECTRONICS CO , LTD , A CORP OF THE REPUBLIC OF KOREA | System to cancel ghosts generated by multipath transmission of television signals |
5388062, | May 06 1993 | Thomson Consumer Electronics, Inc | Reconfigurable programmable digital filter architecture useful in communication receiver |
5487023, | Feb 14 1994 | Tektronix, Inc. | Repeatable finite and infinite impulse response integrated circuit structure |
5574639, | Oct 12 1994 | Los Alamos National Security, LLC | System and method for constructing filters for detecting signals whose frequency content varies with time |
5577117, | Jun 09 1994 | Nortel Networks Limited | Methods and apparatus for estimating and adjusting the frequency response of telecommunications channels |
5698984, | Jan 30 1996 | Fluke Corporation | Adaptive digital filter for improved measurement accuracy in an electronic instrument |
5754437, | Sep 10 1996 | Tektronix, Inc.; Tektronix, Inc | Phase measurement apparatus and method |
5812009, | Apr 03 1995 | Fujitsu Limited | Boost type equalizing circuit |
5854756, | Feb 01 1996 | Racal-Datacom Limited | Digital filters |
5978742, | Apr 04 1997 | Tektronix, Inc. | Method and apparatus for digital sampling of electrical waveforms |
6115418, | Feb 09 1998 | National Semiconductor Corporation | Simplified equalizer for twisted pair channel |
6175849, | Feb 10 1998 | WSOU Investments, LLC | System for digital filtering in a fixed number of clock cycles |
6184748, | Sep 30 1998 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Magnitude and group delay shaping circuit in continuous-time read channel filters |
6219392, | Jan 20 1999 | Matsushita Electric Industrial., Ltd. | Filter device and method of acquiring filter coefficients |
6279021, | Jan 30 1998 | Sanyo Electric Co. Ltd. | Digital filters |
6289063, | Sep 02 1998 | RPX CLEARINGHOUSE LLC | QAM receiver with improved immunity to crosstalk noise |
6304134, | Mar 29 2000 | Texas Instruments Incorporated | High-frequency boost technique |
6437932, | May 16 1996 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | Decision based time-varying equalizers |
6539318, | Nov 17 2000 | TELEDYNE LECROY, INC | Streaming architecture for waveform processing |
6542914, | Sep 01 2000 | TELEDYNE LECROY, INC | Method and apparatus for increasing bandwidth in sampled systems |
6581080, | Apr 16 1999 | SONNOX LIMITED | Digital filters |
6631175, | Apr 03 1998 | TELECOM HOLDING PARENT LLC | Spectrally constrained impulse shortening filter for a discrete multi-tone receiver |
20020009135, | |||
20020075267, | |||
20020109496, | |||
20020163959, | |||
20020171408, | |||
20030002574, | |||
20030007583, | |||
20030055855, | |||
20030118094, | |||
20050080831, | |||
JP10282153, | |||
WO38384, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 09 2007 | LeCroy Corporation | (assignment on the face of the patent) | / | |||
Jul 29 2010 | LeCroy Corporation | MANUFACTURERS AND TRADERS TRUST COMPANY | SECURITY AGREEMENT | 024892 | /0689 | |
Aug 08 2011 | LeCroy Corporation | RBS CITIZENS, N A , AS ADMINISTRATIVE AGENT | SECURITY AGREEMENT | 026826 | /0850 | |
Aug 03 2012 | LeCroy Corporation | TELEDYNE LECROY, INC | MERGER SEE DOCUMENT FOR DETAILS | 029162 | /0724 | |
Aug 22 2012 | RBS CITIZENS, N A | TELEDYNE LECROY, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 029155 | /0478 | |
Oct 09 2012 | MANUFACTURERS AND TRADERS TRUST COMPANY, AS AGENT | LeCroy Corporation | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 029129 | /0880 |
Date | Maintenance Fee Events |
Aug 10 2011 | LTOS: Pat Holder Claims Small Entity Status. |
Sep 02 2011 | M2552: Payment of Maintenance Fee, 8th Yr, Small Entity. |
Nov 30 2011 | STOL: Pat Hldr no Longer Claims Small Ent Stat |
Sep 02 2015 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Jun 23 2012 | 4 years fee payment window open |
Dec 23 2012 | 6 months grace period start (w surcharge) |
Jun 23 2013 | patent expiry (for year 4) |
Jun 23 2015 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 23 2016 | 8 years fee payment window open |
Dec 23 2016 | 6 months grace period start (w surcharge) |
Jun 23 2017 | patent expiry (for year 8) |
Jun 23 2019 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 23 2020 | 12 years fee payment window open |
Dec 23 2020 | 6 months grace period start (w surcharge) |
Jun 23 2021 | patent expiry (for year 12) |
Jun 23 2023 | 2 years to revive unintentionally abandoned end. (for year 12) |