USPatent applicationPatented

High speed x/sine(x) correction circuit

Granted 27 Jul 2004 · no office action yet

Current assignee: Tektronix Inc. · originally Fortive

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Linley F. Gumm · Examiner: Michael Tokar · AU 2819 · TC 2800

Application· this page
10/440,342
filed 15 May 2003
Publication
Not published
not published
Patent
US 6,768,434
granted 27 Jul 2004

Life of the application

5 dated events
⤢ drag to zoom20042006200820102012201420162018202020222024ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

A high speed x/sine(x) correction circuit for a digital to analog converter (DAC) functions by implementing a filter with an impulse response that approximates a sine(x)/x response. Each digital data value of an input signal to be converted by the DAC is considered a separate impulse. Each impulse, or initial pulse, is used to create a first reflection pulse by delaying the initial pulse by one clock cycle, inverting the delayed initial pulse and multiplying the delayed initial pulse by a constant less than one, such as dividing the delayed initial pulse by right-shifting the digital data value of the delayed initial pulse. The first reflection pulse is added to the input signal in the clock cycle it is generated prior to input to the DAC. A second reflection pulse may be generated in like manner from the first reflection pulse with an additional clock cycle delay for optimum results, both reflection pulses being added to the input signal in the clock cycle they are generated prior to input to the DAC.

Description

4 parts
›BACKGROUND OF THE INVENTION

The present invention relates to compensation of deleterious frequency characteristics, and more particularly to a high speed x/sine(x) correction circuit for a digital analog converter.

Waveform generators that include a digital to analog converter (DAC) input a discrete sequence of digital sample values to the DAC which in turn outputs corresponding analog values. The analog value corresponding to a single input digital value is maintained for the interval between input sample values. This causes the DAC to exhibit an inherent, undesirable, sine(x)/x frequency response.

This effect is demonstrated mathematically by assuming that the desired function a(t) is to be passed through the DAC in discrete form by the DAC's output assuming the instantaneous value of A(t) every T seconds and holding that value over the interval. Using the notation used by Dr. Ron Bracewell in his book, “The Fourier Transform and Its Applications” (McGraw-Hill, Inc. (c) 1965), the DAC's output as a function of time is:

v ( t )= a ( t )·↑↑↑( t/T )*Π( t/T )

where ↑↑↑(t/T) is a sequence of impulse functions with a period of T seconds and Π(t/T) is a unit amplitude pulse T seconds wide.

The Fourier transform of this function is:

V ( f )= A ( f )*↑↑↑( Tf )· T [sine(π Tf )/(π Tf )]

where T is the period of the DAC's clock. It may be replaced in this equation by a clock frequency F c :

V ( f )= A ( f )*↑↑↑( f/F c )· T [sine(π f/F c )/(π f/F c )]

The convolution of a function [A(f)] with an impulse [↑↑↑(f/F c )] is that function offset to the position of the impulse. Thus the DAC's output spectrum is the spectrum of the input signal repeated at intervals throughout the spectrum, each centered at a harmonic of the DAC's clock frequency. That complex spectrum is then shaped by the undesired sine(x)/x function where x=πf/F c .

In typical applications the sine(x)/x frequency characteristic of the DAC is compensated by modifying the discrete data before it is applied to the DAC. This may take the form of a fixed coefficient pre-filter with an x/sine(x) frequency response. Since the x/sine(x) function approaches infinity for integer values of x, this function operates over only part of the DAC's output frequency range.

U.S. Pat. No. 5,208,569 teaches solving this problem by modifying the characteristics of a filter already present in the pre-DAC path to accomplish another filtering function. The characteristics of that filter are modified to be the desired function times—on a frequency by frequency basis—the x/sine(x) response. This approach reprograms pre-existing filtering to accomplish this process.

U.S. Pat. No. 6,317,167 teaches a solution to this problem for a specialized case where it is desired to use the output signal spectrum present at frequencies near the harmonics of the DAC's clock frequency as well as the spectrum from zero to one-half the clock frequency. This system makes use of a very complex filter, using complex—in the mathematical sense—arithmetic to accomplish an x/sine(x) correction over a limited frequency range at a number of frequency bands. The bands may be centered from near zero to a high harmonic of the clock frequency. This system is very complicated and as such is limited in how fast it can be made to operate with a given circuit technology.

What is desired is a simple x/sin(x) correction circuit constructed from simple digital circuit functions that operates near or at the limit in speed of any given technology used to implement it.

›BRIEF SUMMARY OF THE INVENTION

