Pattern detection and synchronization circuit

Abstract: For identifying a preamble or other pattern in a binary bit stream, containing data coded to have a different average number of ones to zeroes from the pattern in question, a pattern detection circuit includes a shift register (12), a unitary adder (24) and a comparison circuit (26). The shift register (12) has a sufficient length that there is at least a higher probability that the number of ones stored therein is different for the pattern in question from the range of number of ones found in that length of the data stream. The unitary adder (24) counts the number of ones in the register, and this value is compared with the range of values which that length of the pattern should contain. If the pattern to be detected is a preamble used for bit synchronization, and the data are coded in a way which may lead to possibility of synchronization to a subharmonic, a ones-average detector may be used to disable the synchronization circuit for a local clock until the preamble is detected. For modest length preambles, there still should be sufficient length to synchronize the clock after preamble detection.

Description: The invention relates to an apparatus according to the preamble of Claim 1. The invention is applicable to data transmission and recording, in particular when received encoded data are interspersed or interleaved with bit patterns that provide control information. Identification of such control pattern may be complicated when it may closely match a portion of the data. One class of bit stream which exhibits these characteristics is the signal from a magnetic playback head. When economy of size or cost require that the bit rate, read out by the head, be only plesiosynchronous with respect to a given frequency (that is, close to but not exactly the same frequency) it is usually necessary to synchronize a local clock to the current bit rate coming from the head. Because data patterns often have irregular patterns of the binary values, hereinafter referred to as ones and zeroes, clock synchronization is typically aided by inserting preamble patterns periodically along the tape, particularly at the beginning of a record. Particularly when, to aid in achieving high storage density, data are encoded in a code with a ratio between ones and zeroes that is far from one, attempting to synchronize a clock can be difficult if the clock has a significant frequency difference from the bit rate of the head at the moment synchronization is being attempted. Typically synchronization involves a phase-locked loop; and erroneous synchronization to a sub-harmonic of the correct frequency is possible if a receiver starts to receive the bit stream during transmission of data, or a tape player has slewed at high speed or reversed to a portion of the tape, and resumes playback speed in the middle of a data block. Preamble patterns intended to aid clock synchronization commonly consist of a string of alternating ones and zeroes, because bit synchronization to this pattern is fastest and most accurate; this pattern is relatively easy to identify even if it is not very long; and the end of the pattern is very easily identified by a change from simple alternation. In the field of data transmission involving modulation of a high frequency carrier frequency, such preamble patterns are desirable also because the average number of ones and zeroes is equal. This equality eliminates the build-up of an average dc level in certain demodulation schemes. Other particular patterns which must be identified include end-of-data patterns. Such patterns may be used between unrelated data sequences, particularly when there is no gap in the bit stream. A method and apparatus for exactly detecting a predetermined bit pattern, and in particular, to get an early non-detection of the unique word has been disclosed in EP 269 974 A2. The present invention intends to decide on detecting or otherwise of the particular pattern already as based on detecting a fraction thereof whilst measuring only particular overall occurrence parameters therein for so realizing a robust and easy detection. In consequence, according to one of its aspects, the invention is characterized according to the characterizing part of Claim 1. DESCRIPTION OF THE PRIOR ART For recording and playback of data on/from a quarter-inch magnetic tape having a large number of parallel longitudinal tracks, with a very high recording density and a very low corrected bit error rate, a data code proposed in the QIC Development Standard, revision E, as of Jan. 17, 1990 (hereinafter "QIC Standard"), published by Quarter-Inch Cartridge Drive Standards, Inc. of Santa Barbara, California, is a so-called (1, 7) code. This code has an average of approximately 2.3 times as many zeroes as ones, if the bit stream sample is long enough or if the data has been randomized (see "Monte Carlo Analysis of Recording Codes," Paul K. Davis, IEEE Trans. on Magnetics, Vol. MAG-20, No. 5, Sept. 1984; "Statistical Properties of Selected Recording Codes" Thomas D. Howell, IBM Journal of R & D Vol. 33, No. 1 Jan 1989). This same standard may use an end-of-data burst consisting of strings of a single one and seven zeroes. These seem easy to recognize or distinguish; but this is not so easy if readout or playback commenced in the data area well before the critical string, and as a result the local clock is not synchronized to the bit stream, nor is any decoder synchronized to individual bytes, blocks or frames. In the QIC Standard each block of data starts with a preamble. All blocks within a frame are recorded without any gaps, and frames are also recorded contiguously. Thus, there are no gaps at all along a given track. This is known as "seamless" recording. However, recognition of the preamble and end-of-data patterns is vital for identification of the beginning and end of a data block. According to this same standard, a normal preamble has the defined minimum length: 13 bytes. This creates the problem that identification with a high degree of confidence must occur quickly if any portion of the preamble is to be used for any other purpose. At the same time, use of a comparator which has such a large capacity that the preamble is reliably recognized, particularly in the face of a small number of errors in the information stream from the read head, involves a significant amount of computing capacity and time. Similarly, it is clear that end-of-data pattern will be very difficult to recognize in the face of a few errors, by comparing the exact bit pattern. The problem of synchronization is most acute when "repositioning" occurs, that is, when the tape motion is stopped, the tape is reversed, and then is started forward again. Repositioning can occur for a variety of reasons, but, for example, one case occurs when the host computer has momentarily accepted as much data as it can handle, but during the resulting tape reversal it becomes ready to accept more data. In a seamless recording, when tape forward motion resumes, it is possible to predict whether the tape drive's read head will be located over data, preamble, end-of-data or some other control pattern. Under these circumstances, the phase-locked loop may become synchronized to a sub-harmonic of the preamble pattern when codes such as (1, 7) are employed. This code has a large number of possible sequences of bits with long strings of encoded zeros which facilitates synchronization to sub-harmonics. This problem does not occur with previous QIC standard codes even though they are also employed in a seamless fashion. Most existing QIC tape drives record using the so-called 4/5 GCR code where the probability of locking to a sub-harmonic of the clock frequency is practically zero. Furthermore, the problem would never occur on currently known half-inch digital tape drives regardless of the encoding method because they do not use seamless recording. They are designed to have unrecorded or erased gaps between records. The data recovery system (including the phase-locked loop) can always properly synchronize because the system can recognize a gap which is invariably followed by a preamble. Thus, the problem is unique to streaming tape drives employing seamless recording along with certain high efficiency channel codes such as (1, 7). The reason QIC and other standards organisations want to use these codes is that they permit a significantly higher amount of data to be stored on a given surface area. While another alternative to solution of the synchronization problem would be to drop seamless recording and include gaps between records, this would have the effect of reducing storage capacity of the tape, negating the advantage gained by using this code. The invention permits the use of seamless recording along with high-performance channel codes to achieve high information while solving the synchronization or end-of-data recognition problem. The invention provides an apparatus for recovering data from a binary bit stream, which quickly identifies particular patterns having a different ratio of ones and zeroes from the data blocks of the bit stream. The invention enable detection of such patterns without a need for bit-by-bit comparison. The invention provides such an apparatus which can detect a preamble pattern in time to complete clock synchronization before the end of the preamble, and prevents synchronization of a receiver clock to a sub-harmonic of a coded data signal. Now, according to one of its aspects, the invention is characterized as recited in the characterizing part of Claim 1. Various further advantageous aspects of the invention are recited in dependent Claims. ransmitting arts that the invention is not so limited. BRIEF DESCRIPTION OF THE DRAWING Fig. 1 is a block diagram of parts of a magnetic tape playback apparatus in accordance with the invention, Fig. 2 is a block diagram of the pattern recognition circuit used in Figs. 1 and 2, Fig. 3 shows a unitary adder useful in the pattern recognition circuit, Fig. 4 is a block diagram showing a generalized apparatus according to the invention, and Fig. 5 is a block diagram of another pattern recognition circuit. DESCRIPTION OF THE PREFERRED EMBODIMENTS The apparatus portions shown in Fig. 1 can be part of a streaming magnetic tape apparatus of the type referred to above, or (by use of a different type of scanning head) any other kind of playback device which may produce a plesiosynchronous bit stream, such as an optical information storage device. Preferably the bit stream coming from the head has a bit rate which is close to a pre-determined frequency; for example, within 5% of nominal value. The principal differences would reside in the specific nature of the head or scanning device, and the form of pulses or other information waveform. In the embodiment of a magnetic playback device, a magnetic head 2 produces an electrical signal which is amplified, and may be shaped or filtered, in an amplifier 4. The amplifier output is provided as an input to a data processor device 6 which does something useful with the data contained in the bit stream. The data processor 6 may be a separate apparatus, such as a monitor or computer, or may be integrated with the rest of the apparatus shown in Fig. 1. In order to synchronize and control the data processor 6, the amplifier 4 output is also provided to a synchronizer 8 and a pattern recognition circuit 10. The synchronizer 8 may be of any well known type, such as a phase-locked loop, and is either connected to or integrated with a clock 12. The clock 12 is also of any well-known type which provides a pre-determined free-running frequency, equal to the nominal bit rate coming from the head 2, when the synchronizer 8 is inhibited or is not receiving any signal from the amplifier 4. When the circuit of Fig. 1 is used to receive data whose binary form or encoding has a relatively large ratio, such as 2.3:1, between ones and zeroes, when averaged over a sufficient number of bytes, synchronization to the data signal from the free running frequency may be unreliable because of the possibility of synchronizing to a sub-harmonic of the actual bit rate. To prevent erroneous synchronization after any period of loss of synchronization, such as initial turn-on or after the tape has been slewed at higher speed, reversed in direction, or stopped, the pattern recognition circuit 10 provides an inhibit signal to the synchronizer 8. The inhibit signal causes the synchronizer to cause the clock to operate free-running. The clock and the tape drive are designed such that the free-running frequency is close enough to the actual bit rate so that the pattern recognition circuit, which is preferably of the form described below, can accurately distinguish between data signals and a preamble signal such as a series of alternating ones and zeroes. The pattern recognition circuit is designed to identify existence of a preamble pattern in the bit stream well before the end of the preamble pattern has been reached. As soon as the current bit stream has been identified as a preamble pattern, the signal to the synchronizer 8 is changed, so that the synchronizer is no longer inhibited. Sufficient length of preamble remains for the synchronizer/clock combination to lock in on the bit rate before receipt of data signals. The QIC standard referred to above has a preamble length of 13 8-bit bytes. Allowing at least 7 byes for synchronization, and recognizing the uncertainty in preamble recognition which is described below, a window or sample of 36 bits or more is a preferred value for the pattern recognition circuit to use. An alternative method of operation is advantageous when, because of randomizing or other processes, the nature of the data signal creates a small probability that the ratio of ones to zeroes sampled over a period of 36 bits will be substantially equal to a value which the preamble recognition circuit recognizes as a preamble. According to this alternative, the synchronizer 8 starts to synchronize upon receipt of a preamble-recognized signal from the circuit 10. However, the circuit 10 continues to process the bit stream for the duration of the preamble length (68 additional bits duration, for a 13 byte preamble) and provides a synchronization-inhibit signal to the synchronizer if the detected pattern does not remain as a preamble pattern. With this circuit and operating mode, there is a high probability of lock-in at the correct frequency on the first try, even in the face of a data coding protocol which makes incorrect synchronization possible. The pattern recognition circuit 10 is shown in block form in Fig. 2. A 36 bit shift register 22 receives the bit stream from the amplifier 4 (Fig. 1). The register is shifted by a signal from the clock 12, which may be slightly out of synchronization with the bit stream if it is free running at the time. The register 22 is connected by a parallel line to a unitary adder 24, which continually provides an output signal which is a count of the number of ones in the register 22. This output signal count is compared in a magnitude comparator 26 with a value from a memory 28. The comparator 26 may be, for example, a National Semiconductor Corp. type 7485 or equivalent. For the typical preamble pattern of alternating ones and zeroes, the value 16 is stored in the memory 28. The comparator 26 changes the recognition circuit output from inhibit if the unitary adder output is greater than the value 16. For detecting the end-of-data pattern of the QIC standard referred to above, the least significant bit of the register can be ignored, and the comparator can be set to detect a register total 4. As is well known, this will then detect a value of 4 or 5 ones. If a register of length n different from 36 is selected, then the comparator should be set to detect integer values no less than approximately n/9 and no more than approximately n/7. Fig. 3 shows one circuit for forming a unitary adder. Eight identical first-row binary adders 30 are connected to the states 1'-24' of the register 22. Outputs of the first 8 binary adders are connected respectively to four second-row 5-input binary adders 33, which also respectively receive inputs from register stages 25'-28'. Outputs of the adders 33 are in turn connected to inputs of three third-row adders: two 7-input binary adders 34 and one 3-input adder 35, which respectively also receive signals from register stages 33', 32' and 29'-31'. Outputs of the third-row adders are in turn connected to two fourth row adders: a 9-input adder 36 which also receives an input from stage 36 of the register 22, and a 5-input register 37 which also receives an input from stages 34' and 35' of the register 22. Outputs of the fourth row adders 36 and 37 are connected to inputs of an 11-input binary adder 38 has a parallel output connected to corresponding inputs of the magnitude comparator 26. The various binary adders can be, for example, National Semiconductor type 7483's or combinations of them. As will be well known by those of ordinary skill, for the first row adders 30, the two most significant inputs should be grounded. Adder 38 in the fifth row can be provided by two cascaded type 7483's. Fig. 4 shows another use of average-measuring pattern recognition circuits. A receiver 40 may be a wired or wireless data receiver, a tape or optical disc reader, or any other source of a bit stream which contains (or can be processed to provide) binary values, some of which are in particular patterns to be identified. A data line output 41 from the receiver 40 may be provided to any other desired unit or device. At the same time, the bit stream output of the receiver 40 is fed to a pattern recognition circuit 42, which may be identical to the circuit 10 or may be designed to identify a pattern having a different ratio of ones and zeroes which is unique with respect to any sufficiently long sample of the data. A clock 44 provides the shift signal to the shift register in the recognition circuit 42. This clock may be synchronized to the output of receiver 40, or may have a fixed frequency which is sufficiently close to the bit rate being measured. Upon determining a match of the number of ones in the sample being analyzed by the recognition circuit 42, a control signal is provided over an output line 43 to show that a match has occurred. This control signal may be used for any function: operating an annunciator to alert an operator; changing an operation mode of the apparatus itself; or appearing at an apparatus output to be used by some other apparatus. Those of ordinary skill in the recording arts will recognize that many variations of the described embodiments may use the inventive concept. For example, in the circuit of Fig. 5, a counter 51 counts encoded pulses (ones) read from a tape, for a duration controlled by a second counter 53. The counter 53 in turn is driven by pulses from a clock 54 which may be free running. The output of counter 53 is fed to one input of a flip-flop 55 whose output is one of two inputs to an AND gate 57. The gate 57 acts as switch to accept or block pulses read from the tape, the gate output being the input of counter 51. At the same time, the flip-flop 55 output serves as the other input of a clock-pulse AND gate 59, which gates the clock pulses to counter 53. After n clock pulses are counted by counter 53, the state of counter 51 is tested. If the count n of counter 51 equals m, or m minus a small integer, a preamble has been detected. If n is approximately equal to m/7, an end-of-data burst has been detected. Accordingly, it is clear that the scope of the invention covers many possible embodiments, and is to be measured by the appended Claims.

