In time-of-flight mass spectrometers (TOFMS), a mass sample to be analyzed is ionized, the resulting ions are accelerated in a vacuum by an electrical pulse having a known potential, and the flight times of the ions of different masses at an ion detector are measured. The more massive the ion, the longer is the flight time. The relationship between the flight time and the mass, m, of ions of a given mass can be written in the form:
time=k√{square root over (m)}+c
where k is a constant related to flight path and ion energy, and c is a small delay time that may be introduced by the signal cable and/or detection electronics. When the term mass is used in this disclosure in the context of mass spectrometry, it is to be understood to mean mass-to-charge ratio. The process of accelerating the ions of the mass sample and detecting the arrival times of the ions of different masses at the ion detector will be referred to herein as a mass scan operation.
The ion detector generates electrons in response to ions incident thereon. The electrons constitute an electrical signal whose amplitude is proportional to the number of electrons. There is only a statistical correlation between the number of electrons generated in response to a single ion incident on the ion detector. In addition, more than one ion at a time may be incident on the ion detector due to ion abundance.
In the mass spectrometer, an ion accelerator generates a short pulse of ions by applying an electrical pulse having a known voltage to ions received from the ion source. Immediately after leaving the ion accelerator, the ions are bunched together but, within the ion pulse, ions of different masses travel at different speeds. The flight time required for the ions of a given mass to reach the ion detector depends on the speed of the ions, which in turn, depends on the mass of the ions. Consequently, as the ion pulse approaches the ion detector, the ion pulse is separated in space and in time into discrete packets, each packet containing ions of a single mass. The packets reach the ion detector at different arrival times that depend on the mass of the ions therein.
The mass spectrometer generates what will be referred to a mass scan signal in response to a single pulse of ions accelerated by a single electrical pulse. The mass scan signal is a digital signal that represents the output of the ion detector as a function of time. The time represents the time-of-flight of the ions from the ion accelerator to the ion detector. The number of electrons generated by the ion detector in a given time interval constitutes an analog ion detection signal that is converted to the mass scan signal by an analog-to-digital converter (A/D converter). The mass scan signal represents the output of the ion detector as a function of the flight time taken by the ions to reach the ion detector. The mass scan signal is a temporal sequence of digital samples output by the A/D converter after the ions have been accelerated. The conversion time of the A/D converter effectively divides the time axis into discrete bins and the A/D converter outputs a single digital sample for each bin on the time axis.
Because the relationship between the amplitude of the ion detection signal output by the ion detector and the number of ions incident on the ion detector is a statistical one, a single mass scan signal will not accurately represent the mass spectrum of the sample. In addition, the ion detection process is subject to noise from a number of different noise sources. Such noise causes the ion detector to generate an output signal even in the absence of ions incident on the ion detector. To overcome these problems, the mass spectrometer generates multiple mass scan signals and sums the most-recently generated mass scan signal with an accumulation of all previously-generated mass scan signals to generate a mass spectrum having a defined statistical accuracy and signal-to-noise ratio.
The resulting mass spectrum is subject to mass resolution limitations originating from the ion accelerator and the ion detector and its associated circuitry. The mass spectrometer and mass spectrometry method disclosed in the parent application decreased the mass resolution limitations originating from the ion detector and its associated circuitry leaving the ion accelerator as the primary limiter of mass resolution. This has prompted improvements in the precision of the mass accelerator so that, once more, the ion detector and its associated circuitry have become contributors to mass resolution limitations.
Accordingly, what is needed is to reduce the mass resolution limitations imposed by the ion detector and its associated circuitry.
The disclosure can be better understood with reference to the following drawings. The elements of the drawings are not necessarily to scale relative to each other. Instead, emphasis is placed upon clear illustration. Furthermore, like reference numerals designate corresponding parts throughout the several views.
One embodiment of the invention provides a method for generating a mass spectrum in which, from a mass scan signal comprising original samples defining a peak, a subset of the original samples defining the peak is selected. The original samples have a temporal resolution. One or more synthesized samples are synthesized from the subset of the original samples. The one or more synthesized samples provide a temporal resolution greater than the temporal resolution of the original samples. The one or more synthesized samples are summed with respective temporally-aligned accumulated samples to produce the mass spectrum. The accumulated samples are obtained from mass scan signals generated during respective previously-performed mass scan operations.
Another embodiment of the invention provides a mass spectrometer comprising a sample selector, a sample synthesizer and a sample combiner. The sample selector is operable to select, from a mass scan signal comprising original samples defining a peak, a subset of the original samples defining the peak. The original samples have a temporal resolution. The sample synthesizer is operable to synthesize from the subset of the original samples one or more synthesized samples that provide a temporal resolution greater than the temporal resolution of the original samples. The sample combiner is operable to sum the one or more synthesized samples with respective temporally-aligned accumulated samples to produce a mass spectrum. The accumulated samples are generated by the sample selector, the sample synthesizer and the sample combiner from mass scan signals generated during respective previously-performed mass scan operations.
Another embodiment of the invention provides a computer-readable medium in which is fixed a program operable to cause a computational device to perform a method that generates a mass spectrum. In the method performed in response to the program, from a mass scan signal comprising original samples defining a peak, a subset of the original samples defining the peak is selected. The original samples have a temporal resolution. One or more synthesized samples are synthesized from the subset of the original samples. The one or more synthesized samples provide a temporal resolution greater than the temporal resolution of the original samples. The one or more synthesized samples are summed with respective temporally-aligned accumulated samples to produce the mass spectrum. The accumulated samples are obtained from mass scan signals generated during respective previously-performed mass scan operations.
In one example, the one or more synthesized samples are generated by subjecting the original samples in the subset to interpolation. Typically, at least one temporally-extreme one of the original samples in the subset comprising the synthesized samples is suppressed to generate a truncated subset, and the original samples in the truncated subset are summed with respective temporally-aligned ones of the accumulated samples to generate respective new accumulated samples.
In another example, a single synthesized sample having a time component and an amplitude component is generated from the original samples in the subset. The original samples in the subset are subject to a centroid calculation to obtain the time component of the synthesized sample, and the amplitude component of the synthesized sample is generated from at least one of the original samples in the subset. In embodiments, the amplitude component of the synthesized sample is generated from the original samples in the subset by selection or by interpolation.
As noted above, the flight time required by an ion to traverse the distance between the electrode 12 and the ion detector 25 provides a measure of the mass of the ion. The value in address register 21 when the ion is incident on the ion detector 25 is proportional to the flight time. Hence, after mass spectrometer 10 has performed a number of mass scan operations, memory 29 accumulates data that indicates the abundance of ions with a given mass as a function of the mass of the ions. In other words, the data stored in memory 29 represents a mass spectrum of the sample being analyzed.
Various devices, such as a Faraday cup, multichannel plate (MCP), electron multiplier (continuous structure as well as dynode structure), conversion dynode, Daly ion detector, and combinations thereof, may be used to implement the ion detector 25. The ion detection signal generated by the ion detector 25 depends on the number of ions incident on the ion detector 25 in a time corresponding to the sampling time of A/D converter 27. Moreover, in a time-of-flight mass spectrometer, heavier ions arrive at the ion detector 25 after lighter ions. The ion detection signal output by the ion detector 25 as a function of flight time exhibits pulses that can be identified as originating from ions of specific masses. A pulse in the ion detection signal is due to ions of a particular mass being incident on the ion detector 25 during a small interval of time. Ions of the same mass are generally bunched together as they travel toward and are incident on the ion detector 25 and will be referred to hereafter as an ion packet. Thus, ions within the same ion packet have the same mass. Further, the pulses exhibited by the ion detection signal generated by the ion detector 25 will be referred to below as analog pulses.
In general, the number ions in each ion packet is relatively small, and hence the statistical accuracy of the mass scan signal obtained in a single mass scan operation is usually insufficient. In addition, there can be a significant amount of noise in the system. The noise is generated both in the ion detector 25, the analog signal path, and in the A/D converter 27.
To improve statistical accuracy, the mass scan signals generated by a large number of respective mass scan operations are accumulated to produce the mass spectrum of the mass sample. At the beginning of the mass spectrum measurement process, the controller 15 stores zeros in all of the memory locations in memory 29 and initiates the first mass scan operation. The first mass scan operation causes a first mass scan signal to be stored in memory 29 as a mass spectrum. When the first mass scan operation is completed, the controller 15 resets the address register 21 and initiates another mass scan operation by causing the pulse source 17 to pulse the electrode 12. The second mass scan signal generated by the second mass scan operation is added to the mass spectrum stored in memory 29 to generate a new mass spectrum having a better statistical accuracy than the previous mass spectrum. The process just described is repeated until the new mass spectrum has the desired statistical accuracy.
Small variations in the mass scan signals degrade the mass resolution of the mass spectrum defined by the accumulated samples stored in memory 29. For example, clock jitter may cause small timing variations in the mass scan signals, and the effect of these small timing variations on the mass spectrum can become significant as many different mass scan signals are accumulated. Further, variations in the pulse source 17 may cause the electrodes 12 to ionize the mass sample of the ion source 11 such that ions of the same mass have slightly different initial energies. As a result, ions of the same mass may be incident on the ion detector 25 at slightly different times. In addition, the ion detector 25 has finite rise and fall times. Thus, even if ions of the same mass were incident on the ion detector 25 at exactly the same time, the pulse exhibited by the ion detection signal output by the ion detector 25 would have a pulse width spanning a finite range of time. The analog signal path, including the analog portion of A/D converter 27, may further increase the width of the pulses exhibited by the ion detection signal output by the ion detector 25. These and other variations can significantly degrade the mass resolution of the mass spectrum.
To better illustrate the foregoing, refer to
The pulses 41-44 depicted in
The analog ion detection signals that exhibit the pulses 41-44, respectively, are digitized by the A/D converter 27 (
In the example shown in
In a manner similar to that described above with reference to
In a manner similar to that described above with reference to
Thus, the mass spectrometer 50 shown in
The controller 15 and the sample adjuster 78 can be implemented in hardware, software, or a combination thereof. As an example, the controller 15 and/or the sample adjuster 78 may be implemented in software and executed by a programmable logic array, a digital signal processor (DSP), a central processing unit (CPU), or other type of apparatus for executing the instructions of the controller 15 and/or the sample adjuster 78. In other embodiments, the controller 15 and/or the sample adjuster 78 can be implemented in firmware or hardware, such as logic gates, for example.
The sample adjuster 78 is configured to identify peaks in each mass scan signal received from the A/D converter 27. Further, for each identified peak, the sample adjuster 78 is configured to designate at least one of the samples as an active sample. As used in this disclosure, an active sample is a sample that is not to be suppressed by the sample adjuster 78.
For each peak identified in each mass scan signal received from A/D converter 27, sample adjuster is configured to identify a predefined number of the samples having the highest values as the active samples for the peak. Thus, the active samples for a given peak are the highest-value ones of the samples defining the peak. In one embodiment, as will be described in more detail below, for each peak, the sample adjuster 78 identifies only the one sample having the highest value (i.e., the highest-value one of the samples defining the peak) as the active sample. In this example, each peak has only one active sample. In other embodiments, for each peak, the sample adjuster 78 identifies two or more of the samples having the highest values as the active samples for the peak.
The sample adjuster 78 allows all active samples to pass to memory 29 unsuppressed but suppresses all of the other samples constituting the mass scan signal (i.e., each sample not identified as an active sample by the sample adjuster 78). As used in this disclosure, a sample is suppressed when it is assigned a value lower than the actual value assigned to it by the A/D converter 27, or it is prevented from affecting the respective accumulated sample constituting one data point of the mass spectrum accumulated in memory 29. In an example, the sample adjuster 78 suppresses a sample by assigning such sample a value of zero (0). Thus, each suppressed sample does not affect the mass spectrum accumulated in memory 29.
Various techniques exist that may be employed by the sample adjuster 78 to identify peaks in the mass scan signal constituted by the samples generated by A/D converter 27. In one embodiment, the sample adjuster 78 identifies a peak in a region of the mass scan signal in which at least a minimum number, p, of consecutive samples having increasing values is immediately followed by at least a minimum number, q, of consecutive samples having decreasing values. Note that the numbers p and q may be specified by a user or predefined within the sample adjuster 78. Further, numbers p and q may be equal.
When sample adjuster 78 identifies a peak in the mass scan signal, it additionally identifies as a maximum sample the sample within the above-described two strings having the highest value. Such a sample is typically identified by the sample adjuster 78 as an active sample for the identified peak. Moreover, the sample adjuster 78 allows each sample identified as an active sample to pass unchanged through the sample adjuster 78 as part of the adjusted mass scan signal, and suppresses each of the other samples.
To better illustrate the foregoing, assume that the ion detector 25 of mass spectrometer 50 outputs the ion detection signals exhibiting corresponding pulses 41-44 shown in
Various techniques exist and may be used to identify the maximum sample of the peak 45 and to suppress all of the samples of the peak 45 except the maximum sample 85.
Other techniques for identifying a peak, such as peak 45, in a mass scan signal are known and may be used in other embodiments. As an example, the sample adjuster 78 may identify any sample as defining a peak if it is immediately preceded by a sample of lower value and is followed by a sample of lower value within the next two samples.
If the samples in buffer 77 do not define a peak, then the sample adjuster 78 reads and suppresses the next sample in the buffer 77. In particular, the sample adjuster 78 reads the next sample in the buffer 77 and outputs a value of zero, as shown by blocks 120 and 122, effectively replacing the sample's actual value with the value of zero (0). The suppressed sample output by the sample adjuster 78 is then summed by summer 33 with the accumulated sample read from the memory 29 at the address specified by the address register 21. Note that, as each sample is read out of the buffer 77 by the sample adjuster 78, a new sample is written to the buffer 77 by the A/D converter 27. If the current mass scan operation being performed by the mass spectrometer 50 is not yet complete, then the sample adjuster 78 makes a “no” determination in block 124 and returns to block 112, where it once more analyzes the samples currently stored in the buffer 77. These samples include sample newly-written to the buffer 77 by A/D converter 27.
Once the sample adjuster 78 has determined in block 115 that the samples temporarily stored in buffer 77 define a peak, such as peak 45, then, in block 133, the sample adjuster 78 identifies the one or more active samples of the peak. In the instant example, assume that the sample adjuster 78 only identifies the maximum sample for each peak as the active sample for the peak. Thus, when the sample adjuster 78 makes a “yes” determination in block 115, in block 133, the sample adjuster 78 identifies the highest-value one of the samples defining the peak and stored in the buffer 77 as the active sample for the peak. Thus, the sample adjuster 78 can compare the samples stored in the buffer 77 with one another to find the sample with the highest value and identify this sample as the active sample for the peak. Other techniques for identifying the active sample or samples of a peak may be employed in other embodiments.
In block 136, the sample adjuster 78 reads the next sample from the buffer 77 on a FIFO basis and, in block 138, determines whether this sample was identified in block 133 as an active sample. If not, the sample adjuster 78 suppresses this sample. In particular, upon reading the next sample in block 136, the sample adjuster 78 outputs a value of zero, as shown by block 141, effectively replacing the actual value of the sample with the value of zero (0).
However, if the value read from the buffer 77 in block 136 was identified in block 133 as an active sample, then in block 144, the sample adjuster 78 outputs the sample without changing its value. The sample currently output by the sample adjuster 78 in either block 141 or block 144 is output to summer 33, which sums the sample with the accumulated sample read from memory 29 at the address specified by the address register 21 to generate a new accumulated sample that is written in memory 29 at the same address. The new accumulated sample is one data point of the new mass spectrum being generated in memory 29 by the current mass scan operation. Further, in block 145, the sample adjuster 78 determines whether any additional active samples were identified in block 133 for the peak identified in block 115. In the instant example, only one active sample is identified in block 133 for each peak. Thus, in this example, a “no” result should be obtained in block 145, and the sample adjuster 78 goes to block 124. However, in other examples in which more than one active sample is identified for each peak, a “yes” result may be obtained in block 145. In such a case, the sample adjuster 78 returns to block 136.
In mass spectrometer 50, for each peak in the mass scan signal, rather than A/D converter 27 outputting all of the samples defining the peak to the summer 33 as is done in the conventional mass spectrometer 10, the sample adjuster 78 outputs only one or more active samples, and suppresses the remaining samples. For example, instead of summer 33 receiving all of the samples defining peak 45 shown in
During subsequent mass scan operations, the above-described process is repeated for the respective mass scan signals that exhibit peaks 46-48 output by the ADC 27. In particular, in the next mass scan operation, the A/D converter 27 outputs the mass scan signal exhibiting the peak 46 shown in
It is possible for multiple samples defining the same peak to have the same value. For example, a sample on the leading edge of a peak may have the same value as a sample on the trailing edge of the same peak. If two or more samples defining the same peak are equal and are the highest-value ones of the samples defining the peak, then the sample adjuster 78 may be configured to select in block 133 of
For example, when the two highest-value samples defining a given peak are equal in value, the sample adjuster 78 may always select the earlier of the two equal samples or, in another embodiment, may always select the later of the two equal samples. In another embodiment, the sample adjuster 78 may select the earlier and the later of the two equal samples per peak alternately. For example, for the first peak for which the two highest-value samples are equal, the sample adjuster 78 selects the earlier of the two equal samples as the first peak's maximum sample. For the second peak for which the two highest-value samples are equal, the sample adjuster 78 selects the later of the two equal samples as the second peak's maximum sample. For the next peak for which the two highest-value samples are equal, the sample adjuster 78 select the earlier of the two equal samples as the peak's maximum sample, and so on for the remaining peaks.
In addition, as described above, it is unnecessary for the sample adjuster 78 to allow only one sample to pass unsuppressed. For example, the sample adjuster 78 may allow the three highest-value samples per peak to pass unsuppressed. Other numbers of samples may be allowed to pass unsuppressed through the sample adjuster 78 per peak in other examples.
Generally, below a certain threshold number of samples per peak identified as active samples, increasing the number of samples per peak identified as active samples and therefore allowed to pass unsuppressed decreases the mass resolution of the peaks of the mass spectrum defined by the accumulated samples stored in memory 29 but increases the accuracy with which the centers of the peaks are represented in the mass spectrum. Thus, a trade-off between mass resolution and center-of-peak accuracy has to be made when selecting the number of samples per peak that the sample adjuster 78 identifies as active samples. The threshold number of samples is apparatus-dependent. In an exemplary embodiment of mass spectrometer 50 described above with reference to
Specifically, to enhance the mass resolution of the mass spectrum at the expense of reduced center-of-peak accuracy, sample adjuster 78 is configured to identify fewer of the samples defining each peak as active samples. For example, to maximize the mass resolution, sample adjuster 78 should be configured to identify only one of the samples defining the peak as an active sample, as described above. However, to enhance center-of-peak accuracy in the mass spectrum at the expense of reduced mass resolution, sample adjuster 78 should be configured to identify more than one of the samples defining the peak as active samples. For example, to maximize center-of-peak accuracy at the expense of reduced mass resolution, sample adjuster 78 should be configured to identify as active samples a number of the samples defining the peak equal to the above-described threshold number. Moreover, sample adjuster 78 may be configured to identify as active samples a number of samples defining each peak selected to provide a compromise between mass resolution and center-of-peak accuracy.
The number of samples per peak identified as active samples and, therefore, allowed by the sample adjuster 78 to pass unsuppressed is predefined in at least some embodiments. For example, a user may specify such number prior to the mass spectrum measurement process being performed. Alternatively, the sample adjuster 78 may have a default number of samples that it selects as active samples unless the user specifies a different number. In another embodiment, the sample adjuster 78 is hard coded to allow a certain number of samples to pass unsuppressed for each peak. Other techniques for controlling which samples are suppressed and unsuppressed are possible in other embodiments.
Regardless of the number of samples that sample adjuster 78 is configured to identify as active samples for a given peak, it is generally desirable for the samples having the highest values to be so identified. For example, if only one sample is to be identified as the active sample for a peak and, therefore, to remain unsuppressed, then it is desirable for the identified sample for the peak to be the sample with the highest value (i.e., the maximum sample for the peak). If three samples are to be identified as active samples for a peak, then it is again desirable for the identified samples for the peak to be the samples with the highest values. Ensuring that the highest-value samples are identified as the active samples generally increases the accuracy of the mass spectrum defined by the accumulated samples stored in memory 29.
In a practical example of the choice of the number of samples identified as active samples, a good compromise between mass resolution and center-of-peak accuracy was obtained by identifying the three highest-value ones of the samples representing the peak as the active samples. However, if the two highest-value samples were equal in value, then four samples were identified, with the two highest-value samples constituting the middle two samples.
Until recently, the performance of the ion accelerator composed of ion source 11, electrode 12 and pulse source 17 has limited the mass resolution of practical examples of embodiments of mass spectrometer 50 in which the active samples were identified as just described. However, recent improvements in the precision of the ion accelerator require commensurate improvements in the mass resolution of the ion detection system without the reduction in the center-of-peak accuracy that reducing the number of active samples would entail. The samples identified by sample adjuster 78 as active samples constitute a subset of the samples defining a peak in the mass scan signal.
In the example shown in
Sample selector 220 identifies each peak defined by the original samples constituting the mass scan signal output by A/D converter 27, and selects from the mass scan signal for output to sample synthesizer 230 a respective subset of the original samples defining the peak. The subset of original samples is composed of a predetermined number of the original samples and will be referred to herein as an original subset. In an example, for each peak identified in the mass scan signal, sample selector 220 selects an original subset composed of three original samples unless two of the original samples in the subset are equal in value. When two of the original samples are equal in value, sample selector 220 selects an original subset composed of four active samples, as described above. Alternatively, the number of samples in the original subset is determined adaptively in response to the amplitude of the maximum-amplitude sample in the original subset.
In the example shown, sample selector 220 is composed of buffer 77 and sample adjuster 78 described above with reference to
The example of sample synthesizer 230 shown in
Sample synthesizer 230 passes the augmented subset of samples composed of the original samples received from sample selector 220 and the synthesized samples generated by sample synthesizer 230 to sample suppressor 234. Sample suppressor 234 suppresses at least one of the original samples in the augmented subset to generate a truncated subset having a smaller temporal span than the original subset of original samples output by sample selector 210. The temporal span of a subset is the time difference between the earliest sample and the latest sample in the subset. The temporal order of the original samples is the order in which the original samples were generated by A/D converter 27. The at least one original sample that is suppressed is a temporarily-extreme one of the original samples in the augmented subset. In other words, the at least one original sample that is suppressed is either or both of the earliest original sample and the latest original sample in the augmented subset. In some embodiments, at least one of the synthesized samples in the augmented subset is additionally suppressed. Sample suppressor 234 outputs the truncated subset to sample combiner 240.
The example of sample combiner 240 shown is composed of a memory address generator 221, a memory 229 and a summer 233. A first input of summer 233 is connected to receive the samples in each truncated subset from the output of sample synthesizer 230. Memory address generator 221, memory 229 and summer 233 are interconnected in an arrangement similar to that of memory address generator 21, memory 29 and summer 33 described above with reference to
In some embodiments, the size of memory 229 is limited by the amount of memory available in an application-specific integrated circuit (ASIC) used to implement the circuitry downstream of A/D converter 27 so that the size of memory 229 may be no larger than that of memory 29 of mass spectrometer 50 described above with reference to
Prior to the beginning of each mass scan operation performed by mass spectrometer 100, controller 15 provides a reset signal to a reset input R of address generator 221. The reset signal sets the memory address output by address generator 221 to zero or another predetermined value. Then, during the following mass scan, address generator 221 counts the conversion clock signal generated by clock 24 to generate a respective memory address. In an embodiment in which sample suppressor 234 outputs the samples in the truncated subset serially, address generator 221 generates n memory addresses for each of the samples output by A/D converter 27 during the mass scan operation. The n memory addresses are typically consecutive. In an embodiment in which sample suppressor 234 outputs the samples in the truncated subset in parallel, address generator 221 generates a respective single memory address for each of the samples output by A/D converter 27 during the mass scan operation.
Summer 233 sums each of the samples in the truncated subset received from sample suppressor 234 with a respective temporally-aligned accumulated sample read from memory 229 to generate a new accumulated sample that is stored in memory 229. Specifically, in an embodiment in which sample suppressor 234 outputs the samples in each truncated subset serially, the accumulated sample is read from a memory location in memory 229 specified by the current memory address generated by memory address generator 221. Summer 233 sums the current sample received from sample suppressor 234 with the accumulated sample read from memory 220 to generate a new accumulated sample. The current sample is a synthesized sample or an original sample. The new accumulated sample is then written back in memory 229 at the memory location specified by the current memory address received from memory address generator 221. The process just described is repeated for each of the samples (i.e., each of the original samples and each of the synthesized samples) in the truncated subset output by sample suppressor 234. Reading the accumulated sample from a memory location in memory 229 specified by the value of the memory address generated by memory address generator 221 when summer 223 receives the current sample from sample suppressor 234 and writing the new accumulated sample at the same memory location in memory 229 provides the temporal alignment between the current sample and the accumulated sample with which the current sample is summed. The memory address generated by memory address generator 221 increments after each new accumulated sample has been written back in memory 229.
In an embodiment in which sample suppressor 234 outputs n of the samples constituting each truncated subset in parallel, a block of n accumulated samples is read from a memory location in memory 229 specified by the current memory address generated by memory address generator 221. In implementations in which the number of samples in the truncated subset is less than or equal to n, sample suppressor 234 outputs all of the samples in the truncated subset in a single period of the conversion clock. In implementations in which the number of samples in the truncated subset is more than n, sample suppressor 234 requires two or more periods of the conversion clock to output all of the samples in the truncated subset. Some of the n samples output in parallel by sample suppressor may be suppressed samples having a value of zero. Summer 233 sums the n samples received from sample suppressor 234 with the block of n accumulated samples read from memory 229 to generate a block of n new accumulated samples. The block of new accumulated samples is then written back in memory 229 at the memory location specified by the current memory address received from memory address generator 221. In embodiments in which the number of samples in the truncated subset is greater than n, the process just described is repeated in the next period of the conversion clock to subject the remaining samples in the truncated subset to accumulation. The process just described generates a respective new accumulated sample from each of the samples (i.e., each of the original samples and each of the synthesized samples) in the truncated subset of samples output by sample suppressor 234. Reading the block of accumulated samples from a memory location in memory 229 specified by the value of the memory address generated by memory address generator 221 when summer 223 receives the n samples from sample suppressor 234 and writing the block of new accumulated samples at the same memory location in memory 229 provides the temporal alignment between each sample received from sample suppressor 234 and the respective accumulated sample with which the sample is summed. The memory address generated by memory address generator 221 increments after each block of new accumulated samples has been written back in memory 229.
In both of the serial and parallel embodiments described above, the read function of memory 229 is inhibited during the first mass scan operation in each mass spectrum measurement process. Inhibiting the read function causes memory 229 to output a value of zero at its data output DO. Consequently, each sample received from sample suppressor 234 effectively overwrites any residual accumulated sample stored in memory 229 during the first mass scan operation. Alternatively, instead of inhibiting the read function of memory 229 during the first mass scan operation, a gate is interposed between the data output DO of memory 229 and the second input of summer 233 to supply a value of zero to the second input of summer 233 only during the first mass scan operation. In a further alternative, a value of zero is stored in each memory location in memory 229 at the start of each mass spectrum measurement process, which makes it unnecessary to inhibit the read function of memory 229 during the first mass scan operation.
Successive mass scan operations accumulate in memory 229 a raw mass spectrum of progressively increasing accuracy. When the raw mass spectrum accumulated in memory 229 achieves a specified accuracy, a processor (not shown) reads the raw mass spectrum from memory 229 and subjects each peak exhibited by the raw mass spectrum to a centroid calculation to determine the time value represented by the peak. The processor then converts the time value represented by each peak to a corresponding mass using the time-to-mass conversion equation described below.
Operation of an example of sample processor 210 will now be described with reference to
Interpolator 232 receives original samples 261-263 constituting original subset 252 and performs an interpolation operation that generates synthesized samples 264 and 265. Interpolator 232 adds synthesized samples 264 and 265 to original subset 252 to form an augmented subset 254 composed of five samples. In the example shown, interpolator 232 has subject original samples 261-263 to linear interpolation to generate synthesized samples 264 and 265 shown in
In the example shown in
Interpolator 232 outputs augmented subset 254 composed of original samples 261-263 and synthesized samples 264, 265 to sample suppressor 234. Sample suppressor 234 suppresses at least one of the temporally-extreme ones of the samples 261-265 constituting augmented subset 254 to generate a truncated subset 256 having a smaller temporal span than original subset 252. In the example shown, sample suppressor 234 suppresses the earliest original sample 261 and the latest original sample 263 in augmented subset 254. Original samples 261 and 263 are earliest and latest in the order in which original samples 261-263 were generated by A/D converter 27. Suppressing original samples 261 and 263 generates truncated subset 256 of samples composed of, in temporal order, synthesized sample 264, original sample 262 and synthesized sample 265, as shown in
Another example of the operation of sample processor 210 is shown in
In the example shown in
In an alternative embodiment, in
In the example described above with reference to
The example of sample synthesizer 330 shown is composed of a centroid calculator 332, an amplitude component generator 334 and a time value generator 336. Each of centroid calculator 332 and amplitude component generator 334 receives each original subset of original samples output by sample selector 320 and additionally receives corresponding time values from time value generator 336. Amplitude component generator 334 receives each original subset of original samples output by sample selector 320 either directly, or indirectly via centroid calculator 332, as shown. Amplitude component generator 334 outputs the amplitude component of each synthesized sample to sample combiner 340.
Referring additionally to
In another embodiment, a mass value converter (not shown) is interposed between time value generator 336 and centroid calculator 332. The mass value converter converts each time value t generated by time value generator 336 to a respective mass value m by subjecting the time value to processing in accordance with the following mass conversion equation:
where c and k are constants. Alternatively, the mass value converter can perform the mass conversion using a look-up table. The mass value converter outputs the respective mass value to centroid calculator 332 instead of the time value output by time value generator 336. In embodiments in which time value generator 336 is followed by a mass converter, the term mass value should be substituted for the term time value in the description set forth below.
In an embodiment in which no mass value converter is interposed between time value generator 336 and centroid calculator 332, centroid calculator 332 associates each original sample in the original subset received from sample selector 320 with its respective time value to produce a respective two-dimensional sample. The two-dimensional sample has an amplitude component contributed by the amplitude represented by the original sample and a time component contributed by the time value received from time value generator 336. The two dimensional samples generated from the original samples in the original subset constitute an augmented subset. Centroid calculator 332 discards time values corresponding to the original samples suppressed by sample selector 320.
Centroid calculator 332 subjects the two-dimensional samples in the augmented subset to a centroid calculation to determine the time coordinate of the centroid of the peak represented by the original samples in the original subset. In this disclosure, references to the centroid of a peak are to be regarded as referring to only to the time coordinate (or mass coordinate) of the centroid. Thus, the centroid calculation generates only a single result indicating a time (or a mass if each two-dimensional sample has a mass component instead of a time component). Algorithms for performing a centroid calculation are known in the mass spectrometry art and will therefore not be described here in depth. In one example, the two-dimensional samples in an augmented subset composed of N two-dimensional samples are regarded as defining a polygon having N+2 vertices. The area A of such polygon is given by:
and the coordinate Ct of the centroid of the polygon on the time (or mass) axis is given by:
where ti and ai are the coordinates on the time axis and the amplitude axis, respectively, of the i-th vertex of the polygon. The amplitudes represented by the amplitude components of the two-dimensional samples in the subset provide the coordinates of N of the vertices on the amplitude axis, and the time components of the two-dimensional samples provide the coordinates of the N vertices on the time axis. The coordinates of the remaining two vertices on the amplitude axis are zero and the coordinates of the remaining two vertices on the time axis are respectively equal to the time components of the earliest and latest of the two-dimensional samples in the augmented subset. Centroid calculator 332 outputs the coordinate Ct of the centroid on the time axis to sample combiner 342 as the time component of the single synthesized sample generated by sample synthesizer 330. The synthesized sample represents the peak originally represented by the original samples in the original subset. Centroid calculator 332 is configured to calculate time axis coordinate Ct with a temporal resolution greater than the temporal resolution of the original samples generated by A/D converter 27. For example, centroid calculator 332 is configured to calculate time axis coordinate Ct as a binary number having at least one bit more than the binary numbers used to represent the time components of the two-dimensional samples. In an example, centroid calculator calculates the time axis coordinate with a temporal resolution of eight (three bits more than the time values) or sixteen times (four bits more than the time values) the time resolution of the original samples. Other temporal resolutions are possible.
Additionally, in sample synthesizer 330, amplitude component generator 334 receives the original samples in each original subset output by sample selector 320, and from at least one of the original samples generates the amplitude component of the respective synthesized sample. In the example shown, amplitude component generator 334 receives each augmented subset of two-dimensional samples from centroid calculator 332. The original samples in the original subset constitute the amplitude components of the two-dimensional samples in the augmented subset. Consequently, amplitude component generator 334 can be regarded as generating the amplitude component of the synthesized sample from at least one of the original samples in the original subset even when the amplitude component generator receives the original samples as the amplitude components of the two-dimensional samples in an augmented subset. In other examples, amplitude component generator 334 receives each original subset of original samples directly from sample selector 320.
Processes that amplitude component generator 334 may perform to generate the amplitude component of the synthesized sample representing each original subset include processes based on selection and processes based on interpolation. In processes based on selection, one of the original samples in the original subset is selected as the amplitude component of the synthesized sample. In processes based on interpolation, two or more of the original samples in the original subset and their respective time values are subject to interpolation to generate the amplitude component of the synthesized sample.
In one example of a process based on selection, amplitude component generator 334 directly or indirectly receives the original subset of original samples, and selects a predetermined one of the original samples in the original subset for output to sample combiner 342 as the amplitude component of the synthesized sample. For example, the amplitude component generator selects the original sample at the temporal mid-point of the original subset for output to the sample combiner as the amplitude component of the synthesized sample.
In another example of a process based on selection, amplitude component generator 334 directly or indirectly receives the original subset of original samples, and selects the one of the original samples in the original subset having the greatest amplitude as a maximum-amplitude sample for output to sample combiner 342 as the amplitude component of the synthesized sample. Alternatively, the processing performed by sample adjuster 78 identifies the maximum-amplitude sample in each original subset. In this case, amplitude component generator 334 selects the original sample identified by sample adjuster 78 as the maximum-amplitude sample for output to sample combiner 342 as the amplitude component of the synthesized sample.
In another example of a process based on selection, amplitude component generator 334 receives the augmented subset of two-dimensional samples generated by centroid calculator 332, and additionally receives the time component calculated by centroid calculator 332. Amplitude component generator 334 selects the amplitude component of the two-dimensional sample whose time component is closest in value to the time component of the synthesized sample for output to sample combiner 342 as the amplitude component of the synthesized sample. In an example, the time component of the synthesized sample is 5¼, two of the two-dimensional samples have respective time components of 5 and 6, and amplitude component generator 334 selects the amplitude component of the two-dimensional sample having the time component of 5 for output to the sample combiner as the amplitude component of the synthesized sample. The time component of the selected two-dimensional sample is closest in value to the time component of the synthesized sample. Amplitude component generator 334 is additionally configured to determine which two-dimensional sample to select in the event that the time component of the synthesized sample equally close to the time components of two of the two-dimensional samples. Circuitry and algorithms for selecting and outputting one of a subset of original samples in accordance with a selection criterion are known in the art and will therefore not be described in detail here.
In an example of a process based on interpolation, amplitude component generator 334 subjects the two-dimensional samples in the augmented subset to interpolation to generate the amplitude component of the synthesized sample. Specifically, amplitude component generator receives the augmented subset of two-dimensional samples generated by centroid calculator 332 and additionally receives the time component calculated by centroid calculator 332. Amplitude component generator 334 subjects two or more of the two-dimensional samples in the augmented subset to interpolation to generate a new two-dimensional sample whose amplitude component is calculated by the interpolation process and whose time component is equal to the time component calculated by centroid calculator 332. Amplitude component generator 334 outputs the amplitude component of the new two-dimensional sample to sample combiner 342 as the amplitude component of the synthesized sample. Alternatively, amplitude component generator 334 outputs the entire new two-dimensional sample to sample combiner 342 as the synthesized sample. In this case, the time component of the synthesized sample is output to sample combiner 342 by amplitude component generator 334 instead of by centroid calculator 332 as shown in
Amplitude component generator 334 may use such interpolation processes as linear interpolation, spline interpolation, polynomial interpolation and curve fitting. Circuitry and algorithms for subjecting two or more two-dimensional samples in an augmented subset to interpolation to generate a new two-dimensional sample whose amplitude component is calculated by the interpolation process are known in the art and will therefore not be described in detail here.
The synthesized sample generated by sample synthesizer 330 has an amplitude component and a time (or mass) component as just described, and represents the peak in the mass scan signal defined by the subset of original samples selected by sample selector 320. Sample combiner 342 receives the synthesized sample from sample synthesizer 330 in lieu of the original samples selected by sample selector 320. Sample combiner 342 receives none of the original samples generated by A/D converter 27.
The example 342 of sample combiner 340 shown in
Sample combiner 342 combines the synthesized samples received from sample synthesizer 330 with respective temporally-aligned accumulated samples to produce respective new accumulated samples that collectively constitute a raw mass spectrum. The accumulated samples are generated by sample selector 320, sample synthesizer 330 and sample combiner 340 from mass scan signals generated during respective previously-performed mass scan operations. Specifically, for each synthesized sample received from sample synthesizer 330, the time component of the synthesized sample specifies an address in memory 329 where an accumulated sample is stored. Memory 329 performs a read operation in which the accumulated sample stored at the address specified by the time component of the synthesized sample is output to summer 333. Summer 333 sums the accumulated sample read from memory 329 with the amplitude value of the synthesized sample received from sample synthesizer 330 to generate a new accumulated sample that is output to memory 329. Memory 329 then performs a write operation in which the new accumulated sample received from summer 333 is stored at the address specified by the time component of the synthesized sample. Reading the accumulated sample from a location in memory 329 specified by the time component of the current synthesized sample generated by sample synthesizer 330 and writing the new accumulated sample at the same location in memory 329 provides the temporal alignment between the synthesized sample and the accumulated sample with which the synthesized sample is summed.
The synthesized samples generated in successive mass scan operations accumulate in memory 329 to produce a raw mass spectrum having a progressively increasing accuracy. When the raw mass spectrum accumulated in memory 329 achieves a specified accuracy, a processor (not shown) reads the raw mass spectrum from memory 329 and subjects each peak exhibited by the raw mass spectrum to a centroid calculation to determine the time value represented by the peak. The processor then converts the time value represented by each peak to a corresponding mass using the time-to-mass conversion equation described above. This last calculation is unnecessary in embodiments in which a mass value converter is interposed between time value generator 336 and centroid calculator 332, as described above.
Operation of an example of sample processor 310 will now be described with reference to
In sample synthesizer 330, centroid calculator 332 receives the original samples constituting original subset 352 from sample selector 320 and associates each original sample in the original subset with its respective time value to generate a respective two-dimensional sample having an amplitude component contributed by the amplitude represented by the original sample and a time component contributed by the respective time value received from time value generator 336. For example, original sample 361 is associated with its respective time value t5 to generate a two-dimensional sample 371 having an amplitude component a5 equal to the amplitude represented by original sample 361 and a time component t5 equal to the time value received from time value generator 336 for original sample 361, as shown in
Centroid calculator 332 additionally subjects the two-dimensional samples constituting augmented subset 354 to a centroid calculation to determine the time axis coordinate Ct of the centroid of the peak represented by the two-dimensional samples in the augmented subset. In the example shown, amplitude components and the time components of the two-dimensional samples in augmented subset 354 define the coordinates on the amplitude axis and the time axis, respectively, of the vertices of a polygon 374. Time axis coordinate Ct calculated by centroid calculator 332 has a temporal resolution greater than that of the two-dimensional samples constituting augmented subset 354. This is illustrated in
Also in sample synthesizer 330, amplitude component generator 334 generates the amplitude component of the synthesized sample representing the original subset from the original samples in the subset. Specifically, amplitude component generator 334 receives the original samples in the original subset directly or indirectly from sample selector 320 and generates the amplitude component of the synthesized sample by selecting the one of the original samples constituting original subset 352 or by subjecting two or more of the original samples in the original subset to interpolation. In an example, amplitude component generator 334 identifies original sample 362 having the greatest amplitude in original subset 352 shown in
At 381-385,
Each synthesized sample generated by mass spectrometer 100 incorporating the example of sample processor 310 whose operation was just described has a temporal resolution four times that and, hence, a mass resolution twice that, of the original samples output by A/D converter 27. In each mass scan operation, each synthesized sample generated by sample synthesizer 330 is added to the accumulated sample stored in the location in memory 329 having the memory address corresponding to the time component of the synthesized sample to generate a new accumulated sample that constitutes part of a raw mass spectrum. The accuracy of the raw mass spectrum progressively increases as the number of mass scan operations increases. The temporal resolution, and, hence, mass resolution, of the raw mass spectrum is greater than the temporal resolution and mass resolution of the raw mass spectrum generated from the same number of mass scan operations by an embodiment of mass spectrometer 50 having the same conversion clock frequency by respective resolution ratios somewhat less than the resolution ratios between the synthesized samples and the original samples. Once sufficient mass scan operations have been performed to obtain a raw mass spectrum of a specified accuracy, the accumulated samples defining each peak in the raw mass spectrum are subject to a centroid calculation as described above to determine the time value represented by the peak, and the time value is converted to a mass value.
For a given range of mass detection and a given conversion clock frequency, the size of memory 329 in sample combiner 342 is p times that of memory 29 of mass spectrometer 50 described above with reference to
However, mass spectra are typically sparse, and each peak in the mass scan signal generated in each mass scan operation is represented by a single synthesized sample. Consequently, when the final mass scan has been performed and the raw mass spectrum has been generated, a value of zero remains in a majority of the memory locations in memory 329 in the above-described sample combiner 342. By configuring the sample combiner differently from sample combiner 342 described above with reference to
Sample combiner 344 is composed of a synthesized sample counter 341, a buffer memory 343, a processor 345, a main memory 347 and summer 333. Sample counter 341 has a reset input R connected to receive a reset signal from controller 15 (
At the start of each mass spectrum measurement process performed by mass spectrometer 100, controller 15 supplies a reset signal to sample counter 341 to reset the count output by the sample counter to zero or another predetermined value. Such reset operation is unnecessary in embodiments in which sample counter 341 is operated as a stack. During the first mass scan operation performed by mass spectrometer 100, for each peak defined by the original samples constituting the mass scan signal, sample synthesizer 330 generates a respective synthesized sample that represents the peak. Sample synthesizer 330 outputs the synthesized sample to sample combiner 344. Specifically, sample synthesizer 330 outputs the time component of the synthesized sample to sample counter 341 and outputs both the amplitude component and the time component of the synthesized sample to buffer memory 343. Sample counter 341 detects the time component received at its data input DI and, in response to each change in the time component corresponding to sample synthesizer 330 outputting another synthesized sample, increments the count output at count output CO by one.
Buffer memory 343 stores each synthesized sample received from sample synthesizer 330 at a respective memory location whose address depends on the count received from sample counter 341 at write address input WADR.
In block 412, processor 345 compares the time component of the synthesized sample read from buffer memory 343 in block 410 with a time component map generated by the processor to determine whether the time component of the synthesized sample is already mapped to a respective memory location in main memory 347. The time component map will be described in greater detail below. Since no time component map exists when the first mass scan operation is performed, none of synthesized samples read from buffer memory 343 during the first mass scan operation has a time component already mapped to a respective memory location.
In block 414, processor 345 performs a test to determine whether the comparison performed in block 412 indicated that the time component of the synthesized sample is already mapped to a respective memory location in main memory 347. A YES result in block 414 causes execution to advance to block 430, which will be described below. A NO result in block 414 causes processor 345 to perform blocks 420-424 in which it maps the time component of the synthesized sample to a respective memory location in main memory 347 and writes the amplitude component of the synthesized sample at that memory location.
Specifically, in block 420, processor 345 performs a test to determine whether a memory address is available in main memory 347 to which the time component of the synthesized sample read in block 410 can be mapped. A YES result in block 420 causes execution to advance to block 422, which will be described below. A NO result in block 420 causes processor 345 to stop execution. This is done to allow mass spectrometer 100 to be adjusted in a manner that will prevent main memory 347 from overflowing when the mass spectrum measurement process is repeated. Typically, main memory 347 will overflow when sample adjuster 78 detects false peaks caused by noise in the analog ion detection signal output by ion detector 25. Increasing the threshold of ion detector 25 reduces the noise level in the ion detection signal, which reduces the number of peaks detected by sample adjuster 78 to one within the capacity of main memory 347.
In block 422, processor 345 maps the time component of the synthesized sample read in block 410 to a respective memory address within main memory 347. The memory mapping process just described generates the time component map used in block 412 to determine the memory location in main memory 347 where the amplitude components of synthesized samples having the same time component are accumulated.
In block 424, processor 345 writes the amplitude component of the synthesized sample at the memory location in main memory 347 to which the amplitude component of the synthesized sample was mapped in block 422. Execution then advances to block 440, which will be described below.
A synthesized sample whose time component is already mapped to a respective memory location in main memory 347 returns a YES result in block 414. This causes processor 345 to execute blocks 430-436 in which the amplitude component of the synthesized sample is accumulated at the memory location in main memory 347 mapped to the amplitude component of the synthesized sample. In block 430, processor 345 uses the memory map generated in block 422 to map the time component of the synthesized sample read from buffer memory 343 in block 410 to the respective memory address in main memory 347. Processor 345 outputs the memory address to the address input ADR of main memory 347. In block 432, processor 345 causes main memory 347 to perform a read operation in which the main memory outputs to the second input of summer 333 the accumulated sample stored at the memory address received in block 420.
In block 434, processor 345 outputs the amplitude component of the synthesized sample to the first input of summer 333. Summer 333 then sums the accumulated sample read from memory 347 with the amplitude component of the synthesized sample received from processor 345 to generate a new accumulated sample that is output to memory 347. Alternatively, processor 345 sums the amplitude component of the synthesized sample and the accumulated sample to generate the new accumulated sample. In this case, summer 333 is omitted. In block 436, processor 345 causes main memory 347 to perform a write operation in which the new accumulated sample output by summer 333 is written at the memory address received in block 430. Execution then advances to block 440, described below.
The sample accumulation process performed in blocks 430-436, in which a memory location in main memory 347 is mapped to the time component of the current synthesized sample, the accumulated sample is read from that memory location in main memory 347 and summed with the amplitude component of the synthesized sample to generate a new accumulated sample, and the new accumulated sample is written at the same location in main memory 347, provides the temporal alignment between the synthesized sample and the accumulated sample with which the synthesized sample is summed. Moreover, through the memory mapping process, synthesized samples generated in different mass scan operations and having equal time components are accumulated at the memory location in main memory 347 mapped to the time component.
In block 440, processor 345 performs a test to determine whether synthesized samples that have not been read by processor 345 remain in buffer memory 343. A NO result in block 440 causes execution to stop. A YES result in block 440 causes execution to return via block 442 to block 410, where processor 345 reads the next synthesized sample from buffer memory 343 as described above.
Mapping memory locations in main memory 347 to respective time components greatly increases the efficiency with which the main memory is used since substantially fewer of the memory locations store a value of zero when the final mass scan operation has been performed. Accordingly, an embodiment of main memory 347 of a given size is capable of storing a raw mass spectrum having a greater temporal (and, hence, mass) resolution and a greater mass range than a same-size embodiment of memory 329 described above with reference to
The synthesized samples generated by sample synthesizer 330 from the mass scan signals generated in successive mass scans accumulating in memory 347 produce a raw mass spectrum having a progressively increasing accuracy. When the raw mass spectrum accumulated in main memory 347 achieves a specified accuracy, processor 345 reads the accumulated samples from main memory 347 in ascending or descending time component order and subjects the raw mass spectrum to a peak detection operation that identifies each peak exhibited by the raw mass spectrum. Processor 345 then subjects the accumulated samples defining each peak to a centroid calculation to determine the time value represented by the respective peak. The time values needed for reading out the accumulated samples in ascending or descending time component order and for the centroid calculation are determined using the memory map generated in block 420. The memory map is used to reverse map the memory locations in main memory 347 from which the accumulated samples are read to the respective time components mapped to those memory locations. The processor then converts the time value represented by each peak to a corresponding mass using the time-to-mass conversion equation described above. This last calculation is unnecessary in embodiments in which a mass value converter is interposed between time value generator 336 and centroid calculator 332, as described above.
In the above-described embodiments of mass spectrometer 100, sample processors 110, 210 and 310 can be implemented in hardware such as an integrated circuit having bipolar, N-MOS, P-MOS or CMOS devices. Design libraries comprising designs for such circuit elements suitable for implementing the above-described functions of sample processors 110, 210 and 310 are commercially available can be used to design such hardware implementation of sample processors 110, 210 and 310.
Sample processors 110, 210 and 310 can alternatively be implemented in pre-fabricated hardware devices such as an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA). Design libraries comprising designs for implementing the above-described functions of sample processors 110, 210 and 310 in such pre-fabricated hardware devices are commercially available can be used to configure such pre-fabricated hardware devices to implement sample processors 110, 210 and 310.
Sample processors 110, 210 and 310 can alternatively be implemented in software running on a suitable computational device (not shown) such as a microprocessor or a digital signal processor (DSP). Sample processors 110, 210 and 310 may additionally constitute part of a digital signal processor. Programming modules capable of programming a computational device to provide the above-described functions of sample processors 110, 210 and 310 are commercially available and may be used to program a computational device to provide a software implementation of sample processors 110, 210 and 310. In such software implementations of sample processors 110, 210 and 310, the various functions described in this disclosure are typically ephemeral, and exist only temporarily as the program executes.
The program in response to which the computational device operates can be fixed in a suitable computer-readable medium (not shown) such as a floppy disk, a hard disk, a CD-ROM, a DVD-ROM, a flash memory, a read-only memory or a programmable read-only memory. The program is then transferred to a non-volatile memory that forms part of the computational device, or is external to the computational device. Alternatively, the program can be transmitted to the non-volatile memory of the computational device by a suitable data link.
In an embodiment, the one or more synthesized samples are summed with respective temporally-aligned accumulated samples by summing each of the synthesized samples with a respective temporally-aligned accumulated sample read from a respective memory location to generate a new accumulated sample. The new accumulated sample is then stored at the memory location from which the accumulated sample was read.
In an embodiment, a respective accumulated sample is generated by a process in which the amplitude components of synthesized samples generated during the previously-performed mass scan operations and having equal time components are accumulated. In another embodiment, the accumulated samples are generated by subjecting original samples obtained in the previously-performed mass scan operations to respective selecting, synthesizing and summing, as described above with reference to
This disclosure describes the invention in detail using illustrative embodiments. However, the invention defined by the appended claims is not limited to the precise embodiments described.
This application is a Continuation-in-Part of co-pending U.S. patent application Ser. No. 12/188,932 of Fjeldsted et al. filed on 8 Aug. 2008 and entitled Mass Spectrometer and Method for Enhancing Resolution of Mass Spectra, which is a Continuation of U.S. patent application Ser. No. 11/412,887 of Fjeldsted et al. filed on 27 Apr. 2006 and entitled Mass Spectrometer and Method for Enhancing Resolution of Mass Spectra, now U.S. Pat. No. 7,412,334, the entire disclosures of which are incorporated into this application by reference. U.S. patent application Ser. No. 12/188,932 will be referred to in this disclosure as the parent application.
Number | Name | Date | Kind |
---|---|---|---|
6373052 | Hoyes | Apr 2002 | B1 |
6433713 | Fuhrman | Aug 2002 | B1 |
6653626 | Fischer et al. | Nov 2003 | B2 |
6680476 | Hidalgo | Jan 2004 | B1 |
6744044 | Hidalgo et al. | Jun 2004 | B2 |
6778125 | Stewart et al. | Aug 2004 | B1 |
6822227 | Hidalgo et al. | Nov 2004 | B1 |
6878931 | Roushall et al. | Apr 2005 | B1 |
6974665 | Berkowitz et al. | Dec 2005 | B2 |
7047144 | Steiner | May 2006 | B2 |
7412334 | Fjeldsted et al. | Aug 2008 | B2 |
20030173514 | Syage et al. | Sep 2003 | A1 |
20030218129 | Rather | Nov 2003 | A1 |
Number | Date | Country |
---|---|---|
2385982 | Sep 2003 | GB |
2006116335 | Feb 2006 | WO |
Number | Date | Country | |
---|---|---|---|
20090020697 A1 | Jan 2009 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11412887 | Apr 2006 | US |
Child | 12188932 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12188932 | Aug 2008 | US |
Child | 12242110 | US |