Patent Publication Number: US-5291262-A

Title: Laser surveying instrument

Description:
Related Applications 
     This application is a continuation-in-part of application Ser. No. 07/489,720, filed Feb. 26, 1990, which is a continuation of application Ser. No. 07/329,303, filed Mar. 27, 1989, both abandoned. 
    
    
     FIELD 
     The invention relates generally to surveying devices and more particularly to a laser surveying device. 
     STATE OF THE ART 
     Surveying devices are available to serve various purposes, including topographical mapping, surveying to determine property boundaries, etc. Such devices usually include a sight, a compass and an inclinometer for ascertaining the direction and the angle of inclination from the surveyor&#39;s position, of the landmark whose location is being determined. Typically, two persons are required: a first positioned at the landmark itself, and a second at a known distance from the landmark taking readings. The second person sights on the first person, and takes readings from the compass and inclinometer. The necessary calculations are based on the known distance between the landmark and the surveyor, the compass heading and the inclination. The first person then moves to another location, and the process is repeated. Readings from at least three different locations are needed to establish the location of the landmark. 
     More recently, survey devices utilizing laser light have been designed. In some instances, a laser light spot is projected against a target which may be an inanimate target placed by the surveyor who then takes readings from a known distance (for example, see U.S. Pat. Nos. 4,029,415 to Johnson, 4,873,449 to Paramythioti, and 4,673,287 to Rickus). Proper sighting by the surveyor may be established by receipt of a reflected pulse from the target, by visual observation of laser light on the target, or by a signal provided by the target upon its being struck by the laser beam. 
     In a further improvement, the distance between the surveyor and the target is established from laser light reflected by the target and received by a detector in the surveyor&#39;s unit. Such laser distance measurements have also been employed for surveying, determining the speed of objects or vehicles, etc, as illustrated in U.S. Pat. Nos. 3,464,770 to Schmidt et al, 4,902,889 to Sodi, and 3,698,811 to Weil. Such improved laser distance measuring devices eliminate the need for the surveyor to physically measure the distance to the target. 
     However, such devices require the surveyor to record the readings on the inclinometer and the compass. The surveyor further must either perform the necessary calculations by hand or enter the measured values of inclination and compass heading into a computer in the device, in order to arrive at the location coordinates of the target. 
     An electronic surveying system is disclosed in U.S. Pat. Nos. 4,146,927 and 4,205,385, both to Erickson et al. The system includes a theodolite which provides data in a digital output form, an electronic distance-finding device, a tilt sensor, and computing means interfacing with these elements to make survey calculations. However, the electronic distance-finder is a phase-shift analysis type of instrument which requires a reflective marker attached to the survey target to achieve adequate return signal strength for the phase analysis. Moreover, a theodolite must be fixedly mounted, for example on a tripod, and referenced to two known survey points, in order to make measurements. Thus, it is very cumbersome to make measurements at numerous different and remote locations. 
     However, for some purposes it is extremely inconvenient to mount a target device or sensor on the target, for example if it is desired to determine the compass headings and distances to a number of different targets from a given user&#39;s position. Additionally, one may wish to estimate the height and/or width of distant objects. For the above purposes, it is time-consuming and tedious for the user to have to enter by hand, multiple values of compass heading and inclination under such circumstances. 
     Thus, a need remains for a laser survey device which is accurate, conveniently portable, and does not require known reference points for calibration of distance or compass heading, or mounting on a fixed structure such as a tripod. A need further remains for such a device which does not require attachment of a target sensor or other device to the target whose distance is to be determined. Desirably, such a system would measure and digitally input directly to an internal computer, readings of distance, compass heading and inclination. 
     SUMMARY OF THE INVENTION 
     The invention comprises a laser survey instrument including at least the following components: a laser rangefinder, a magnetic compass module constructed to produce an electronically readable compass signal, a vertical angle sensor module which is constructed to produce an electronically readable vertical angle signal, and a microprocessor-based microcontroller which is controllingly and communicatively interconnected to the foregoing components. 
     In a highly preferred embodiment, the instrument is small enough to be easily hand-held, and further includes a trigger and a sighting scope for a user to visually select a target and to trigger operation of the device upon the selected target. Desirably, the sighting scope includes means for measuring the apparent width of the target. 
     The survey device determines the distance to a remote target by measuring the time-of-flight of a very short duration pulse of infrared light. The laser rangefinder fires the laser pulse, detects reflected laser light, and provides count values reflective of the respective arrival times of a REF (reference) pulse representing the firing time of the laser pulse, and an RX pulse representing reflected laser pulse light. The microcontroller is configured to read these count values and to compute from them, the time-of-flight of the laser pulse and in turn, the distance to the target. 
     The vertical angle sensor is presently embodied as a commercially-manufactured electrolytic tilt sensor, which in combination with appropriate signal conditioning circuits, outputs an inclination signal reflective of the vertical angle to the target. However, any other type of vertical angle sensor or inclinometer which provides an electronic-ally readable data output signal may be used. The micro- controller is operable to use the vertical angle signals in conjunction with the distance data signals provided by the rangefinder, to calculate the height of a remote object such as a tree, truck or the like. 
     The magnetic compass is constructed to make a reading of the compass heading based on magnetic fields, without a requirement for triangulation, affixation to a tripod, or calibration to a known position. Notably, the magnetic compass is further constructed to provide an electronically readable data signal which can be read, or modified for reading, by the microcontroller. 
     The laser rangefinder has several notable features (not necessarily listed in order of importance). First, a crystal clock-based timing analysis circuit includes a gating circuit which is a digital logic, edge-sensitive gate for which both the &#34;opening&#34; and the &#34;closing&#34; of the time window can be selectably set by the microcontroller. In a preferred embodiment, the microcontroller is configured to alternately widen and narrow the window to selectively lock on &#34;true&#34; RX pulses and exclude pulses due to noise or other factors. 
     Second, the timing analysis circuitry is constructed to generate self-calibration pulses and to process them in the same manner as the REF and RX pulses, thereby producing a set of calibration interpolation counts. The controller uses these calibration interpolation counts along with the REF and RX interpolation counts to compute self-calibrated values of the respective fractional portions of the clock periods at which the REF and RX pulses arrived. The self-calibration pulses comprise a pair of pulses, referred to for simplicity as TMIN and TMAX, which differ by a known integral number of clock periods (with neither TMIN nor TMAX being zero). Together, TMIN and TMAX define an expanded interpolation interval within which the fractional portions of the RX and REF arrival times are interpolated. This self-calibrating interpolation provides greatly enhanced resolution and accuracy of distance measurements based on elapsed time. 
     Third, the laser rangefinder has a first collimator which directs a major portion of an outgoing laser pulse toward the selected target, and a second collimator which redirects a minor portion of the laser pulse to produce a timing reference signal. In one embodiment, the minor portion of the laser pulse is sent to a second light detector separate from a first light detector (here embodied as a silicon avalanche photodiode detector or &#34;APD&#34;) which focusses and receives reflected laser light. Alternatively, the minor portion of the laser pulse is sent to the same detector which detects the returned laser light. 
     The microcontroller is constructed to direct a user&#39;s operation of the survey system according to various modes which include one or more of the following: determination of range distance; determination of location coordinates of a target; determination of the height and/or width of a target object. 
     In an embodiment for use in forestry surveys, the microcontroller may be configured to collect height and/or width data for a series of trees in a selected sector, to estimate the board footage or number of logs per tree from the height and width data, etc. The usefulness of the survey system extends to many other types of survey measurements as well. 
    
    
     THE DRAWINGS 
     In the drawings, which illustrate what is presently regarded as the best mode for executing the invention, like reference numbers indicate like elements, and: 
     FIG. 1 is a block diagram of a working embodiment of the laser surveying device of the invention; 
     FIG. 2 is a block diagram detailing the laser rangefinder system of FIG. 1; 
     FIG. 3 is a functional schematic of the gating circuitry of the timing logic of FIG. 2; 
     FIG. 4A is a functional schematic of an embodiment of a pulse stretcher circuit useful as interpolation circuit 250 or 252; 
     FIG. 4B is a functional schematic of an alternate embodiment of a charge pump circuit useful as interpolation circuit 250 or 252; 
     FIG. 5 is a waveform diagram for pulse stretchers 250, 252; 
     FIG. 6 is a functional schematic of a timing logic circuit 240; 
     FIG. 7 is a block diagram of an alternate embodiment wherein interpolation circuit 250 is the charge pump circuit of FIG. 4B. 
    
    
     DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS 
     FIG. 1 depicts a working embodiment of the laser surveying device. This embodiment incorporates the following basic components: a sighting scope 10 for a user to visually select a target; a keypad 20 and trigger 24 which together comprise user operation means; a laser rangefinding system 30; a vertical angle sensor 40 with an associated temperature sensor 42 and signal processor 44; a magnetic compass 50; a microcontroller 60 including a microprocessor 64 and a communicatively associated memory unit 70; and data output means 80 which is here shown to comprise a display 82 and a UART 84 connectible to provide data to an external computer or data logger. 
     Microcontroller 60 is communicatively interfaced to send logic commands and to read and store data from, laser rangefinder 30, vertical angle sensor 40 and magnetic compass 50. The operations which microcontroller 60 is configured to supervise include: sending a laser pulse toward the target to determine its distance; making a compass reading; and determining the angle and direction of tilt. Modes which microcontroller 60 may be configured to control are described in greater detail later herein. In the illustrated embodiment, selection of an operating mode is made by operation of appropriate buttons or the like on keypad 20, which is communicatively connected to the microcontroller. Microcontroller 60 is also configured to perform various computations with readings acquired from rangefinder subsystem 30, vertical angle sensor 40 and compass 50. Relevant details of these computations are disclosed in a subsequent paragraph of this application. 
     Sighting scope 10 is provided for a user to select and aim the survey device at a selected target. The sighting scope is operably associated with laser rangefinder 30, vertical angle sensor 40 and magnetic compass 50 such that when a user sights on target 90 with the sighting scope, the laser pulse generator 102, light detector 104, and magnetic compass 50 are simultaneously aimed at the target, and vertical angle sensor 40 outputs a signal reflective of the vertical angle to the target. 
     When the survey device is aimed at a target 90, the user then operates trigger 24 to initiate functioning of the survey device in a preselected mode. Trigger 24 is communicatively connected to send a trigger signal to microprocessor 64. In response to receipt of the trigger signal, microcontroller 60 initiates and supervises the performance of one or a series of operations by the survey device, according to which of a variety of operating modes has been selected. 
     In a highly preferred embodiment, sighting scope 10 includes means for measuring the apparent width of target 90. In one embodiment, the width measuring means is a reticle arranged in sighting scope 10. The user aims sighting scope 10 at the target 90, determines the number of reticle markings between the left and right edges of the target, and enters these into microcontroller 60 by means of keypad 20. Microcontroller 60 is configured to use the reticle marking data in conjunction with the target distance determined by laser rangefinder 30, to compute the actual width of the target, by computations which will be apparent to those skilled in the art of surveying. Optionally, the inclination as measured by vertical angle sensor 40 may be included in the computation. 
     An alternate embodiment of width measuring means for sighting scope 10 is a split-prism lens arrangement similar to those used as focussing aids for cameras. The split-prism lens is connected to an adjustment knob associated with a rotary encoder. In this embodiment, the user operates the adjustment knob to visually align one edge of the target in the upper half of the split image to the opposite edge in the other lower half of the image. The rotary encoder generates an encoder signal comprising a series of pulses proportional to the angle through which the knob is turned. The encoder signal is fed to a counter port of microprocessor 64. The rotary encoder also generates a clockwise/anticlockwise signal and the latter in combination with the encoder signal allows microcontroller 60 to accurately calculate the knob rotation, and thereby the horizontal angle subtended by the target object. The actual width may then be computed as described for the reticle embodiment. 
     Vertical angle sensor 40 generates a vertical angle signal reflective of the detected vertical angle (the inclination from the horizontal) of target 90. In the present preferred embodiment, vertical angle sensor 40 is an electrolytic-type tilt sensor, such as the model L-211 U which is commercially available from Spectron Glass and Electronics, Inc., Hauppage, New York; also available through G+G Technics AG, CH-4419 Lupsingen/BL, Switzerland. 
     The indicated electrolytic sensor is obtained from the company without attached means for generating the desired vertical angle data signal. Therefore, a signal conditioner 44 processes the &#34;raw&#34; signal to produce a vertical angle signal readable by microprocessor 60. Signal conditioning circuitry 44 drives the electrolytic sensor with a square wave drive signal in a balanced bridge configuration. Signal conditioning circuitry 44 also includes a voltage-to-frequency (V-F) converter which converts the electrolytic sensor output signal 46 to a frequency signal which is sent to a counter/timer port on microprocessor 64. Microprocessor 64 sets a known sampling period, so that the count received at the counter/timer port is directly proportional to the vertical angle sensed by the electrolytic sensor. 
     Many other types of vertical angle sensors are known, and these may be substituted for the electrolytic tilt sensor with appropriate changes in signal conditioner 44. In particular, other fluid-type vertical angle sensors, for example capacitive fluid-type sensors, may be equally suitable as the electrolytic model selected here. Also, most fluid-type sensors will have sensitivity and dynamics which are especially suited to a hand-held device. However, for a hand-held survey device, it is desirable that vertical angle sensor 40 be very compact. Also, the vertical angle sensor desirably has high resolution. At present, the electrolytic-type tilt sensor selected appears to best meet these considerations. 
     Desirably, the electrolytic tilt sensor has an associated temperature sensor 42. This is because the inclination signal produced by an electrolytic sensor is highly variable with variation in temperature. Temperature sensor 42 communicates with microcontroller 60, which uses the temperature reading in conjunction with a look-up table stored in memory 70, and other means for correcting the output of the electrolytic sensor. 
     Microcontroller 60 is further configured to compute the height of a remote target from a pair of inclination readings made respectively from the top and bottom of the target, plus the distance to the target acquired via laser rangefinder 30. 
     Magnetic compass 50 is here selected to be a magnetic fluxgate compass module, model C100 commercially available from KVH Industries, Inc., Middletown, R.I. It is connected to provide a compass data signal to microprocessor 60, essentially as directed by the manufacturer (C100 Electronic Compass Module User&#39;s Manual, pub. KVH Industries, Inc, 1991). Power for magnetic compass 50 is supplied by connection to the V2 low-power output of power supply 100. Basically, the fluxgate compass comprises a sensor coil assembly having a floating magnetic ring core surrounded by a toroidal drive coil and two orthogonally-disposed detection coils. A processing board contains all the components needed to drive the sensor, detect the return signals and derive a magnetic compass bearing. Desirably, the compass module has an auto-calibration mode which allows a user to correct for errors in compass readings introduced by stray magnetic fields within the survey device. 
     Laser rangefinder system 30 determines a distance 92 from the survey device to target 90 (distance 92 is schematically depicted along the sightline from sighting scope 10 to target 90). Rangefinder system 30 includes a high voltage power supply 100 connected to power a laser pulse generator 102 and to provide bias voltage to a light detector 104. A first collimator 106 is operably associated with laser pulse generator 102 for directing a major portion of an outgoing laser pulse 103 generated by laser pulse generator 102 towards a target 90. 
     A second collimator 108 is disposed to redirect a minor portion 109 of each outgoing laser pulse 103 to generate a timing reference signal. In the embodiment of FIG. 1, the redirected portion 109 is sent to the APD light detector 104, which outputs an analog signal containing information both as to the timing reference pulse and the subsequently-received reflected light pulse. In an alternate embodiment depicted in FIG. 2, the redirected portion 109 is sent to a separate light detector, specifically a PIN photodetector 210 which provides a second detector signal constituting the timing reference signal. 
     Returning to FIG. 1, focussing optics 110 are operably associated with light detector 104 for focussing received light thereon. A bandpass filter 112 is desirably associated with focussing optics 110 for ensuring that detector 104 only receives light of wavelengths near the expected wavelength based on the emitted laser pulse. In the working embodiment, bandpass filter 112 is a narrow band interference filter. Light detector 104 is also connected to detector signal processing circuitry 113. 
     Operation of the laser rangefinding subsystem 30 is controlled by a microcontroller 60 via logic control lines 122 which are connected to laser pulse generator 102 and the detector signal processing circuitry 113. The detector signal processing circuitry 113 is further connected to provide detector signals reflective of laser light received by light detector 104 to micro controller 120 and associated elements including a memory 70, display 82 and UART 84. Memory 70 includes both nonvolatile and volatile components, and is configured for nonvolatile storage of instructions for the microcontroller, semipermanent or permanent storage of instrument parameters, look-up tables, and the like; temporary storage of data readings made by the survey system; and a volatile working memory for initialization, numerical manipulations, and the like. 
     A working embodiment of rangefinding subsystem 30 is depicted in greater detail in FIG. 2. In this embodiment, the laser pulse generator takes the form of a laser diode 200 having an operably-connected driver, while the light detector is a silicon avalanche photodiode detector 202 (abbreviated hereinafter as APD 202). High voltage power supply 100 supplies power to laser diode 200 and APD 202 detector 104 via respective linear regulators 201, 203. Regulator 201 controls the firing voltage of laser diode 200 and regulator 203 controls the bias voltage applied to APD 202. Both regulators 201, 203 are connected via a D/A converter 205 to microprocessor 64 which controls them to provide the appropriate respective voltages. The firing voltage is adjusted so that the laser diode outputs the desired optical power. The bias voltage is adjusted so that APD 202 is operated at the desired sensitivity. 
     APD 202 produces a signal current in response to the receipt of light passing through filter 112. This signal current is passed through amplification means 204 to be amplified and filtered to reject slowly varying interference signals. The amplified detector signal is then sent to a threshold comparator 208. If the amplified detector signal exceeds the preset threshold of comparator 208, it is sent to a gating circuit 212. 
     A second photodetector 21O which is here embodied as a PIN semiconductor photodetector is disposed to receive the redirected pulse portion 109 of the outgoing laser pulse 103. Upon receipt of the redirected pulse portion 109, PIN photodetector 210 generates an analog signal which is sent to amplification means 214 and in turn to a threshold comparator 216. The output of threshold comparator 216 constitutes a reference signal 218 which represents the time at which the outgoing laser pulse 103 was emitted. Reference signal 218 is sent to timing analysis circuitry 114. 
     A temperature sensor 270 is disposed to sense the temperature of APD 202 and to provide temperature readings to microcontroller 60. In response to these temperature readings, microcontroller 60 consults a lookup table stored in memory 70 to determine the desired value of bias voltage to be applied to APD 202 and to control regulator 203 to adjust the bias voltage as needed to correspond to the desired value. Optionally, microprocessor 64 adjusts the firing voltage applied to laser diode 200 via regulator 201 in accordance with a firing voltage lookup table stored in memory 70. 
     Timing analysis circuitry 114, which in the embodiment of FIG. 2 comprises gating circuit 212, timing logic 240, clock 242, interpolation circuits 246, 248, interpolation counters 250, 252, and main counter 260, operates to determine the arrival times of the respective rising edges of reference and RX pulses 218, 232, in terms of the number of cycles of clock 242. These count times are temporarily stored in main counter 260 and interpolation counters 250, 252. Microcontroller 60 reads and stores the clock count times from the counters and from these values computes the time-of-flight of the laser pulse. The time-of-flight is divisible by twice the speed of light to give the distance from the survey device to the target. 
     A significant feature of the design of timing analysis circuitry 114, is its mutual configuration with micro-controller 60 to provide self-calibrated interpolated values of the respective fractional portions of the arrival times within the corresponding clock periods in which reference (REF) and reflected light (RX) pulses 218 and 232 are received. That is, the arrival times of the REF and RX pulses generally fall somewhere within a clock period. Thus, the true elapsed time between the REF and RX pulses comprises the number of whole clock periods elapsed, plus the fractional portion of the clock period occurring just after the receipt of the REF pulse and the fractional portion of the clock period occurring just prior to receipt of the RX pulse. These two fractional portions will be referred to as REF fractional portion and RX fractional portion, respectively. 
     The self-calibrated interpolated arrival times are obtained by 1) construction of timing logic circuit 240 to process the REF and RX pulses to produce corresponding REF and RX interpolation pulses respectively comprising the REF fractional portion and the RX fractional portion; 2) construction of timing logic circuit 240 to generate a pair of self-calibration pulses TMIN and TMAX which bracket a chosen interpolation width; 3) sending the REF interpolation pulse through a REF interpolation circuit 246 and the RX interpolation pulse through an RX interpolation circuit 248 to produce respectively REF and RX interpolated count values; 4) sending both self-calibration pulses TMIN and TMAX through each of interpolation circuits 246, 248, thereby producing two respective sets of self-calibration values TMIN-REF, TMAX-REF and TMIN-RX, TMAX-RX; and 5) configuration of microcontroller 60 to compute the REF and RX fractional portions from the respective self-calibration values and the appropriate REF or RX interpolated count values. Microcontroller 60 is further configured to compute the time-of-flight from the number of whole clock periods (acquired by main counter 260 through timing logic 240) and the REF and RX interpolated count values. 
     The design described in the preceding paragraph is particularly advantageous in that it substantially eliminates errors resulting from drift in the interpolation circuits and timing logic or variability of component tolerances. The survey device so constructed can determine distances to a resolution of a few millimeters or less with very high accuracy. 
     The arrival times are here defined as the times at which the respective rising edges of REF and RX pulses 218, 232 are transmitted through the respective threshold comparators 208, 216. However, it will be recognized that with appropriate modifications to comparators 208, 216 and/or gating circuit 212, any other point present on both REF and RX pulses 218, 232 may be used to represent the arrival times of the pulses. 
     Microprocessor 64 is connected to set the select lines 294, 296 into multiplexer MUX2 of timing logic 240 (FIG. 6) to control sending of calibration pulses TMIN, TMAX to interpolation circuits 246, 248. Generation of the calibration pulses by timing logic 242 is initiated at least once during each measurement cycle upon operation of the trigger by a user. Preferably, the self-calibration cycle is performed a plurality of times, perhaps 8 or more, per measurement cycle. Microprocessor 64 is also connected to reset all the logic elements in timing analysis circuitry as necessary at the start of each measurement and between production of the TMIN, TMAX calibration pulses and the REF and RX interpolation pulses. 
     In a preferred embodiment, each measurement cycle comprises the firing of a plurality of laser pulses at a preset interval (which is significantly longer than the time to receive the reflected pulse light), and averaging the elapsed time between REF and RX pulses for most or all of the plurality of fired pulses. 
     Specific circuits embodying various elements of timing analysis circuitry 114 are functionally depicted in FIGS. 3, 4A, 4B, and 6. 
     Gating circuit 212 (depicted in greater detail in FIG. 3), ensures that only detector pulses produced by APD 202 within a selected time window following emission of laser pulse 103 are accepted as representing returned laser pulse light 105, and sent to the timing logic 240 as RX (return) pulse signal 232 for analysis. A detector pulse 206 arriving before or after the selected window is not transmitted by gating circuit 212 to timing logic 240 and does not receive further processing. Gating circuit 212 also outputs a digital pulse width signal 233, which is reflective of the width of the RX pulse. RX pulse width signal 233 is sent to microcontroller 60 via a pulse width measuring circuit 235 and an A/D converter 234, where it is used to derive a correction factor to compensate for saturation of APD 202 and/or the amplification means 204. 
     Gating circuit 212 is a digital logic-operated gate, in which both the delay time (the time at which the window &#34;opens&#34;) and the time at which the window &#34;closes&#34; can be independently selectably set via microprocessor 60, as directed by a user or by a program stored in memory 70. That is, the delay time can be changed with or without a change in the &#34;closing&#34; time, and vice-versa. 
     Additionally, the gate is edge-sensitive, that is, only a detector pulse whose rising edge falls within the window will be accepted and transmitted as an RX pulse. If only the peak or the falling edge of a detector pulse falls within the window, it will be rejected. The use of edge-sensitive gate components provides increased accuracy in the selection of RX pulses. 
     In a highly preferred embodiment, microcontroller 60 is configured to iteratively and independently adjust the times of the opening and/or closing of the gate for a series of laser pulses fired at a single target, to establish a window which accurately defines &#34;true&#34; RX pulses from the target. This adjustment is performed generally as follows: 1) When the first REF pulse in the series arrives at the gate, the window is opened very wide and the delay time is set to be short. If a detector pulse is received within the first window, then 2) when the second REF pulse arrives the window is narrowed and centered on the arrival time of the first detector pulse (by shifting the opening and/or closing time of the window as necessary). If the second detector pulse is not received within the second window, then 3) the window is widened again for the third REF pulse. However, if the second detector pulse is received within the second window, then 4) the window is further narrowed for the fourth REF pulse, and so on. When the window is narrowed it may also be re-centered (the delay time changed) on the average of the receipt times of specified detector pulses. These steps of widening and narrowing the window are repeated as indicated until microprocessor 60 determines that a window which appropriately defines the arrival of the &#34;true&#34; RX pulses has been established. Such a window may for example be determined as the window within which a desired (high) proportion of the detector pulses falls within the window. 
     The gating circuit with the microcontroller configured as described to vary independently the opening and closing times of the RX window, and to iteratively narrow and widen the RX window, causes the rangefinder to effectively &#34;lock on&#34; to a target, and avoid errors due to detector or circuit noise, or readings made from non-target objects adjacent the selected target. Also, jamming of the laser return signal is very difficult with the survey device so designed. 
     As seen in FIG. 3, gating circuit 212 has 2 identical counters 300, 302 which are connected to microcontroller 60 by both logic control lines 122 and the main data buss, such that counters 300, 302 can be selectably set to desired values by microcontroller 60. Counters 300, 302 are also connected to receive a clock signal from clock 242. The REF pulse 218 is sent from threshold comparator 216 into both counters 300, 302. The output of counter 302 is sent through an inverting amplifier 304 and in turn goes to an and gate 306 along with the output of counter 300. And gate 306 outputs a gate control signal 310 which is active (logical 1) when &#34;gate open&#34; counter 300 finishes counting the delay (the first time period). Gate control signal 310 becomes inactive (logical 0) when the second preset time period in &#34;gate close&#34; counter 302 elapses. 
     The detector pulse 206 from threshold comparator 208 is connected both to the clock input CLK of an edge clocked J-K flip-flop 314 and to an inverting amplifier 316. Gate control signal 310 is sent to the J input of flip-flop 312. Flip-flop 312 is configured so that it will only respond to a rising edge at clock input 312 when gate control signal 310 is active. Also, J-K flip-flop 312 only changes state on the first clock edge that occurs during the active period; all other clock edges will be ignored. When gate control signal 310 is active, flip-flop 314 outputs the rising edge of the RX pulse 232 at the Q output. 
     RX pulse 232 is then sent to timing logic 240 and also to an and gate 330 which also receives input from the not-Q output of a second J-K flip-flop 332. Flip-flop 332 receives detector pulse 206 at its CLK input, after detector pulse 206 has been passed through inverting amplifier 316. Flip-flop 332 also receives gate control signal 310 at the J input. Thus, when gate control signal 310 is active, flip-flop 332 responds to the falling edge of the detector pulse 206. The NOT Q output of flip-flop 332 is then sent to and gate 330, along with RX pulse 232 which is the signal from the Q output of flip-flop 314. The output of and gate 330 is the RX pulse width signal 233 that is sent to a pulse width circuit 235 for determining its width. The use of the second flip-flop 332 ensures that only one pulse is passed to the pulse width circuit for each RX pulse 232. 
     Pulse width signal 233 is processed by a pulse width measuring circuit 235, sent to A/D converter 234, and then to microcontroller 60. Microcontroller 60 compares the pulse width value of signal 233 to a lookup table stored in EEPROM 284 to find the appropriate pulse width correction factor to correct for variations in the strength of the reflected laser light received by APD 202. That is, detector efficiency is non-linear and high power signals tend to saturate the detector and/or the amplification circuitry, causing a shift in the time at which the leading edge of the RX pulse exceeds the threshold of comparator 208. Most light detectors and amplifiers practicable for such apparatuses do have non-linear detection efficiency. The pulse-width correction takes the form of an additive correction to the distance determined from the time-of-flight measurement. 
     The RX pulse width measuring circuit 235 uses a charge pump circuit essentially identical to that shown in FIG. 4B. However, for the pulse width circuit 235 some of the component values differ from those used in the charge pump circuits 700, 702 (used as interpolation circuits, see FIG. 7). This difference is because the range of pulse widths found for RX pulse 232 differs as compared to the REF and RX interpolation pulses from the timing logic. 
     Timing logic circuit 240, depicted in greater detail in FIG. 6, is configured to perform the following functions. First, it gates the signal from the clock 242 to the main counter 260 between the respective rising edges of the REF and RX pulses 218, 232. Main counter 260 then counts the number of complete cycles of REF pulse 218 and RX pulse 232. Second, timing logic 240 uses the signal from clock 242 to generate calibration pulses TMIN and TMAX, which are separated by a known integral number of periods of clock 242, with neither TMIN nor TMAX being equal to 0. TMIN and TMAX together define an interpolation width, e.g., an interval which is defined with respect to the known clock period, in which the precise fraction of the clock period at which a pulse such as REF or RX pulses 218, 232 arrives, can be determined. Calibration pulses TMIN and TMAX are both sent to interpolation circuits 246, 248 for processing to produce calibration values TMIN-REF, TMAX-REF and TMIN-RX, TMAX-RX respectively. 
     Finally, timing logic 240 derives a REF interpolation pulse from REF pulse 218, and sends it to be processed by REF interpolation circuit 246. A corresponding REF interpolation count is acquired by REF interpolation counter 250, from which it can be read by microcontroller 60. An RX interpolation pulse is similarly produced and processed by RX interpolation circuit 248 and interpolation counter 252. All of the TMIN-REF, TMAX-REF, TMIN-RX, TMAX-RX, REF and RX count values acquired by interpolation counters 250, 252, as well as the integral clock count of main counter 260, can be read by microprocessor 60 from the counters when so directed by the internal configuration stored in ROM 282. 
     In the embodiment illustrated in FIG. 6, TMIN has a duration equal to exactly one cycle of timing clock 242 and TMAX has a duration equal to exactly two cycles of timing clock 242. However, alternatively TMIN and TMAX may vary between any convenient integral or half-integral number of clock periods, for example between 1/2 and 11/2 clock periods, or between 1 and 3 clock periods, so long as TMIN is not zero. The latter restriction is important because electronic circuits do not operate instantaneously, and there would be nonlinearity as the interpolation pulse width approached zero. Also, as the pulse width of a REF or RX interpolation pulse approached zero, considerable ringing and distortion would occur on the capacitor wave form when the current switch in the pulse stretcher-type interpolation circuit switches. These noted effects would contribute significant errors if TMIN were zero. 
     FIG. 6 depicts a working embodiment of a timing logic circuit 240 in greater detail. A periodic clock signal from clock 242 is received at input 600, reference pulse 218 from comparator 216 enters at input 602, and RX pulse 232 at input 604. Input 600 from timing clock 242 is connected to a three-input and gate 606 which opens when reference pulse 218 arrives at input 602 to transmit clock signals to output 610 to main counter 260. 
     Timing logic circuit 240 has an associated crystal controlled timing clock 242, which is desirably of high stability and high accuracy. Timing clock 242 provides a periodic clock signal 243 comprising a series of pulses equally spaced at a preset time period. Timing logic circuit 240 with interpolation circuits 246, 248, interpolation counters 250, 252 and main counter 260, produces timing data representing the elapsed time between a selected point on reference signal 218 and an equivalent selected point on RX signal 232 in terms of the number of pulses of clock signal 243. In the instant embodiment, the selected points are the rising edge of reference pulse 218 and the rising edge of RX pulse 232. 
     However, the period of timing clock 242 is too large to offer good resolution. Therefore, interpolation circuit circuits 246, 248 are operably associated with timing logic 240 for expanding the time duration of the fractional portions of the respective clock intervals at which the rising edge of the reference pulse and the rising edge of the RX pulse occur. 
     Each of interpolation circuits 246, 248 takes an input pulse from the timing logic and generates an output pulse of longer duration. Desirably, the output pulse has been expanded by a factor of at least about 100 to 150 fold over the input pulse. Interpolation circuit circuits 246, 248 should be constructed such that the variation of duration of the output pulse is as nearly in exact proportion to the variation of duration of the input pulse as possible. The expanded output pulse is then sent to start interpolation counter 250 and end interpolation counter 252, providing them with a count reflective of the fractional portions. 
     Interpolation circuits 246, 248 may be constructed in various ways to accomplish the general purpose of accurately determining the precise fractional times of the clock period at which the REF and RX pulses arrive. Interpolation circuit 246 receives REF interpolation pulse 400 from timing logic 240, while interpolation circuit 248 receives RX interpolation pulse 490 (see FIG. 6). 
     FIG. 4A depicts one embodiment of interpolation circuits, which is a pulse stretching circuit. The pulse stretching circuit is depicted in general functional form; various resistors and like minor components are not shown as selection of the position and values of such components will be apparent to those skilled in the art. FIG. 4 depicts a single pulse stretcher circuit; interpolation circuits 246 and 248 would each be such a pulse stretcher circuit and equivalent in all respects, except that REF interpolation circuit 246 receives REF pulse output from timing logic 240 and provides the interpolated REF output to REF interpolation counter 250, while interpolation circuit 248 receives the RX pulse output and provides the stretched RX pulse signal to end interpolation counter 252. 
     At the start of a measurement cycle, the input 400 from timing logic 240 is at logic zero and current I1 is switched to ground. The current I2 into constant current sink 408 discharges capacitor 410 until diode D1 conducts and balances current I2. The voltage on capacitor 410 is then the clamp voltage minus the voltage drop across D1. Thus, when the timing input 400 goes high capacitor 410 is charged by the current difference (I1-12). The circuit component values are selected such that capacitor 410 charges rapidly when current I1 flows to output 404. 
     The voltage across capacitor 410 is buffered by a voltage follower 418 and is sent to the positive input of a comparator 420. Comparator 420 in turn sends its output to an and gate 424. And gate 424 also receives clock signals from clock 242, and in turn provides an output 450 to interpolation counter 250. Desirably, the reference voltage to comparator 420 is set to ensure that the switching point of the comparator is always in the linear portion of the charge and discharge period and clear of any ringing and distortion. 
     When the voltage received by comparator 420 at the positive input from voltage follower 418 exceeds the reference voltage on the negative input, the output from comparator 420 goes high. This allows clock pulses from timing clock 242 to flow through to an input 450 to interpolation counter 250, since the output to the interpolation counter is the logical &#34;and&#34; of the output of comparator 420 and clock 242. When input 400 from timing logic 240 goes back to logic zero, switch S1 again changes over so that I1 is diverted to ground. Capacitor 410 now discharges at a much slower rate due to I2. When the voltage on capacitor 410 falls below the reference voltage, the output of comparator 420 drops back to logic zero. At this point in time, interpolation counter 250 contains a count that relates to the width of the output pulse 450. 
     Capacitor 410 continues to discharge until the initial conditions are again reached whereby D1 is conducting and balancing I2. The reference voltage is desirably set so that the threshold of comparator 420 is near the fifty percent point on the charging path for the TMIN pulse. This gives maximum freedom from error effects due to ringing and non-linearity at the switching points. 
     FIG. 5 shows a pulse expansion for the TMIN, TLASER and TMAX pulses wherein TMIN is one clock cycle in duration, TMAX is two cycles and TLASER varies between one and two cycles. 
     The variation in duration of output pulse 450 is precisely proportional to the variation in duration of the input pulse 400. Therefore, [TMAX-REF minus TMIN-REF]represents exactly one clock period of clock 242. Similarly, [TLASER-REF minus TMIN-REF]represents the fractional portion of the clock period following arrival of REF pulse 218. Therefore, 
     
         [TLASER-REF-TMIN-REF]÷[TMAX-REF-TMIN-REF] 
    
     is a numeric fraction representing the REF fractional portion. Since this fraction is a ratio of two numbers which were expanded in the same proportion, the exact value of the pulse expansion is not important. Also, errors in determination of this fractional time due to component tolerances or drift in the pulse stretcher circuit, are substantially eliminated. Similarly, 
     
         [TMAX-RX-TLASER-RX]÷[TMAX-RX-TMIN-RX] 
    
     is the RX fractional portion. 
     The total number of elapsed clock periods between the REF and RX pulses is then equal to the sum of the two fractions above plus the number of whole clock periods. 
     An alternate and preferred embodiment of an interpolation circuit is shown in FIG. 4B. This circuit operates generally as a charge pump, but still performs essentially the same interpolation function as the pulse stretching circuit depicted in FIG. 4A. In the charge pump embodiment of FIGS. 4B and 7, the REF and RX interpolation pulses are converted to voltages that are proportional to the width of the pulses, and sent to an A/D converter. This is in contrast to the embodiment of FIGS. 2 and 4A, in which the REF and RX interpolation pulses are converted to stretched pulses and counted by counters 250, 252. Otherwise, the routing of the REF and RX interpolation pulses and the self-calibration pulses TMIN, TMAX, through the charge pump interpolation circuits 700, 702 (FIG. 7), is the same as for the pulse stretcher interpolation circuits 246, 248 (FIG. 2). The computations by microcontroller 60 are also the same as for the embodiment of FIG. 2. 
     The charge pump embodiment is preferred because it offers a much greater expansion factor, up to 1000-fold expansion or more, as compared to 150-fold for the pulse stretcher of FIG. 4A. 
     In the embodiment of FIG. 4B, switch S1 is set to divert the current from constant current source 402 to ground. Instead of a diode and a current sink, a second switch CS2 is connected to the other position of switch S1. Switch S2 is closed so that capacitor 460 is discharged and therefore the output voltage of buffer 462 is zero. Before timing logic 240 sends a REF pulse 218 or an RX pulse 232, the logic reset signal received at input 464 is set inactive, which opens switch S2. 
     Upon receipt of a REF pulse or RX pulse from timing logic 240, switch S1 goes to the opposite position and sends current I1 to charge the capacitor 460 for the duration of the pulse. After the pulse has passed, switch S1 diverts current I1 back to ground. Since the current I1 is effectively constant during the pulse, the resulting voltage charged across capacitor 460 during the pulse is proportional to the width of the pulse. 
     The voltage across capacitor 460 is buffered by buffer 462 and sent to an A/D converter (see FIG. 7), where it is converted to an integer value. 
     FIG. 7 depicts an alternate embodiment of the laser rangefinder 30, having certain changes in timing analysis circuitry 114 necessitated by the substitution of REF and RX charge pump interpolators 700, 702, configured as in FIG. 4B, for the interpolation circuits 246, 248 of FIG. 2. In particular, the interpolation counters 250, 252 of FIG. 2 are replaced by an A/D converter 704 which receives the output from charge pump interpolators 700, 702. Also, charge pump interpolators 700, 702 do not require an input from clock 242. A/D converter 234 which received the pulse width signal 233 from gating circuit 212 and the temperature signals from temperature sensor 270, is eliminated and the noted elements now are connected to A/D converter 704. 
     In another embodiment, microcontroller 60 is further configured to determine the velocity of a moving target relative to a fixed observer, or, alternatively, the velocity of a user relative to a fixed object. In this embodiment, upon activation of trigger 24, microcontroller 60 causes laser pulse generator 102 to fire a number of pulses at successive equal time intervals towards target 90. The respective distances for each of the pulses are temporarily stored in memory 70 and microcontroller 60 computes from these distances and the time between readings, the velocity of the target using the method of least squares. In this speed-detecting embodiment, the electronic vertical angle sensor and the magnetic compass are optional. 
     The disclosed laser survey instrument has numerous advantages. It is very compact, lightweight, easy to use, and can be used to perform a wide range of surveying tasks. These include nearly any task requiring some combination of one or more distance measurements, one or more inclination measurements, one or more compass measurements, and/or one or more width measurements. Various readings and computed values may be displayed as appropriate on the display, sent to the UART to be downloaded to other computational devices, or the like. The keypad in conjunction with the microcontroller, is provided for a user to select and initiate any automatic measuring modes which the microcontroller is configured to control. 
     For example, a user could take measurements of the height and width of all of the trees visible at a selected distance and/or within a selected directional sector from a given observation point. The microcontroller may be configured to compute the diameter of a cylindrical object such as a tree, using standard trigonometric methods, from the horizontal distance to the tree, the inclination (the vertical angle) to the base of the tree, the inclination at the point where the tree&#39;s diameter is to be determined. 
     The microcontroller may further be configured to compute a conic projection useful to locate the height of the point on a tree where the diameter reaches the smallest usable diameter. The conic projection may be computed from the horizontal distance, the inclination to the base of the tree, and selected width angles for the two points on the tree. From these data, the taper of the tree can be computed, and the diameter vs. tree height projected until a desired minimum tree diameter is reached. 
     Or, the instrument could be adapted by appropriate configuration of the microcontroller to be used in orienteering and searching. A user could define her location relative to a visible remote object. For example, a user might walk to location away from a remote target object, determine her distance and compass direction from that object, alter her course to travel on another course, and recheck the new course by again determining her distance and compass heading from the target object. Or, the user could compare the distance and compass heading information for two or more remote targets, and determine a travel course relative to those targets. These and many other uses will be apparent to one skilled in surveying and related navigational arts. 
     Microcontroller 60 may be configured to perform these and any other operations and computations based on the four basic readings of width (horizontal angle subtended), horizontal distance, inclination (vertical angle), and compass direction. 
     Furthermore, the timing analysis circuitry of the laser rangefinder portion offers considerably improved accuracy to the distance measurement. This improved accuracy is especially due to the self-calibrating interpolation feature. The rangefinder also has a high capability to discriminate between noise and/or false return signals generated by structures near the target, by effectively &#34;locking on&#34; to signals returned from the true selected target. This &#34;locking on&#34; capability is due to the incorporation of a digital logic gating circuit providing adjustment of both the beginning and the end of the time window, plus the configuration of the microprocessor to independently vary the beginning and end of the window, and to alternately widen and narrow the window, until the window which most accurately defines the true return pulse from the target is established. 
     Although a preferred form of the invention has been herein disclosed, many substitutions are possible without departing from the concept of the invention. The claims themselves define the scope of that which is regarded as the invention.