Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COLLISION DETECTION USING CODE RULE VIOLATIONS OF THE MANCHESTER CODE
Document Type and Number:
WIPO Patent Application WO/1991/005416
Kind Code:
A1
Abstract:
A collision detection method and apparatus (10) is disclosed for detecting code rule violations in Manchester encoded data packets. The signals delta0 = S2n - S2n-1, $(d)1 = S2n+1 - S2n, delta2 = S2n + 1 - S2n-1, sigma0 = S2n + S2n-1 are determined at time nT where S2n-1 and S2n are the Manchester code bit pair representative of the nth bit in a data stream having a bit period T. Processing of these signals permits the detection of most collisions since the Manchester coding rules are violated more than half the time in the signal formed by the colliding packets. To ensure 100 % collision detection, a preamble using an intentional violation of the Manchester code in the pattern 10 11 01 10 is advantageously used in each data packet and a collision is signaled upon detection of two or more coding violations.

Inventors:
HEEGARD CHRIS (US)
Application Number:
PCT/US1990/005601
Publication Date:
April 18, 1991
Filing Date:
October 02, 1990
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CODENOLL TECHNOLOGY CORP (US)
International Classes:
H03M5/12; H04L12/413; H04L25/49; (IPC1-7): H04B17/00
Foreign References:
US4727592A1988-02-23
US4881059A1989-11-14
Other References:
See also references of EP 0495007A4
Download PDF:
Claims:
17- "What is claimed is:
1. *' "* ... A method for detecting collisions among pεtόH!et of Manchester coded binary data transmitted over a communication network comprising the steps of: ,•■• ,}Hiw generating at each time nT from a^ received packet of Manchester coded binary data signals four signals: ' * "' > <> δl = S2n+1 " S2n ' * . ,t δ2 = S2n+1 " S2n1 " S2n + S2n1' where S , and S_ are a symbol pair representing an nth binary bit of a data stream represented by the da'ta packet and T is the bit time period in the data stream,. • determining if a minimum of * » .
2. |δ |, |δ_| is greater than a positive! constant, determi .ni.ng i.f σQ.
3. i.s greater than δ>.
4. whereJ is a positive constant and * " l « generating a collision detect signal it the minimu of |δ |, lδ.,1 is greater than a positive constant or if σ is greater than kδQ . s 2The method of claim 1 wherein the data packet includes a preamble which contains a signature that is unique for each transmitter from Which a data paϊket ie sent, said method further comprising the step of testing th signature for invalidity in the received data packet. .
5. The method of claims 1 wherein the data packet includes a preamble which contains the αode bits 10 11 01 10.
6. 18.
7. An apparatus for determining collisions of packets of Manchester coding of binary data comprising first, second, third and fourth summing means, first and second delay means, a received binary data packet being provided to said first, second and third summing means and said first delay means, an output from said first delay means being provided to said second delay means and to said first, second and fourth summing means, said first summing means subtracting the received data packet from the output of the first delay means, 10 said second summing means adding the received data packet to the output of the first delay means, said third summing means subtracting the received data packet from the output of the second delay means, said fourth summing means subtracting the output of 15 the first delay means from the output of the second delay means, means for squaring an output from each of the first and second summing means and for comparing the squared outputs, 20 means for determing if a minimum of an absolute value of an output from each of third and fourth summing is greater than zero, and means for generating a collision detect signal if the squared output of the second summing means is greater 25 than a product of a positive constant times the squared output of the first summing means or if the minimum of the absolute values of the outputs from the third and fourth summing means is greater than zero. *& 30.
8. The apparatus of claim 4 further comprising means for counting the number of collision detect signals and generating an output upon counting two or more such signals.*& 35.
9. _19_ ..> i .
10. 6 The apparatus of claim 4 wherein the data packet includes a preamble which contains the code bits 10 11 01 10.
Description:
-1-

COLLISION DETECTION USING CODE RULE VIOLATIONS OF THE MANCHESTER CODE

Background of the Invention ,. _

The present invention relates to a method and apparatus for detecting when a collision occurs έetweeh two or more binary data signal packets in a cbmmunicatioh ,J network.

Two communication technologies are in general use, circuit switching and packet switching. Communications over the switched public telephone line are illustrative* of the circuit switching technique, and the .Ethernet system is typical of the packet switching technique. '

. The circuit switching technique establishes a '" connection between two terminals only when a message is to be transmitted. However, because the time required to establish a connection may be very large compared to the actual time of a communication, especially in the case of a short communication, this technique is slow, inefficient and expensive.

