ATM cell detector

Abstract: Method for detecting data packets, such as ATM data cells. The preamble comprises a bit alignment word (AW) and a unique word (UW). Successively, the Hamming distances are calculated from the first detected 1-bit, over a length of AW plus UW, then from the next bit over a length of UW, and finally from the second 1-bit, again over a length of AW plug UW. The position of the first bit of the detected data packet is then calculated on the basis of the hd values thus calculated.

Description: A. BACKGROUND OF THE INVENTION The invention relates to a method for detecting, from a bit stream, data packets such as ATM data cells, in particular where these originate from different sources and are combined into one stream of data packets, each data packet being preceded by a preamble which comprises at least a gap, formed by a number of 0-bits, and a unique word UW, whose reference value is formed by a specific combination of 0-bits and 1-bits and which has a length of b(uw) bits. It is generally known to have data packets preceded by a string of 0-bits ("gap") and a recognition string, the unique word (UW). using windowing of the detected bit stream, the beginning of a new data packet is detected as soon as the bit string within the window corresponds to the specified UW which is known beforehand and stored in the system in which the data packets have to be detected. If this method is to have a sufficiently low error probability, the UW has to be fairly long, which results in the detection thereof being relatively processing-intensive and thus requiring a considerable amount of time. It is also possible to use different synchronisation words, as is disclosed as such -viz. within the area of mobile radio communication- by GB2172176. GB2172176 discloses a method of block synchronisation of data in a mobile radio communication system, said method comprising the steps of: encoding data to be transmitted and forming the encoded data into blocks, adding to the head of said blocked data a block synchronising signal having a plurality of different successive patterns positioned in a prescribed order, and transmitting the blocked data together with said block synchronising signal, followed by the steps of receiving said transmitted data and recognising one of said patterns constituting the block synchronisation signal, and estimating the data start position on the basis of the position of the properly recognised pattern within the block synchronisation signal, and decoding the blocked data beginning from said estimated position as received data. Another method for synchronising, however within the area of ATM, is disclosed by Takahashi Y et al, New retiming and synchronisation scheme for optical ATM switching systems, Electronics Letters, vol.26, no.2, pp. 99-100. In this disclosure a signal format and retiming method for optical ATM switching systems is proposed. An input signal is transformed to an optical signal with a unique word as a guard time for switching. A common optical receiver can be used for bit synchronisation, and logic gates can achieve cell synchronisation using this new optical signal format. B. SUMMARY OF THE INVENTION The object of the present invention is to provide a more rapid method for detecting the beginning of data packets, using "bit alignment words" and calculation of Hamming distances between detected bit strings and reference bit strings ("words"). The method according to the invention is characterised that said unique word UW is preceded by a bit alignment word AW whose reference value is formed by, beginning with a 1-bit, a specific combination of 0-bits and 1-bits and which has a length of b(aw) bits, the following steps being carried out successively for the purpose of detecting a new data packet after following a previous data packet has ended: detect, from the bit stream, the first 1-bit to occur and calculate, for a first detected bit string B(d1), following which begins with that first detected 1-bit and has a length b(d1) equal to the number of bits b(aw) of the reference AW plus the number of bits b(uw) of the reference UW, the Hamming distance hd(1) between that first detected bit string B(d1) and a first reference bit string B(aw+uw) which is equal to the reference AW plus the reference UW; calculate, for a second detected bit string B(d2), which begins with the detected bit, (b(aw)-1) bits after the said detected first 1-bit to occur, and has a length b(d2) equal to the number of bits b(uw) of the reference UW, the Hamming distance hd(2) between that detected bit string B(d2) and a second reference bit string B(uw) which is equal to the reference UW; detect, from the bit stream, the second 1-bit to occur and calculate, for a third detected bit string B(d3), which begins with that second detected 1-bit and has a length b(d3) equal to the number of bits b(aw) of the reference AW plus the number of bits b(uw) of the reference UW, the Hamming distance hd(3) between that third detected bit string B(d3) and the third reference bit string B(aw+uw) which is equal to the reference AW plus the reference UW; calculate the position of the first bit of the new data packet on the basis of one or more of the calculated Hamming distances hd(1), hd(2) and hd(3) according to the following rules, where p is the number of bits of possible further preamble words which follow the said gap, the AW and the UW: if hd(1)=0 or hd(1)=1, then the first bit of the data packet is situated at a distance of b(aw+uw)+p bits after the detected first 1-bit; if hd(2)=0, then the first bit of the data packet is situated at a distance of b(aw+uw)-1+p bits after the detected first 1-bit; if hd(3)=0, then the first bit of the data packet is situated at a distance of b(aw+uw)+p bits after the detected second 1-bit. A system for implementing the abovementioned method according to the invention comprises, in addition to a first and a second bit detector, a pointer unit and a number of computational units for calculating the various abovementioned Hamming distances, as well as a computational unit for calculating, on the basis of those Hamming distances (or status codes derived therefrom) the position of the first bit of the new data packet to be detected. The invention is expounded hereinafter with reference to a specific embodiment of a system according to the invention. C. REFERENCES None D. WORKING EXAMPLES FIGURE 1 shows a bit string with a first and a second ATM data cell, and also shows, the preamble of the second data cell - situated between the two data cells. FIGURE 2 shows in diagrammatic form a system according to the invention. Tables 1, 2 and 3 show, for a first example and in tabular form, the results of the three abovementioned processing steps. Tables 4, 5 and 6 show such results for a second example, Tables 7, 8 and 9 for a third example and Tables 10, 11 and 12 for a fourth example. Table 13 shows an overview with preferred values for the AW and the UW. FIGURE 1 shows a first and a second ATM data cell such as those which can be observed, for example, in a local network centre to which various subscribers are connected. The first data cell (on the left in the FIGURE) originates, for example, from a first subscriber, the second data cell from a second subscriber. Owing to propagation time differences due to different distances from the subscribers to the network centre, the possibility that data cells originating from different sources (subscribers) follow one another with an unknown waiting time should be taken into account. For that reason, each data cell is preceded by a gap with an unknown number of 0-bits. As the number of 0-bits is not known beforehand, the beginning of the following data cell has to be detected, to which end use is normally made of an identification string, the unique word UW, consisting of 1-bits and 0-bits. Together with possible further bit words, such as the MAC field shown (whose function will not be discussed here in further detail), the gap and the unique word form the so-called preamble of the ATM data cell. The identification of a new data cell with the aid of a unique word only (by means of, for example, a "jumping window" or a "moving window" having the same bit length as the unique word, the contents of the window being compared with the reference value of the unique word) is rather laborious in practice. The method according to the invention offers a better alternative in this respect. According to the invention, the preamble which precedes the unique word comprises a bit alignment word (of, for example, from 2 to 4 bits). The data cell detection process is carried out in accordance with the abovementioned processing steps. These steps are carried out by a system which is depicted diagrammatically in FIGURE 2. First processing step The first 1-bit of the bit stream to be examined is detected in detector 1. The bit string B(d1) following thereafter and having a length which is equal to the bit length of the alignment word AW, b(aw), and the unique word UW, b(uw), is compared, by a processor 2, with a reference string stored in that processor, equal to the AW plus the UW, and the processor 2 calculates the Hamming distance hd(1) between those two. If hd(1)=0 or =1 (i.e. in no position or only in one position was a difference in the bit value detected), a status code "in-synchronization" (IS) is output to a decision processor 7. If hd(1) is greater than 1, a status code "out-synchronization" (OS) is output. All this is illustrated in Table 1. In that table, as in the remaining tables, differences in bit value (bit errors) are underlined. The first line in Table 1 shows a detected bit stream (after the end of a previous data packet - consisting of a gap of 8 0-bits, an AW "1100" and a UW "10101". In this case, as can be seen, both the detected gap and the detected AW and UW are correct (the detected value of AW and UW is equal to the reference value of AW and UW). In processor 2, a first bit string B(d1) is determined which is formed by the x bits following the first 1-bit detected by detector 1 (in this case the first 1-bit of the AW), where x is equal to the length of the reference AW plus the length of the reference UW, in other words x=b(aw)+b(uw); this bit string is shown in the fourth column. The bit string B(d1) is then compared, in processor 2, with a bit string B(aw+uw) which is formed by the reference AW plus the reference UW, and the number of mutual bit errors, the Hamming distance, between those two bit strings B(d1) and B(aw+uw) is determined. Since, in the situation of line 1 of Table 1, there are no bit differences between B(d1) (="110010101") and B(aw+uw) (="1100"+"10101"), the Hamming distance is hd(1)=0; processor 2 outputs a code "in-synchronization". The further system is now able to calculate the first bit of the MAC field (see FIGURE 1) or, given the fixed length of that MAC field (and possible further preamble fields), of the data cell as such and can read out the contents of that data cell. In lines 2 to 9 inclusive of Table 1, situations are illustrated where one of the bits of the detected AW or UW deviates from the reference AW and the reference UW. In each of the cases shown, however, the first 1-bit of the AW is correct, as a result of which the bit string B(d1) is in fact the same bit string as in the example of line 1, a bit error, however, existing at one position in that bit string B(d1). Owing to that one bit error, in all those cases of lines 2 to 9 inclusive, the Hamming distance, compared with B(aw+uw) (="1100"+"10101"), is hd(1)=1, resulting in an "in-synchronization" status code. In these cases, the data cell will begin at the same position as in the case (line 1) where zero errors had occurred (hd(1)=0) in the detected AW and UW, namely x bits further along than the first detected 1-bit plus the number of bits which, after the AW and the UW, still forms part of the preamble (such as the MAC field shown in FIGURE 1). The situation changes in the case of line 10 and the following. In the case of line 10, the first 1-bit of the detected AW has become a 0-bit, for example owing to a transmission error. As a result, the first detected 1-bit has a different position, namely the next 1-bit in the detected AW at the second bit position thereof. Consequently, bit string B(d1) attains a value which deviates completely from the reference bit string B(aw+uw): a Hamming distance hd(1) of at least 6 and therefore an "out-synchronization" status code is the result. Given this status code, it is not possible to establish the beginning of the data cell; to this end, further units 3 and 4 have to be called upon, whose mode of operation is illustrated in Table 2. In the lines 11 and following, one of the 0-bits of the GAP has been changed into a 1-bit which likewise results in an hd(1) of greater than 1 and an "out-synchronization" status code. It should be noted that the designations "in-synchronization" and "out-synchronization" do not per se have any greater significance for the present system than the two possible values of an (auxiliary) status code on the basis of which, in the decision processor 7, the beginning of the data cell is calculated; hereinafter, those values will be designated, in abbreviated form, by "IS" and "OS", respectively. Second processing step Line 10 of Table 1 (and of Table 2 and Table 3) represents the situation where the first bit of the detected AW has changed to a 0-bit. Since it is not the number of GAP bits which is used as a detection means for detecting the AW - said number of GAP bits is not reliable because of, as stated above, the propagation time differences of the various data cells - but instead, the first 1-bit, the change of the 1-bit into a 0-bit in processor 2 has the result that the beginning of the data cell cannot be calculated. The units 3 and 4, however, eliminate this problem in the following manner (see Table 2). A pointer unit 3 determines the beginning of a second bit string B(d2) from the bit stream. That bit string B(d2) begins with the y-th bit after the first detected 1-bit (detected by detector 1), y being equal to the length in bits of the reference AW, decremented by 1: y=b(aw)-1. In the present example, the reference value of AW is "1100", and the value for y is thus (4-1)=3. As Table 2, line 10 shows, the bit string B(d2) to be examined therefore begins with the third bit after the first detected 1-bit (owing to the error which has occurred, in this case, therefore, the second bit of the AW). B(d2) has a length which is equal to the number of bits making up the reference UW, thus in this case 5 bits. B(d2) is then compared with a bit string B(uw) which is equal to the UW, and from this the Hamming distance hd(2) is calculated. The result is a status code IS if hd(2)=0, and in all other cases a status code OS. It can be seen in the table that for all other (single) bit errors in the bit stream hd(2)>0. Third processing step As can be seen from the above, bit errors in the gap (as depicted in lines 11 to 18 inclusive) (in Tables 1 to 3 inclusive) have such an effect on the Hamming distance calculated by the units 2 and 4 and on the output status codes that the beginning of the data cell cannot be calculated. The elimination of this effect is achieved by a processor 6, together with a detection unit 5, whose mode of operation is illustrated in Table 3. In detection unit 5, the first 1-bit is detected which follows the first 1-bit detected in detection unit 1; the 1-bit detected in unit 5 is therefore the second 1-bit in the bit string (GAP)+(AW)+(UW) to be examined. Starting from that second 1-bit, a third bit string B(d3) having a length x=b(aw)+b(uw) is defined which, as in the first processing step, is compared with a reference string B(aw+uw) which consists of the reference AW plus the reference UW. In Table 3, the result is shown: the first 10 lines (single bit errors in the (AW) and (UW) portion of the detected bit stream) give a large Hamming distance (hd(3)) and an OS status code; the lines 11 to 18 inclusive, however, in this case give a Hamming distance of 0, and IS as the status code. The beginning of the data cell x is situated x bits further along than the second 1-bit detected by unit 5 plus the number of bits of the MAC field (and possible further preamble fields). In Tables 4 to 12 inclusive, the three processing steps are carried out in the same way as those discussed above, but with different reference values for the AW and the UW: Table Ref. AW Ref. UW Proc. step Units 1 1100 10101 1 1-2 2 1100 10101 2 3-4 3 1100 10101 3 5-6 4 1100 0101 1 1-2 5 1100 0101 2 3-4 6 1100 0101 3 5-6 7 1100 010 1 1-2 8 1100 010 2 3-4 9 1100 010 3 5-6 10 11 010 1 1-2 11 11 010 2 3-4 12 11 010 3 5-6 The decision processor 7 calculates, on the basis of the status codes resulting from the processing steps 1, 2 and 3 (or directly from the values for hd(1), hd(2) and hd(3)) the beginning of the data cell as was stated above, namely if hd(1)=0 or hd(1)=1 (status code IS), then the first bit of the data packet is situated at a distance of b(aw+uw)+p bits after the detected first 1-bit; if hd(2)=0 (status code IS), then the first bit of the data packet is situated at a distance of b(aw+uw)-1+p bits after the detected first 1-bit; if hd(3)=0 (status code IS), then the first bit of the data packet is situated at a distance of b(aw+uw)+p bits after the detected second 1-bit; and transmits that calculated position to the rest of the system, so that the contents of the data cell (and of the rest of the preamble, of which the number of bits is represented by p) can be read out. Finally, Table 13 shows a number of AW and UW reference values which - as simulations show - are eminently suitable for the present object.

Claims: Method for detecting, from a bit stream, data packets such as ATM data cells, in particular where these originate from different sources and are combined into one stream of data packets, each data packet being preceded by a preamble which comprises at least a gap, formed by a number of 0-bits, and a unique word UW, whose reference value is formed by a specific combination of 0-bits and 1-bits and which has a length of b(uw) bits, CHARACTERIZED IN that the UW is preceded by a bit alignment word AW whose reference value is formed by, beginning with a 1-bit, a specific combination of 0-bits and 1-bits and which has a length of b(aw) bits, the following steps being carried out successively for the purpose of detecting a new data packet after a previous data packet has ended: detect, from the bit stream, the first 1-bit to occur and calculate, for a first detected bit string B(d1), which begins with that first detected 1-bit and has a length b(d1) equal to the number of bits b(aw) of the reference AW plus the number of bits b(uw) of the reference UW, the Hamming distance hd(1) between that first detected bit string B(d1) and a first reference bit string B(aw+uw) which is equal to the reference AW plus the reference UW; calculate, for a second detected bit string B(d2), which begins with the detected bit, (b(aw)-1) bits after the said detected first 1-bit to occur, and has a length b(d2) equal to the number of bits b(uw) of the reference UW, the Hamming distance hd(2) between that detected bit string B(d2) and a second reference bit string B(uw) which is equal to the reference UW; detect, from the bit stream, the second 1-bit to occur and calculate, for a third detected bit string B(d3), which begins with that second detected 1-bit and has a length b(d3) equal to the number of bits b(aw) of the reference AW plus the number of bits b(uw) of the reference UW, the Hamming distance hd(3) between that third detected bit string B(d3) and the third reference bit string B(aw+uw) which is equal to the reference AW plus the reference UW; calculate the position of the first bit of the new data packet on the basis of one or more of the calculated Hamming distances hd(1), hd(2) and hd(3) according to the following rules, where p is the number of bits of possible further preamble words which follow the said gap, the AW and the UW: if hd(1)=0 or hd(1)=1, then the first bit of the data packet is situated at a distance of b(aw+uw)+p bits after the detected first 1-bit; if hd(2)=0, then the first bit of the data packet is situated at a distance of b(aw+uw)-1+p bits after the detected first 1-bit; if hd(3)=0, then the first bit of the data packet is situated at a distance of b(aw+uw)+p bits after the detected second 1-bit. System for detecting, from a bit stream, data packets such as ATM data cells, each data packet being preceded by a preamble which comprises at least a gap, formed by a number of 0-bits, and a unique word UW, whose reference value is formed by a specific combination of 0-bits and 1-bits and which has a length of b(uw) bits, CHARACTERIZED IN THAT the UW is preceded by a bit alignment word AW whose reference value is formed by, beginning with a 1-bit, a specific combination of 0-bits and 1-bits and which has a length of b(aw) bits, which system, for the purpose of detecting a subsequent data packet after a first data packet has ended, comprises the following units; a first detection unit (1) for detecting, from the said bit stream, the first 1-bit after the said first data packet has ended; a first computation unit (2) for calculating, for a first detected bit string B(d1), which begins with the first 1-bit detected by the first detection unit and has a length b(d1) equal to the number of bits b(aw) of the reference AW plus the number of bits b(uw) of the reference UW, the Hamming distance hd(1) between that first detected bit string B(d1) and a first reference bit string B(aw+uw) which is equal to the reference AW plus the reference UW; a pointer unit (3) for indicating the (b(aw)-1)th bit after the detected 1-bit; a second computational unit (4) for calculating, for a second detected bit string B(d2), which begins with the bit indicated by the pointer unit, (b(aw)-1) bits after the first 1-bit detected by the first detection unit, and which has a length b(d2) equal to the number of bits b(uw) of the reference UW, the Hamming distance hd(2) between that detected bit string B(d2) and a second reference bit string B(uw) which is equal to the reference UW; a second detection unit (5) for detecting the second 1-bit in the bit stream, after the said first data packet has ended; a third computational unit (6) for calculating, for a third detected bit string B(d3) which begins with that second 1-bit detected by the second detection unit and has a length b(d3) equal to the number of bits b(aw) of the reference AW plus the number of bits b(uw) of the reference UW, the Hamming distance hd(3) between that third detected bit string B(d3) and the third reference bit string B(aw+uw) which is equal to the reference AW plus the reference UW; a fourth computational unit (7) for calculating the position of the first bit of the said following data packet on the basis of one or more of the Hamming distances hd(1), hd(2) and hd(3) calculated by one or more of the said computational units according to the following rules, where p is the number of bits of possible further preamble words which follow the said gap, the AW and the UW: if hd(1)=0 or hd(1)=1, then the first bit of the data packet is situated at a distance of b(aw+uw)+p bits after the detected first 1-bit; if hd(2)=0, then the first bit of the data packet is situated at a distance of b(aw+uw)-1+p bits after the detected first 1-bit; if hd(3)=0, then the first bit of the data packet is situated at a distance of b(aw+uw)+p bits after the detected second 1-bit.

Inventors: ASGARI HAMIDREZA, ASGARI, HAMIDREZA
Applicants: KONINKL KPN NV, KONINKLIJKE KPN N.V.
Application year: 1994
Main classification: H04L7
IPC codes: H04L12, H04Q3, H04L7