Abstract:
Method and system for determining varying widths of each of a sequence of signal components (marks and spaces) in an incoming digital signal stream and for indicating which mark widths and which space widths fall outside acceptable ranges. A pre-mark and pre-space are added to the front end of the recieved stream for alignment purposes. The width of each signal component (mark or space) is determined and compared with an acceptable range of mark widths or space widths. Each mark or space that lies outside an acceptable range has an indicium associated with this mark or space, indicating this non-compliance. The modified digital signal stream, including the indicia, is re-issued after a selected time delay for subsequent signal processing. A method for measurement or estimation of mark width and space width is presented.

Description:
FIELD OF THE INVENTION 
     This invention relates to detection of “mark” and “space” widths in an incoming digital signal stream. 
     BACKGROUND OF THE INVENTION 
     When a digital signal stream is being received, the temporal width of each mark values (high states or “1”) and the temporal width of each space value (low state or “0”) can vary within an acceptable range, or may sometimes have a width outside the acceptable range, such as w 1 ≦w≦w 2 . Where a mark width or a space width lies within the corresponding acceptable range, a digital signal processing device can recognize and properly process that mark or space. However, a mark width (or space width) that is too large or too small, and thus lies outside an acceptable range, must be promptly detected. 
     What is needed is a system and method for examining a stream of digital signal marks and spaces sequentially and for quickly recognizing a mark or a space (referred to as a digital signal stream “component”) that has a width w that is smaller than a first value w 1 , or that is greater than a second value w 2 , and for promptly associating an indicium with this component that indicates that the width of this component lies outside the corresponding acceptable range. 
     SUMMARY OF THE INVENTION 
     These needs are met by the invention, which provides a system and method for off-line examination of mark widths and space widths and for association of a selected indicium with every stream component having a width w that lies outside a permissible range, such as w 1 ≦w≦w 2 . This examination process requires only a small, constant time delay, related to the relative sizes of the width values w 1  and w 2 , so that processing of the resulting (compensated) digital signal occurs uninterrupted, apart from this small, constant time delay. The digital signal stream is divided into groups of consecutive marks and consecutive spaces, and each group of consecutive marks or consecutive spaces is examined in turn. This allows the width examination process within each group to proceed without requiring separate and time-consuming identification of each incoming signal component as a mark or a space. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 illustrates a portion of a representative digital signal stream s(t), defined by a sequence of marks and spaces, versus time. 
     FIG. 2 illustrates a sequence of five component aggregations (FM, FS, MK, PS, PM) that are used in practicing the invention. 
     FIG. 3 is a schematic view of apparatus suitable for practicing the invention. 
     FIG. 4 is a flow chart illustrating a procedure for practicing the invention. 
    
    
     DESCRIPTION OF THE INVENTION 
     FIG. 1 illustrates graphically a portion of a representative sequence or stream of marks (each a consecutive group of one or more symbols having a first value, such as “1”) and spaces (each a consecutive group of one or more symbols having a second, distinct value, such as “0”) for an incoming digital signal s(t). The temporal width w of each separate mark and of each separate space will normally lie in a range w 1,x ≦w≦w 2,x , where w 1,x  and w 2,x  are selected minimum and maximum widths, respectively (x=m for mark; x=s for space). In one format, w 1,x  and w 2,x  are optionally chosen to be 3T and 11T, respectively, for both the mark and the space, where T is a selected clock interval length in the range of 1-1000 nanoseconds (nsec). T is fixed for a given process but may be adjusted from one process to another. However, any two reasonable positive values w 1,x  and w 2,x  satisfying w 1,x &lt;w 2,x  may be used here. The values w 1,m  and w 1,s , and also the values w 2,m  and w 2,s , need not be the same, but the analysis is more convenient if these pairs of range values are identical. Interest centers on which mark widths w m  and which space widths ws do not satisfy the relations 
     
       
           w   1,x   ≦w   x   ≦w   2,x  ( x=m,s ).  (1) 
       
     
     The widths of five consecutive groups of components (individual marks and spaces) of the digital signal sequence s(t), referred to as FM (pre-mark), FS (pre-space), MK (current mark), PS (post-space) and PM (post-mark), as illustrated in FIG. 2, are examined here. The first real signal component in the actual digital signal stream is assumed to be a mark. The first mark in the initial sequence is a fictitious initial pre-mark FM( 0 ), having a mark width, w(FM; 0 ), that lies within the accepted range of mark widths. The first space in this initial sequence is a fictitious initial pre-space FS( 0 ), having a width, w(FS; 0 ), that lies in the accepted range of space widths. The second mark in this initial sequence (the first mark in the real digital signal stream) is an initial current mark MK( 0 ), which may have a varying mark width w(MK; 0 ). The second space in this initial sequence (the first space in the real digital signal stream) is an initial post-space PS( 0 ), which may have a varying space width w(PS; 0 ). The third mark in this initial sequence (the second mark in the real digital signal stream) is an initial post-mark PM( 0 ), which may have a varying mark width w(PM; 0 ). The last signal component in the actual digital signal stream can be a mark or a space. 
     This initial sequence FM/FS/MK/PS/PM is received by a time delay module TDM  11 , by a mark/space discriminator (MSD) module  13 , shown in FIG.  3 . The TDM  11  receives an incoming digital signal s(t) and reproduces this signal with a selected time delay Δt d , issuing a time delayed signal s(t−Δt d ) as shown. The MSD  13  receives the signal s(t), aligns the components, reproduces each mark component, sends each mark component to a mark width measuring module MWMM  15 , reproduces each space component, and sends each space component to a space width measuring module SWMM  17 , as shown. 
     The mark width measuring module MWMM  15  receives the sequence of mark components from the incoming signal s(t), sequentially measures or estimates the width of each mark component in the signal s(t), and issues a sequence of mark width indicia MWI={MI 1 , MI 2 , MI 3 , . . . }, representing the ordered sequence of mark widths. In a first version, the mark width indicia distinguish between mark components whose widths are too small (w&lt;w 1,m ), mark components whose widths are too large (w&gt;w 2,m ) and mark components whose widths are in an acceptable range (w 1,m ≦w≦W 2,m ). In another version, the mark width indicia distinguish between mark components that are outside an acceptable range (w&lt;w 1m  or w&gt;w 2,m ) and mark widths that are within an acceptable range w 1,m ≦w≦w 2,m ). In another version, the mark width indicia represent the measured or estimated mark widths themselves. 
     The space width measuring module SWMM  17  receives the sequence of space components from the incoming signal s(t), sequentially measures or estimates the width of each space component in the signal s(t), and issues a sequence of space width indicia SWI={SI 1 , SI 2 , SI 3 , . . . . }, representing the ordered sequence of space widths. In a first version, the space width indicia distinguish between space components whose widths are too small (w&lt;w 1,S ), space components whose widths are too large (w&gt;w 2,S ) and space components whose widths are in an acceptable range (w 1,S ≦w≦w 2,S ). In a second version, the space width indicia distinguish between space components that are outside an acceptable range (w&lt;w 1,s  or w&gt;w 2,s ) and space widths that are within an acceptable range w 1,s ≦w≦w 2,s ). In another version, the space width indicia represent the measured or estimated space widths themselves. 
     Each mark in the time delayed signal s(t−Δt d ) that has a measured or estimated mark length outside an acceptable mark width range has a selected mark indicium associated with it. Each space in the time delayed signal s(t−Δt d ) that has a measured or estimated space length outside an acceptable space width range has a selected space indicium associated with it. The time delayed signal s(t−Δt d ) and the two sequences MWI and SWI are associated with each other as a collective signal S(t;MI;SI) in any subsequent processing of the time delayed signal s(t−Δt d ) so that out-of bound mark widths and/or out-of-bound space widths are tagged. 
     Optionally, the MWMM  15  and the SWMM  17  can be combined into a mark/space width measuring module, MSWMM, if desired. After the mark widths and space widths are measured, each of the MWMM  15  and SWMM  17  behaves as a FIFO in which the oldest mark or space is removed at a first end and is replaced by a newly arriving mark or space at a second end. 
     The width of the initial current mark, w(MK; 0 ), is measured or estimated by the MWMM  15 , using any suitable measuring or estimating procedure, including one that is discussed in the following. The initial pre-mark FM( 0 ) and the initial pre-space FS( 0 ) together serve as a preamble to aid in alignment of the initial current mark MK( 0 ) and to enhance the accuracy of the measurement or estimation of the current mark width. Any other reasonable approach can be used for mark and space alignment. The width of the initial current mark MK( 0 ) is measured or estimated and compared against the acceptable range of mark widths. The SWMM  17  measures or estimates the width of the initial post-space PS( 0 ) and compares this width with the acceptable range of space widths. The first mark FM( 0 ) and first space FS( 0 ) in the initial sequence are then passed on as part of, or preferably removed from, the digital stream that passes through the MWMM  15  and the SWMM  17 . 
     At this point, the digital signal sequence s(t) has moved through the MWMM  15  and SWMM  17  to a point where: (1) the initial current mark MK( 0 ) occupies the former location of the initial pre-mark FM( 0 ); (2) the initial post-space PS( 0 ) occupies the former location of the initial pre-space FS( 0 ); (3) the initial post-mark PM( 0 ) occupies the former location of the initial current mark MK( 0 ); (4) the next post-space PS( 1 ) occupies the former location of the initial post-space PS( 0 ); and (5) the next post-mark PM( 1 ) occupies the former location of the initial post-mark PM( 0 ). In effect, the component groups FM(i), FS(i), MK(i), PS(i), PM(i) move forward by two each time. This is illustrated in the following sequence diagram, where i=0, 1, 2, . . . , I(last): 
     
       
         
               
               
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 FM(i) 
                   
                   
               
               
                   
                 FS(i) 
               
               
                   
                 MK(i) 
                 → 
                 FM(i+1) 
               
               
                   
                 PS(i) 
                 → 
                 FS(i+1) 
               
               
                   
                 PM(i) 
                 → 
                 MK(i+1) 
               
               
                   
                   
                   
                 PS(i+1) 
               
               
                   
                   
                   
                 PM(i+1) 
               
               
                   
                   
               
             
          
         
       
     
     This diagram displays how each sub-sequence of five component groups FM(i), FS(i), MK(i), PS(i), PM(i) is replaced by another sub-sequence of five component groups FM(i+1), FS(i+1), MK(i+1), PS(i+1), PM(i+1) as the digital signal sequence moves through the TDM  11 . The relationship of the width w(MK;i) (i=0, 1, . . . , I(last)) of each consecutive mark to the acceptable range of mark widths is noted. The relationship of the width w(PS;i) (i=0, 1, . . . , I(last)−1 or I(last)) of each consecutive space to the acceptable range of space widths is noted. The last post-mark PM(i=I(last)) and/or the last post-space PS(i=I(last)−1 or I(last)) in a sub-sequence of consecutive components (mark or space) in the digital signal stream will be followed by an end-of-stream indicium (preferably part of the stream), and this last sub-sequence can be processed by the MWMM  13  and/or SWMM  15  in the same manner as the preceding sub-sequences are processed. 
     When the digital signal stream s(t−Δt d ) emerges, component-by-component, from the TDM  11  after a selected time delay of Δt d , a computer connected to the MWMM  15  and/or to the SWMM  17  is now aware of which mark widths w(MK;i) and which space widths w(PS;i) lie outside the accepted ranges. Appropriate action can be taken, if desired, to provide compensation for the mark widths and/or the space widths that lie outside the respective acceptable ranges set forth in the constraint ( 1 ). The selected time delay Δt d  may be any time value in a range (10·T-100·T), such as 45T, sufficient to allow the MWMM  15  and SWMM  17  to perform the mark width and/or space width measurement or estimation procedure on a current mark group MK(i) of maximal length and/or on a post-space group PS(i) of maximal length. 
     FIG. 4 is a flow chart illustrating a procedure for practicing the invention. In step  21 , a digital signal stream s(t) is received at a MSD. In step  23 , a fictitious pre-mark FM( 0 ) and a fictitious pre-space FS( 0 ) are positioned at the beginning of the stream s(t). In step  25 , a (real) current mark FM(i) (initially with i= 0 ) is identified. In step  27 , the width of each mark in the component group MK(i) is measured or estimated, each mark width w(mark) is compared with a corresponding acceptable range of mark widths, and an indicium is associated with each mark width that lies outside the accepted range of mark widths (or, alternatively, lies within the accepted range of mark widths). 
     In step  29 , the system identifies the next post-space group PS(i), measures or estimates the width w(space) of each space in PS(i), compares each space width with the acceptable space width range, and associates an indicium with each space in PS(i) that lies outside the acceptable range of space widths (or, alternatively, lies within the accepted range of space widths). In step  31 , the system determines if the post-space group PS(i) includes an end-of-stream indicium. 
     If the answer to the question in step  31  is “yes”, the procedure terminates, in step  33 . If the answer to the question in step  31  is “no”, the system moves to step  35  and identifies the next post-mark group PM(i) (initially, with i=0). In step  37 , the system determines if the post-mark group PM(i) includes an end-of-stream indicium. 
     If the answer to the question in step  37  is “yes”, the procedure terminates, in step  39 . If the answer to the question in step  37  is “no”, the system increments i (i→i+1) in step  38 , and returns to step  27  at least once, with PM(i) now becoming MK(i+1). 
     Optionally, the pre-mark and pre-space can be removed or can be left in place for alignment or synchronization. 
     The width of a consecutive run of marks, or of a consecutive run of spaces, proceeds as follows in one embodiment. A clock, having a value C(t) at any time t, switches from a first state (“A” or “ 0 ”) to a second state (“B” or “1”) and back to state A with a selected uniform period T(CLK). Presence of a mark in the digital signal stream is represented by a value efm(t)=1, and presence of a space is represented by a value efin(t)=0, and a particular value efin(tn) is determined for each time t=t n  corresponding to a transition of the clock from state A to state B (or from state B to state A). This produces a digital signal stream of values {efm(t n )} in a well known manner. 
     The digital signal stream {efm(t n )} (n=1, 2, 3, . . . ) appears as a sequence of symbols (each of value 0 or 1) of varying width. Consider two consecutive symbols, efm(t n−1 ) and efm(t n ). Initially, efin(t n−1 )=0 and efm(t n )=0 is a possibility, and the system continues until a “1” is first encountered. If efin(t n−1 )=0 but efm(t n )=1, a count is begun of the marks. This count continues as long as efm(t n−1 )=efm(t n )=1. When two consecutive symbols are first encountered for which efm(t n−1 )=1 and efm(t n )=0, the mark count is terminated. If, at this point, the number of consecutive marks counted is greater than 11·T, the mark count is (re)set to 11·T. If the number of consecutive marks is less than 3·T, the mark count is (re)set to 3·T. If the number of consecutive marks is between 3·T and 11·T, the actual number of marks is used. These constraints can be covered by one of the following two relations: 
     
       
         Mark count used=min{ T (max), max{ T (min), actual mark count}} 
       
     
     and 
     
       
         Mark count used=max{ T (min), max{ T (max), actual mark count}} 
       
     
     where T(min)=3·T and T(max)=11·T; or some other pair of desired time interval values, T(min) and T(max), can be used. The system takes the actions set forth in Table 1 for mark counting, based on the symbol values of two consecutive symbols. 
     
       
         
               
             
               
               
               
               
             
           
               
                 TABLE 1 
               
             
             
               
                   
               
               
                 Mark Count Actions 
               
             
          
           
               
                   
                 efm(t n−1 ) 
                 efm(t n ) 
                 Action(s) Taken 
               
               
                   
                   
               
               
                   
                 0 
                 0 
                 Initial condition (only); continue 
               
               
                   
                 0 
                 1 
                 Begin mark count 
               
               
                   
                 1 
                 1 
                 Continue mark count 
               
               
                   
                 1 
                 0 
                 Terminate mark count 
               
               
                   
                   
               
             
          
         
       
     
     The (consecutive) space count proceeds according to a similar procedure, as set forth in Table 2. 
     
       
         
               
             
               
               
               
               
             
           
               
                 TABLE 2 
               
             
             
               
                   
               
               
                 Space Count Actions 
               
             
          
           
               
                   
                 efm(t n−1 ) 
                 efm(t n ) 
                 Action(s) Taken 
               
               
                   
                   
               
               
                   
                 0 
                 0 
                 Initial condition (only); continue until 
               
               
                   
                   
                   
                 first “1” is encountered 
               
               
                   
                 1 
                 0 
                 Begin space count 
               
               
                   
                 0 
                 0 
                 Continue space count 
               
               
                   
                 0 
                 1 
                 Terminate space count 
               
               
                   
                   
               
             
          
         
       
     
     The space count used is defined, by analogy with the mark count used, according to one of the following two relations: 
     
       
         Space count used=min{ T (max), max{ T (min), actual space count}} 
       
     
     and 
     
       
         Space count used=max{ T (min), max{ T (max), actual space count}}. 
       
     
     The invention provides a system and method for examining an incoming stream of digital signal marks and spaces and for promptly detecting a mark width or space width that lies outside an acceptable width range. This approach requires a relatively small, uniform time delay for this purpose, and the acceptable range of widths can be specified by any reasonable numbers. This approach does not require a time-consuming identification of each incoming signal component as a mark or space.