In contrast, the packet switching " echnique maintains the communications connection but transmits the message in the form of packets of binary informtion. Short communications are transmitted by a single packet while longer or bursty communications are transmitted by a series of packets. Computer communications lend themselves to packet switching techniques because computer communications are characteristically in the form of short bursts of binary information.

The packet is typically divided into two primary sections, the header and the data, each of which has a different purpose. The header is the portion of the packet which is initially received and contains such information as the address to which the packet is to be sent, the address of the sender of the packet and other information that the particular system requires. Following the header is the data section where the substance of the communication is contained either wholly for a short communication, or partially for a longer communication. The packet may include an additional section which follows the data section which contains information relating to error checks or to packet linking. Packets typically are about 60 microseconds in duration. Data rates in the Ethernet system, for example, are 10 Megabits/second so that a single bit has a pulse width or duration of 100 nanoseconds and a packet contains about 6,000 bits.

In a typical packet switching system numerous terminals are connected to the same communication network and can access the network at the same time. As a result, it is possible that packet collisions will occur because more than one terminal transmits a packet at the same time. When a collision of packets is detected, an instruction is sent to retransmit the original data so that another attempt may be made to receive the packet without a collision. If a collision of packets is not detected, the information transmitted is lost since the signal received is unintelligible as it is a sum of the overlapping packets.

Numerous techniques are known in the art for detecting a data collision. Ordinarily, these techniques are implemented at each terminal that is transmitting a data packet. In U.S. Patent No. 4,063,220, an exclusive OR gate at a signal transmitter compares the transmitted signal with the signal present on the communication cable and aborts

-3- transmission when they are not the same. Anotne tecftfiique is to monitor the DC level of the signal received from* the communication line and, if this level is higher thah a specified thereshold, assume there is a data ^ collision.

Alternatively, as disclosed, for example, in U.S. Pat. No.

4,282,512, the receiver can look for data transitions that occur at timings different from those expected for the

5 received data.

U.S. Patent No. 4,561,091 discloses a data communications receiver with a collision detection circuit for comparing a signal from a timing'circuit with the

10 received data signal. The receiver produces a collision detection signal when the received data signal fails to change within the duration of the output signal from tfee timing circuit which is set equal to th£ * longest""dk a &lgiτa interval. 15

U.S. Patent No. 4,560,984 discloses a method ror detecting the collision of data packets in which a sigpal pulse, having an amplitude much larger than a data <puiLse, is substituted for the initial bit of the packet. The* receive 20 tests for a pulse much larger than a data pulse.*' If twc- large signal pulses are received within' a * tiϊήe perio ' ifes than or equal to the sum of the duration of the packet and the time period between packets, a collision has Occurred.

-^ However, the above methods do not " detect collisions for certain conditions. For example, the above mdtliDϊis<do not detect the collision of two signals which arrive ?fc«the receiver at approximately the same time. In addition, the above methods do not always detect collisions that may arise

30 involving an attenuated signal. In optical coinmf fibation' systems, it has been found that up to a 26dB loss fi^e,, 99.7% decrease) of optical power may occur between the signal transmitted and the signal received. ' '

35 >tø

This loss of power may arise due to the length of transmission and the connectors or repeaters the signal passes through. In some cases of collision, the amplitude difference between two attenuated signals may be as much as

8dB. This difference is so great that the smaller signal has little effect on the larger signal and the collision is undetectable by current collision detection techniques. These problems of detecting attenuated signals are increasing as communication systems switch to optical fibers.

U.S. Patent 4,701,909 discloses a method for detecting collisions by using fixed Hamming weight sequences in the preamble of the data packet. If two packets collide, the received sequence presumably would be altered enough that a sequence weight violation could be detected.

U.S. Patent 4,562,582 discloses a method for detecting collisions by detecting certain code rule violations in a "Double Manchester" code sequence. Manchester code is a simple mapping of binary data into coded data at rate of 1 to 2 (i.e., each symbol of binary data is mapped to two symbols of coded data) . Typically a 1 bit is mapped to 01 and a 0 bit is mapped to 10. Thus, a symbol pair having a positive going transition between the symbols is associated with the 1 bit and a symbol pair having a negative going transition is associated with the 0 bit. Since each symbol pair has a zero value and a one value, Manchester coding provides run-length limiting and zero/one balancing. A Double Manchester code sequence is one in which the Manchester encoder is applied twice to the data in the packet so that binary data is mapped into coded data at a rate of 1 to 4. While the method of the '582 patent detects some code rule violations, it does not detect

