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.
|
1. A method for generating a primary pseudorandom bit sequence, a primary pseudorandom bit sequence consisting of a plurality of contiguous p subsequences, each p subsequence consisting of a start sequence of predetermined length followed by a sequence of trailing bits, the method comprising the steps:
(a) deriving a feedback bit from each generating sequence in a p subsequence in accordance with a specified rule, a generating sequence being any sequence of contiguous bits in the p subsequence having the same length as the start sequence, the bit that follows a generating sequence being called the trailing bit for that generating sequence; (b) determining a sequence of one or more modifier bits to be used in modifying the p subsequence; (c) modifying the p subsequence utilizing the one or more modifier bits.
21. An apparatus for generating a primary pseudorandom bit sequence, the apparatus comprising:
a primary bit sequence analyzer having access to a primary analysis sequence, a primary analysis sequence being a plurality of the most recent bits from a primary bit sequence, the primary bit sequence comprising a plurality of contiguous p subsequences, each p subsequence beginning with a start sequence, the primary bit sequence analyzer deriving a feedback bit from the primary analysis sequence; a sequence-modifying unit for supplying the primary bit sequence analyzer with a trailing bit that follows the primary analysis sequence, the trailing bit being either the feedback bit derived by the primary bit sequence analyzer or a modifier bit, the modifier bit being either a predetermined bit stored in the sequence-modifying unit or a bit derived by the sequence-modifying unit.
2. The method of
(c1) selecting either the feedback bit or a modifier bit as the trailing bit in accordance with a specified rule, the trailing bit immediately following the generating sequence from which the feedback bit was derived.
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
(b1) determining the difference of "0's" and "1's" in the start sequence and the trailing bits that are feedback bits in a p subsequence; (b2) determining a sequence of one or more modifier bits, the difference of "0's" and "1's" in the sequence of modifier bits being the negative of the difference determined in step (b1).
8. The method of
9. The method of
10. The method of
11. The method of
(b1) generating a secondary pseudorandom bit sequence consisting of a plurality of contiguous S subsequences, each S subsequence consisting of a start sequence of predetermined length followed by a sequence of trailing bits, a feedback bit from each generating sequence in an S subsequence being derived in accordance with a specified rule, a generating sequence being any sequence of contiguous bits in the S subsequence having the same length as the start sequence, the bit that follows a generating sequence being called the trailing bit for that generating sequence; (b2) determining a sequence of one or more modifier bits to be used in modifying the S subsequence; (b3) modifying the S subsequence utilizing the one or more modifier bits.
12. The method of
13. The method of
14. The method of
15. The method of
16. The method of
(b2a) determining the difference of "0's" and "1's" in the start sequence and the trailing bits that are feedback bits in an S subsequence; (b2b) determining a sequence of one or more modifier bits, the difference of "0's" and "1's" in the sequence of modifier bits being the negative of the difference determined in step (b2a).
17. The method of
18. The method of
19. The method of
20. The method of
(c1) adding modulo 2 each successive bit of the secondary pseudorandom bit sequence to each successive p subsequence of the primary pseudorandom bit sequence.
22. The apparatus of
23. The apparatus of
24. The apparatus of
a shift register for storing the primary analysis sequence, the shift register having (1) an input port for receiving a trailing bit from the sequence-modifying unit for entry into the first stage of the shift register when the contents of the shift register are shifted, and (2) an output port for reading the contents of the last stage of the shift register, the oldest bit of the primary analysis sequence being available at the output port; a feedback bit generator for generating the feedback bit to be supplied to the sequence-modifying unit, the feedback bit being derived from the contents of the shift register; an end-sequence detector which produces an end-sequence alert when an end-sequence is detected in the shift register.
25. The apparatus of
26. The apparatus of
27. The apparatus of
28. The apparatus of
29. The apparatus of
30. The apparatus of
a pseudorandom timing unit that generates a signal denoting pseudorandom timing intervals, the sequence-modifying unit feeding the bits comprising all or part of the sequence of modifier trailing bits into the shift register at pseudorandom intervals after the start sequence and before the end-sequence alert occurs.
31. The apparatus of
a secondary bit sequence analyzer that provides a secondary bit sequence, the sequence-modifying unit utilizing the secondary bit sequence to modify the primary bit sequence.
32. The apparatus of
33. The apparatus of
34. The apparatus of
35. The apparatus of
36. The apparatus of
a shift register for storing the secondary analysis sequence, the shift register having (1) an input port for receiving a trailing bit from the sequence-modifying unit for entry into the first stage of the shift register when the contents of the shift register are shifted, and (2) an output port for reading the contents of the last stage of the shift register, the oldest bit of the secondary analysis sequence being available at the output port; a feedback bit generator for generating the feedback bit to be supplied to the sequence-modifying unit, the feedback bit being derived from the contents of the shift register; an end-sequence detector which produces an end-sequence alert when an end-sequence is detected in the shift register.
37. The apparatus of
38. The apparatus of
39. The apparatus of
40. The apparatus of
41. The apparatus of
42. The apparatus of
a pseudorandom timing unit that generates a signal denoting pseudorandom timing intervals, the sequence-modifying unit feeding the bits comprising all or part of the sequence of modifier trailing bits into the shift register at pseudorandom intervals after the start sequence and before the end-sequence alert occurs.
43. The apparatus of
44. The apparatus of
|
This is a continuation of application Ser. No. 09/255,391, filed Feb. 22, 1999 now U.S. Pat. No. 6,115,125.
(Not applicable)
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 Wi 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 W1 and W2 are established in coil 56. The counter-propagating light beams W1 and W2 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 W0 that exits through port A. The combined light beam W0 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=I0 /2[1+cos θ(t)] (1)
where I0 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 <π.
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 & 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.
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.
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.
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 & 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's" and "1's" in the pseudorandom bit sequence appearing on line 5. For example, if the number of "1's" exceeds by one the number of "0'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'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's" and "1'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's" and "1'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's" and "1'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's" and "1'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's" and "1'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's" and "1's" in pseudorandom bit sequence from pseudorandom bit sequence 3 are unbalanced over a single period.
Mark, John G., Tazartes, Daniel A., Tazartes, David I.
Patent | Priority | Assignee | Title |
6459722, | Dec 29 1998 | Texas Instruments Incorporated | Pseudorandom noise generator for WCDMA |
7194496, | May 02 2003 | Spirent Communications of Rockville, Inc.; SPIRENT COMMUNICATIONS OF ROCKVILLE, INC | System and method for producing functions for generating pseudo-random bit sequences |
7822956, | Dec 01 2000 | O2Micro International Limited | Low power digital audio decoding/playing system for computing devices |
7890741, | Dec 01 2000 | MAISHI ELECTRONIC SHANGHAI LTD | Low power digital audio decoding/playing system for computing devices |
Patent | Priority | Assignee | Title |
3984668, | Mar 20 1974 | U.S. Philips Corporation | Method for generating pseudo-random bit sequence words and a device for carrying out the method |
4291386, | Nov 30 1978 | Sperry Corporation | Pseudorandom number generator |
4748576, | Feb 06 1984 | CANADIAN IMPERIAL BANK OF COMMERCE, AS SECURED PARTY | Pseudo-random binary sequence generators |
5446683, | Apr 06 1993 | Agilent Technologies Inc | Methods and apparatus for generating pseudo-random binary patterns |
6115125, | Feb 22 1999 | Northrop Grumman Systems Corporation | Pseudorandom-bit-sequence modulated fiber-optic gyro |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 30 2000 | Litton Systems Inc. | (assignment on the face of the patent) | / | |||
Jan 04 2011 | Northrop Grumman Corporation | Northrop Grumman Systems Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 025597 | /0505 |
Date | Maintenance Fee Events |
Apr 25 2005 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Apr 15 2008 | ASPN: Payor Number Assigned. |
Apr 17 2009 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Mar 14 2013 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Oct 23 2004 | 4 years fee payment window open |
Apr 23 2005 | 6 months grace period start (w surcharge) |
Oct 23 2005 | patent expiry (for year 4) |
Oct 23 2007 | 2 years to revive unintentionally abandoned end. (for year 4) |
Oct 23 2008 | 8 years fee payment window open |
Apr 23 2009 | 6 months grace period start (w surcharge) |
Oct 23 2009 | patent expiry (for year 8) |
Oct 23 2011 | 2 years to revive unintentionally abandoned end. (for year 8) |
Oct 23 2012 | 12 years fee payment window open |
Apr 23 2013 | 6 months grace period start (w surcharge) |
Oct 23 2013 | patent expiry (for year 12) |
Oct 23 2015 | 2 years to revive unintentionally abandoned end. (for year 12) |