US5684850AExpiredUtility

Method and apparatus for digitally based high speed x-ray spectrometer

Assignee: WARBURTON WILLIAM KPriority: Aug 14, 1995Filed: Aug 2, 1996Granted: Nov 4, 1997
Est. expiryAug 14, 2015(expired)· nominal 20-yr term from priority
G01T 1/171
90
PatentIndex Score
99
Cited by
21
References
31
Claims

Abstract

A high speed, digitally based, signal processing system which accepts input data from a detector-preamplifier and produces a spectral analysis of the x-rays illuminating the detector. The system achieves high throughputs at low cost by dividing the required digital processing steps between a "hardwired" processor implemented in combinatorial digital logic, which detects the presence of the x-ray signals in the digitized data stream and extracts filtered estimates of their amplitudes, and a programmable digital signal processing computer, which refines the filtered amplitude estimates and bins them to produce the desired spectral analysis. One set of algorithms allow this hybrid system to match the resolution of analog systems while operating at much higher data rates. A second set of algorithms implemented in the processor allow the system to be self calibrating as well. The same processor also handles the interface to an external control computer.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A high speed, digitally based method for analyzing an electronic signal containing step-like pulses, which arrive at an average rate R, to estimate the amplitudes of at least some of said step-like pulses, the method comprising the steps of: digitizing the electronic signal with an analog to digital converter (ADC), operating at a sampling frequency S which is greater than R, to produce a digital representation of the electronic signal, the representation being referred to as the digitized input signal;   providing digital combinatorial logic, referred to as the FiPPI, clocked at frequency S or a multiple thereof;   providing a programmable digital computing device (DSP) coupled to the FiPPI;   applying a digital shaping filter to the digitized input signal, using the FiPPI;   detecting the presence of the pulse signals in the digitized input signal, using the FiPPI;   extracting estimates of amplitudes of the pulse signals from the output of the digital filter, using the FiPPI;   transferring the estimates from the FiPPI to the DSP; and   compensating the estimates for errors resulting from applying the digital filter to waveforms which are not ideal steps, using the DSP.   
     
     
       2. The method of claim 1, and further comprising the step, carried out using the DSP, of, correcting the pulse amplitude estimates for the condition that, excluding noise, the signal between pairs of successive pulses is not of constant value but instead possesses a slope, either positive or negative. 
     
     
       3. The method of claim 1, and further comprising the step, carried out using the DSP, of binning the estimates, so compensated, to produce a spectral representation of the amplitudes of the detected pulses. 
     
     
       4. The method of claim 3 wherein, if the time required for the digital filter to produce an amplitude estimate of a pulse signal is denoted by π, the amplitude capture, compensation and binning steps are achieved without adding to the system dead time by the steps of selecting and programming the DSP so that it can capture the amplitude estimates in less time than π;   storing the captured estimates in a memory buffer from which they can be retrieved at a later time for processing;   programming the DSP to perform the compensation and binning computations on estimates retrieved from the memory buffer during periods when it is not actively capturing and storing said estimates; and   selecting and programming the DSP so that it can perform the compensation and binning computations in an average time which, in the application for which the instrument is intended, is less than the average interpulse arrival time minus the average time required to capture the estimates and store them in the memory buffer.   
     
     
       5. The method of claim 1, and further comprising the step, carried out using the DSP, of correcting the pulse amplitude estimates for manipulations of the electronic signal between its source and the input of the ADC. 
     
     
       6. The method of claim 5, and further including the step, carried out before said digitizing step, of conditioning the electronic signal according to a set of parameters to reduce the dynamic range of the input signal. 
     
     
       7. The method of claim 6, and further comprising the steps of: sensing whether the input signal exceeds the input range of the ADC; and, if so, performing at least one of the following steps:   signaling the DSP to avoid capturing possibly spurious filtered amplitude estimates; and   signaling the DSP to adjust the set of parameters to return the input signal to the ADC input range.   
     
     
       8. The method of claim 6, and further comprising the steps of: communicating the set of parameters to the DSP; and   using the values of the parameters in the set in said correcting step.   
     
     
       9. The method of claim 8 wherein, when said conditioning step includes the subtraction of a generated slope of value S g , said correcting step includes the substeps of: calculating the contribution S g  makes to the output of the digital filter; and   adding said contribution to said extracted amplitude estimate.   
     
     
       10. The method of claim 9 wherein the digital filter is a trapezoidal filter described by a length L s  and gap G s  and said contribution add added to said extracted amplitude estimate is calculated as S g  (L s  +G s ). 
     
     
       11. The method of claim 6 wherein said conditioning step is carried out using circuitry, referred to as the ASC, including one or more of the following subcircuits: an input offset amplifier, a DAC connected to one input of the offset amplifier, a function generator, a subtracter, a variable gain stage, a comparator, and a low pass filter; and using the DSP to adjust the values of the parameters which control the operation of said subcircuits.   
     
     
       12. The method of claim 11, and further using the DSP to calibrate the system gain by the steps of: adjusting the output of the DAC through a known sequence of values;   recording the output of the ADC at each point in the sequence; and   using the sequence of pairs of DAC and ADC values so generated to compute the number of ADC steps per volt applied at the input, thereby providing a measure of the system's gain.   
     
     
       13. The method of claim 11, and further using the DSP to verify the correct operation of the entire signal conditioning and processing chain, in the absence of an input signal, by the steps of: setting the DAC control parameter to a "reset" value which causes the ASC's output voltage to barely fall into the ADC's input range; and   generating a series of voltage steps at the system input by the substeps of   repeatedly incrementing, by a fixed value and at time intervals which exceed the peaking time of the digital filter, the DAC control parameter, and,   when the ASC'S output voltage approaches the upper end of the ADC's input range, returning the DAC control parameter to the reset value, and,   repeating; and   generating a histogram for these input sequences of step-like pulses by binning the estimates output by the FiPPI; and   verifying that the histogram so produced has a peak at a value that is correct for the amplitude of the voltage steps generated; and   verifying that this peak's width correctly represents the noise performance of the entire signal conditioning and processing chain, excluding input signal noise.   
     
     
       14. The method of claim 11 wherein the function generator contains a slope generator, and, prior to collecting data from a preamplifier employing periodic reset, the DSP determines an initial setting for the slope generator by the steps of: computing the slope generator's calibration factor, in volts per second per bit of its control DAC setting, from the implemented values of its integration capacitor and its control DAC's output current per bit setting;   turning off the slope generator;   adjusting the ASC offset and gain so that, between resets, the resultant, amplified preamplifier signal traverses the entire ADC input range;   measuring the time the amplified preamplifier signal takes to traverse the ADC input range;   knowing the ADC input range in volts, thereby measuring the slope of the amplified preamplifier signal in volts/second; and, if desired,   repeating this measurement several times to obtain a better estimate of the average slope of the amplified preamplifier signal in volts/second;   knowing the set ASC gain factor, thereby also measuring the average slope of the input preamplifier signal in volts/second; and   then, using the slope generator's calibration factor, computing the setting of the slope generator's control DAC in bits to match the preamplifier signal's average input slope in volts/second.   
     
     
       15. The method of claim 1 wherein the FiPPI, on request from the DSP, also extracts filtered amplitude estimates at times when pulse signals are absent, referred to as baseline events; and the DSP uses the values of one or more of these baseline events in its procedures to refine the filtered amplitude estimates.   
     
     
       16. The method of claim 15 wherein, having obtained an estimate B of the average baseline amplitude, said refinement is carried out by subtracting B from the filtered amplitude estimate. 
     
     
       17. The method of claim 15 wherein the DSP reduces the variance in its estimate of the current baseline value by computing a weighted average of a number of recent baseline values. 
     
     
       18. The method of claim 17 wherein the weighted baseline average B i  at time i is computed according to the formula   B.sub.i =B.sub.i-1 (n-1)/n+b.sub.i /n     where b i  is the baseline value measured at time i and N is a constant, commonly a power of 2.   
     
     
       19. A high speed, digitally based spectrometry method for analyzing an electronic signal containing step-like pulses, as from a preamplifier whose input is a photon or particle detector and wherein the amplitudes of the step-like pulses represent the energies of the photons or particles absorbed in the detector, which arrive at an average rate R, to estimate the amplitudes of at least some of said step-like pulses, the method comprising the steps of: digitizing the electronic signal with an analog to digital converter (ADC), operating at a sampling frequency S which is greater than R, to produce a digital representation of the electronic signal, the representation being referred to as the digitized input signal;   providing digital combinatorial logic (FiPPI) clocked at frequency S or a multiple thereof;   providing a programmable digital computing device (DSP) coupled to the digital combinatorial logic;   applying a digital shaping filter to the digitized input signal, using the FiPPI;   detecting the presence of the pulse signals in the digitized input signal, using the FiPPI;   extracting estimates of amplitudes of the pulse signals from the output of the digital filter, using the FiPPI;   transferring the estimates from the FiPPI to the DSP; and   compensating the estimates for errors resulting from applying the digital filter to waveforms which are not ideal steps, using the DSP.   
     
     
       20. The method of claim 19, and further comprising the step, carried out using the DSP, of binning the estimates, so compensated, to produce a spectral representation of the amplitudes of the detected pulses and thus of the energies of the originating photons or particles as well. 
     
     
       21. The method of claim 19 wherein, if the time required for the digital filter to produce an amplitude estimate of a pulse signal is denoted by π, the amplitude capture, compensation and binning steps are achieved without adding to the system dead time by the steps of selecting and programming the DSP so that it can capture the amplitude estimates in less time than π;   storing the captured estimates in a memory buffer from which they can be retrieved at a later time for processing;   programming the DSP to perform the compensation and binning computations on estimates retrieved from the memory buffer during periods when it is not actively capturing and storing said estimates; and   selecting and programming the DSP so that it can perform the compensation and binning computations in an average time which, in the application for which the instrument is intended, is less than the average interpulse arrival time minus the average time required to capture the estimates and store them in the memory buffer.   
     
     
       22. The method of claim 19, and further including the steps of: before said digitizing step, conditioning the electronic signal according to a set of parameters to reduce the dynamic range of the input signal, said conditioning step including the subtraction of a generated slope of value S g  ;   communicating the set of parameters to the DSP; and   using the values of the parameters in the set in said correcting step;   wherein said correcting step includes the substeps of:   calculating the contribution S g  makes to the output of the digital shaping filter; and   adding said contribution to said extracted amplitude estimate.   
     
     
       23. The method of claim 22 wherein the digital filter is a trapezoidal filter described by a length L s  and gap G s  and said contribution added to said extracted amplitude estimate is calculated as (L s  +G s ). 
     
     
       24. The method of claim 23 wherein, if the spectrometer's gain in eV/ADC step is denoted by G, and the extracted amplitude estimate is denoted by PKVAL, then the x-ray energies E are computed as:   E=(PKVAL+S.sub.g (L.sub.s +G.sub.s)) G.     
     
     
       25. The method of claim 24 wherein, if the spectrometer's gain in eV/ADC step is denoted by G, the extracted amplitude estimate is denoted by PKVAL, and an estimated baseline estimate is denoted by B, then the x-ray energies E are computed as:   E=(PKVAL+S.sub.g (L.sub.S +G.sub.S)-B)G.     26.   
     
     
       26. The method of claim 19 wherein the FiPPI, on request from the DSP, also extracts filtered amplitude estimates at times when pulse signals are absent, referred to as baseline events; and the DSP uses the values of one or more of these baseline events in its procedures to refine the filtered amplitude estimates.   
     
     
       27. The method of claim 26 wherein, having obtained an estimate B of the average baseline amplitude, said refinement is carried out by subtracting B from the filtered amplitude estimate. 
     
     
       28. A high speed, digitally based spectrometry apparatus for analyzing an electronic signal containing step-like pulses, as from a preamplifier whose input is an photon or particle detector and wherein the amplitudes of the step-like pulses represent the energies of the photons or particles absorbed in the detector, which arrive at an average rate R, to estimates of the amplitudes of at least some of said step-like pulses, the apparatus comprising: an analog to digital converter (ADC), operating at a sampling frequency S which is greater than R, which digitizes the electronic signal to produce a digital representation of the electronic signal, the representation being referred to as the digitized input signal;   digital combinatorial logic, referred to as the FiPPI, clocked at frequency S or a multiple thereof; and   a programmable digital computing device (DSP) coupled to the FiPPI; wherein   the FiPPI applies a digital shaping filter to the digitized input signal;   the FiPPI detects the presence of the pulse signals in the digitized input signal;   the FiPPI extracts estimates of the pulse signals' amplitudes from the output of the digital filter;   the DSP captures the estimates from the FiPPI; and   the DSP compensates the estimates for errors resulting from applying the digital filter to waveforms which are not ideal steps.   
     
     
       29. The apparatus of claim 28, wherein the DSP additionally bins the estimates, so compensated, to produce a spectral representation of the amplitudes of the detected pulses and thus of the energies of the originating photons or particles as well. 
     
     
       30. The apparatus of claim 28 wherein: said digital filter is characterized by a peaking time;   said digital computing device has an associated memory buffer for storing the received amplitude estimates for processing at a later time;   said digital computing device is characterized by a sufficiently high speed of operation that said operations of receiving the amplitude estimates and storing the amplitude estimates are performed in less time than the peaking time of the digital filter, so that one good value is captured before the next can be generated.   
     
     
       31. The apparatus of claim 28 wherein: said digital computing device is programmed to perform said compensation operation during periods when it is not actively capturing and storing the estimates; and   said digital computing device is characterized by a sufficiently high speed of operation that said operations of receiving the amplitude estimates, storing the amplitude estimates, and compensating the extracted estimates are performed in less time than an average interpulse arrival time.

Join the waitlist — get patent alerts

Track US5684850A — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.