all possible code rule violations, is unnecessarily complicated and involves a highly redundant encoding (i.e.,

1 to 4) of the data.

Summary of the Invention

The present invention relates to a method and apparatus for data detection and 100% collision detection (in the absence of noise) for Manchester coded packets. The detection of data and collision in a coded modulation packet system is possible via the use of partial response demodulation and the detection of violations of the coding rules that describe the Manchester coded signal.

Given a data stream specified by the sequence X_, X 2., X■_•, . . . , X " J. where XJ. is a binary data bit having a value of either 0 or 1 (i.e., X. e {0,1}), the Manchester coded data stream is represented by the sequenpe X., X., X 2., X 2., . . . , where XJ. is the complement of XJ.. If we, assume that the duration of each symbol in the input binary data stream is T seconds, then the duration of each symbol in the Manchester coded data stream is T/2 seconds (i.e., at 10 Mbps, T = 100 ns and T/2 = 50 ns) .

In partial response demodulation (or detection) , the data bits that are encoded in a signal are extracted from the encoded signal by a "partial-response" (PR) filter. In the case of Manchester coding, the PR filter that is used for data detection is one that subtracts the first symbol of each symbol pair from the second symbol of that pair. In a practical filter this is accomplished by subtracting from the encoded signal a copy of the encoded signal that has been delayed by the duration of one coded symbol (i.e. by T/2 seconds) . When the resulting signal is sampled at the appropriate time, once per data bit time T (e.g., once every

100 ns in the Ethernet system described above) , the sign of the result indicates the value of the data bit. This follows from the fact that

+1 where X. = 1 X, - X. = 3

- J -1 where X. = 0.

Given any coded modulation system, there exist invariants of the code that must be satisfied by a valid

D signal. In accordance with the invention, these invariants are used for detection of signal collision because a collision can be declared if the invariants of the code are violated. To understand this method of collision detection, consider the following. Suppose that a binary sequence Z. , 0 Z , Z_, . . . is to be tested to determine if it is the output of a Manchester encoder. One method is to check that the following inequalities are satisfied: Z Z , Z . ~- Z_, etc. or equivalently, 2> 3 - Z 2 f Z 3 - Z_, Z 5 - Z. Z 5 - Z 3 , 5 etc. A violation of the Manchester coding rules occurs if both Z 3 - Z. 0 and Z_ - Z ≠ 0. Detection of violations of this type is the main method of collision detection employed in the present invention.

In accordance with the invention, a simple 0 invariant of the Manchester code can be described in terms of the valid outputs of a pair of partial response filters. The first filter is the same as the one used for data detection, except the outputs are sampled at a time that is g exactly between the instants in which the data is detected (i.e., 1/2 of a bit time, T/2, after the data detection instant or 50 ns in the Ethernet system described above) . In effect this filter calculates Z - Z . The second PR filter subtracts the first symbol of each symbol pair from Q the first symbol of the next symbol pair in the encoded sequence. In effect, this filter calculates Z - Z . In a practical filter this is accomplished by subtracting from the encoded signal a copy of the encoded signal that is delayed by two coded symbols. At the proper 5

—7— ' 1 >< times, once per bit time, one (and only one) of the outputs of the two PR filters must be equal to zero. This is Rn invariant of the Manchester code. If this invariant is violated, a collision is reported.

I .. . r »l ,l l t il l

More particularly, let the n binary bit, X , of a data stream be encoded as a symbol' pair, ϊf fk> Coll sion occurs during transmission of this symbol pair through the communication network, this symbol pair produces the signals

S 2n-1' S 2n in a sec 3 uence of the communication network. In accordance with the invention, the following four vaipjes "a e at each 4 time nT:

S 2n+1 " S 2n S 2n+1 ~ S 2n-1 S 2n + S 2n-1 *

From these four signals, the data is detected and'»*a teSt fbϊ" a possible collision is made. f j

The data is detected by computation of the fitf&t of these values because in the absence ^f an interfering ^i, nal

(and noise) δ> " == A(X - X ) where A is the signal gain of υ n n i , , , * * J i H .< ,... the data packceett iinn tthhee ttrraannssmmiissssiioonn ssyy≤sltem and X * and x "care the complementary symbols of the nth __sy!ιbol,pair. ' Thus/ 'an estimate of the value of X n is 1 if SΛ - ~ t g eate feaη zero and 0 if S is less than zero or more formally:

