Abstract:
Digital data is transmitted in a block-based hyperframe that consists of N frames. Each frame carries multiplexed data from one or more user data channels and a control channel. Control channel information is unequally allocated among the N frames, the amount of information carried in each frame varying according to the frame&#39;s position in the hyperframe. All of the user data channels except one carry a predetermined number of transmission units in each frame. The excepted user data channel carries a calculated amount needed to round out the particular frame. Following multiplexing, a block encoder defines the frames and adds error detection or error correction information. The number of frames per hyperframe and the total number of transmission units for the control channel are available to a receiver, which can then demultiplex the hyperframe.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application claims the benefit of U.S. Provisional Patent Application No. 60/557,803, filed Mar. 29 2004, which is incorporated herein by reference. 
     
    
     BACKGROUND OF THE INVENTION  
       [0002]     1. Field of the Invention  
         [0003]     This invention relates generally to high-speed digital communication systems. More particularly, this invention relates to a method and apparatus for flexible allocation of overhead rate in communications systems using a block-based framing structure.  
         [0004]     2. Description of the Related Art  
         [0005]     The meanings of acronyms and certain terminology used herein are given in Table 1.  
                           TABLE 1                                       ADSL   Asymmetric Digital Subscriber Line           ATM   Asynchronous Transfer Mode           DMT   Discrete Multitone Modulation           FDF   Forward Error Correction Data Frame           FEC   Forward Error Correction           FEQ   Frequency Domain Equalizer           FFT   Fast Fourier Transform           IFFT   Inverse Fast Fourier Transform           PCM   Pulse Code Modulation           QAM   Quadrature Amplitude Modulation           RS   Reed-Solomon           SNR   Signal-to-noise ratio           VDSL   Very High Speed Digital Subscriber Line           MDF   Multiplexer Data Frame           STM   Synchronous Transport Module                      
 
         [0006]     Discrete multitone (DMT) modulation is used in many types of data communication systems, among them multicarrier, very high speed digital subscriber line (VDSL) modems, as well as asymmetric digital subscriber line (ADSL). In these systems, N tones or subcarriers are modulated by quadrature amplitude modulation (QAM) two-dimensional input frequency-domain symbols. A 2N-point inverse fast Fourier transform (IFFT) then produces a corresponding time-domain symbol, expressed as a real baseband time-domain output signal of 2N real samples in each symbol period. At the receiving side, 2N samples are extracted from the time-domain signal during each symbol period. A fast Fourier transform (FFT) is used to demodulate the signal and recover the original QAM symbols on the N tones.  
         [0007]     For example, ADSL uses 256 or 512 tones in a downlink. ADSL standards are described in further detail, for example, in the document, ITU-T Recommendation G.992.3, entitled Series G:  Transmission Systems and Media, Digital Systems and Networks; Digital Sections,  which is herein incorporated by reference.  
         [0008]     A frame is typically a set of octets or other basic units, which is constructed by multiplexing different data bearers and overhead data in a predefined manner. A frame may be transmitted in one DMT symbol, or may span several symbols. Constraints imposed by conventional framing structures hamper the maintenance of fine control of the rate of information transmission on the control channel.  
       SUMMARY OF THE INVENTION  
       [0009]     According to a disclosed embodiment of the invention an improved framing structure is provided that allows for improved fine control over the bandwidth assigned for over-head channels. In alternate embodiments, the framing structure also enables flexible user data allocation.  
         [0010]     The framing structure is a block-based hyper-frame that consists of one or more frames. Each of the frames carries multiplexed data from one or more user data channels and a control channel. The allocation of control channel information among the frames is related to the total number of octets, or other basic transmission units, that are required to be transmitted in a hyperframe. This total is unequally allocated among the frames, varying in each frame according to the frame&#39;s position in the hyperframe. All of the user data channels except one carry a predetermined number of transmission units in each frame. The excepted user data channel carries a calculated amount of information that is needed to round out the particular frame. Following multiplexing a block encoder defines a hyperframe, and adds error detection or error correction information. The number of frames per hyperframe and the total number of transmission units for the control channel are available to a receiver, which can then demultiplex the hyper-frame.  
         [0011]     The invention provides a method of digital communication by transmitting multiplexed user data from user data channels and control data from a control channel, which is carried out by assigning a first number of basic transmission units to the control channel, assigning, responsively to the first number, a second number of the basic transmission units to a selected one of the user data channels, and assigning respective third numbers of the basic transmission units to all other user data channels. The method is further carried out by multiplexing the first number of the basic transmission units of the control channel, the second number of the basic transmission units of the user data channels, and the third numbers of the basic transmission units of the user data channels to define a first data frame. Using new control data from the control channel and new user data from the user data channels, the steps of assigning a first number, assigning a second number, and multiplexing are repeated to define one or more second data frames. The first data frame and the second data frames are transmitted to a receiver.  
         [0012]     According to one aspect of the method, the first number of the first data frame differs from the first number of the second data frame.  
         [0013]     A further aspect of the method assigning a first number includes assigning a total number of the basic transmission units from the control channel to be transmitted in a hyperframe, and allocating the total number unequally among the first data frame and the second data frame.  
         [0014]     According to another aspect of the method, the first data frame and the second data frame each have a respective index in a hyperframe, and the first number of the first data frame and the first number of the second data frame are calculated according to the respective index thereof.  
         [0015]     According to yet another aspect of the method, the second number depends on the first number.  
         [0016]     According to still another aspect of the method, the selected one of the user data channels has a highest index number among the user data channels.  
         [0017]     According to an additional aspect of the method, the selected one of the user data channels has a lowest index number among the user data channels.  
         [0018]     According to one aspect of the method, the basic transmission units are octets.  
         [0019]     The invention provides a transmission apparatus for transmitting multiplexed user data from user data channels and control data from a control channel, including a multiplexer, operative to perform the steps of assigning a first number of basic transmission units to the control channel, assigning, responsively to the first number, a second number of the basic transmission units to a selected one of the user data channels, assigning respective third numbers of the basic transmission units to all others of the user data channels. The multiplexer is operative to multiplex the first number of the basic transmission units of the control channel, the second number of the basic transmission units of the user data channels, and the third numbers of the basic transmission units of the user data channels to define a first data frame. Using new control data from the control channel and new user data from the user data channels, the multiplexer is operative for repeatedly assigning the first number, assigning the second number, and multiplexing the data units to define a second data frame. The system includes a block encoder operative to assemble an output of the multiplexer into a hyperframe for transmission thereof to a receiver. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0020]     For a better understanding of the present invention, reference is made to the detailed description of the invention, by way of example, which is to be read in conjunction with the following drawings, wherein like elements are given like reference numerals, and wherein:  
         [0021]      FIG. 1  is a block diagram of a transmitter of framed data, which is constructed and operative in accordance with a disclosed embodiment of the invention;  
         [0022]      FIG. 2  is a flow chart describing the construction of a framing structure allowing flexible allocation of an overhead channel in accordance with a disclosed embodiment of the invention; and  
         [0023]      FIG. 3  is a flow chart describing construction of a DMT symbol by multiplexing different user data bearers and overhead data using framing parameters in accordance with a disclosed embodiment of the invention.  
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0024]     In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent to one skilled in the art, however, that the present invention may be practiced without these specific details. In other instances, well-known circuits, control logic, and the details of computer program instructions for conventional algorithms and processes have not been shown in detail in order not to obscure the present invention unnecessarily.  
         [0000]     Overview.  
         [0025]     Turning now to the drawings, reference is initially made to  FIG. 1 , which is a block diagram of a transmitter  10  that outputs framed data, which is constructed and operative in accordance with a disclosed embodiment of the invention. In digital communications systems like ADSL and VDSL, several data sources are combined together into frames having a fixed block size. The data sources in this case include both user data channels  12  (also known as data bearers) and overhead, for example, data and forward error correction (FEC) parity bytes transmitted over an overhead channel  14 . Any number and combination of user data channels  12  can be accommodated. The user data channels  12  can be transmitted according to many different protocols, e.g., encoded voice over a pulse code modulation (PCM) channel, Ethernet packets encapsulated into an asynchronous transfer mode (ATM) cell. Data arriving via the user data channels  12  and the overhead channel  14  all enter a multiplexing unit  16 . The multiplexing unit organizes the data into blocks of K basic transmission units, typically octets, which are referred to herein as FEC data frames (FDF). The basic units can have formats other than octets, e.g., bits, 16 bit words, or arbitrary units, as described below. The blocks are then fed into a block encoder  18 , which adds R parity octets (or other basic units) to yield N=K+R octets (or other basic units).  
         [0026]     The multiplexing unit  16 , which is conventional, handles the task of mixing the different data sources to assemble a FDF. The multiplexing unit  16  is capable of multiplexing different data sources according to the allocations that are assigned in accordance with the various embodiments of the invention disclosed hereinbelow. The multiplexing unit  16  and the block encoder  18  can be configured to conform to the framing requirements of many different protocols. Thus, a FDF could be identical to a MDF. In other cases, a plurality of MDF&#39;s are combined to form one FDF. All of these possibilities may be referred to herein as a frame.  
         [0027]     The multiplexing unit  16  and the block encoder  18  have the capability of multiplexing at least two latency paths, and at least two bearer channels per latency path. They can be configured to flexibly assign RS codeword parameters in each latency path, and can vary the overhead channel bit rate. Provision may be made for varying the number of octets (or other basic units) in different frames. It is also desirable that the multiplexing unit  16  and block encoder  18  have performance monitoring facilities. Alternatively, they be should be compatible with conventional performance monitoring and reporting tools.  
         [0028]     For example, a basic multiplexing operation that provides constant allocations of octets from the different sources assigns octets to frames based on the set of parameters (k 1 , . . . , k N , k c }, wherein k n  is the number of octets from the n th  user data source to be placed in each frame, and k c  is the number of octets from the control channel placed in each frame, and  
       K   =         ∑     n   =   1     N     ⁢     K   n       +       K   c     .           
 
         [0029]     An example of a more complicated multiplexer is given for ADSL2 in the above-noted ITU-T recommendation G.992.3. The multiplexer control uses the following parameters: 
        B 1 , . . . , B N —The numbers of octet from each user data source per subframe, e.g., a MDF.     M—The number of subframes in each frame.     T—The ratio between subframes and control octets.        
 
         [0033]     This multiplexer constructs a frame from subframes, which here comprise the above-noted basic units. Each MDF carries  
       G   =         ∑     n   =   1     N     ⁢     B   n       +   1         
 
 octets. There are M subframes in a frame, giving the relation K=M*G, where the operator “*” represents multiplication. It is evident from the preceding formula that one octet is assigned to carry the control channel information in each subframe. However, in practice only each T th  subframe actually uses this octet to carry the control channel. In all other subframes, this octet is assigned to one of the user data channels. Keeping K fixed, the set of constraints imposed by such a framing structure hampers the maintenance of fine control of the control channel transmission rate. 
 
       Embodiment 1  
       [0034]     Reference is now made to  FIG. 2 , which is a flow chart describing the construction of a framing structure allowing flexible allocation of an overhead channel in accordance with a disclosed embodiment of the invention. The process steps are shown in a particular sequence for clarity of presentation. However, it will be evident to those skilled in the art that many of them can be performed in parallel, asynchronously, or in different orders.  
         [0035]     The frame according to this embodiment is constructed based on the following set of parameters, which are determined at initial step  20 . Although octets are specified representatively, the invention is not limited to octets, and the inventive frame can be constructed using any basic unit as described above. 
        B 1 , . . . , B N —The number of octets from each user data bearer per frame.     G—The number of control channel octets to be passed in a hyperframe composed of T frames.     T—The number of frames in a hyperframe.        
 
         [0039]     Modems often influence the details of the framing structure. A modem is normally configured by a management entity that passes a set of parameters describing, e.g., required minimum and maximum rates for each latency path, correspondence between data bearer channels and latency paths, any divisions of bit rate among the data bearers, maximal latency, any minimum required latency, and required overhead rate. In the case of a receiver, during modem initialization, line conditions are tested, and achievable rates estimated.  
         [0040]     Based on the achievable rate and the configuration passed from the management entity, the receiver (or transmitter) calculates an appropriate framing structure and passes a set of parameters that describes this structure to the other side. This can be a one-time process or an iterative process, in which the two sides, the transmitter and receiver, negotiate the parameters.  
         [0041]     More specifically, when entering ShowTime mode both receiving and transmitting modems use the set of parameters to modulate and demodulate the data.  
         [0042]     In some cases the set of parameters can be changed during ShowTime mode. In this case a message conveying the new parameters should be passed, generally using the over-head channel.  
         [0043]     A transmitter accordingly receives the parameters G and T during the initialization stage, or during a data transmission period in case of a dynamic change of parameters as described hereinbelow. The transmitter uses this set of parameters to transmit multiplexed data frames that are constructed based on the frame structure defined below. Alternatively, the transmitter can calculate the parameters G and T, and send them to the receiver using a control channel.  
         [0044]     Based on this set of parameters the method continues at step  22 , which begins the construction of a j th  frame. At step  22 , g(j) octets from the overhead control channel are allocated.  
         [0045]     The value g(j) is calculated according to the following formula:  
         g   ⁡     (   j   )       =       ⌊         (     t   +   1     )     ·   G     T     ⌋     -     ⌊       t   ·   G     T     ⌋           
         t   =       (     j   -   base     )     ⁢   mod   ⁢           ⁢   T       ,       
 
 where the operator └ ┘ stands for round down (also known as the floor function), and ‘base’ is an offset to the index j that affects the value upon which the modulo operation is to be performed. In the simplest case, the value of base is 0. Alternatively, the value of t can also be derived from a modulo counter having a period T. It is evident that the value g(j) is generally unequal in different frames. 
 
         [0046]     In some embodiments, framing parameters may be changed adaptively, for example changes in the values of G and T, as well as other framing parameters. A change in the value of T may result in a change in the value of base. Ultimately, dynamic changes in the hyperframe size result. This is advantageous in maximizing transmission efficiency when loads of the user data bearers fluctuate.  
         [0047]     Next, at step  24  the n th  user data bearer is selected, wherein n is an index that changes at each iteration of step  24 .  
         [0048]     Next at decision step  26  it is determined whether the user data bearer that was chosen in step  24  is a particular user data bearer f. The identification of the user data bearer f can be fixed, based on a predefined criterion, e.g., the lowest or highest value of the index n. Alternatively, the user data bearer f can be an intermediate data bearer, and can be communicated between a receiver and a transmitter, as with other framing parameters.  
         [0049]     If the determination at decision step  26  is affirmative, then control proceeds to step  28 . Octets are allocated to the user data bearer f. The allocation is calculated as B f +(g high −g(j)) octets, wherein  
           g   high     =     ⌈     G   T     ⌉       ,       
 
 and the operator ┌ ┐ stands for round up (also known as the ceil function). 
 
         [0050]     If the determination at decision step  26  is negative, then control proceeds to step  30 . B n  octets are allocated to the current user data bearer. The value B n  is typically acquired during initialization, as described above.  
         [0051]     Following the performance of either step  28  or step  30 , control proceeds to decision step  32 , where it is determined if all user data bearers have been processed. If the determination at decision step  32  is negative, then control returns to step  24  to process the next user data bearer.  
         [0052]     If the determination at decision step  32  is affirmative, then the current frame is complete. Then, at step  34 , error detection or correction bytes are added to the current frame. In some applications, in which RS redundancy is not required, step  34  can be omitted. In other applications, FEC redundancy may be added to a group of several data frames.  
         [0053]     Control then proceeds to decision step  36 , where it is determined if all frames required to complete the current hyperframe have been assembled.  
         [0054]     If the determination at decision step  36  is negative, then control returns to step  22  to begin assembly of the next frame.  
         [0055]     If the determination at decision step  36  is affirmative, then the method terminates at final step  38 , where the current hyperframe is determined to be complete.  
       Embodiment 2  
       [0056]     This embodiment is similar to Embodiment 1, except that g(j) is defined as follows:  
         g   ⁡     (   j   )       =     {             ⌈     G   T     ⌉           t   &lt;     (     G   ⁢           ⁢   mod   ⁢           ⁢   T     )                 ⌊     G   T     ⌋         otherwise         .           
 
       Embodiment 3  
       [0057]     This embodiment is similar to Embodiment 1, except that g(j) is defined as follows:  
         g   ⁡     (   j   )       =     {             ⌊     G   T     ⌋           t   &lt;     (     T   -     (     G   ⁢           ⁢   mod   ⁢           ⁢   T     )       )                 ⌈     G   T     ⌉         otherwise         .           
 
         [0058]     The advantage of the first embodiment over the latter two is that it imposes minimal jitter on the data bearer f (one octet/MDF)). In the second and third embodiments, jitter can be as great as G/2 octets/MDF. On the other hand, the derivation of g(j) is much simpler in the latter two embodiments.  
         [0000]     Latency Paths.  
         [0059]     Often it is required to construct frames involving more than one latency path, for example when there are different physical interfaces, e.g. ATM, STM. Also, Different latency paths may have different RS codeword parameters and, consequently, independent and uncoupled framing formats. An assigned number of bits from the buffer of each latency path are loaded into each DMT symbol. Furthermore, some latency paths may be interleaved, while others are not.  
         [0060]     Reference is now made to  FIG. 3 , which is a flow chart describing construction of a DMT symbol by multiplexing different user data bearers and overhead data based on a frame structure that is defined by framing parameters in accordance with a disclosed embodiment of the invention.  
         [0061]     At initial step  40  framing parameters are established as described above.  
         [0062]     Next, at step  42  a latency path is selected. As noted above, a serial format is used in  FIG. 3  only for clarity in presenting certain principles of the present invention. While  FIG. 3  might suggest that frames from different latency paths are constructed in sequence, or are synchronous, in actuality this is not generally the case. Thus, start and end times of frames arriving on different latency paths do not usually coincide. In practice, frames from different paths are constructed independently of one another in time. The process of frame construction for a given latency path may be based on the progress in the transmission of previous frames belonging to the same path. Triggers to the process of constructing a new frame can be, for example, the completion of transmission of a previous block in the same path, or an event that the transmission buffers have filled to a particular level. Many other triggers will occur to those skilled in the art.  
         [0063]     Next, at step  44  one or more data frames are constructed from the current latency path. The number of frames is set according to the framing parameters and/or the framing protocol being used.  
         [0064]     Next, at step  46  a FEC codeword, for example, a RS codeword, is constructed from the data frames prepared at step  44  by adding FEC redundancy octets. In some applications RS redundancy is not required, in which case step  46  can be omitted. In other applications, FEC redundancy may be added to a group of several data frames.  
         [0065]     Control now proceeds to decision step  48 , where it is determined if the current frame needs to be interleaved. If the determination at decision step  48  is negative, then control proceeds directly to decision step  50 , which is described below.  
         [0066]     If the determination at decision step  48  is affirmative, then control proceeds to step  52 , where interleaving is performed. Control then proceeds to decision step  50 .  
         [0067]     At decision step  50 , it is determined if more latency paths need to be processed. If the determination at decision step  50  is affirmative, then control returns to step  42 .  
         [0068]     If the determination at decision step  50  is negative, then control proceeds to final step  54 . A DMT symbol is constructed by multiplexing the data coming from the different latency paths.  
         [0000]     Frame Reception.  
         [0069]     In any of the above-described embodiments, a receiver can calculate the values of the parameters G and T based on the required overhead channel rate, once the framing parameters G and T have been obtained by the transmitter during the initialization stage, or during the data transmission period in case of a dynamic change of parameters. The receiver uses these parameters to receive and demultiplex data based on the frame structure defined above. Alternatively, the receiver may obtain the parameters G and T directly from the transmitter.  
         [0070]     It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and sub-combinations of the various features described hereinabove, as well as variations and modifications thereof that are not in the prior art, which would occur to persons skilled in the art upon reading the foregoing description.