Claims: An apparatus for recovering data from a binary bit stream, and for detecting a particular pattern of m bits length, each bit having a first value or a second value, said stream containing at least data and sequences of a particular pattern interleaved with said data, wherein said particular pattern has a given ratio R of numbers of said first value to bits of said second value and contains a string of subpatterns that each also have said ratio R, said apparatus comprising data detector means (10), operable while said apparatus is in a data detection mode, for detecting said data in said bit stream, and means for controlling a function of said apparatus, characterized in that said apparatus comprises: a pattern detection circuit comprising first determining means (24) for determining the number of bits of said first value over an n bit sampling period, where 1<n<m, for detecting reception of said particular pattern responsive to receipt of at least n bits of said pattern, and second determining means (26) fed by said first determining means for determining that the number of bits of said first value is such that it represents a ratio r that lies within a predetermined region near and including said given ratio R, and means responsive to said second determining means for providing a control signal to said means for controlling. An apparatus as claimed in Claim 1, characterized in that said first determining means (24) are arranged to continue determining the number of bits of said first value for an additional period of (m-n) bits, and said second determining means are arranged to continue determining that the number of bits of said first value represents a ratio r that lies outside said predetermined region near and including R, and that said apparatus further comprises means for providing a further control signal to said means for controlling in response to such determination by the second determining means during said additional period. An apparatus as claimed in Claim 1, wherein said data have respective ratios r of average numbers of bits of said first value to bits of said second value different from R when averaged over a length of at least (n+k) bits, where k>0, and a probability P that the ratio r of average numbers of bits of said first value to bits of said second value in the data differ from said given ratio R when averaged over at least k bits. An apparatus as claimed in Claim 1, for detecting an end-of-data pattern consisting of a single one and at least seven zeroes, comprising as parts of the pattern detection circuit an n bit shift register receiving said binary bit stream, a unitary adder (24) connected to said register for counting the number of ones in said register, and a comparator (26) for determining if the number counted by said adder lies in a predetermined region near and including nR/(R+1), in that said comparator is set to detect integer values no less than approximately n/9 and no more than approximately n/7. An apparatus as claimed in Claim 1, wherein said particular pattern is a preamble, and said apparatus furthermore comprising; a variable frequency clock (12), data detector means, synchronized by said clock, and means for synchronizing said clock to said bit stream characterized in that said apparatus comprises a preamble detection circuit having first determining means (24) for determining the number of bits of said first value over an n bit sampling period, where 1<n<m, for detecting reception of said preamble responsive to receipt of at least n bits of said pattern, second determining means (26) for determining that the number of bits of said first value is such that it represents a ratio r that lies within a predetermined region near and including said given ratio R, and means responsive to said second determining means for providing a control signal to said means for controlling, and means for disabling said means for synchronizing until said preamble detection circuit has detected said preamble. All apparatus as claimed in Claim 5 wherein said data are coded to have a ratio of average numbers of bits of said first value to bits of said second value different from said given ratio R when averaged over at least k bits, characterized in that n≤k, said preamble detection circuit after said disabling continues determining said ratio r for an additional period of time, and said apparatus further comprises means for disabling said means for synchronizing responsive to determination during said additional period that said ratio r does not lie in a predetermined region near and including said given ratio R. An apparatus as claimed in Claim 6, characterized in that said preamble detection circuit comprises: an n bit shift register receiving said binary bit stream, a unitary adder connected to said register for counting the number of bits of said first value in said register, and a comparator for determining if the number counted by said adder lies in a predetermined region near and including n/R. An apparatus as claimed in Claim 1, characterized in that said detection circuit comprises: an n bit shift register receiving said binary bit stream, a unitary adder connected to said register for counting the number of bits of the first value in said register, and a comparator for determining if the number counted by said adder lies in a predetermined region near and including nR/(R+1). An apparatus as claimed in Claim 1, for recovering data from said bit stream wherein said pattern is a series of m bits of alternating values, characterized in that said detection circuit comprises: an n bit shift register receiving said binary bit stream, where n is an even number, a unitary adder to said register for counting the number of bits of the first value in said register, and a comparator for determining if the number counted by said adder lies in a predetermined region near and including substantially equal to n/2.

Inventors: BEST DONALD, CARICKHOFF RICHARD, SCHULTZ ALVIN, BEST, DONALD, CARICKHOFF, RICHARD, SCHULTZ, ALVIN
Applicants: KONINKL PHILIPS ELECTRONICS NV, KONINKLIJKE PHILIPS ELECTRONICS N.V.
Application year: 1993
Main classification: H04L7
IPC codes: G11B27, G11B20, H04L7, H04L29