Accordingly the present invention provides a high speed x/sine(x) correction circuit that creates a filter having an impulse response that approximates a sine(x)/x response. For each data value (each of which is considered an “impulse”) of an input signal a scaled value of that impulse is generated and added in the following clock intervals prior to applying the input signal to a digital to analog converter (DAC) for conversion to an analog waveform. The scaled value may be thought of as a reflection pulse. A first reflection pulse may be generated by delaying the initial pulse one clock cycle, inverting the delayed initial pulse and multiplying the inverted initial pulse by a constant less than one. Preferably the value of the constant is 0.125 (⅛), which is obtained by right shifting the data three bits. A second reflection pulse may be derived in the same manner from the first reflection pulse after an additional clock cycle delay to provide optimum results. The reflection pulse(s) are added to the input signal in the clock cycle they are generated before input to the DAC.

The objects, advantages and other novel features of the present invention are apparent from the following detailed description when read in conjunction with the appended claims and attached drawing.

›BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING

FIG. 1 is a digital logic diagram view of a high speed x/sine(x) correction circuit according to the present invention.

FIG. 2 is a graphical view showing the results of the high speed x/sine(x) correction circuit according to the present invention.

FIG. 3 is a graphical view of a corrected pulse for input to a DAC according to the present invention.

›DETAILED DESCRIPTION OF THE INVENTION

Morris Engelson published a paper on the use of controlled reflections to correct the flatness of impulse generators. See “Impulse Generator Techniques” presented at the 8 th Tri-Service Conference on Electromagnetic Compatibility in 1962. In a nutshell the output spectrum of a rectangular pulse is made much flatter if the pulse is immediately followed by a sequence of pulses of the same width, each with an amplitude p times the preceding pulse. The optimum value of ρ is about −0.11.

Referring now to FIG. 1 this principle is used to design a high speed x/sine(x) correction subsystem for a high speed arbitrary waveform generator. An initial pulse of digital data from an input signal, where each digital data value is treated as an impulse, is input to a first summation circuit 12 and to a one clock cycle delay circuit 14 . The delayed pulse from the delay circuit 14 is input to an inverter 16 , and the inverted pulse then is input to a shift register 18 that shifts the inverted pulse three bits to the right, i.e., multiplies the inverted pulse by 0.125, to produce a first reflection pulse. The first reflection pulse is input to the first summation circuit 12 for adding to the input signal in the clock cycle it is generated. The same process is applied using a second summation circuit 20 having as one input the output from the first summation circuit 12 and as the other input a second reflection pulse derived from the first reflection pulse via a cascade of another one clock cycle delay 22 , inverter 24 and three-bit right shift register 26 , such data being equivalent to the initial pulse being multiplied by 0.125 2 ≅0.0156. The output, which is shown in FIG. 3, from the second summation circuit 20 is then applied to a digital to analog converter (DAC) 28 to provide an analog waveform signal. The clock used for the one clock cycle delays 14 , 22 is the DAC clock.

An example of the results is shown in FIG. 2. A data record of 1024 bits is used. The initial pulse, equivalent to one data point for the DAC 28 , is 16 samples long with a normalized value of 1.0. A second pulse 16 samples long with a value of −0.125 immediately follows the initial pulse in the next clock cycle. A third pulse, also 16 samples long with a value 0.0156, follows the first two pulses in the following clock cycle. The dotted line shown in FIG. 2 is a spectrum for the initial pulse alone. The solid line is a spectrum for the three-pulse combination., There is a slight (0.036 dB) peaking and the 0.5 dB bandwidth is extended by about forty percent (40%). The 0.5 dB bandwidth is about 30% of the reciprocal of the pulse width. The response is down 1.76 dB at 50% of the reciprocal of the pulse width. If only one stage of delayed pulse is added to the initial pulse, the peaking is greater (0.31 dB) but the response at 50% of the reciprocal of the pulse width is down only 1.73 dB.

The technique described above creates an approximation to a sine(x)/x response after the initial impulse at t=0. The same approach may be used to create a symmetric approximation to sine(x)/x by delaying the initial impulse two clock cycles and adding two pre-reflections. However this approach increases the signal's latency by two clock periods and results in a nearly identical amplitude versus frequency response characteristic.

Thus the present invention provides a high speed x/sine(x) correction circuit by using controlled reflection pulses of an initial pulse from an input digital signal, the initial pulse representing one digital data value from the input signal, which are added to the input signal in the clock cycle they are generated prior to conversion to an analog waveform.

Claims as granted

17 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

9 codes
IPC · International Patent Classification
Section H — Electricity
  • H03M1/66
  • H03M1/06
USPC · US Patent Classification
341/110375/296330/2370/307341/144330/149375/297

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomApr 2003Jul 2003Oct 2003Jan 2004Apr 2004Jul 2004USPTOApplicantNotice of allowance
USPTOApplicanthover for detail · click to open
Pendency
1.2 y
439 days filing → grant
Office actions
0
none on record
Examiner
Michael Tokar
art unit 2819 · TC 2800
Citations: 12 back · 2 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20042006200820102012201420162018202020222024Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock