Reduction of data elapsed time
The method addresses data age and acceleration-dependent errors in measurement systems by electronically correcting measurement signal values based on estimated velocity and acceleration, enhancing the accuracy and synchronization of operations.
Patent Information
- Application Number
- JP2024566350
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-05-10
- Filing Date
- 2023-05-04
- Publication Date
- 2025-05-30
AI Technical Summary
Existing measurement systems face challenges in accurately correcting for data age-related errors, particularly during acceleration or deceleration phases, where velocity changes and acceleration-dependent errors from digital filtering introduce position errors.
A method and system that electronically extract series of values from a measurement signal, determine estimated velocity and acceleration, and correct subsequent values based on these estimates to reduce position errors caused by data age and acceleration-dependent errors.
The solution effectively reduces position errors caused by latency and acceleration-dependent noise, improving the synchronization and accuracy of operations in measurement systems, such as those used in semiconductor wafer positioning.
Smart Images

Figure 2025516595000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to methods and systems for reducing errors resulting from relative differences in the age of data between measurement systems, such as encoder systems and / or interferometric optical systems, and positioning systems that rely on such measurement systems. This application claims priority to U.S. Provisional Application No. 63 / 340,025, filed May 10, 2022, the entire contents of which are incorporated herein by reference. [Background technology]
[0002] All signal propagation and processing has some inherent, unavoidable delay, sometimes referred to as latency, group delay, or data age. In some applications, this delay makes desired system performance difficult or impossible to achieve without compensation. For example, in certain applications, processed measurement signals from a metrology system used to monitor the position of a movable object may be delayed due to the data age of such data. This can be particularly problematic when the measurement signals are used to trigger or control the operation of one or more other components that are expected to be synchronized in time, at least in part, with the position of the moving object. One such example is when an optical interference system and / or encoder system is used to monitor the position of an object (e.g., a semiconductor wafer) on a movable stage to trigger selective exposure (e.g., with a light, electron, or ion beam) of specific locations on the object. Specifically, if the measured position of the object is delayed in time, an inaccurate position will be exposed without compensation. Summary of the Invention
[0003] In measurement systems requiring near-zero data age, data age reduction ("DAR") during constant velocity ("CV") regions can be relatively easily corrected by adjusting the position value (distance) by an amount equal to the product of the known constant velocity and the known constant data age (distance = velocity * time) or by other simple methods. However, DAR during acceleration or deceleration ("AD") is more complicated because at least (1) velocity is changing during acceleration, (2) acceleration is changing during "jerk" periods (i.e., acceleration changes), and (3) the alpha-beta (α-β) filter typically used in these systems to reduce noise also introduces position error proportional to acceleration. The present disclosure relates to methods and systems for reducing DAR during AD.
[0004] In general, in one aspect, a method is disclosed that includes: i) electronically extracting a series of values from a measurement signal corresponding to a position of a moving object, the series of values indicating the position of the moving object at a corresponding number of time increments; ii) electronically determining at least one of an estimate of a velocity of the moving object and an estimate of an acceleration of the moving object based on a plurality of values in the series of values; and iii) electronically correcting a subsequent value in the series of values based on one or both of the estimate of velocity and the estimate of acceleration.
[0005] In general, in another aspect, an apparatus is disclosed that includes an electronic processing module implementing one or more processors, the electronic processing module being configured to: i) electronically extract a series of values from a measurement signal corresponding to a position of a moving object, the series of values being indicative of a position of the moving object at a corresponding number of time increments; ii) electronically determine at least one of an estimate of a velocity of the moving object and an estimate of an acceleration of the moving object based on a plurality of values in the series of values; and iii) electronically correct a subsequent value in the series of values based on one or both of the estimate of the velocity and the estimate of the acceleration.
[0006] Embodiments of the method and apparatus can include any of the following features. The velocity estimate may be electronically determined and used to correct subsequent values in the series to correct for position errors caused by delays in the time course of the data, e.g., greater than 100 ns, including delays in the time course of the data caused by electronic extraction of the series of values.
[0007] The acceleration estimate may be electronically determined and used to correct subsequent values in the series. For example, the method may further include electronically filtering the series of values to reduce noise using a digital filter, e.g., by using an alpha-beta filter, and the acceleration estimate may be used to correct position errors in subsequent values caused by acceleration-dependent errors due to the electronic filtering. The electronic filtering may be performed before or after the electronic correction of the subsequent values.
[0008] Furthermore, in some embodiments, both the velocity estimate and the acceleration estimate are determined electronically and used to adjust subsequent values in the series to reduce position errors caused by data elapsed time delays in electronic extraction and acceleration-dependent errors in electronic filtering.
[0009] The method may further include repeating the electronically determining and electronically correcting to provide a series of correction values indicative of the position of the moving object at a corresponding plurality of time increments, corrected for position errors caused by at least one of data elapsed time delays in electronic extraction and acceleration-dependent errors in electronic filtering. Furthermore, the method may further include causing the moving object to perform an action based on the series of correction values. For example, the action may include directing an energy beam at a specific position on the object and / or photographing or otherwise optically inspecting the moving object. For example, the object may be supported by a motion stage, and a measurement system may be optically coupled to the motion stage to generate measurement signals. For example, the measurement system may include an interferometer system and / or an encoder system. Similarly, an apparatus may include any of electronics, a beam energy system, a motion stage, and a measurement system for implementing such a method.
[0010] The time increments may be in the range of 10 ns to 1 μs, or more narrowly in the range of 25 ns to 100 ns. The absolute velocity of the object may exceed 0.001 m / s during at least a portion of the time corresponding to the series of values and may be less than 100 m / s during all of the time corresponding to the series of values, or more narrowly, the absolute velocity of the object may exceed 0.001 m / s during at least a portion of the time corresponding to the series of values and may be less than 10 m / s during all of the time corresponding to the series of values.
[0011] The absolute acceleration of the object is 1 m / s during at least a portion of the time corresponding to the series of values. 2 may exceed 100 m / s for all of the times corresponding to the series of values. 2 It may be less than.
[0012] Electronically determining at least one of an estimate of the velocity of the moving object and an estimate of the acceleration of the moving object based on a plurality of values in the series of values may include electronically applying one or more difference operations to the plurality of values. For example, the velocity estimate V for the nth time increment may be n teeth,
[0013]
number
[0014] may be determined according to where P n is the value in the sequence of values indicating the position at time increment n, and dnv is a positive integer. The acceleration estimate A for the nth time increment is n teeth,
[0015]
number
[0016] may be determined according to where dna is a positive integer. In a particular embodiment, dnv=dna. The corrected position value Pdar in the series of values indicating the position at time increment n n teeth,
[0017]
number
[0018] may be determined according to where P n is the value in the sequence of values indicating the position at time increment n, and Vn and A n are estimates of velocity and acceleration, respectively, at time increment n, and Rv and Ra are constants. Some embodiments may further comprise determining the constants Rv and Ra in simulation or using internal test signals generated in hardware.
[0019] All documents referred to herein, if any, are incorporated by reference in their entirety. In the event of a conflict between this disclosure and any document incorporated by reference, the present disclosure will control.
[0020] The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims. [Brief explanation of the drawings]
[0021] [Figure 1] FIG. 1 is a schematic diagram of a stage measurement system. [Figure 2A] FIG. 2A is a schematic block diagram of exemplary components of an embodiment of an electronic processing module for processing optical signals indicative of stage position. [Figure 2B] FIG. 2B is a schematic block diagram of exemplary components of an embodiment of an electronic processing module for processing optical signals indicative of stage position. [Figure 3] FIG. 3 is a schematic diagram of the processing provided by a data elapsed time reduction module within an electronic processing module for processing signals indicative of stage position. [Figure 4] FIG. 4 is a set of graphs showing the position, velocity, and acceleration of a stage in a simulated example for implementing the data elapsed time reduction disclosed herein. [Figure 5]FIG. 5 is a pair of graphs showing the stage position for a simulation (top graph) and the corresponding filtered position error (bottom graph) caused by the data age in the absence of any data age reduction. [Figure 6] FIG. 6 is a pair of graphs showing the stage position for a simulation (top graph) and the corresponding filtered residual position error (bottom graph) using the elapsed time reduction of the data disclosed herein. [Figure 7] FIG. 7 is a set of graphs showing the velocity and acceleration components of an elapsed time correction of the data performed on the simulation of FIG. 4 to produce the significantly reduced position error shown in the lower graph of FIG. 6. DETAILED DESCRIPTION OF THE INVENTION
[0022] Like reference symbols in the various drawings indicate like elements. FIG. 1 is a schematic diagram of a stage metrology system 100 including a reference frame 110 supporting a movable stage 120 configured to hold an object 122, such as a semiconductor wafer. A stage controller 124 drives motors (not shown) to selectively move the stage 120 along the reference frame 110. For simplicity, movement along the reference frame 110 is shown along only one dimension (e.g., the X direction), although movement along the Y direction (orthogonal to the X direction and into the plane of the page in FIG. 1 ) is also possible and well known in the art (as is positioning and rotation along height (i.e., the Z direction)). To precisely monitor the position of the object 120 along the frame 110, optoelectronic metrology systems such as interferometer and / or encoder systems are common. For example, the metrology system 100 includes an interferometric optics module 130 supported by the frame 110, which directs a light beam 135 from a laser light source 132 within the module 130 to a stage mirror 140 mounted on the stage 120. Stage mirror 140 reflects light beam 135 back to the interference optics module, which combines the reflected beam with an internal reference beam to generate an optical interference signal containing phase information that can be electronically detected by detector 134 within module 130, ultimately generating an electronic phase signal indicative of the distance traveled by stage 120. For example, with a helium-neon laser source operating at λ = 633 nm and a simple single-pass configuration such as that shown in FIG. 1, a measurement of a full 2π phase cycle corresponds to a travel distance of λ / 2 = 316.5 nm; with a typical double-pass configuration, a measurement of a full 2π phase cycle corresponds to a travel distance of λ / 4 = 158.25 nm. Such interferometer systems, including those monitoring multiple degrees of freedom, are well known in the art; see, for example, U.S. Patent Nos. 4,688,940, 4,859,066, and 6,757,066. Additionally, in other embodiments, the interference optical module can be carried by a stage 120 and a reflecting mirror supported by a reference frame 110 .In yet further embodiments, the interference optics module is located at a distance from the stage, and optical fibers are used to help couple the beam from the module to the translation stage and back again. Furthermore, in some embodiments, the recombined light in the interference optics module can be fiber-coupled to a remote detector in the electronic processing module. In yet another embodiment, the interference optics module 130 and the stage mirror 140 are replaced with an optical encoder system and a reflective and / or diffractive encoder element, respectively, as is well known in the art; see, e.g., U.S. Pat. Nos. 7,636,165 and 8,300,233. System 100 further includes an electronic processor module 150 electronically coupled to detector 134 in interference optics module 130 for processing the detected signal and generating a position signal P(t) for stage controller 124 indicative of the stage position P along the X-axis at time t.
[0023] In many applications, the stage metrology system is used to coordinate specific movements of the object 122 supported by the stage 120. For example, one common application is selective exposure of specific locations of the object 122 with an energy beam 162 from a beam exposure system 160. For example, the energy beam can be a light beam, an electron beam, or an ion beam. This application is common for position-specific inspection and / or processing of the object. Accordingly, the system 100 further includes a control system 170 coupled to the electronic processor module 150, the stage controller 124, and the beam exposure system 160 to coordinate the operation of the beam exposure system with the correct position of the object 122 supported by the motion stage 120. However, such coordination can be compromised by the data age of the position signals generated by the electronic processing module 150. For example, rather than actually providing the object position P at the current time t without correction, the processing module can provide a position signal P(t-t) corresponding to a slightly earlier time corresponding to the data age t. Contributing factors to such data age (data age) can include constant delays in optical, analog, and digital signals, delays due to varying optical path lengths, frequency-dependent group delays introduced by analog electronics, and biasing-dependent effects from photodetectors (e.g., avalanche photodiodes).
[0024] Moreover, of particular note herein, the effects of the age of these data are exacerbated for accelerating objects, resulting in velocity-dependent position errors due to the age of the data, as well as position errors from acceleration-dependent offsets due to digital filters otherwise used to reduce noise. By way of example, the methods disclosed herein may be particularly applicable to stage systems in which the absolute velocity of the moving object exceeds 0.001 m / s during at least a portion of the time corresponding to the series of values, and is less than 100 m / s (or more preferably less than 10 m / s) during all of the time corresponding to the series of values. Similarly, by way of example, the methods disclosed herein may be particularly applicable to stage systems in which the absolute acceleration of the object exceeds 0.1 m / s during at least a portion of the time corresponding to the series of values. 2 More than (or more preferably 0.5 m / s 2 exceeding 100 m / s for all of the times corresponding to the series of values. 2 Less than (or more preferably 10 m / s 2 As described in more detail below, electronic processing module 150 includes DAR correction electronics 152 that reduce position errors caused by data age, which improves coordination of stage movement by stage 120 with movements directed at object 122 carried by the moving stage, such as by beam exposure system 160.
[0025] 2A is a schematic block diagram of exemplary components of electronic processing module 150. For example, module 150 includes a light detector and receiver 210 that receives the light beam from the stage (e.g., via optical fiber) and outputs an analog signal indicative of the time-dependent intensity of the beam, and a band pass filter ("BPF") 220 that substantially reduces signal frequencies that may be aliased and affect the measurements. An exemplary system with a signal frequency range of 4 to 36 MHz may have a BPF passband of 100 kHz to 37 MHz. An analog-to-digital converter ("ADC") 230 samples the analog signal and outputs a series of digital values indicative of the instantaneous value of the intensity signal. The module further includes a phase meter formed by a discrete Fourier transform ("DFT") module 230, which selects signal frequencies of interest and outputs a series of complex values indicative of the signal and nearby frequencies, and a coordinate rotation by digital computer ("CORDIC") module 240, which converts the complex values from the DFT (i.e., Cartesian coordinates) to magnitude and phase (i.e., polar coordinates). The amplitude values may be used as a signal strength indicator (SSI). The module then includes a glitch filter ("GF") 250 (also known as a position calculator) that "connects" or "unwraps" the phase discontinuities to generate multiple position values, a data age reduction ("DAR") module 260 that substantially reduces the data age (i.e., processing delay), and finally a digital filter ("DF") 270 that reduces noise in the multiple position values.2A, the output of processing module 150 is a series of position P and velocity V values for the motion stage. However, for DAR module 260, which is described in more detail below, these components are known in the art. See, for example, U.S. Patent Nos. 5,767,972, 6,975,406, 6,597,459, and 7,542,147, which describe similar architectures including a glitch filter GF.In a preferred embodiment, the digital filter DF implements an "alpha-beta" or "alpha-beta-gamma" filter, as is well known in the art, and is described, for example, in Benedict, T. R. and G. W. Bordner, "Synthesis of an Optimal Set of Radar Track-While-Scan Smoothing Equations," IRE Transactions on Automatic Control, pp. 27-32, New York, NY (July 1962); Robert Penoyer, "The Alpha-Beta Filter," The C Users Journal (July 1993), pp. 73-86; Paul R. Kalata, "The Tracking Index: A Generalized Parameter for α-β and α-β-γ Target Trackers," IEEE Transactions on Aerospace and Electronic Systems, Vol. AES-20 (March 1984), pp. 174-182; J. F. Gray and W. Murray, "A Derivation of an Analytic Expression for the Tracking Index," IEEE Transactions on Aerospace and Electronic Systems, Vol. AES-20 (March 1984), pp. 174-182. Index for the Alpha-Beta-Gamma Filter,” IEEE Transactions on Aerospace and Electronic Systems, Vol. 29 (July 1993), pp. 1064-1065; D. Tenne and T. Singh, “Characterizing Performance of Alpha-Beta-Gamma Filters,” IEEE Transactions on Aerospace and Electronic Systems, Vol. 38 (July 2002), pp. 1072-1087.Also, in a further embodiment, the DAR module 260' can be applied after the digital filter 270' as shown in FIG. 2B, rather than before as shown in FIG. 2A.
[0026] FIG. 3 is a schematic diagram of the processing provided by the DAR module 260. A plurality of position values P input at block 300 are processed at block 310 to generate estimates of a plurality of values for velocity V and acceleration A. The velocity estimate may be performed by processing the calculated position values using a first-order difference calculation with a delay between input of a given number of samples, e.g., 1000 samples (100 μs at 10 MS / s). Any suitable velocity estimation method may be used, e.g., processing the position values with a digital differentiator and including a digital filter to reduce noise. The acceleration estimate may be performed by processing the velocity estimate using a first-order difference calculation with a delay between input of a given number of samples, e.g., the same delay as the velocity estimate (i.e., yielding results equivalent to a second-order difference calculation). Any suitable acceleration estimation method may be used, which may include processing the position or velocity estimate with a digital differentiator and may include a digital filter to reduce noise. The resulting plurality of values for velocity V and acceleration A are then applied to a preset DAR correction factor R at block 320. v and R a and determine an overall DAR correction. In block 330, the DAR compensation is used to adjust the input position values P to provide corrected output position values Pdar (block 340) to reduce errors in data age. Further details are provided below.
[0027] In general, the multiple position values P provided by the GF module 250 to the DAR module 260 correspond to a series of position values P for a series of time intervals t1, t2, t3, etc. However, as mentioned above, due to the aging of the data (data age), those position values correspond to earlier times with a delay corresponding to the age of the data, and therefore the actual multiple position values are P(t1-t o1 ), P(t2-t o2 ), P(t3-t o3 ), .... The purpose of the DAR module 260 is to correct for this discrepancy (and further compensate for any subsequent errors introduced by the DF module 270). In general, data age compensation aims to reduce or eliminate the delay in the signal traveling all the way from the interferometer to where the position value is available to the user. Often, the main source of delay is the delay incurred during the electronic extraction of multiple position values, which can exceed 100 ns. Furthermore, when the object is moving, such delay introduces a position error that roughly corresponds to the product of the object's velocity and the data age (data age).
[0028] The clocks that sample incoming data using the ADC (and the lower frequency clocks in any FPGA (field programmable gate array)) all have very low jitter (<1 ps), so from a signal processing perspective, time increments can be assumed to be evenly spaced, i.e., t n=n·ΔT, where ΔT is the sampling period, typically corresponding to a value ranging from about 10 nanoseconds ("ns") for the ADC to even slower values of about 100 ns or more for the DAR processing. Furthermore, the actual data age (data age) for a given system in many embodiments is stable and constant, except for 1) phase shift and group delay variations with frequency in the analog electronics, and 2) acceleration-dependent offsets introduced by the DF module 270. The first error can be compensated for early in the data path, as taught in U.S. Pat. No. 7,542,147, and is generally applicable only to certain types of detectors and is not considered in the following compensation scheme. The second error is proactively compensated for by the DAR module 260, as described below. Thus, the sequence of position values P(t−t o1 ), P(t2-t o2 ), P(t3-t o3 ),...is the overall P n =P(n·ΔT−T), where T is the data age error. For example, in many applications relevant here, the data age error T exceeds 100 ns due, at least in part, to the data age delay caused by electronic extraction by electronic devices such as those depicted in FIG. 2A.
[0029] The velocity estimates, acceleration estimates, and data age reduced position values for an exemplary implementation can be mathematically described as follows: n and acceleration A n To estimate the value of P, block 310 in DAR module 260 calculates the input position value P as follows: n where n is the index in the time sequence of values.
[0030]
number
[0031] where dnv and dna are integer values for the differencing of the velocity estimate and acceleration estimate, respectively. speed V n and acceleration A n These values of are sent to block 320 within the DAR module 260, which calculates the DAR correction factors R for velocity and acceleration. v and R a are stored, and the DAR correction for the position Pcor is calculated as follows:
[0032]
number
[0033] The unit of Rv is the sampling period ΔT, and the unit of Ra is (ΔT) 2 The actual scalings of Rv and Ra can be implicitly defined by the time units of velocity and acceleration, respectively. These values of the DAR position correction are sent to block 330 in the DAR module 260 to scale the incoming position value P n are processed together to generate the DAR corrected position value Pdar as follows:
[0034]
number
[0035] The selected values of dnv and dna are a compromise between speed of response (smaller values) and noise reduction (larger values). For example, for higher accelerations, the delay in velocity estimation can introduce a small error term that can be reduced by using more advanced derivative calculations (see, e.g., "A Differentiator with a Difference" by Rick Lyons (2007), www.dsprelated.com / showarticle / 35.php and "A New Contender in the Digital Differentiator Race" by Rick Lyons (2015), www.dsprelated.com / showarticle / 814.php) or faster derivative calculations (i.e., smaller dnv and dna values). In certain embodiments, dnv and dna are each in the range of about 10 to 10,000, or preferably in the range of 500 to 2000, e.g., 100. To simplify the implementation and calculation of the delays, these values are preferably powers of two. In certain embodiments, dnv and dna are set equal to each other, but this is not required. The two DAR correction factors R v and R a can be determined and verified in simulation or using internal test signals generated by hardware. An example simulation may include a simulated position with specified velocity, acceleration, and jerk for a series of time intervals similar to the example of Figure 4. The difference between the simulated ideal (noise-free) position and the calculated position (based on the simulated position, which may include measurement noise, quantization noise, expected processing delay, and DAR) may be used to evaluate performance.
[0036] R v and R aTesting the hardware implemented in an actual system to determine the best value of can be difficult and time-consuming. An exemplary self-test includes a simulated signal source (based on simulated ideal positions as described above) that can be added to the noise of the actual receiver, and performance can be evaluated in a manner similar to the simulation described above.
[0037] In addition to compensating for position errors caused by the product of data age and time-dependent velocity, the method also compensates for position offsets introduced by the acceleration dependence of digital filters (e.g., alpha-beta and alpha-beta-gamma filters) used to reduce noise in the sequence of position values. The following error of the filter depends on the type of filter. A single-pole conventional low-pass filter converges to zero error for a fixed position but has a following error proportional to velocity. An alpha-beta filter converges to zero error for a constant velocity but has a following error proportional to acceleration. An alpha-beta-gamma filter converges to zero error for a constant acceleration but has a following error proportional to jerk. Referring again to FIG. 2A, this acceleration-dependent offset due to the digital filter module 270 is counteracted by the acceleration-dependent correction provided by the DAR module 260, for example, as described in Equations 1-3. In many applications, this compensation is small relative to position changes due to instantaneous velocity, so in certain embodiments, the DAR compensation occurs before the digital filter, so that the digital filter also reduces any quantization noise introduced by the DAR compensation calculation. Thus, in such embodiments, the resulting output from DAR module 260 is "pre-distorted" to compensate for the acceleration-dependent error subsequently introduced by digital filter module 270. However, in other embodiments, the processing positions for DAR module 260' and digital filter module 270' can be reversed, as shown in FIG. 2B. The rest of the processing is similar to that described above.
[0038] The following simulation illustrates the above method and system. The simulation assumes a double-pass (p=2) heterodyne interferometric measurement system based on a Helium-Neon laser operating at λ=633 nm, where the 2π phase measurement corresponds to a distance of 158 nm, and this distance is quantized to 10 bits (1024 quanta), so that the least significant bit (LSB) corresponds to a distance of 0.154 nm. The position sampling rate was 10 MHz (i.e., ΔT=100 ns), and the difference was given by dnv=dna=1000. The simulated stage movement is described in Figure 4, which shows a set of three graphs showing the position, velocity, and acceleration of the simulated movement, respectively. The stage movement was limited to ±1 g (where 1 g = 9.8 m / s 2 ), a constant velocity of 1 m / s, and a jerk reduction region of 15 ms. The constant velocity region is only 1 millisecond ("ms") long to reduce simulation time. Position is expressed as the number of 2π phase cycles (1 cycle = 158 nm). Velocity v corresponds to an associated Doppler frequency F corresponding to heterodyne interferometry measurements, such that 1 MHz corresponds to approximately 0.16 m / s. D The frequency (MHz) of the D = 2pv / λ). The error T0 in the data age (data age) in the simulation was 1 microsecond.
[0039] Figure 5 shows a set of two graphs, the top graph again showing the simulated stage position, and the bottom graph showing the corresponding position error for this simulated stage movement after implementation of the digital filter but without any DAR correction for a 1 μs data age. The position error is shown in LSBs (where 1 LSB = 0.154 nm). Figure 6 shows a set of two graphs, the top graph again showing the simulated stage position, and the bottom graph showing the corresponding residual position error after implementation of DAR correction. The simulated noise source was 0.200 LSB root mean squared ("RMS"), and the noise after DAR was 0.206 LSB RMS, a negligible increase. This test was repeated at 2 g, 2.0 m / s, and 8 ms jerk, with similar results and no change in the DAR correction factor. The following value was obtained for this correction factor: R v = 12τ and R a =6050τ 2 where τ = 100 ns is equal to the sampling period ΔT = 100 ns. Figure 7 shows two sets of graphs, one for velocity DAR compensation (upper graph) and the other for acceleration DAR compensation (lower graph) separately (i.e., Rv V n and Ra·A n (These are shown respectively.)
[0040] Other embodiments will be understood and disclosed by those skilled in the art. Digital Implementation The data processing features described herein are generally implemented using FPGA and / or ASIC (application-specific integrated circuits) architectures known in the art. In further embodiments, they may also be implemented, at least in part, in digital electronic circuitry (including FPGA and / or ASIC architectures), or computer hardware, firmware, or combinations thereof. For example, the features may be implemented in a computer program product tangibly embodied in an information carrier, such as a machine-readable storage device, for execution by a programmable processor, the programmable processor executing a program of instructions to perform the functions of the described implementation by operating on input data and generating output. The described features may be implemented in one or more computer programs executable on a programmable system including a data storage system, at least one programmable processor coupled to receive data and instructions from at least one input device, and to transmit data and instructions to at least one output device. A computer program comprises a set of instructions that can be used, directly or indirectly, in a computer to perform a particular operation or bring about a particular result. Computer programs can be written in any type of programming language, including compiled or interpreted languages, and can be deployed in any form, such as as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
[0041] Processors suitable for executing a program of instructions include, by way of example, both general-purpose and special-purpose microprocessors, which may be one of multiple processors in any type of computer. Typically, a processor will receive instructions and data from a read-only memory or a random-access memory, or both. A computer includes a processor for executing instructions and one or more memories for storing instructions and data. Typically, a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files. Such devices include: magnetic disks, such as internal hard disks and removable disks; solid-state disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, such as semiconductor memory devices, such as EPROMs, EEPROMs, and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by, or incorporated in, application-specific integrated circuits (ASICs). Features may be implemented in a single process or distributed across multiple processors in one or many locations. For example, features may employ cloud technology for data transfer, storage, and / or analysis.
[0042] range Please note that as used in this specification and the appended claims, the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise, such as when the term "single" is used.
[0043] As used herein, the terms "adapted" and "configured" mean that an element, component, or other subject matter is designed and / or intended to perform a given function. Thus, use of the terms "adapted" and "configured" should not be interpreted to mean that a given element, component, or other subject matter is merely "capable of" performing a given function.
[0044] As used herein, the phrases "at least one of" and "one or more of," in reference to a list of two or more entities, mean any one or more of the entities in the list of entities, and are not limited to at least one of each and every entity specifically listed in the list of entities. For example, "at least one of A and B" (or, equivalently, "at least one of A or B," or, equivalently, "at least one of A and / or B") can refer to A alone, B alone, or a combination of A and B.
[0045] As used herein, the term "and / or" placed between a first entity and a second entity means one of: (1) the first entity, (2) the second entity, and (3) the first entity and the second entity. Multiple entities listed with "and / or" should be construed in the same manner, i.e., "one or more" of the entities so joined. Other entities other than the entity specifically identified by the "and / or" clause may optionally be present, whether related or unrelated to the specifically identified entity.
[0046] While this specification contains many specific implementation details, these should not be construed as limiting the scope of any invention or the scope of subject matter that may be claimed, but rather as descriptions of features particular to particular embodiments of particular inventions.
[0047] Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.
[0048] Furthermore, even if features are described above as acting in a particular combination and initially claimed as such, one or more features from the claimed combination may, in some cases, be deleted from the combination, and the claimed combination may be directed to a sub-combination or a variation of the sub-combination.
[0049] Similarly, while operations are shown in the figures in a particular order, this should not be understood as requiring such operations to be performed in the particular order shown or in sequential order, or that all of the operations shown be performed, to achieve desired results. In certain situations, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the above-described embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems generally can be integrated together in a single software product or packaged in multiple software products.
[0050] Specific embodiments of the present invention have been described above. Other implementations are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown or sequential order to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.
[0051] Although a number of embodiments of the present invention have been described, it will be understood that various modifications can be made without departing from the spirit and scope of the invention. Accordingly, other implementations are within the scope of the following claims.
Claims
1. A method comprising: electronically extracting a series of values from a measurement signal corresponding to the position of a moving object, the series of values indicating the position of the moving object at corresponding plural time increments; electronically determining at least one of an estimated value of the velocity of the moving object and an estimated value of the acceleration of the moving object based on plural values of the series of values; and electronically correcting subsequent values in the series of values based on one or both of the estimated value of the velocity and the estimated value of the acceleration.
2. The method according to claim 1, wherein the estimated value of the velocity is electronically determined and used to correct the subsequent values in the series of values to correct a position error caused by a delay in the passage of time of data.
3. The method according to claim 2, wherein the delay in the passage of time of the data includes a delay in the passage of time of data caused by the electronic extraction of the series of values.
4. The method according to claim 2, wherein the delay in the passage of time of the data is greater than 100 ns.
5. The method according to claim 1, wherein the estimated value of the acceleration is electronically determined and used to correct the subsequent values in the series of values.
6. The method according to claim 5, further comprising electronically filtering the series of values using a digital filter to reduce noise.
7. The method according to claim 6, wherein the estimated value of the acceleration is used to correct a position error in the subsequent values caused by an acceleration-dependent error due to the electronic filtering.
8. The method according to claim 6, wherein the electronic filtering includes an alpha-beta filter.
9. The method according to claim 6, wherein the electronic filtering is performed after the electronic correction of the subsequent values.
10. The method according to claim 6, wherein the electronic filtering is performed before the electronic correction of the subsequent values.
11. The method according to claim 1, wherein both the estimated value of the velocity and the estimated value of the acceleration are electronically determined and used to adjust the subsequent values in the series of values to reduce a position error caused by a delay in the passage of time of data in the electronic extraction and a position error caused by an acceleration-dependent error of the electronic filtering.
12. The method according to claim 1, further comprising repeating the electronically determining and the electronically correcting to provide a series of corrected values indicative of the position of the moving object in a plurality of corresponding time increments corrected for a position error caused by at least one of a delay in the elapsed time of data in the electronic extraction and an acceleration-dependent error of electronic filtering.
13. The method according to claim 12, further comprising causing the moving object to perform an operation based on the series of corrected values.
14. The method according to claim 13, wherein the operation includes directing an energy beam at a specific position of the object.
15. The method according to claim 14, wherein the object is supported by a moving stage, and the measurement system is optically coupled to the moving stage to generate the measurement signal.
16. The method according to claim 15, wherein the measurement system includes an interferometer system.
17. The method according to claim 15, wherein the interferometer system includes an encoder system.
18. The method according to claim 1, wherein the plurality of time increments is in the range of 10 ns to 1 μs.
19. The method according to claim 18, wherein the plurality of time increments is in the range of 25 ns to 100 ns.
20. The method according to claim 1, wherein the absolute speed of the object exceeds 0.001 m / s during at least a portion of the time corresponding to the series of values and is less than 100 m / s during all of the time corresponding to the series of values.
21. The method according to claim 20, wherein the absolute speed of the object exceeds 0.001 m / s during at least a portion of the time corresponding to the series of values and is less than 10 m / s during all of the time corresponding to the series of values.
22. The absolute acceleration of the object exceeds 1 m / s during at least a part of the time corresponding to the series of values and is less than 100 m / s during all of the time corresponding to the series of values. The method according to claim 1. 2 The method according to claim 1, wherein the absolute acceleration of the object exceeds 1 m / s during at least a part of the time corresponding to the series of values and is less than 100 m / s during all of the time corresponding to the series of values. 2 The method according to claim 1, wherein the absolute acceleration of the object exceeds 1 m / s during at least a part of the time corresponding to the series of values and is less than 100 m / s during all of the time corresponding to the series of values.
23. Electronically determining at least one of an estimated value of the speed of the moving object and an estimated value of the acceleration of the moving object based on a plurality of values of the series of values includes electronically applying one or more difference operations to the plurality of values.
24. The estimated value Vn of the speed for the nth time increment is determined according to 【Number 1】 wherein Pn is a value in the series of values indicating the position at time increment n, and dnv is a positive integer. The method according to claim 23.
25. The estimated value An of the acceleration for the n-th time increment is 【Number 2】 obtained according to where dna is a positive integer, the method according to claim 24. **Claim 26** The method according to claim 25, wherein dnv = dna. **Claim 27** The corrected position value Pdar in the series of values indicating the position at time increment n n is 【Number 3】 obtained according to Here, P n is a value in the series of values indicating the position at time increment n, V n and A n are respectively the estimated value of the velocity and the estimated value of the acceleration at time increment n, and Rv and Ra are constants. The method according to claim 25. **Claim 28** The method according to claim 27, further comprising determining the constants Rv and Ra in a simulation or using an internal test signal generated in hardware. **Claim 29** An apparatus comprising an electronic processing module implementing one or more processors, wherein the electronic processing module electronically extracts a series of values from a measurement signal corresponding to the position of a moving object, the series of values indicating the position of the moving object at corresponding plural time increments, and electronically determines at least one of an estimated value of the velocity of the moving object and an estimated value of the acceleration of the moving object based on a plurality of values in the series of values, and electronically corrects subsequent values in the series of values based on one or both of the estimated value of the velocity and the estimated value of the acceleration. **Claim 30** The apparatus according to claim 29, wherein the electronic processing module implementing one or more processors is configured to correct subsequent values in the series of values to correct a position error caused by a delay in the elapsed time of data using the estimated value of the velocity obtained and used electronically. **Claim 31** The apparatus according to claim 29, wherein the electronic processing module implementing one or more processors is configured to correct subsequent values in the series of values using the estimated value of the acceleration obtained and used electronically. **Claim 32** The apparatus according to claim 31, wherein the electronic processing module further comprises a digital filter configured to electronically filter the series of values to reduce noise. **Claim 33** The apparatus according to claim 32, wherein the electronic processing module implementing one or more processors is configured to correct a position error in the subsequent values caused by an acceleration-dependent error due to the electronic filtering using the estimated value of the acceleration. **Claim 34** The electronic processing module implementing one or more processors is configured to electronically determine and use both the estimated speed and the estimated acceleration to adjust the subsequent values in the series of values to reduce a position error caused by a data elapsed time delay in the electronic extraction and a position error caused by an acceleration-dependent error of electronic filtering. The device according to claim 29.
35. The electronic processing module implementing one or more processors is configured to repeatedly perform the electronically determining and the electronically correcting to provide a series of corrected values indicating the position of the object to be moved in a plurality of corresponding time increments corrected for a position error caused by at least one of a data elapsed time delay in the electronic extraction and an acceleration-dependent error of electronic filtering. The device according to claim 29.
36. The device according to claim 29, further comprising an analog-to-digital converter for use in processing the measurement signal.
37. The device according to claim 36, further comprising a phase meter for use in processing the measurement signal.
38. The device according to claim 37, further comprising a glitch filter used in processing the measurement signal.
39. The device according to claim 29, further comprising a source for directing an energy beam at a specific position of the object based on the series of corrected values supplied by the electronic processing module.
40. The device according to claim 39, further comprising a movable stage for supporting the movable object and a stage controller for moving the stage, wherein the electronic processing module is coupled to the stage controller.