1 if 0<8ύTi

X n = 0 if δ n <0.

A collision is declared if for two positive, ,„ parameters Δ, r:

" ~t ' 'iff

WfCtn ^f fJ .

(,, f l » , ' f <t

or

σ n 2 > (1 + r)δ 2 (d.c. coupled receiver) σ 2 > Tδ Q 2 (a.c. coupled receiver) .

The first of these tests is the test for the Manchester code rule violation described above. The second of these tests accounts for a special case that arises where the signal gains of two colliding packets are the same and the second symbol of one symbol pair and the first symbol of the next symbol pair are both one bits.

Specific apparatus for implementing these tests comprise two delay circuits connected in series for producing delays of one symbol each and four signal adders for combining the delayed signals and the undelayed signal to generate the sum and differences σ , δ Q , δ., δ. . The apparatus also includes means for determining the minimum of

\ δ. \ , |δ„| and comparing such value with zero and means for compari .ng σ 2 and δ 2.

Detection of code rule violations as above should make it possible to detect most packet collisions in a very short time. However, to ensure 100% collision detection it is necessary to provide coding in each transmitted packet that guarantees a violation of the Manchester coding rules.

In particular, proper choice of a packet preamble insures that the collision detection algorithm described above will indicate the presence of one or more interfering packets. In a preferred embodiment of the invention, the packet preamble comprises three essential fields: a SYNC word (nominally four data bits long or 400 ns at 10 Mbps) , a CRV (Code Rule Violation) word (four data bits long or 400

-9- ns) and a Unique word (UW) (nominally 32 data bits long or

3200 ns) . The SYNC pattern is a fixed patfceisn of eiga,t 1 symbols, presently defined in industry standards to be a

Manchester encoding of the four data bits 1 0 1 0 which are encoded as: 01 10 01 10. In accordance with the CRV pattern is a fixed pattern of eight symbols .tto violate the invariants of the Manchester code. Preferably this pattern is: 10 11 01 10. The UW pattern is unique to each transmitter and is Manchester encoded. The 1 pttrpoeβ of the unique word is to cause Manchester csodjlng violations t fpr the case when the colliding packets arrive simultaneously.

Colliding packets that do not arrive simultaneously are detected by the interference of the CRV word with properly* encoded Manchester bits. |j "" "

The CRV pattern is designed to * prodi»ce a» singloi code-rule violation in a legitimate (i.a.. ? non-colliding.) > packet. When two (or more) packets collide, two or mo © code-rule violations will occur. It is this event that ensures 100% collision detection. If the packets atrrive with nonzero relative delay, the CRV pattern ill provide at least the two required violations of the Manchester invariants. In the special case of zero relative delay, the UW pattern will provide for collision detection. The UW is designed to guarantee a minimum number of code-rule violations and a large average number of ^opportunities for* collision detection. It is important to note that this method is proven to have 100% collision detection (in the absence of noise) with all choices of relative 'de^ay between colliding packets.

The advantages of such a system include': improved signal to noise ratio (SNR) , efficient bandwidth usage, and a provable, 100% collision detection mechanism, with a fast average time to collision detection and a lower complexity of computation per unit time when compared to "Double

Manchester". The costs associated with this scheme is a slightly more complex detection algorithm than is needed simply to extract only the packet data. However, this increase in detector complexity is traded for lower sensitivity required of the photodetector (i.e., SNR) as well as the simplicity of the packet format (i.e., the preamble is simple and the bulk of the packet is compatible with the existing, Manchester coded packet format) when compared to other schemes. Furthermore, when this method is compared to schemes based on "Double Manchester" code the number of computations per second is actually lower. This follows from the fact that for a given packet data rate, the clock period of Double Manchester is half the clock period of Manchester code.

Brief Description of Drawing

These and other objects, features and advantages of the invention will be more readily apparent from the following detailed description of the invention in which the drawing depicts an illustrative circuit for the practice of the invention.

Detailed Description

A schematic diagram of an illustrative circuit 10 for practicing the invention is set forth in the drawing. As shown therein, circuit 10 comprises first and second signal delay means 20, 22, first, second, third and fourth summing means 30, 32, 34, 36, a minimum absolute value circuit 40, squaring circuits 50, 52, amplifier 62, first and second comparators 70, 72, OR gate 80 and counter 90.

Circuit 10 computes the following four values at each time nT

. ι

-11- δ 0 = S 2n " S 2n-1 δ l = S 2n+1 " S 2n 11, ,.( . '(i « .τ| .) δ 2 = S 2n+1 " S 2n-1 σ 0 " S 2n " S 2n-1 .<♦ where s„ , and S_ are a symbol pair representing .feføe jith binary bit of the data stream and T is the data bit period

IM « 14 *" ! * i of the data stream (e.g., 100 ns in the Ethernet system described above) . From these four signals,, the data, is < ,, detected and a test for a possible collision is made.

The data is detected by noting that in the absence of an interfering signal (and noise) δu_ = A(X.i - X * n) . tTthu j s,

l 0<δ Q ; X n = 0 δ Q <0. 4

\ l

A collision is declared if (for tw° positive t parameters Δ, Γ) t*H* min(|« 1 |, |* 2 |)>Δ

or

σ 2 > (1 + r)δ 0 2 (d.c. coupled receiver)

. . « σ 0 2 > r Q 2 (a.c. coupled receiver) -

As shown in the drawing, a receive'd^signal from 'a

» < communication network is applied to delay means 20 and to summing means 30, 34, 36. A delayed signal from ,delay t ^a s

20 is provided to delay means 22 and to summing mβaws 30 /

32, 34. A delayed signal from delay means 22 is Supplied to summing means 32, 36. Summing means 30 subtracts the H* received signal from the signal from delay means 20 and s \ produces the output signal δ Q , summing means 32 subtracts

^i!

the delayed signal from delay means 22 to produce the output signal δ_ , summing means 36 subtracts the received signal from the delayed signal means 22 to produce the output signal δ_, summing means 34 adds the received signal and the delayed signal from delay means 20 to produce the output signal σ n . The signals δ. and δ_ from summing means 32 and

36 are applied as inputs to minimum value circuit 40 which determines the minimum of the absolute values of the two input signals. The output of minimum value circuit 40 is applied to comparator 70 which compares the minimum absolute value with a predetermined positive value. The signal σ from summing means 34 and the signal ? from summing means

36 are each applied to squaring circuits 50, 52. These signals are squared and applied to comparator 72. In addition, the output of squaring circuit 52 is amplified by the factor r or (1 + r) .

The outputs of comparators 70, 72 are applied to OR gate 80. The output of OR gate 80 is a signal which is high when a violation in the Manchester coding has been detected. As shown in the drawing, this signal is applied to counter 90 which counts the number of code violations detected.

To understand this method of collision detection, consider a collision of two Manchester encoded packets X, Y. Let the legitimate packet be encoded as X , X , X , X_, . . ., and the colliding packet at Ϋ_, Y , Ϋ " , Y , . . . In a collision, the scaled values of the X packet are added to a scaled and delayed version of the Y packet. There are two important, extreme, cases that must be considered: "out of phase" (i.e., a collision in which the two packets are displaced an odd number of symbol positions relative to one another) and "in phase" (i.e., a collision in which the two packets are displaced zero or an even number of symbol positions relative to one another) .

As an example of an "out of phase" collision, assume the collision results in the sequence

S2_n-l. = AX " n + BYn. S2-n = AX„n + BYn+.1., S2_n+.i.. = A n+,1- +

BY where A>0 is the signal gain of the first pac et'afnd

B>0 is the signal gain of the interfering 1 secbnd packet. '

Whenever Yn = Y " n+.,i or X„n = Xn+.i. , these collisions can >be detected by testing for Manchester code rule violations. I particular, there are two cases that must be considered: (1) if A»B or A«B and (2) if A«B. (1) If A»B or A«B then

I' = ' i " S2n + l - " S2nl = l A(X n + l " X n + B < Y n+l ~ Y n+1> I

l δ 2 l - l S 2n+l " S 2n-ll - ~ V >

In this case, if Y n = Ϋ „ n_+.l, it can be shown that

min(|δ |, mi«(B, |A+E ). * ι'' in .

Alternatively, if Y n ~ - Ϋ " n+1 but X n = * n +i' i1 can ® anow P that min(|δ. | , |δ_|) = min(B, A) « * 2

In both cases the minimum are positive if B>0. v

σo = S2_n + S2,_n-i_, = |'A(X„n + Xn) + B(Ϋn+l * + Yn) I'

= A + 2B=3A while Λ l δ θl - l S 2n ~ S 2n-ll = l A ^ ^ »nl = A*

Thus σ Q ~- 3|5 Q |. (Note th

In the more usual case of an a.c. coupled receiver (i.e., the signals are d.c. free), we take X. e (1/2, -1/2}. Then, if A=B and Y R = Ϋ n+1 , then

a l σ θl - l S 2n + S 2n-ll " l A < X n + V + B(Y n+l +

= B=A while l δ l = l S 2n - S 2n-ll - l A ( X n " X n ) l = A

10 Thus Io- I = IδI . (Note that for B=0, σ Q =0.)

As an example of an in phase collision, assume the collision results in the seq ^uence S 2»n-l_. = AX n + BY n, S_ 2n = 15 AX n + BY n ,' S 2_,n+.l _ = AX- n ^ +1. + BY n,,+. ,1 where A>0 is the sig ^nal gain of the first packet and B>0 is the signal gain of the second packet. Then

l δ ll = l S 2n+l " S 2nl = l A ( X n+l " + B ( Y n+l " I

20 l δ 2 l = l S 2n+l " S 2n-ll " l A ( X n+l " X n> + B < Y n+l "Y n I

in this case, if | X R+1 - X - X ≠ | Ϋ n+1 - X then

min(jδ_. |, |δ_|) = min (B, A) 25 1 2 which is >0 if B>0 (if B = 0, the minimum is 0) .

In practice, the relative delay can be arbitrary

(i.e, not a multiple of half the bit period, T/2). However,

30 . . . the methods that are described for collision detection in the two extreme cases will detect collision for arbitrary delay relationships.

35

-15- When two random Manchester encoded, packets * "" collide, the above rules will be violated more than, one half the time (i.e., for random packets half of the bits .will cause collision detector circuit 10 to detect a violation) .

This comes from the fact that for random data the frequency of Ϋ = Y an d the frequency of ■* I X l * " X 2' are bOth 1/2. This ensures that the average time to collision detection will be small. However, to ensure 100% collision detection, the packet preamble is advantageously modified to provide guaranteed violation of the Manchester coding rules. In accordance with the invention, the packet preamble for 100% collision detection comprises three essential fields: a SYNC word (illustratively four data bits long or 400 ' s § 10 Mbps) , a CRV word (four data bits long or 400 ns)* and a Unique word (UW, illustratively 32 data bits long or 3200 ns) . The SYNC pattern is a fixed four bit word, illustratively a Manchester encoding of 1 0 1 0 (encoded: 01 10 01 10) . The CRV pattern is a fixed pattern of eight code bits that violate the invariants of the Manchester code (encoded: 10 11 01 10). Note that it is the desigf of tϊiis pattern that guarantees collision detection. The,last UW pattern is illustratively a 32 bit word that is unique to each transmitter and is Manchester encoded. All portibhs'Of the packet are Manchester encoded except the CRV words which are chosen to deliberately cause the collision .deteqtor to find a violation. The purpose of the unique .word i^ t , cause Manchester coding violations for the"case when the packets arrive with no differentia! delay.' * All O e^ rjfcl'ays are detected by the interference of the CRV word with' properly encoded Manchester bits. '

The CRV pattern is designed to βtbduce a single" * code-rule violation in a legitimate (i.e., ndn-collidirig)" " packet. When two (or more) packets colϊϊde, two 'of Store " code-rule violations will occur. These code ^rul violations are counted by counter 90 and an output signal is prodstfCed

as soon as the count reaches two. It is this event that ensures 100% collision detection. If the packets arrive with nonzero relative delay, the CRV pattern will provide the required violation of the Manchester invariants. In the special case of zero relative delay, the overlapping UW patterns in the two colliding packets will generate the code rule violations that provide for collision detection. In particular, the UW is designed to guarantee a minimum number of code-rule violations and a large average number of opportunities for collision detection.

It is important to note that this method is proven to have 100% collision detection (in the absence of noise) with all choices of relative delay between colliding packets.

In experimental tests performed on a star-coupled fiber optic network, the invention was used to detect collisions between a continuous stream of data from one fiber optic transmitter and an eight bit data packet from a second fiber optic transmitter. The signals from the two transmitters were combined by the star coupler and provided to a fiber optic receiver and collision detector incorporating the present invention. Several experimental runs were performed, each involving the collision of tens of millions of such packets with the continuous data stream. In these runs, there were different losses in the power in both signals and the difference in received signal power between the two signals was as great as 11.3dB. The results revealed no missed collisions and no false collisions.

As will be apparent to those skilled in the art, numerous modifications may be made in the above described method and apparatus that are within the spirit and scope of the invention.