ANALYSIS METHODS, ANALYSIS DEVICE WAVEFORM GENERATION METHODS, ANALYSIS DEVICES, AND ARTICLES OF MANUFACTURE
CLAIM FOR PRIORITY This application claims priority to United States Provisional Patent Application
Serial No. 60/500,542, filed September 5, 2003, entitled "Mass Spectrometry Methods and Devices."
TECHNICAL FIELD The present invention relates generally to the field of analysis methods, analysis device waveform generation methods, analysis devices, and articles of manufacture.
BACKGROUND OF THE INVENTION Mass spectrometry is capable of providing qualitative and quantitative information about a composition of both inorganic and organic samples. Mass spectrometry analytical techniques may be used to determine the structures of a wide variety of complex molecular species. In particular, this analytical technique may also be utilized to determine the structure and composition as well. Mass spectrometry techniques have been utilized to provide high-speed analysis of complex mixtures thereby enhancing capacity for structural and quantitative determination. Certain analytical techniques utilizing mass spectrometry require customized instrument parameters. U.S. Patent 4,761 ,545 to Marshall, et al. describes tailored excitation techniques, and the teachings of which are hereby incorporated by reference. U.S. Patent 4,956,788 to Guan, et al. describes an apparatus for performing FT/ICR and acquiring ion transient data using a personal computer and a buffer board, and the teachings of which are hereby incorporated by reference. U.S. Patent 5,324,939 to Louris, et al. describes a method and apparatus for calculating a time domain waveform for use as an excitation signal for selectively ejecting ions from a Paul ion trap or an ICR trap mass spectrometer, and the teachings of which are hereby incorporated by reference. Aspects of this disclosure provide improved analysis methods and apparatus.
BRIEF DESCRIPTION OF THE DRAWINGS Preferred embodiments of the invention are described below with reference to the following accompanying drawings. Fig. 1 is a block diagram of an analysis system according to one embodiment.
Fig. 2 is an illustrative representation of a mass analyzer of the analysis system according to one embodiment. Fig.3A-3H are graphical representations of exemplary waveform segments which may be used to perform analysis operations according to exemplary embodiments. Fig.4 is a graphical representation of exemplary waveform segments which may be used to perform analysis operations according to exemplary embodiments. Fig. 5 is a flowchart of waveform application according to one embodiment. Fig. 6 is a flowchart which illustrates an exemplary method of processing waveforms according to one embodiment. Fig. 7 is a functional block diagram illustrating an exemplary configuration of an analysis device according to one embodiment. Fig. 8 is a flowchart illustrating an exemplary methodology for generating a plurality of discrete data values for one or more waveform according to one embodiment. Fig. 9 is a flowchart illustrating an exemplary methodology for generating one or more waveform using the discrete data values according to one embodiment.
DETAILED DESCRIPTION OF THE EMBODIMENTS Referring to Fig. 1 , an analysis system 10 is illustrated in accordance with one embodiment. In one implementation, analysis system 10 comprises an analysis device 12 configured to perform mass spectrometry analysis operations. For example, analysis device 12 is arranged as a mass spectrometer to analyze samples (e.g., chemical compositions) in one embodiment. Exemplary subject samples include inorganic and organic substances in solid, liquid, and/or vapor form, the substances maybe neutral or charged. The depicted exemplary embodiment of analysis device 12 comprises processing circuitry 20, a storage device 21 , one or more waveform generators 22, an interface 23, an inlet 24, an ion source 26, a mass analyzer 28, and an ion detector 30. Inlet 24, ion source 26, mass analyzer 28, and/or ion detector 30 maybe referred to as analysis components individually configured to perform at least one operation with respect to analysis of a sample in the disclosed illustrative embodiment. Other embodiments are possible including more, less or alternate components. Interface 23 may include any appropriate structure configured to receive inputted data. In one example, interface 23 may comprise a keyboard, graphical user interface or other similar device. Additionally, or in the alternative, interface 23 is configured to receive user inputs, files or other data from an external input device 25, such as an external personal computer (PC), coupled with interface 23, a network connection or
other appropriate source of data. Exemplary programming aspects of device 10 using interface 23, input device 25 or other structure are described in a co-pending PCT application entitled "Analysis Device Operational Methods and Analysis Device Programming Methods," naming Brent Rardin and James Mitchell Wells as inventors, filed the same day as the present application, the teachings of which are incorporated by reference herein. Any other appropriate structure for receiving data may be used. Inlet 24 is configured to introduce a sample for analysis. Exemplary inlets 24 comprise batch inlets, direct probe inlets, chromatographic inlets, and permeable or capillary membrane inlets. Other configurations are possible. Ion source 26 is operatively coupled with inlet 24 and arranged to receive the sample from inlet 24. Ion source 26 is configured to convert components of the sample into ions. Exemplary conversion operations may be implemented by bombarding the sample with electrons, ions, molecules, and/or photons, or by applying thermal and/or electrical energy. Other conversion operations are possible. Ions from ion source 26 are provided to mass analyzer 28. In general, mass analyzers used in mass spectrometers control the motions of ions using magnetic fields, electric fields, or combinations thereof. Mass analyzers can include magnetic sectors, electrostatic sectors, and/or quadrupole filter sectors. More particularly, mass analyzers can include one or more of triple quadrupoles, quadrupole ion traps, cylindrical ion traps, linear ion traps, rectilinear ion traps, ion cyclotron resonance and quadrupole ion trap/time-of-flight mass spectrometers. Quadrupole ion traps or "Paul traps" can refer to an ion trap having a toroidal ring electrode and two end caps. The toroidal ring electrode may have a hyperbolic shape in one cross section. The two end caps may also have a hyperbolic shape in one cross section. Cylindrical ion traps (CIT) have been considered a variation on the quadrupole ion trap where the ring electrode and end caps may have flat surfaces in one cross section. Linear ion traps can consist of sets of parallel rods, the rods being either round, hyperbolic, and/or flat in one cross section. Quadrupole mass analyzers, including ion traps, typically control the motion of a charged analyte in at least two dimensions through the use of an oscillating electric field generated by the application of an oscillating voltage to one or more of the electrodes of the mass analyzer. The voltage can be from hundreds to thousands of volts, and typically oscillates anywhere from a frequency of hundreds of kilohertz (kHz) to a few megahertz (MHz), as a sinusoidal wave, square wave, or other. This voltage is typically referred to as the "trapping RF", or simply as the "RF".
Quadrupole mass analyzers, including ion traps, may also control the motion of ions by the use of additional electric fields generated by the application of voltages of various forms to one or more electrodes of the mass analyzer. These auxiliary voltages can be from millivolts to hundreds of volts in amplitude, and may vary from DC to thousands of kilohertz, as a sinusoidal wave, square wave, or other. Furthermore, these auxiliary voltages may contain many frequency components, each having the same or different amplitudes, applied sequentially or in parallel. For example, in the case of quadrupole ion traps, it is known in the art that a sine wave having a frequency which matches the frequency of motion of an ion trapped in an ion trap can be applied to the end-cap electrodes to impart energy to the ion and cause it to dissociate, or exit the ion trap. Sine waves such as these are typically referred to as "waveforms" or "voltage waveforms." Another example is in the case of linear ion trap mass analyzers, where additional DC voltages are applied to end caps located at each end of the electrodes to control the direction of the analyte in the third dimension. Typically in mass spectrometers, how some aspect of the voltage waveforms,
(e.g. frequency, phase, amplitude, rate of amplitude change, or shape of amplitude or frequency) changes with time, is determined by the instrument hardware. For example, the frequency of the trapping RF voltage waveform for quadrupole ion traps is often determined by use of a crystal oscillator. Also, the amplitude envelope, i.e. how the amplitude of the waveform varies as a function of time during the course of a mass analysis scan, may be determined by mixing a fixed-amplitude sine wave with a modulating waveform in a hardware multiplier circuit. Mass spectrometers often require a number of voltage waveforms, the characteristics of which are typically controlled to high accuracy and can be variable on a millisecond or faster time scale. For example, a quadrupole ion trap mass spectrometer typically utilizes two waveforms to trap ions and perform mass analysis, a trapping voltage waveform applied to the ion trap ring electrode and an auxiliary waveform applied to the end-cap electrodes to manipulate ion motion. The trapping voltage waveform is typically a sine wave of approximately 1 MHz in frequency, the amplitude of which can vary during the course of an experiment. The end cap waveform may take a variety of forms, including: sine waves of constant or varying frequency and/or varying amplitude; mixtures of sine waves of varying frequency and/or varying amplitude; and combinations of both of the aforementioned forms and other types of waveforms. In the exemplary embodiment illustrated in Fig. 1 , mass analyzer 28 receives the waveforms from waveform generators 22. Referring to Fig. 2, a plurality of exemplary
waveforms 50, 52 from generators 22 are shown. Waveforms 50, 52 may comprise different waveforms for implementing analysis operations. The exemplary illustrated mass analyzer 28 includes a plurality of end-cap electrodes 54, and a ring electrode 56. Other configurations of mass analyzer 28 which may utilize generated waveforms are possible including more, less or alternatively configured electrodes. Waveform 50 may be applied to end-cap electrodes 54 and waveform 52 may be applied to ring electrode 56. Waveforms 50, 52 are provided to manipulate ion motion for mass analysis and tandem mass analysis in exemplary methods. According to the depicted example wherein mass analyzer 28 comprises a two-waveform quadrupole ion trap mass analyzer, waveform 52 is applied to ring electrode 56 to trap ions, and waveform 50 is applied to end-cap electrodes 54 to manipulate ion content of the generated ion trap. In the described embodiments, waveforms 50, 52 are formed from digital representations of voltages (i.e., waveform data of voltages) from processing circuitry 20 and are applied to one or more electrodes of mass analyzer 28. Waveforms 50, 52 may comprise a sequential combination of more than one algorithm, and may be viewed as a sequence of segments. Individual ones of the segments may be defined by respective single equations. Exemplary waveforms or waveform segments are shown in Figs. SASH. Referring to Fig. 3A, an exemplary fixed waveform segment 60 is shown and comprises a constant dc signal for a duration of the segment. Referring to Fig. 3B, an exemplary sine waveform segment 62 is shown. The illustrated segment comprises a repeating sine wave providing an ac voltage of a given frequency for a duration of the segment. Referring to Fig.3C, an exemplary ramping sine waveform segment 64 is shown. The illustrated segment comprises a repeating sine wave of a given frequency and the amplitude of voltage increases as shown or decreases (not shown) in value across the duration of the segment. Referring to Figs.3D and 3E, exemplary frequency sweep waveform segments 66 and 68 are shown. The illustrated frequency sweep waveform segments comprise increasing (66) or decreasing (68) sine waves over time. Referring to Figs. 3F, 3G, and 3H, additional frequency sweep waveforms are shown. The illustrated frequency sweep waveforms of Figs. 3F and 3G comprise linear (70) and exponential (72) increasing amplitude frequency sweep waveforms. The illustrated frequency sweep waveform of Fig 3H comprises a decreasing frequency sweep waveform 74. Other waveform segments, sequential or otherwise, are possible.
Referring to Fig.4, for example, a waveform 76 comprising a plurality of segments defined according to a plurality of user-definable or otherwise provided formulas is illustrated. The illustrated exemplary waveform of Fig. 4. comprises three segments wherein the first segment 77 comprises a repeating sine wave having a first frequency, the second segment 78 comprises a sine wave having a second frequency higher than the first frequency, and the third segment 79 comprises a sine wave having a third frequency lower than the second frequency. Other embodiments of mass analyzer waveforms are possible. For example, in a three-waveform linear quadrupole mass analyzer (not shown), first and second waveforms may be applied to respective pairs of rod electrodes to guide ions through a linear quadrupole, and a third waveform may be superimposed onto one of the pairs of the rod electrodes to manipulate ion motion as the ions pass through the linear quadrupole. Using at least some aspects of the disclosure, virtually any type of waveform may be generated. As stated above, application of waveforms to mass analyzer 28 can cause analytes to exit mass analyzer 28 and enter ion detector 30. Exemplary detectors can include one or more of electron multipliers, Faraday cup collectors, photographic and scintillation-type detectors. Referring again to Fig. 1 , processing circuitry 20 is configured to generate and/or provide data for one or more waveforms or waveform segments which may be generated by generators 22 and applied to mass analyzer 28 to implement analysis operations of instrument 10. More specifically, the waveform data (e.g., voltage values) may be outputted to generators 22 to implement analysis operations with respect to a subject sample in one embodiment. In addition, processing circuitry 20 may control additional operations of analysis system 10 with respect to performing analysis operations of a sample. For example, processing circuitry 20 may control operations of inlet 24 and ion source 26 to provide a sample to mass analyzer 28. Processing circuitry 20 may also monitor ions detected by ion detector 30. Processing circuitry 20 may be implemented as a processor or other structure configured to execute executable instructions including, for example, software and/or firmware instructions. Processing circuitry 20 may additionally include hardware logic, PGA, FPGA, ASIC, and/or other structures. Details regarding exemplary processing of processing circuitry 20 are described below with respect to Figs. 5-9. Storage device 21 is configured to store electronic data and/or programming such as executable instructions (e.g., software and/or firmware), data, or other digital
information and may include processor-usable media. Processor-usable media includes any article of manufacture which can contain, store, or maintain programming, data and/or digital information for use by or in connection with an instruction execution system including processing circuitry in the exemplary embodiment. For example, exemplary processor-usable media may include any one of physical media such as electronic, magnetic, optical, electromagnetic, infrared or semiconductor media. Some more specific examples of processor-usable media include, but are not limited to, a portable magnetic computer diskette, such as a floppy diskette, zip disk, hard drive, random access memory, read only memory, flash memory, cache memory, and/or other configurations capable of storing programming, data, or other digital information. Waveform generators 22 are configured to provide waveforms according to received data. The waveforms are outputted to mass analyzer 28 in the depicted embodiment. Waveform generators 22 may comprise digital to analog converter circuitry, amplification circuitry and other appropriate signal processing and/or conditioning circuitry in exemplary embodiments. According to an embodiment of the disclosure, at least some and perhaps all aspects of the waveforms (e.g., frequencies, phases and amplitudes and any changes thereto) are defined by specifying ordered data. In one example, each individual voltage waveform may be represented by an ordered list of data that represent the sequential amplitude of the waveform at a plurality of moments in time. The data may include step counts (also corresponding to data points described herein) or the steps may be implied by the sequential nature of the data (e.g., data stored in memory as described below wherein ordered storage locations specify an order of the data stored therein, for example, sequential data values are stored and accessed from sequential memory locations). In addition, the final data may include multiple data streams (one or more for each waveform) or a single data stream with the data for the waveforms interwoven, or any combination thereof. In another embodiment, the data can be a set of ordered pairs of numbers, each pair providing a data point step count, or index, and an associated data value (e.g., amplitude value). The above-described pairs may also comprise a "pair set" wherein each step may have one or more associated data values with individual ones of the data values corresponding to a different voltage data stream. In one example, ordered data may be generated by specifying an amplitude for each step value manually, or by using a mathematical operation to calculate the amplitude values for the respective steps using processing circuitry 20 or other circuitry not shown. The data can then be outputted sequentially as a function of time at an
appropriate rate to generators 22 and subsequently applied as one or more waveforms to one or more respective electrode of mass analyzer 28. An aspect of the disclosure provides waveforms that can be defined arbitrarily in terms of data step/amplitude pairs. At least some aspects of the disclosure provide analysis devices 12 which permit far greater flexibility in the specification of mass spectrometer waveforms. Instruments configured in accordance with the present disclosure can be valuable to researchers desiring to apply new and novel waveforms to the analysis devices 12. Individual data values corresponding to the amplitude of a waveform may be controlled at a plurality of moments in time. Accordingly, a user may enter data values for a plurality of moments in time or other data (e.g., equations and parameters) which may be used to calculate the data values at the plurality of moments in time. By specifying the amplitude at a plurality of moments in time, device 12 may create and/or utilize waveforms which may vary with respect to one or more of amplitude, phase, frequency or other characteristic over time. The ordering may also align a plurality of waveforms with respect to time as described further below (e.g., the amplitudes of one or more waveform may be specified for given data points or memory locations corresponding to different moments in time of analysis). A flowchart 80 depicting exemplary generation of one or more waveforms is shown in Fig. 5. At step 82, device 12 may access data to generate waveforms (e.g., a user may input data points or steps, amplitude data values, user defined equations and/or variables 82 via an appropriate interface (GUI, disk, or other appropriate device for data entry) of system 10). Inputted variables may be applied to waveform calculation 84. Waveform calculation 84 accesses the variables and generates ordered data step/amplitude pairs. Waveform calculation 84 may be implemented using a digital signal processor (or other type of processor capable of performing mathematical operations) of processing circuitry 20. Exemplary equations which may be utilized are illustrated below which may be executed to generated the ordered pairs. Alternatively, step 84 may be omitted if a user inputs data points and/or data values. The digitized form of the ordered data are stored at waveform storage step 86.
For example, the ordered data may be stored within storage device 21. The data may be output at step 88 via a FPGA of circuitry 20 in one embodiment. In another embodiment, the data stream may be directly output from a bus of the processor which calculates the data values if appropriate bus speed is provided. Other exemplary configurations are described below.
In one embodiment, circuitry 20 may include a digital to analog converter (DAC) to convert the data during the analog processing 90, or the DAC may be implemented within waveform generator 22 in another embodiment. Analog processing 90 may also amplify the analog signals and provide any other desired signal conditioning prior to application to mass analyzer 28. According to exemplary aspects, waveforms may be easily generated digitally. The aspects (e.g., frequency, phase, amplitude, etc.) of the waveforms can be easily changed or modified by a user to optimize performance. Using ordered data according to exemplary aspects, the frequency (or other waveform aspect) may be entered by a user and the RF waveform can be recalculated, as opposed to the frequency being fixed, for example, by a crystal oscillator. For example, where the RF frequency is changed to various resonance points of a tuned amplifier circuit connected to an ion trap, then ions having different ranges of mass-to-charge ratio could be trapped in different segments, or the RF frequency could be changed between sequential experiments, so that different ranges of mass-to-charge ratio could be covered. Another aspect of generating waveforms may utilize mass spectrometers requiring more than one waveform. In accordance with the present disclosure the relationships of the waveforms to one another can be controlled with great flexibility and accuracy. For example, sinusoidal trapping RF waveform and any auxiliary sinusoidal waveforms applied to the end caps of an ion trap can have a phase relationship that depends on their frequencies and the relative start and stop times of the sine components. This phase relationship can be specified and controlled as a user input and both sine waveforms can be generated digitally according to the present disclosure. In an exemplary aspect, ordered data may be created manually. Aspects also provide for the use of mathematical operations to generate the ordered data. For manual creation, a user may access a user interface of system 10 permitting entry of a sequential list or ordered data (i.e., spread sheet, word processor, etc.). For mathematical entry, a user can enter a waveform equation via a word processor and a compiler implemented by processing circuitry 20 can generate the data stream from the equation. In either case, the result may be a list of data including a plurality of ordered steps or data points and respective data values, the latter representing voltages of one or more waveform at specific points in time (i.e., steps or data points represent the sequential moments in time). Exemplary generated ordered data (manually or mathematically) is represented according to a sequence in Table 1. In other embodiments, the ordered data points (e.g., step numbers) may be omitted and the ordering may be specified by ordered storage of
the data values in storage device 21 and implemented using sequentially addressed memory locations. Other ordering implementations are possible.
The exemplary ordered data from Table 1 can be provided to plural respective waveform generators 22 at desired rates. These rates can include fixed as well as variable rates. At each step, waveform generators 22 use the respective data values to set the voltage output to a value represented by the current step. In one aspect, a fixed rate can be dictated by the processing speed of processing circuitry 20. For example, a processing rate of processing circuitry 20 and an ability to output data at a rate at least ten times faster than the maximum frequency of the waveforms may be utilized. As another example, a processing and outputting rate of processing circuitry 20 can be at least two times faster that the maximum frequency desired or any other frequency which may provide sufficient data at a sufficient rate to faithfully represent the waveform. In one operational embodiment, the rate the processing circuitry 20 outputs the data stream is known. The accuracy of the repeatability of the stepping rate directly impacts the accuracy of the resulting output frequencies. In addition, the output of the amplifiers of waveform generators 22 is synchronized in one embodiment. Any time difference between the amplifiers may be used to calibrate the waveform generators 22 to provide synchronized output of the plural waveforms in at least one embodiment. A plurality of examples of waveforms are provided below. The examples represent a single voltage waveform data stream. Typically, actual waveforms for mass analysis comprise compound data streams that include a combination of the waveforms. Exemplary equations for generating data pairs can use the following variables: tt = Total amount of time to run the waveform (seconds) Fp = frequency of the processor steps (steps per second) ts = Total number of steps = tt * Fp n = step number
Vn = voltage value at a given step (volts) An exemplary constant dc level (dc = dc level) equation in accordance with the waveform depicted as Fig 3A (n = 0; n < ts; n++) is as follows: Vn = dc (Equation 1) An exemplary constant sine wave function (a = amplitude, f = frequency) in accordance with the waveform depicted as Fig 3B (n = 0; n < ts; n++) is as follows: Vn = sine (2
* PI * n * f / Fp) * a (Equation 2) An exemplary ramped sine wave function (a1 = starting amplitude, a2 = ending amplitude, f = frequency) in accordance with the waveform depicted as Fig 3C (n = 0; n < ts; n++) is as follows: Vn = sine (2
* PI * n * f / Fp) * ((a2 - a1) * n / ts + a1) (Equation 3) An exemplary frequency sweep waveform (a1 = starting amplitude, a2 = ending amplitude, f1 = starting frequency, f2=ending frequency) in accordance with the waveform depicted as Fig 3D (n = 0; n < ts; n++) is as follows: Vn = sine (2
* PI
* n * ((f2 - fl) * n / ts + fl) / Fp) * a (Equation 4) An exemplary ramped frequency sweep waveform (a = amplitude, fl = starting frequency, f2=ending frequency) in accordance with Fig. 3F (n = 0; n < ts; n++) is as follows: Vn = sine (2 * PI * n * ((f2 - f1) * n / ts + f1) / Fp) * ((a2 - a1) * n / ts + a1) (Equation 5) In one illustrative example, assume a speed of processing circuitry 20 can be 20 MHz; a sine wave can be an "A" waveform; a ramped sine wave can be an "B" waveform; and the waveforms may be generated for 10 milliseconds. An exemplary set of data pairs created for voltage streams "A" and "B" is shown in Table 3 below using the variables of Table 2 below.
Referring to Fig. 6, an exemplary method for the stepwise processing of data to generate waveform data specified by a user and the control of waveform generator 22 using the data is shown according to one embodiment. The exemplary method may be at least partially executed using processing circuitry 20. Other methods are possible including more, less or alternative steps. At a step S10, it is determined whether data values will be generated manually or mathematically. If manually, the user inputs a sequential list of data values at step S12. Thereafter, the process proceeds to a step S18 described below. If mathematically, the process proceeds to a step S14 where a user inputs an equation for each waveform. For example, data can be compiled from the equations to
generate a sequential list of data values in step S16. Exemplary equations that may be utilized to generate the sequential list include Equations 1-4 described above. At a step S18, the data values and respective data points (if provided) are stored or otherwise may be available for communication to waveform generators 22 at an appropriate time. At step S20, data is applied to waveform generators 22 and indexing is performed wherein it is determined whether to begin at a first data step or continue to the next data step (i.e., data of the first step may be used to initiate formation of a waveform). In the exemplary process of Fig.6, two streams "A" and "B" make up two desired waveforms which may be simultaneously applied in parallel to plural electrodes of mass analyzer 28 by respective waveform generators 22. Using the indexed step determined at step S20, the processing circuitry makes available the generated data including the respective data values for streams A and B to respective waveform generators 22. The accessed data value corresponding to voltage of stream "A" and the respective indexed data point is output to the respective waveform generator 22 at step S24 and amplified in S26. The accessed data value corresponding to voltage of stream "B" and the respective indexed data point is output to the respective waveform generator 22 at step S28 and amplified in S30. At step S32, it is determined whether another point is available for processing. If yes, the process returns to step S20, if no, the process terminates. Referring to Fig. 7, exemplary details of processing circuitry 20 and a waveform generator 22 are shown. In the illustrative embodiment of Fig. 7, processing circuitry 20 includes a digital signal processor (DSP) 100 and a field programmable gate array (FPGA) 102 and waveform generator 22 includes a digital to analog converter (DAC) 104 and a voltage amplifier 106. In one implementation, DSP 100 is a model TMS320C6711 available from Texas Instruments, FPGA 102 is a model XCV100E available from Xilinx, DAC 104 is a model OTC1668 available from Linear Technologies, and voltage amplifier 106 is a model LM6172 available from National Semiconductor. In at least one embodiment, DSP 100 may be referred to as a first processing circuit or circuitry and FPGA 102 may be referred to as a second processing circuit or circuitry. Other embodiments are possible including more, less or alternative components and/or circuitry. Interface 23 is configured to access waveform data such as one or more sets of discrete data values for one or more respective waveforms, one or more equations and
respective parameters to form one or more respective waveforms, or other data usable to provide discrete data values for the generation of one or more waveforms. Discrete data values may refer in one example to digital values which define an amplitude of a waveform at a desired moment in time. DSP 100 is arranged to access the waveform data from user interface 23 (or other appropriate source such as storage device 21) and to output one or more ordered sets of discrete data values corresponding to one or more waveform. Waveform data may comprise discrete data values and/or ordered data points. If two or more waveforms are to be used in parallel for an analysis operation, DSP 100 may output a plurality of discrete data pair sets individually including one discrete data value for a first waveform and another discrete data value for a second waveform which are to be simultaneously applied to waveform generators 22 to generate parallel waveforms aligned in time. DSP 100 may associate individual data values or individual pair sets of data values with respective individual ones of ordered data points or steps to specify the ordering of the individual data values or pair sets in one implementation. In another implementation, the order in which the individual data values or pair sets are provided by DSP 100 operates to define the ordering of the data values or pair sets. FPGA 102 receives the waveform data from DSP 100. In one described embodiment, FPGA 102 operates to store the waveform data using storage device 21. FPGA 102 may also output waveform data values to the waveform generator(s) 22 for the formulation of one or more of the analog voltage waveforms. FPGA 102 may control the exact moments in time for outputting discrete values of the waveform data to provide faithful generation of the waveforms by generator(s) 22. In one embodiment, FPGA 102 does not begin outputting the data values to the waveform generator(s) 22 until all of the data values have been communicated from DSP 100 to FPGA 102. In another embodiment, FPGA 102 may output the waveform data to generator(s) 22 without storage and/or may implement first in/first out (FIFO) operations for the waveform data. Other embodiments are possible some of which are described below. If no ordered data points are provided by DSP 100, FPGA 102 may output the data values in the order received to waveform generators 22 or store the discrete data values in sequential memory locations corresponding to the ordering of the data values to form a waveform (e.g., the data points may be considered to comprise the respective memory locations which specify the ordering of the outputting of the data values in one embodiment). If a plurality of waveforms are to be simultaneously generated, FPGA 102 may store the data values of the plural waveforms for a respective individual data point or
step using a common memory location. Other methods are possible for storing waveform data. In another implementation as mentioned above, FGPA 102 may output the waveform data directly to waveform generator(s) 22 without storage in storage device 21. In one embodiment, FPGA 102 outputs the discrete data values according to the order at a substantially constant rate or frequency for application to the waveform generator(s) 22. In one example, sufficient discrete data values 102 are utilized to enable the values to be outputted at a rate or frequency ten times the maximum frequency of the waveforms to be generated. Other rates may be used in other embodiments. Plural waveform generators 22 may be provided in some embodiments of analysis device 12. If plural waveforms are to be used to perform a desired analysis, FPGA 102 may simultaneously output the respective data values to the respective waveform generators 22. The data values may be outputted in parallel and aligned with respective data points or steps or otherwise controlled to be aligned in time. DAC 104 of waveform generator may be referred to as conversion circuitry which receives the discrete data values outputted according to a sequential order and converts the values to an analog signal. The analog signal is amplified by voltage amplifier 106 and outputted for further signal conditioning and/or application to an electrode of mass analyzer 28. Referring to Fig.8, a methodology of exemplary waveform generation operations of DSP 100 are shown. Other methods are possible including more, less or alternative steps. At a step S100, the DSP accesses the waveform parameters from an appropriate source. At a step S102, an appropriate equation is selected for generation of the waveform. A user may specify an equation to be used at step S102 or the DSP may select the equation responsive to the type of analysis to be performed. At a step S104, the DSP calculates the data value using the respective parameter(s) and equation(s). At a step S106, the DSP stores a data value within an internal buffer. At a step S108, the DSP determines whether the internal buffer is full. If the condition of step S108 is affirmative, the DSP outputs the stored data values to FPGA 102 at a step S110. If the condition of step S108 is negative, the DSP determines whether another data value will be provided at a step S112.
If the condition of step S112 is affirmative, the process returns to step S104 wherein the next data value is calculated. If the condition of step S112 is negative, the process proceeds to step S114. At step S114, it is determined whether another waveform is to be generated. If the condition of step S114 is affirmative, the process returns to step S102 to access the respective equation. If the condition of step S114 is negative, the process may terminate. The exemplary described method of Fig. 8 is one implementation wherein a user merely specifies the waveform parameters. In another embodiment as described above, a user may input a list of data values and/or data points which may be accessed and stored by the DSP 100 at step S106. Referring to Fig. 9 a methodology of exemplary waveform generation operations of FPGA 102 is shown. Other methods are possible including more, less or alternative steps. At a step S200, a block of data values are received from DSP 100 (e.g., a block may correspond to the internal buffer of DSP 100). At a step S202, the received block of data values are stored using storage device 21 (e.g., RAM of device 21). At a step S204, it is determined whether another data block from DSP 100 is expected. If the condition of step S204 is affirmative, the process returns to step S200. If the condition of step S204 is negative, the process proceeds to step S206. At step S206, it is determined whether data values should be outputted to waveform generators 22 form one or more waveforms. If the condition of step S206 is affirmative, the process proceeds to step S208. If the condition of step S206 is negative, the process idles. At step S208, appropriate data values for each waveform are simultaneously applied to respective waveform generators 22 in parallel (or a single value is applied to a single generator 22 if only a single waveform will be generated). At a step S210, it is determined whether another data value exists for the currently-generated waveform(s). If the condition of step S210 is affirmative, the process returns to step S208. If the condition of step S210 is negative, the process returns to steps S206 to determine whether another waveform will be generated. In the described embodiment, the FPGA 102 outputs the data values at a
substantially constant rate according to a specified frequency. In one embodiment, the output frequency may be selected corresponding to the waveform(s) to be generated. In another embodiment, the output frequency is constant and any deviation in frequency may be implemented through specification of the data values. FPGA 102 of the above-described method stores data values using storage device 21 prior to application to waveform generator(s) 22. In another embodiment, it is possible for FPGA 102 to directly output the data values to the waveform generator(s) 22 following access from DSP 100 without storage in storage device 21. In yet another embodiment, it is possible for DSP 100 to directly output the data values to waveform generator(s) 22. Other arrangements are possible. Some of the above-described aspects provide simultaneous outputting and generation of a plurality of waveforms in parallel. Although such aspects are described with reference to the generation of two waveforms, additional numbers of waveforms may be simultaneously generated if desired for analysis of one or more sample. Respective sets of the data values for the respective waveforms may be aligned with a common set of data points or steps to align the plurality of waveforms (i.e., two or more waveforms) with respect to one another and in time. According to another aspect of the disclosure, data values for one or more analog voltage waveform may be prepared before analysis operations are desired to reduce or minimize the time used to implement an analysis of one or more sample. For example, sets of discrete data values may be entered by a user or processing circuitry 20 may access one or more equation and respective parameters to perform calculations to generate one or more sets of the data values before analysis is initiated. The sets of data values for respective waveform generation may be stored using storage device 21. Thereafter, when analysis of one or more sample is desired at a subsequent moment in time, the processing circuitry 20 may select and access the respective sets of data values from storage device 21 for generation of the desired waveforms. The selection may be based upon the type of analysis to be performed in one embodiment. At least one aspect of generating waveforms according to the present disclosure facilitates control of values of one or more waveform at plural moments in time. For mass spectrometers using more than one waveform, control of the relationships of the waveforms to one another is facilitated. For example, a sinusoidal trapping RF waveform and any auxiliary sinusoidal waveforms applied to the end caps of an ion trap can have a phase relationship that depends on the frequencies and the relative start and stop times of the sine components. This phase relationship can be specified and controlled as a
user input if both sine waveforms are generated digitally in accordance with at least one aspect of the present disclosure. A plurality of ordered sequential data points may be provided and data values for one or more waveform may be associated with the respective data points according to one aspect. Accordingly, the values of the waveform(s) may be specified for a plurality of moments in time by assigning or otherwise associating the desired data values with the data points. In compliance with the statute, this disclosure has been described in language more or less specific as to structural and methodical features. It is to be understood, however, that the disclosure is not limited to the specific features shown and described, since the means herein disclosed comprise exemplary forms of putting the invention into effect.