Abstract:
A base station provides wireless communication of digital signals, with the digital signals being communicated in frames using a radio frequency channel via Code Division Multiple Access (CDMA) modulated radio signals. The base station includes a wireless transceiver for establishing a communication session over a digital communication path, and a bandwidth management module connected to the wireless transceiver for allocating a code channel within the radio frequency channel for the digital communication path to exchange digital signals during the communication session. The bandwidth management module also divides a current frame of digital signals into subframes to be transmitted within the code channel. The wireless transceiver transmits the subframes over the digital communication path, and receives feedback over the digital communication path on the subframes received with errors. The bandwidth management module adjusts a size of each subframe received with errors to a more efficient subframe size to be retransmitted over the digital communication path.

Description:
RELATED APPLICATIONS  
       [0001]    This application is a divisional of Ser. No. 10/345,810 filed on Jan. 16, 2003 which is a continuation of U.S. Pat. No. 6,542,481 filed Jan. 31, 2001, which is a continuation-in-part of U.S. Pat. No. 6,388,999 filed Jun. 1, 1998, which is a continuation of U.S. Pat. No. 6,236,647 filed Feb. 24, 1998, U.S. Pat. No. 6,151,332 filed on Dec. 17, 1997 and U.S. Pat. No. 6,081,536 filed Dec. 17, 1997, which claims the benefit of U.S. Provisional Application No. 60/050,338 filed Jun. 20, 1997 and U.S. Provisional Application No. 60/050,277 filed Jun. 20, 1997, the entire contents of which are incorporated herein by reference. 
     
    
     
       FIELD OF THE INVENTION  
         [0002]    The present field relates to the field of communications, and in particular, to a wireless digital communication system.  
         BACKGROUND OF THE INVENTION  
         [0003]    The widespread availability of personal computers at low cost has lead to a situation where the general public increasingly demands access to the Internet and other computer networks. A similar demand exists for wireless communications in that the public increasingly demands that cellular telephones be available at low cost with widespread coverage.  
           [0004]    As a result of their familiarity with these two technologies, the general population now increasingly wishes to not only have access to computer networks, but also wishes to access such networks in wireless fashion as well. This is of particular concern for the users of portable computers, laptop computers, hand-held personal digital assistants (PDAs), and the like, who would prefer and indeed now expect to be able to access such networks with the same convenience they have grown accustom to when using their cellular telephones.  
           [0005]    Unfortunately, there is still no widely available satisfactory approach for providing low cost, high speed access to the Internet and other networks using the existing wireless infrastructure which has been built at some expense to support cellular telephony. Indeed, at the present time, the users of wireless modems that operate with the existing cellular telephone network often experience a difficult time when trying to, for example, use the Internet to view web pages. The same frustration level is felt in any situation when attempting to perform other tasks that require the transfer of relatively large amounts of data between computers.  
           [0006]    This is at least in part due to the architecture of cellular telephone networks, which were originally designed to support voice communications, as compared to the communication protocols in use for the Internet, which were originally optimized for wireline communication. In particular, the protocols used for connecting computers over wireline networks do not lend themselves well to efficient transmission over standard wireless connections.  
           [0007]    For example, cellular networks were originally designed to deliver voice grade services, having an information bandwidth of approximately three kilohertz (kHz). While techniques exist for communicating data over such radio channels at rate of 9600 k/bits per second (kbps), such low frequency channels do not lend themselves directly to transmitting data at rates of 28.8 kbps or even the 56.6 kbps that is now commonly available using inexpensive wireline modems. These rates are presently thought to be the minimum acceptable data rates for Internet access.  
           [0008]    This situation is true for advanced digital wireless communication protocols as well, such as Code Division Multiple Access (CDMA). Even though such systems convert input voice information to digital signals, they were also designed to provide communication channels at voice grade bandwidth. As a result, they have been designed to use communication channels that may exhibit a bit error rate (BER) of as high as approximately one in one thousand bits in multipath fading environments. While such a bit error rate is perfectly acceptable for the transmission of voice signals, it becomes cumbersome for most data transmission environments.  
           [0009]    Such a high bit error rate is certainly unacceptable for Internet type data transmissions. For example, the Transmission Control Protocol/Internet Protocol (TCP/IP) standard in use for Internet air transmission uses a frame size of 1480 bits. Thus, if a bit error is received in every frame, such as detected by a frame check sequence, it would appear as though every single frame might have to be re-transmitted in certain applications.  
         SUMMARY OF THE INVENTION  
         [0010]    In view of the foregoing background, an object of the present invention is to more efficiently transmit digital signals in a wireless digital communication system.  
           [0011]    This and other objects, advantages and features in accordance with the present invention are provided by a base station providing wireless communication of digital signals, with the digital signals being communicated in frames using a radio frequency channel via Code Division Multiple Access (CDMA) modulated radio signals. The base station may include a wireless transceiver for establishing a communication session over a digital communication path, and a bandwidth management module connected to the wireless transceiver for allocating a code channel within the radio frequency channel for the digital communication path to exchange digital signals during the communication session.  
           [0012]    The bandwidth management module may also divide a current frame of digital signals into subframes to be transmitted within the code channel. The wireless transceiver transmits the subframes over the digital communication path, and receives feedback over the digital communication path on the subframes received with errors. The bandwidth management module may adjust a size of each subframe received with errors to a more efficient subframe size to be retransmitted over the digital communication path.  
           [0013]    The present invention is particularly advantageous in environments requiring the communication of TCP/IP protocols since the number of channels needed to carry a single data stream at burst rates of 56.6 or 128 kbps can be quite large. For example, carrying such TCP/IP frames at these data rates may require up to and including 20 channels operating at 9.6 kbps. Because the probability of at least one relatively weak channel may be significant, by optimizing the throughput of each channel separately, the base station obtains the best overall system throughput in such environments.  
           [0014]    The more efficient subframe sizes may be based on at least one of maximum throughput and minimum transmission time. The bandwidth management module may determines a ratio of the subframes received with errors and subframes received without errors, and uses the ratio when determining the more efficient subframe sizes. The bandwidth management module may initially determines a size of each subframe within the current frame based upon a number of subframes received with errors for a previous frame.  
           [0015]    Each subframe may include a position identifier, a data portion, an integrity check sum and a sequence number. A subframe is considered to be received with errors over the digital communications path if the integrity check sum is not correct, the sequence number is missing, or the position identifier is missing.  
           [0016]    The at least one code channel may comprise a plurality of code channels, and the wireless transceiver transmits the plurality of subframes over the plurality of code channels. The digital signals may comprise at least one of voice and data signals.  
           [0017]    The wireless communication of digital signals is performed with a subscriber unit over the digital communication path. The at least one radio frequency channel may comprise first and second radio frequency channels. The first radio frequency channel establishes a forward code channel between the wireless transceiver and the subscriber unit, with the plurality of subframes being transmitted to the subscriber unit on the forward code channel. The second radio frequency channel establishes a reverse code channel between the subscriber unit and the wireless transceiver, with the feedback on the subframes received with errors being transmitted on the reverse code channel by the subscriber unit.  
           [0018]    Another aspect of the present invention is directed to a subscriber unit for providing wireless communication of digital signals between terminal equipment connected therewith and a digital communication path, with the digital signals being communicated in frames using at least one radio frequency channel via Code Division Multiple Access (CDMA) modulated radio signals.  
           [0019]    The subscriber unit may comprises a wireless transceiver for establishing a communication session over the digital communication path, and a bandwidth management module connected to the wireless transceiver for receiving over the digital communication path at least one allocated code channel within the at least one radio frequency channel to exchange digital signals during the communication session.  
           [0020]    The bandwidth management module may divide a current frame of digital signals into a plurality of subframes to be transmitted within the at least one code channel. The wireless transceiver may transmit the plurality of subframes over the digital communication path, and receives feedback over the digital communication path on the subframes received with errors. The bandwidth management module adjusts a size of each subframe received with errors to a more efficient subframe size to be retransmitted over the digital communication path.  
           [0021]    Yet another aspect of the present invention is directed to a digital communication system comprising a subscriber unit as defined above for providing wireless communication of digital signals; and a base station as also defined above for establishing a communication session with the subscriber unit over a digital communications path. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0022]    The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention.  
         [0023]    [0023]FIG. 1 is a block diagram of a system in which a portable device such a laptop computer is making use of a protocol converter according to the invention to connect to a computer network over a wireless link.  
         [0024]    [0024]FIG. 2 is a diagram depicting how network layer data frames are divided among multiple physical links or channels.  
         [0025]    [0025]FIG. 3 is a more detailed diagram showing how network layer frames are divided into subframes by a protocol converter located at a sender.  
         [0026]    [0026]FIG. 4 is a continuation of the diagram of FIG. 3.  
         [0027]    [0027]FIG. 5 is a series of steps performed by a protocol converter at the sender to implement the invention.  
         [0028]    [0028]FIG. 6 is a continuation of the diagram of FIG. 5.  
         [0029]    [0029]FIG. 7 is a diagram of the steps performed by a protocol converter located at a receiver to implement the invention.  
         [0030]    [0030]FIG. 8 is a diagram of one particular embodiment of a subframe according to the invention.  
         [0031]    [0031]FIG. 9 is a chart illustrating a particular example of how 20 twenty 9.6 kbps sub-channels with various bit error rates can be used to provide a 138 kbps overall effective transfer rate.  
         [0032]    [0032]FIG. 10 is a plot of how the effective bit error rate changes as the number of data bytes in a subframe changes. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0033]    Turning attention now to the drawings more particularly, FIG. 1 is a block diagram of a system  10  for implementing high speed data communication according to the invention. The system  10  comprises a remote or subscriber unit  20 , multiple bi-directional communication links  30 , and a local or service provider unit  40 .  
         [0034]    The subscriber unit  20  connects to terminal equipment  22  such as a portable or laptop computer, hand held Personal Digital Assistant (PDA) or the like, via a modem  24 . The modem  24  in turn provides data to a protocol converter  25 , which in turn provides data to a multichannel digital transceiver  26  and antenna  27 .  
         [0035]    The modem  24  receives data from the terminal equipment  22 , and together with appropriate hardware and/or software, converts it to a format suitable for transmission such as in accordance with known communication standards. For example, the modem  24  may convert data signals from the terminal equipment  22  to a wireline physical layer protocol format such as specified by the Integrated Services Digital Network (ISDN) standard at rates of 128 kbps, or the Kflex standard at rates of 56.6 kbps. At a network layer, the data provided by the modem is preferably formatted in a manner consistent with suitable network communication protocols such as TCP/IP to permit the terminal equipment  22  to connect to other computers over networks such as the Internet. This description of the modem  24  and protocols is exemplary only and it should be understood that other protocols can be used.  
         [0036]    The protocol converter  25  implements an intermediate protocol layer for converting the data provided by the modem  24  to a format appropriate for the multichannel transceiver  26  according to the invention, and as will be described in much grater detail below.  
         [0037]    The multichannel digital transceiver  26  provides access to one or more physical communication links such as the illustrated radio channels  30 . The physical links are preferably known wireless communication air interfaces using digital modulation techniques such as Code Division Multiple Access (CDMA) standard specified by IS-95. It should be understood that other wireless communication protocols and other types of links  30  may also be used to advantage with the invention.  
         [0038]    The channels  30  represent one or more relatively slower communication channels, such as operating at a 9.6 kbps rate typical of voice grade communication. These communications channels may be provided by a single wide bandwidth CDMA carrier such as having a 1.25 MegaHertz bandwidth, and then providing the individual channels with unique orthogonal CDMA codes. Alternatively, the multiple channels  30  may be provided by single channel communication media such as provided by other wireless communication protocols. However, what is important is that the net effect is that the channels  30  represent multiple communication channels that may be adversely effected by significant bit error rates that are unique to each link  30 .  
         [0039]    An “error” as described herein is a bit error perceived at the higher layer such as the network layer. The invention primarily strives to improve the system level bit error rate instead of providing absolute data integrity.  
         [0040]    On the local level, the service provider equipment  40  may, for example, be implemented at a wireless Internet Service Provider (ISP)  40 - 1 . In this case, the equipment includes an antenna  42 - 1 , a multichannel transceiver  44 - 1 , a protocol converter  46 - 1 , and other equipment  48 - 1  such as modems, interfaces, routers, and the like which are needed for the ISP to provide connections to the Internet  49 - 1 .  
         [0041]    At the ISP  40 - 1 , the multichannel transceiver  44 - 1  provides functions analagous to the multichannel transceiver  26  of the subscriber unit, but in an inverse fashion. The same is true of the protocol converter  46 - 1 , that is, it provides inverse functionality to the protocol converter  25  in the subscriber unit  20 . The ISP  40 - 1  accepts data from the protocol converter  46 - 1  in the TCP/IP frame format and then communicates such data to the Internet  49 - 1 . It should be understood that the configuration of the remaining ISP equipment  48 - 1  may take any number of forms such as a local area networks, multiple dial up connections, T1 carrier connection equipment, or other high speed communication links to the Internet  49 - 1 .  
         [0042]    Alternatively, the provider  40  may function as a radio base station in a cellular telephone system to permit a dial-up connection between the terminal equipment  22  and a server  49 - 2 . In this instance, the base station  40 - 2  includes an antenna  42 - 2 , multichannel transceiver  44 - 2 , and protocol converter  46 - 2  providing one or more connections to a public switched telephone network (PSTN)  48 - 2 , and ultimately to the server  49 - 2 .  
         [0043]    In addition to the illustrated implementations  40 - 1 ,  40 - 2 , there may be various other ways of implementing the provider  40  in order to provide a connection to data processing equipment from the terminal equipment  22 .  
         [0044]    Turning attention now to the functions of the protocol converters  25  and  46 , they can be thought of as intermediate layers within the context of the Open System Interconnect (OSI) model for communication. In particular, the protocol converter provides a bandwidth management functionality  29  implemented between a physical layer such as provided by the CDMA protocol in use with the multichannel transceivers  26  and a network layer protocol such as TCP/IP providing connections between the terminal equipment  22  and the Internet  49 - 1  or server  49 - 2 .  
         [0045]    The bandwidth management functionality  29  preferably provides a number of functions in order to keep both the physical layer and network layer connections properly maintained over multiple communication links  30 . For example, certain physical layer connections may expect to receive a continuous stream of synchronous data bits regardless of whether terminal equipment at either end actually has data to transmit. Such functions may also include rate adaption, bonding of multiple channels on the links, spoofing, radio channel setup and takedown. The details for implementing a protocol converter specifically for ISDN terminal equipment  22  and Code Division Multiple Access (CDMA) modulation techniques in use by the multichannel transceiver  26  are more specifically described in U.S. Pat. Nos. 6,151,332 and 6,081,536 assigned to the current as assignee of the present application, and which are hereby incorporated by reference in their entirety.  
         [0046]    The present invention is more particularly concerned with the technique used by the protocol converters  25  and  46  for adjusting the frame size of individual channels used over each of the multiple links  30  in order to improve the effective throughput rate between a sender and a receiver in a bit error rate prone environment. It should be understood in the following discussion that the connections discussed herein are bidirectional, and that a sender may either be the subscriber unit  20  or the provider unit  40 .  
         [0047]    More specifically, the problem addressed by the present invention is shown in FIG. 2. The frame  60  as received at the receiver end should be identical to the frame  50  originating at the sender. This is despite the fact that multiple channels are used with much higher bit error rates with the received frame  60  being transmitted reliably with a bit error rate of 10 −6  or better as is typically required in TCP/IP or other network layer protocols. The present invention increases the effective data throughput such that the received frames  60  are not affected by the experienced bit error rate performance of network layer connections.  
         [0048]    It should be understood that another assumption is that the individual channels  30 - 1 ,  30 - 2  . . .  30 -N may experience different bit error rate levels both over time and in an average sense. Although each of the channels  30  may operate quite similarly, given the statistical nature of errors, identical behavior of all of the channels  30  is not assumed. For example, a specific channel  30 - 3  may receive severe interference from another connection in a neighboring cell, and be capable of providing only a  10 - 3  whereby other channels  30  may experience very little interference.  
         [0049]    To increase the throughput for the system  10  on a global basis, the invention also preferably optimizes the parameters of each channel  30  separately. Otherwise, a relatively good channel  30 - 1  might suffer down speed procedures required to accommodate a weaker channel  30 - 3 .  
         [0050]    It should also be understood that the number of channels  30  that may be needed to carry a single data stream such as a rate of 128 kbps at a given point in time may be relatively large. For example, up to 20 channels  30  may be assigned at a particular time in order to accommodate a desired data transfer rate. Therefore, the probability of different characteristics in any given one of the channels  30  is significantly different.  
         [0051]    Turning attention now more particularly to FIG. 3, the operations of the protocol converter  25  or  46  at the sender will be more particularly described. As shown, the input frame  50  as received from the network layer is relatively large, such as for example 1480 bits long, in the case of a TCP/IP frame.  
         [0052]    The input frame  50  is first divided into a set of smaller pieces  54 - 1 ,  54 - 2 . The size of the individual pieces  54  are chosen based upon the optimum subframe size for each of the channels  30  available. For example a bandwidth management function may make only a certain number of channels  30  available at any time. A subset of the available channels  30  is selected, and then the optimum number of bits for each subframe intended to be transmitted over respective one of the channels, is then chosen. Thus, as illustrated in the figure, a given frame  54 - 1  may be divided into pieces associated with four channels. At a later time, there may be nine channels  30  available for a frame, with different optimum subframe sizes for the piece  54 - 2 .  
         [0053]    Each of the subframes  56  includes a position identifier  58   a , a data portion  58   b , and a trailer typically in the form of an integrity checksum such as a cyclic redundancy check (CRC)  58   c . The position identifier  58   a  for each subframe indicates the position within the associated larger frame  50 .  
         [0054]    The subframes  56  are then further prepared for transmission on each channel  30 . This may be done by adding a sequence number related to each channel at the beginning of each subframe  56 . The subframe  56  is then transmitted over the associated channel  30 .  
         [0055]    [0055]FIG. 4 illustrates the operations performed at the receive side. The subframes  56  are first received on the individual channels  30 . A subframe  56  is discarded as received if the CRC portion  58   c  is not correct.  
         [0056]    The sequence numbers  58   d  of the remaining frames  56  are then stripped off and used to determine whether any subframes  56  are missing. Missing subframes  56  can be detected by comparing the received sequence numbers  58   d . If a sequence number is missing, it is assumed that the associated subframe  56  was not received properly. It should be understood that appropriate buffing of data and subframes  56  is typically required in order to properly receive the subframes  56  and determine if there are any missing sequence numbers depending upon the transmission rates, number of channels  30  and propagation delays in effect.  
         [0057]    Upon the detection of a missing subframe  56 , retransmission of the missed subframe is requested by the receiving end. At this point, the transmitting end reperforms transmission of the missing subframe.  
         [0058]    Once all of the subframes  56  are received, the position number  58   a  is then used to arrange the data from the subframes  56  in the proper order to construct the output received frame  60 .  
         [0059]    At this point, also, if any piece of the large output frame  60  is still missing, such as when an end of frame command is encountered, retransmission of the corresponding subframe can also be requested at the indicated position, specifying a length for the missing piece.  
         [0060]    Because of the use of both the position and sequence numbers, the sender and receiver know the ratio of the number of subframes received with errors to the number of frames received without errors. Also, the receiver and sender know the average subframe length for each channel. The optimum subframe size can thus be determined for each channel from these parameters as will be described more fully below.  
         [0061]    [0061]FIG. 5 is a more detailed flow diagram of a set of operations performed by the sender in order to implement the invention. In a first state  100 , the frame  50  is obtained from an upper communication layer such as the network layer. In a next state  102 , the sender computes an optimum subframe size from past observations of frame error rates on the individual channels  30 , preferably calculating an optimum subframe size for all communication and channels available.  
         [0062]    In a next state  104 , the network layer frame  50  is divided into an appropriate number of subframes according to the optimum size for each associated channel available. This division is also based upon the available channel estimated throughput. A list of subframes is then created.  
         [0063]    In a next state  106 , a position identifier and a cyclic redundancy check (CRC) code are added to each subframe. The position identifier is an offset within the large frame  50  as described above, to allow correct positioning of the subframe when reconstructing the frame  50  at the receive end. In a next state  108 , an appropriate channel  30  is associated with each subframe depending upon the subframe size and transmit queue depth, if multiple channels are available.  
         [0064]    Upon receipt of a retransmission request of a subframe missing at the receiver, a state  110  is entered in which an optimum subframe size is computed from the observed frame averages for the available communications channels  30 . The subframe list is then used to requeue the subframe for retransmission in state  112 . Processing then continues at state  108  for retransmission of the missing subframe.  
         [0065]    [0065]FIG. 6 shows the remainder of the steps performed at the sender. In a state  114 , a channel related sequence number is added to each subframe. In a next state  116 , subframe separators such as flags in the form “7E” are inserted into the subframes. In addition, any zero insertion such as setting data bits to a 1 after a sequence of five zeros is performed. Other synchronization and separation and coding techniques may require that bits be inserted into the subframes at this point. For example, if a given channel  30  may make use of convolutional coding as specified by the IS-95 standard.  
         [0066]    In a state  118 , the subframes are sent on the available channels  30 . Non-data frames such as logical start, logical end and other control frames may be inserted at this point as well. In a final state  120 , the sender operates on any subframe retransmission requests or positive acknowledgments of a large frame being received correctly. Another frame transmission may be indicated, for example, at this point before completion of a frame in transit.  
         [0067]    [0067]FIG. 7 shows a detailed sequence of steps performed at the receiver. In a first state  200 , the subframes are received. Any subframe with a good CRC is passed to the next following state  202 . Any other received data entity with a bad CRC is discarded.  
         [0068]    Continuing with state  202 , the receiver determines any missing sequence numbers. The receiver then requests retransmission of a subframe for the missing pieces based upon sequence number by sending back a retransmission request to the sender.  
         [0069]    In a next state  204 , from the position identifier and the known length of each original frame  50 , the receiver attempts to rebuild the original frame  50 . In state  206 , if any pieces of the frame  50  are still missing after the retransmission requests are all processed, accommodating the fact that a retransmission request itself may be lost, the receiver requests the missing portion of the large frame  50  by position and size. In state  208 , once the frame  50  is completely received, a positive acknowledgment is returned back to the sender.  
         [0070]    [0070]FIG. 8 is a diagram illustrating the format of a typical subframe  56 . The fields include a data/command field, a large frame sequence number field of two bits, a position (character) offset field of the subframe into the large frame, a channel sequence number, the data, a CRC field, and a shared subframe interframe flag. The data/command indicator and large frame sequence number field may each be comprised, for example, of one bit. The position offset of the subframe into the associated large frame may be 11 bits long. The channel sequence number may be 3 bits long. The data field varies from 0 to 2048 bits long, the CRC field may be 12 bits, and the flag may be the standard hex value “7E” of 8 bits.  
         [0071]    Returning to FIG. 5 briefly, as mentioned above, an optimum size is computed in state  102 , given a frame error ratio, in order to optimizes the frame size. The objective is to improve the perceived bit error rate, assuming that a single bit error will destroy the integrity of a large frame maximizing the efficiency of a given channel  30 . The efficiency is the ratio of the actual data bits versus all the data bits transmitted, including protocol elements such as CRC, zero insertions, frame separators and other overhead bits. Another objective is to extend the optimum efficiency in a multichannel environment where each channel may have a degree of efficiency different from the other channels.  
         [0072]    The actual measurement of the number and position of bits in error is impractical and/or time consuming in most real systems. A single bit in error destroys frame integrity, but one or more bits in error in sequence most likely produced the same damage as a single bit. Conversely, a single bit in error in the middle of a synchronization flag destroys two frames. The number of bits in a frame, therefore, cannot be determined exactly without knowing the content of the frame, due to zero insertion.  
         [0073]    However, one practical measurement available is R, the ratio of received good frames to received bad frames. By definition, a frame is in error because of a frame integrity destroying the event. Such an event can be a single bit in error or cluster of bits in error within a frame boundary. Regardless of how the error occurs, the optimum sub-frame size can be determined using the following equations, given information about the frame error rate. Consider first the following definitions:  
         [0074]    G number of good bits received, on average, before a bit is received in error H frame overhead, in bytes, including any shared frame synchronization flag (7E) between frames;  
         [0075]    X number of data bytes in a frame;  
         [0076]    B total number of bytes in a frame, including data plus overhead;  
         [0077]    N number of original data frames, i.e., the number of frames generated by the sender;  
         [0078]    F total number of frames transmitted, including bad frames and re-transmitted frames; and  
         [0079]    the frame error ratio, R, can be defined as:  
           R=F   RB   /F   RG   (1)  
         [0080]    where F RB  is the number of frames observed to be received in error and F RG  is the observed number of frames correctly received at the receive end.  
         [0081]    After attempting the transmission of N frames, some of them are received correctly, and some will have been received in error. Some of the latter, in turn, will be re-transmitted, and require still further re-transmission. In general,  
           F=N+N*R +( N*R )* R +( N*R*R )* R+   (2)  
           F=N *(1 +R   2   +R   3 + . . . )  (3)  
           F=N /(1 −R )  (4)  
         [0082]    A normalized efficiency, F n , can be defined for N=1 as:  
           F   n =1/(1 −R )  (5)  
         [0083]    An efficiency of transmission, K, can in turn be defined as the ratio of data bytes to the total number of data bytes required to transmit the original data, including re-transmissions and frame overhead:  
           K=X /( B*F   n )  (6)              =     X       (     X   +   H     )     /     (     1   -   R     )                 (   7   )               =       X   *     (     1   -   R     )         (     X   +   H     )               (   8   )               =       X   *     (     1   -     (       (     X   +   H     )     *     8   /   G       )       )         (     X   +   H     )               (   9   )               =       X   -     X   *   8   *       (     X   +   H     )     /   G           (     X   +   H     )               (   10   )               =       X     (     X   +   H     )       -       X   *   8   *       (     Z   +   H     )     /   G         (     X   +   H     )                 (   11   )               =       X     (     X   +   H     )       -       8   *   X     G               (   12   )                                 
         [0084]    In order to optimize the efficiency of transmission, K, it is necessary to find the maximum of the above function. This can be done by setting the derivative of K to zero:  
                   =            K          X       =                1     (     X   +   H     )       *             X            (   X   )       -       X       (     X   +   H     )     2       *             X            (     X   +   H     )       -                              8   G     +               X            (   X   )                       (   13   )             or                         0   =       1     (     X   +   H     )       -     X       (     X   +   H     )     2       -     8   G               (   14   )                               
 
         [0085]    which, when multiplying by (X+H) 2  becomes:  
           X+H−X =(8/ G )*( X+H ) 2   (15)  
         [0086]    which can then be solved as  
           X+H={square root}{square root over (G+H/8)}   (16)  
         or  
         ( X+H ) 2   =G*H/ 8.  (17)  
         [0087]    This last equation opens the possibility of implementing an algorithm that optimizes the frame size knowing the bit error rate for a specific channel. Consider that the sender knows R (by counting the number of re-transmission requests), and also knows the current X and H used to pack frames. Redefining G as the average distance, in bits, between frame integrity destroying events, G can be derived as:  
           G =( X   current   +H   current )*8/ R   (18)  
         [0088]    By substituting this expression for G into equation (17) above of the optimization of (X+H),  
                 (     X   +   H     )     2     =           (       X   current     +     H   current       )     *   8     R     *     H   8               (   19   )                               
  X=−H +{square root}{square root over (( H   current   +H   current )* H/R )}  (20)  
         [0089]    This last equation is relatively straightforward to implement. The system  10  need only keep a filtered average of the number of frames transmitted successfully and the number of frames that did not go across the link. The number of data bytes in the new sub-frames are then adjusted according to the formula.  
         [0090]    For practical purposes, there is no need for extreme accuracy in the optimization calculation since there is no guarantee that R remains constant over time. Actually, the purpose is to adapt to changes in the value of R, while still providing a frame size that optimizes the effective throughput during a period of time when only the measurement of an average for R makes sense.  
         [0091]    [0091]FIG. 9 is a chart showing the results of modeling the system choosing optimum frame lengths as described. The model illustrated that using a mixed set of channels  30 , such as with two 9.6 kbps channels having an error every 50 bits, 5 channels having a bit error every 500 bits, and 13 channels having a bit error every 5000 bits, the system  10  can carry 138 kpbs data rate load with a perceived error rate of 10 −6  or better.  
         [0092]    [0092]FIG. 10 is a sets of curves of the overall effective bit error rate for subchannels operating at 9.6 kbps, assuming bit error rates of 1 bit in every 100, 300, 900, 2700, 8100 and 24300 bits, respectively. Note that the peaks of the curves change depending upon the number of data bytes in a frame as well as the bit error rate.  
         [0093]    While the present invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Those skilled in the art will recognize or be able to ascertain using no more than routine experimentation, many equivalents to the specific embodiments of the invention described specifically herein. Such equivalents are intended to be encompassed in the scope of the claims.