Abstract:
The invention is a method and apparatus for generating a primary pseudorandom bit sequence consisting of a plurality of contiguous P subsequences. Each P subsequence consists of a start sequence of predetermined length followed by a sequence of trailing bits. The method comprises three steps. The first step consists of deriving a feedback bit from each generating sequence in a P subsequence in accordance with a specified rule where a generating sequence is any sequence of contiguous bits in the P subsequence having the same length as the start sequence. The bit that follows a generating sequence is called the trailing bit for that generating sequence. The second step of the method consists of determining a sequence of one or more modifier bits to be used in modifying the P subsequence. The third step of the method consists of modifying the P subsequence utilizing the one or more modifier bits.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This is a continuation of application Ser. No. 09/255,391, filed Feb. 22, 1999 now U.S. Pat. No. 6,115,125. 
    
    
     STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH AND DEVELOPMENT 
     (Not applicable) 
     BACKGROUND OF THE INVENTION 
     This invention relates generally to fiber-optic gyroscopes and more specifically to the pseudorandom bit sequence generators that are used in such apparatus. 
     Fiber-optic gyros measure rate of rotation by determining the phase difference in light waves that propagate in opposite directions through a coil wound with optical fiber. Light waves that propagate through the coil in the direction of rotation take a longer time than light waves that propagate through the coil in the direction opposite to the direction of rotation. This difference in time, measured as the phase difference between counter-propagating light waves, is proportional to the angular velocity of the coil. 
     A typical block diagram for a fiber-optic gyro is shown in FIG. 1. A light source  2  supplies a reasonably coherent light beam to the optical-fiber interferometer  4  which causes the input light beam to be split into two light beams that are fed into opposite ends of an optical fiber  51  configured as a coil  56 . The light beams emerging from opposite ends of the optical fiber are recombined into a single output light beam, which feeds into the detector  6 . 
     In more detail, the light beam W i  from light source  2  passes into port A and out of port C of directional coupler  52  and then into port A and out of ports C and D of directional coupler  54 . Thus, two counter-propagating light beams W 1  and W 2  are established in coil  56 . The counter-propagating light beams W 1  and W 2  are phase-modulated by modulator  58  and then pass into ports C and D of directional coupler  54  where they are combined into a single light beam W 0  that exits through port A. The combined light beam W 0  passes into port C of directional coupler  52 , out of port B, and then into detector  6 . 
     The output of the detector  6  is given by 
     
       
           I=I   0 /2[1+cos θ( t )]  (1) 
       
     
     where I 0  is the peak light intensity and θ(t) is the phase difference between the two beams expressed as a function of time. 
     The phase difference θ(t) typically takes the form 
     
       
         θ( t )=[Φ( t )] mod 2π −[Φ( t −τ)] mod 2π+φ   S +2 πn   (2) 
       
     
     where Φ(t) is the phase-modulation generating function and Φ(t) mod 2π  is the phase modulation introduced by a phase modulator at one end of the fiber-optic coil in the interferometer  4 , τ is the propagation time through the fiber optic coil, and (φ S +2τn) is the so-called Sagnac phase resulting from the rotation of the fiber-optic coil about its axis. The integer n (called the Sagnac fringe number) is either positive or negative and the Sagnac residual phase φ S  is constrained to the range −π≦φ S &lt;π. 
     The output of the detector  6  is converted to digital form by the analog-to-digital converter  8  and then processed in the digital processor  10  to yield at the output a measure of the rate and angle of rotation of the interferometer  4 . In addition, the digital processor  10  generates a phase-modulation generating function Φ(t), the modulo-2π portion of which is converted to analog form by the digital-to-analog converter  12  and supplied to the phase modulator in the interferometer  4 . 
     The phase-modulation generating function Φ(t) typically consists of a number of phase-modulation components among which are Φ SE (t) and Φ M (t). The phase-modulation component Φ SE (t) is typically a stepped waveform with steps that change in height by −φ S  at τ intervals where φ SE  is an estimate of φ S . Thus, the Φ SE (t) modulation cancels in large part φ SE . The accurate measurement of the uncancelled portion of the Sagnac residual phase φ S  is of great importance in that it is the quantity that is used in refining the estimate of the Sagnac phase and generating the Φ SE (t) phase-modulation component. 
     The accurate measurement of the uncancelled portion of the Sagnac residual phase is greatly facilitated by choosing the Φ M (t) phase-modulation component such that [Φ M (t)−Φ M (t−π)] is equal to jφ M  where the permitted values of j are the values −1 and 1 and φ M  is a predetermined positive phase angle somewhere in the vicinity π/2 radians where the slope of the cosine function is greatest. This effect can be achieved, for example, by having Φ M (t) be a square wave with amplitude π/2 and period 2τ. 
     A method of fiber-optic gryo modulation using a pseudorandom bit sequence to control the sign j of the phase modulation quantity jφ M  was disclosed by Spahlinger in U.S. Pat. No. 5,123,741. This pseudorandom modulation approach improved gyro bias by canceling out cross-coupled electronic errors, which rectify in conventional deterministic modulation schemes. This approach was carried a step further by Mark &amp; Tazartes in an invention disclosed in U.S. Pat. No. 5,682,241 wherein a method of random overmodulation (i.e. φ M  greater than π/2) simultaneously reduced bias errors (via pseudorandom modulation) and random walk (via overmodulation-see U.S. Pat. No. 5,530,545). 
     In the early development of pseudorandom modulation it was determined that sequences with short repetition periods were undesirable because of their relatively poor autocorrelation properties. Sequences with sufficient length (typically spanning on the order of 1 second) are used for fiber-optic gyro modulation. However, due to the random walk properties of pseudorandom sequences, it was found that these sequences generated large low-frequency components. These low-frequency components are undesirable because they do not transmit well through AC-coupled circuits, as is usually the case with the optical detector circuitry used in fiber-optic gyros. Further, the low frequencies imply that for extended periods of time the gyro may operate predominantly with one modulation sign. During these periods, the gyro signal may be subject to offset drifts, intensity drifts, or gain drifts. 
     BRIEF SUMMARY OF THE INVENTION 
     The invention is a method and apparatus for generating a primary pseudorandom bit sequence consisting of a plurality of contiguous P subsequences. Each P subsequence consists of a start sequence of predetermined length followed by a sequence of trailing bits. The method comprises three steps. The first step consists of deriving a feedback bit from each generating sequence in a P subsequence in accordance with a specified rule where a generating sequence is any sequence of contiguous bits in the P subsequence having the same length as the start sequence. The bit that follows a generating sequence is called the trailing bit for that generating sequence. 
     The second step of the method consists of determining a sequence of one or more modifier bits to be used in modifying the P subsequence. 
     The third step of the method consists of modifying the P subsequence utilizing the one or more modifier bits. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a fiber-optic gyro and associated control loop. 
     FIG. 2 is a block diagram of an embodiment of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The present invention is a method and apparatus for generating pseudorandom bit sequences with improved statistical properties. An embodiment 1 of the invention is shown in FIG.  2 . 
     The pseudorandom bit sequence generator  3  produces a pseudorandom bit sequence on output line  5 . The pseudorandom bit sequence generator  3  can be any type of bit sequence generator that produces a sequence with statistical properties that approximates those of a random bit sequence generator. Bit sequence generators which produce maximum-length bit sequences (m-sequences) are frequently used for this purpose and are described in numerous textbooks, e.g. W. Wesley Peterson,  Error Correcting Codes,  M.I.T. Press/John Wiley &amp; Sons, Inc., New York, 1961, pp. 147-48. 
     A predetermined number of the most recent bits of the pseudorandom bit sequence reside in a shift register within the pseudorandom bit sequence generator  3 . The pseudorandom bit sequence generator  3  determines the next bit of the sequence (which will be referred to herein as the feedback bit) from the contents of the shift register and places it on output line  7 . The feedback bit is usually allowed to pass through the bit-balancing unit  9  to the data input line  11  of the shift register and enter the shift register when the contents of the shift register are shifted by an appropriate transition in the clock signal supplied by clock  13 . After the shift, the oldest bit stored in the shift register appears on the output line  5 . Thus, a new bit of the pseudorandom bit sequence is produced on output line  5  with each appropriate transition of the clock signal. 
     An end sequence is stored in end-sequence detector  15 . When the contents of the shift register in the pseudorandom bit sequence generator  3  matches the end sequence stored in the end-sequence detector  15 , the end-sequence detector  15  issues an end-sequence alert to the statistical control unit  9 . If the statistical control unit  9  is enabled by control unit  17 , a stored modifier bit sequence is then fed bit-by-bit on data input line  11  to the shift register in the pseudorandom bit sequence generator  3  rather than the feedback bit sequence appearing on line  7 . The modifier bit sequence marks the actual end of the pseudorandom sequence appearing on line  5 . 
     The modifier bit sequence can be used to balance the “0&#39;s” and “1&#39;s” in the pseudorandom bit sequence appearing on line  5 . For example, if the number of “1&#39;s” exceeds by one the number of “0&#39;s” in the pseudorandom bit sequence beginning with a start sequence and concluding with the end sequence, then the modifier bit sequence could consist of a single “0” or perhaps the sequence “0”, “0”, “1”. Similarly, if the unbalance were in favor of “0&#39;s”, then the modifier bit sequence could consist of a single “1” or perhaps the sequence “1”, “0”, “1”. 
     This invention is much more sophisticated than this simple example suggests. The pseudorandom bit sequence that appears on line  5  consists of contiguous subsequences. A subsequence begins with a start sequence and ends at the beginning of the next start sequence. Let us denote the bit sequence appearing on data input line  11  to the shift register as the trailing bit sequence. In general, a trailing bit can be either a feedback bit or a modifier bit. It is not required that trailing bits be exclusively feedback bits from the start sequence to the end of the end sequence. In fact, interesting statistical properties can be obtained by inserting one or more modifier bits after the start sequence and before the occurrence of the end-sequence alert. 
     For example, assume that we have only one modifier bit to be inserted in a subsequence and that we insert the modifier bit after the start sequence and prior to the end-sequence alert. Further, let the modifier bit be the complement of whichever feedback bit it is to replace. Then the length of the subsequence will vary depending on where the modifier bit is inserted in the subsequence. We could complicate the process somewhat and obtain more dramatic results by substituting a sequence of modifier bits for a sequence of feedback bits where the modifier bits are complements of the corresponding feedback bits. 
     Rather than complementing the feedback bits to obtain the modifier bits, we could use other mapping procedures. We can also replace one or more contiguous feedback bits by one or more modifier bits at pseudorandom intervals within a subsequence, thereby causing the subsequence lengths to be distributed in accordance with some probability density function. This process would typically result in an unbalance in “0&#39;s” and “1&#39;s” in the start sequence and the feedback trailing bits of a given subsequence and it may be appropriate to provide a compensating unbalance in the “0&#39;s” and “1&#39;s” of the modifier trailing bits for the subsequence that follows the given subsequence. 
     The derivation of one or more modifier bits can be based on a statistic of a subsequence. For example, suppose the statistic is an unbalance in “0&#39;s” and “1&#39;s” in the start sequence and feedback trailing bits in a subsequence. Modifier bits designed to compensate for this unbalance could be inserted in the subsequence after the end-sequence alert thereby obtaining a subsequence that is balanced in “0&#39;s” and “1&#39;s”. One might also obtain a balance by inserting the compensating modifier bits anywhere in the next subsequence. Then the balancing effect takes place over many subsequences. 
     The derivation of one or more modifier bits can also be based simply on obtaining a change in a statistical property of the pseudorandom bit sequence. For example, if each subsequence in a pseudorandom bit sequence is a specific m-sequence, then all of the subsequences would have the same length. One might not like the periodicity associated with such a pseudorandom bit sequence and one might choose to enter modifier bits at pseudorandom intervals in the specific m-sequence thereby obtaining a pseudorandom bit sequence consisting of subsequences of different lengths. In this case, one is inserting modifier bits to obtain a different probability density function for the lengths of the subsequences that make up the pseudorandom bit sequence. 
     In summary, it is the object of the invention, given a procedure for generating a pseudorandom bit sequence by the feedback bit approach, to change one or more statistical properties of the pseudorandom bit sequence by substituting modifier bits for feedback bits, howsoever the modifier bits are derived. In implementing this process, one specifies what modifier bits are to be inserted in each subsequence and exactly where in each subsequence the modifier bits are to be inserted, the overall objective being to achieve a change in a statistical property. 
     If the statistical control unit  9  is not enabled by control unit  15 , then the feedback bit stream on line  7  flows through the statistical control unit  9  to line  11 , and the modifier bit sequence is never inserted into the pseudorandom bit sequence appearing on line  5 . 
     The start sequence is stored in start-sequence register  19 . The statistical control unit  9  places a signal on control line  21  and thereby causes the contents of the start-sequence register  19  to be loaded into the shift register of pseudorandom bit sequence generator  3  on the next appropriate clock-signal transition after the last bit of the subsequence has appeared on output line  5 . The process described above is then repeated. 
     The feedback-bit generating process utilized by pseudorandom bit sequence generator  3  consists of performing certain logical operations on the states of two or more stages of the shift register in pseudorandom bit sequence generator  3 . The selection of shift-register stages for this purpose is accomplished by sequence-select register  23 . 
     Pseudorandom bit sequence generator  31  operates in the same way as pseudorandom bit sequence generator  3  except for the clocking. The clock signal for pseudorandom bit sequence generator  31  is obtained from line  21  which means that a new bit is produced on output line  33  each time a start sequence is entered into pseudorandom bit sequence generator  3 . 
     If control unit  17  causes a “1” to appear on control line  35 , the pseudorandom bit sequence produced by pseudorandom bit sequence generator  31  passes through AND gate  37  to EXCLUSIVE OR gate  39 . If the bit produced by pseudorandom bit sequence generator  31  is a “0”, the pseudorandom bit sequence produced by pseudorandom bit sequence generator  3  will pass through EXCLUSIVE OR gate  39  unchanged. If the bit produced by pseudorandom bit sequence generator  31  is a “1”, the pseudorandom bit sequence produced by pseudorandom bit sequence generator  3  is inverted in passing through EXCLUSIVE OR gate  39 . Thus, if the statistical control unit  9  is not enabled and if a “1” appears on control line  35 , the “0&#39;s” and “1&#39;s” in pseudorandom bit sequence from EXCLUSIVE OR gate  39  will be balanced over two periods of the pseudorandom bit sequence from pseudorandom bit sequence  3  even though the “0&#39;s” and “1&#39;s” in pseudorandom bit sequence from pseudorandom bit sequence  3  are unbalanced over a single period.