US RE40802 E1 Abstract 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.
Claims(147) 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.
2. The signal processing system according to
3. The signal processing system according to
4. The signal processing system according to
5. The signal processing system according to
6. The signal processing system according to
7. The signal processing system according to
8. The signal processing system according to
9. The signal processing system according to
10. The signal processing system according to
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. 12. The signal processing element according to
13. The signal processing element according to
14. The signal processing element according to
15. The signal processing element according to
16. The signal processing element according to
17. The signal processing element according to
18. The signal processing element according to
19. The signal processing element according to
20. The signal processing element according to
21. The signal processing element according to
22. The signal processing element according to
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. 24. The method according to
25. The method according to
26. The method according to
27. The method according to
28. The method according to
29. The method according to
30. The signal processing system according to
31. The method according to
32. The method according to
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. 34. The method of
35. The method of
36. The method of
37. The method of
38. The method of
39. The method of
40. The method of
41. The method of
42. The method of
43. The method of
44. The method of
45. The method of
46. The method of
47. The method of
48. The method of
volatile memory on the probe. 49. The method of
50. The method of
to-digital converter in a digital oscilloscope. 51. The method of
52. The method of
53. The method of
54. The method of
55. The method of
56. The method of
time environment. 57. The method of
58. The method of
59. The method of
60. The method of
61. The method of
62. The method of
of-band noise on the channel. 63. The method of
64. The method of
65. The method of
ENOB) or the signal-to-noise ratio on the channel. 66. The method of
1 GHz.67. The method of
1 GHz and at least 6 GHz.68. The method of
10 GHz.69. The method of
70. The method of
71. The method of
72. The method of
73. The method of
74. The method of
75. The method of
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. 77. The system of
78. The system of
79. The system of
80. The system of
81. The system of
82. The system of
83. The system of
84. The system of
85. The system of
86. The system of
10 GHz.87. The system of
88. The system of
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. 90. The method of
91. The method of
92. The method of
93. The method of
94. The method of
95. The method of
96. The method of
97. The method of
98. The method of
99. The method of
100. The method of
101. The method of
102. The method of
103. The method of
104. The method of
volatile memory on the probe. 105. The method of
106. The method of
to-digital converter in a digital oscilloscope. 107. The method of
108. The method of
109. The method of
110. The method of
111. The method of
time environment. 112. The method of
113. The method of
114. The method of
115. The method of
116. The method of
117. The method of
118. The method of
119. The method of
of-band noise on the channel. 120. The method of
121. The method of
122. The method of
ENOB) or the signal-to-noise ratio on the channel. 123. The method of
1 GHz.124. The method of
1 GHz and at least 6 GHz.125. The method of
10 GHz.126. The method of
127. The method of
128. The method of
129. The method of
130. The method of
131. The method of
132. The method of
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. 134. The system of
135. The system of
136. The system of
137. The system of
138. The system of
139. The system of
140. The system of
141. The system of
10 GHz.142. The system of
143. The system of
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. 145. The system of
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. 147. The system of
Description More than one application has been filed to reissue U.S. Pat. No. CROSS-REFERENCE TO RELATED APPLICATIONS
The entire contents of the following applications are hereby incorporated by reference: U.S. application Ser. No. 09/669,955 filed Sep. 26, 2000 now U.S. Pat. No. 6,542,914; U.S. application Ser. No. 09/988,120 filed Nov. 16, 2001 now U.S. Pat. No. 6,539,318; and U.S. application Ser. No. 09/988,420 filed Nov. 16, 2001. The present invention is directed to a digital signal processing (DSP) system having a digital frequency response compensator and an arbitrary response generator. More generally, the present invention relates to systems having an analog input signal, analog electronics (e.g. attenuators, gain elements, and buffers), and an analog-to-digital converter (ADC) for converting the analog input signal into a sequence of numbers that is a digital representation of the input signal. This invention pertains to instruments designed with the aforementioned components in order to acquire waveforms for the purpose of viewing, analysis, test and verification, and assorted other purposes. More specifically, this invention pertains to digital sampling oscilloscopes (DSOs), especially ultra-high bandwidth and sample rate DSOs and single-shot DSOs (sometimes referred to as real-time DSOs). These DSOs are capable of digitizing a voltage waveform with a sufficient degree of over-sampling and fidelity to capture the waveform with a single trigger event. Traditionally, DSOs have been the primary viewing tool for engineers to examine signals. With the high-speed, complex waveforms utilized in today's communications and data storage industries, the simple viewing of wave forms has been de-emphasized and greater demand has been placed on DSOs that are also capable of analyzing the waveforms. This increased desire for DSO analysis capability requires a greater degree of signal fidelity (i.e. a higher quality digitized waveform). While greater demands for signal fidelity are being made, the desire for DSOs having higher bandwidth and sample rates similarly continues unabated. Unfortunately, a high-speed signal requires a high-bandwidth DSO, and a premium is paid for ultra-high bandwidth, high sample rate, real-time DSOs. Sampling rates for digital oscilloscopes have been doubling approximately every 2-2½ years, with bandwidth doubling almost every 4 years. This increase in bandwidth has not come without a price. Often, analog components are stretched to their limits. Sometimes, peaking networks are used to stretch the bandwidth even further. This push for higher bandwidth often comes at the price of signal fidelity, specifically in the areas of pulse response (overshoot and ringing) and frequency response flatness. This is because peaking tends to be somewhat uncontrolled (i.e. it is difficult to peak-up a system while simultaneously maintaining a flat response). Further, since the analog components are stressed to their bandwidth limits, the frequency response often drops precipitously if the bandwidth is exceeded. Hence, high-bandwidth oscilloscopes no longer have gentle frequency response roll-off characteristics. Despite this situation, DSO customer's baseline expectations have not changed. Customers still expect low-noise—even though noise increases by a factor of the square root of two for every doubling of the bandwidth—and they expect DSOs to have a certain roll-off characteristic. Further complicating the situation is the fact that the design of high-speed DSOs involves a tremendous amount of trade-off and compromise. The three main traditional metrics of signal fidelity—noise, frequency response, and time-domain response—all compete against one another. As mentioned previously, pushing higher bandwidths through an oscilloscope increases the noise in the output signal. Any variation from the single-pole or double-pole frequency response characteristics increases the overshoot and ringing. Pushing the bandwidth of the hardware components to their limits only makes the problem worse. Flattening the frequency response can worsen the pulse response. Improving the pulse response typically means reducing the bandwidth of the instrument (which is always undesirable). Because the DSO is a general-purpose instrument, the tradeoffs are chosen carefully but many customers are invariably unsatisfied. The only choice left to the user is between a few fixed bandwidth limits, which connect in a simple RC network. Even in bandwidth-limited modes, the response is often still not perfectly compliant with the single-pole response and can vary by up to 0.5 dB. Compliance to a specified response is essential in the development of vertical market applications for a DSO where the scope emulates, for example, particular communication or disk-drive channels. The capability to emulate channels provides a rapid prototyping and analysis capability. Therefore, in accordance with the present invention, a component capable of compensating for degradation due to increased bandwidth is provided (i.e. frequency response flatness and/or compliance to a particular desired response characteristic). Further in accordance with the present invention, an adjustable component capable of making trade-offs with regard to noise, flatness and/or pulse response characteristics, rather than relying on static instrument characteristics is provided. The adjustable component thereby allows the instrument to be optimized for a given measurement. In accordance with the present invention, a capability using the adjustable component to feedback the response characteristics of the instrument to the user is provided. Still further in accordance with the present invention, a component capable of being calibrated for changing channel response characteristics is provided. A preferred embodiment of the invention provides a signal processing system capable of compensating for a channel response characteristic of an input waveform. The system comprises input specifications, a filter builder, and a filter. The input specifications are used to specify the design of the filter and include channel response characteristics defining the response characteristics of a channel used to acquire the input waveform, and user specifications for specifying a desired frequency response and a degree of compliance to the desired frequency response. The filter builder generates coefficients for the filter and outputs final performance specifications. The filter has 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. The filter filters the input waveform and outputs an overall response waveform having a desired frequency response. The filter is comprised of a filter coefficient cache for storing the coefficients generated by the filter builder, a compensation filter portion for filtering the input waveform in accordance with the coefficients stored in the filter coefficient cache corresponding to the 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 that outputs the overall response waveform. The response filter portion filters using the coefficients stored in the filter coefficient cache corresponding to the combination of the ideal response and the noise reduction response. In another aspect of the invention, the filter may be implemented as an infinite impulse response (IIR) filter or a finite impulse response (FIR) filter. In a further aspect of the invention, the channel response characteristics may be predetermined based on a reference signal and the reference signal as acquired by the channel. In still another aspect of the invention, the user specifications may comprise a bandwidth, a response optimization, a compensation compliance, and a filter implementation type. The response optimization may be a pulse response optimization implemented using a Besselworth filter, a noise performance optimization implemented using a Butterworth filter, or a flatness optimization implemented using a Butterworth filter. The filter implementation type may be finite impulse response (FIR) or infinite impulse response (IIR). In accordance with a further embodiment of the invention, a signal processing element for filtering an input digital waveform is provided. The element comprises a filter builder, an infinite impulse response (IIR) filter, a finite impulse response (FIR) filter, and an output selector switch. The filter builder is used for generating filter coefficients on the basis of a channel frequency response and a user response characteristics. The channel frequency response is determined on the basis of a response input and a correction input. The infinite impulse response (IIR) filter has an IIR input for the input digital waveform and an IIR coefficient input connected to the filter builder. The IIR filter produces an IIR filtered waveform from the input digital waveform on the basis of the filter coefficients generated by the filter builder. The finite impulse response (FIR) filter has an FIR input for the input digital waveform and a FIR coefficient input connected to the filter builder. The FIR filter produces a FIR filtered waveform from the input digital waveform on the basis of the filter coefficients generated by the filter builder. The output selector switch selects either the IIR filtered waveform or the FIR filtered waveform for output. In this embodiment, the filter builder detects changes in the sampling rate of said input digital waveform that may require the filter coefficients to be changed and regenerated. The filter builder generates filter coefficients for the FIR filter or the IIR filter on the basis of the output selector switch. The filter builder has channel, compensation, shaper, and noise reduction outputs for evaluating the performance of the filtering. In another aspect of this embodiment, the response input is a known input response and the correction input is a measured input response as acquired by an input channel. The user response characteristics are used to generate filter coefficients corresponding to an arbitrary response portion of the filter. The user response characteristics comprise a bandwidth, a response optimization, a compensation compliance, and a filter implementation type. The response optimization may be a pulse response optimization implemented using a Besselworth filter, a noise performance optimization implemented using a Butterworth filter, or a flatness optimization implemented using a Butterworth filter. The filter implementation type may be FIR or IIR. In yet another embodiment of the invention, a method of filtering an input digital waveform to compensate for the response characteristics of an acquisition channel is provided. The method first generates a compensation portion of a filter on the basis of an input channel response by pre-warping the 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 the initial filter guess to minimize a mean-squared error, inverting the analog filter, and digitizing the inverted analog filter to produce the compensation portion of the filter using a bilinear transformation. The method then generates an arbitrary response portion of the filter on the basis of an input user specifications. Finally, the method filters the input digital waveform using the compensation portion of the filter and by the arbitrary response portion of the filter, thereby producing a filtered digital waveform having the desired response characteristics. In accordance with this embodiment, the arbitrary response portion of the filter is comprised of a shaper and a noise reducer. The coefficients of the initial filter guess are iterated until the mean-squared error is less than a compensation compliance specified in the input user specifications. In another aspect of this embodiment, the filter may be implemented as an infinite impulse response (IIR) filter or a finite impulse response (FIR) filter. In yet another aspect of this embodiment, the channel response characteristics may be predetermined based on a reference signal and the reference signal as acquired by the channel. In still another aspect of this embodiment, the user specifications may comprise a bandwidth, a response optimization, a compensation compliance, and a filter implementation type. The response optimization may be a pulse response optimization implemented using a Besselworth filter, a noise performance optimization implemented using a Butterworth filter, or a flatness optimization implemented using a Butterworth filter. The filter implementation type may be finite impulse response (FIR) or infinite impulse response (IIR). Other objects and advantages of the invention will in part be obvious and will in part be apparent from the specification and the drawings. For a more complete understanding of the invention, reference is made to the following description and accompanying drawings, in which: The preferred embodiments of the system according to the present invention will be described with reference to the accompanying drawings. The present invention is a signal processing system having a digital frequency response compensator and an arbitrary response generator. The invention includes a filtering operation that is performed by a signal processing element located in the signal path of a DSO, between the ADC and any downstream processing of the digitized waveform. The filtering operation is executed during and/or after readout and prior to display or further processing of the waveform. DSOs generally have a high performance central-processing unit (CPU) for processing the acquired waveforms for analysis or display. The digital filtering operation according to the present invention may be implemented in software on this CPU within the DSO. The purpose of this digital filtering operation is to alter the frequency response of the DSO. This filter is designed such that by the adjustment of its filtering characteristics, the entirety of the DSO's system (including the channel input, the digitizing elements, and the present invention) has a specific, prescribed frequency response. In other words, the digital filter does not merely filter the frequency response, but causes the entire system to have a prescribed frequency response. Most filters are simply designed to have a particular effect on the signal input to the filter, but not to provide a particular overall system response. The present invention transforms response plot Prior attempts at this type of invention have failed in part because of difficulties in implementing the compensation filter portion. The design of the compensation filter is difficult because it is based on the channel response, which is highly variable. Although the final filter is implemented in its entirety without regard to the effect of each stage, the design of the filter is split into two steps. This is because the response filter and cutoff filter are designed together. This two step approach simplifies the design of the filter and reduces the filter calculation time during operation. This is because only the compensation filter portion needs to be rebuilt if the channel frequency response changes. Similarly, if the user changes the response specifications, only the response portion needs to be rebuilt. In other words, the compensation and response filter designs are decoupled. This decoupling is demonstrated by the fact that the compensation filter output is designed to generate a fixed output frequency response specification (i.e. a response that is flat). Thus, the channel frequency response determines the design of this filter portion. The response filter portion assumes that its input response is flat; therefore only the response output specifications affect the design. The filter The input specifications to the filter builder consist of two parts: the channel response characteristics The degree of compliance allows the user to fine tune the system. Large, complex digital filters will result if the desired response specification is exotic, or if the desired degree of compliance is very high. Such filters require large amounts of processing time which reduces the instrument update rate. Thus, the degree of compliance should be balanced with the impact to the instrument update rate. Compensation filter generator Response filter generator The following description of the preferred embodiment explains how the invention deals with this filter building problem. Once the filter portions have been built, the filters are cascaded and are capable of continuously filtering input waveforms, providing the overall system response as stated. Because of the uncertainty involved in the design of the compensation filter portion, the user should have the capability to examine the final overall system performance. For this reason, a set of final performance specifications The present invention has been implemented within a new software development platform for LeCroy DSOs. The main features of the software platform that are used by this invention are the “streaming architecture” and the “processing web”—both of which comprise a system that manages the interconnection of processing objects and data flow through these objects. See U.S. application Ser. No. 09/988,120 filed Nov. 16, 2001 and U.S. application Ser. No. 09/988,420 filed Nov. 16, 2001 incorporated herein by reference. Each processing object in the software, including the present invention, is implemented as an ATL COM object. In
In A detailed view of filter component These filters have been implemented on an Intel Pentium™ processor, using the Intel Performance Library—a set of dynamic-link libraries (DLLs) containing biquad IIR and FIR filter code specifically optimized for the processor. See Intel Signal Processing Library Reference Manual, Doc No. 630508-012, Intel Corp., 2000, Chapter 8. The fact that these filters can be implemented utilizing Intel libraries is only one possible embodiment, but is not necessary to the invention. Any other appropriate equivalent implementation may be employed. (Pentium™, and Intel Inside™ are trademarks of the Intel Corporation) The Coefs inputs If the IIR filter Input pin The filter builder The channel frequency response is calculated from the response The resp
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 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 An example of a calculated H 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:
To account for warping, the channel frequency response is prewarped. An analog filter, having the form of Equation 8, matching the prewarped response is built. As seen from the prewarped response 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 a 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·ω 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 (f 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:
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 (ω A (local) minimum is reached when the filter coefficients a 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 b 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 steps through an iteration of the Levenberg-Marquardt algorithm, where g is a vector of coefficients such that:
The mean-squared error mse -
- 1. A specified mse is reached;
- 2. λ reaches a maximum value (e.g. 1e10). Sometimes this indicates a divergence, but may also indicate a convergence;
- 3. λ reaches a minimum value (e.g. 1e−10) indicating the system has converged.
- 4. At the convergence point, λ may oscillate between two or three values;
- 5. At the convergence point, mse changes very slowly; or
- 6. A maximum number of iterations is exceeded. A maximum is set to prevent iterating indefinitely.
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—2 Once the roots are found, the complex conjugate pairs are joined and the analog filter is re-formed as:
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:
For biquad sections, N=2 and all coefficients are divided by B 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 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 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 (f 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 (f The specifications for the flatness response are derived from the user specifications: f The noise performance response optimization is similar to the flatness response optimization, except that A 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: -
- 1. The Bessel order is specified as O
_{bessel}; - 2. The maximum possible Butterworth order is specified as O
_{buttermax}; - 3. It must have no more than A
_{bw }attenuation at f_{bw}; - 4. It must deviate from a Bessel response by no more than δ before the Bessel response drops below A
_{δ }dB of attenuation, or alternately specified, at a frequency of f_{δ}; and - 5. It must have at least A
_{s }attenuation at and beyond f_{s}. A_{bw }and f_{bw }are the bandwidth specifications. δ is the deviation as described earlier. The default value of A_{δ }is unspecified, and overridden by a direct statement of f_{δ}, which defaults to the maximum compensation frequency f_{mc}. In other words, the default setting is for the response to closely comply with a Bessel response for the entire frequency range for which compensation is provided. A_{s }and f_{s }have been explained previously.
- 1. The Bessel order is specified as O
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 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 In summary, the interfaces to the component shown in -
- 1. The input/output of the internal filtering element;
- 2. The specifications of the desired output response;
- 3. The specification of the channel frequency response; and
- 4. The output of the pins that describe the compensation and response that is provided by the internal filtering element after the filters have been determined by the filter builder component.
Calibration of a system utilizing the component shown in This calibration method calibrates the signal path through the channel 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 Further, the calibrated reference generator 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. 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 Citations
Non-Patent Citations
Referenced by
Classifications
Legal Events
Rotate |