Abstract:
A Bluetooth radio transceiver, for receiving isochronous data, comprising: receiving means for receiving data; determining means for determining whether the received data has been correctly or incorrectly received; validation means for determining whether the received data is current; and transmission means, for transmitting, in response to received data, a positive acknowledgement of reception when the received data has been correctly received, a negative acknowledgement when the received data has been incorrectly received and the received data is current and a positive acknowledgement when the received data has been incorrectly received and the received data is not current is described. The determination of whether data is current occurs at the receiver as opposed to the transmitter.

Description:
RELATED APPLICATIONS  
       [0001]     This application is a continuation of co-pending U.S. application Ser. No. 10/169,980, filed Oct. 24, 2002, which claims priority under 35 U.S.C. § 119(e) to PCT/EP01/00341, filed Jan. 12, 2001, and Great Britain Patent Application 0000573.6, filed Jan. 12, 2000, the contents of each of which are incorporated herein by reference in its entirety. 
     
    
     FIELD OF TECHNOLOGY  
       [0002]     The present invention relates to improved communication of isochronous data. In particular it relates to the system comprising a transmitter and receiver, the transmitter itself, the receiver itself and the method of operation.  
       BACKGROUND  
       [0003]     The Bluetooth protocol is designed for the communication of synchronous, asynchronous and isochronous data.  
         [0004]     Isochronous data is data that is time bounded. That is data which requires a certain data rate but for which the delay is not critical. Such isochronous data may be delayed in its use but only within certain limits before it is outdated and no longer valid. Video, audio and voice streaming are examples of such data, but isochronous data is not limited to these examples.  
         [0005]      FIG. 1  illustrates a network (Bluetooth piconet)  2  of radio transceiver units, including a master unit  4  and slave units  6 ,  8  and  10 , communicating by transmitting and receiving radio packets. The master unit is the transceiver unit which initiates the connection of a slave to the network. There is only one master in a network. The network operates in a time division duplex fashion. The transceiver units are synchronized to a common time frame determined by the master unit  4 . This time frame consists of a series of time slots of equal length. Each radio packet transmitted in the network has its start aligned with the start of a slot and a single packet is transmitted in the network at a time. When the master unit is performing point-to-point communication a transmitted radio packet is addressed to a particular transceiver which replies to the master unit by transmitting a radio packet addressed to the master unit in the next available time slot. Any time misalignment between the master and a slave is corrected by adjusting the timing of the slave.  
         [0006]     The transceivers transmit and receive, in this example, in a microwave frequency band, illustratively 2.4 GHz. The network reduces interference by changing the frequency at which each radio packet is transmitted. A number of separate frequency channels are assigned each with a bandwidth of 1 MHz, and the frequency may hop at a rate of 1600 hops/s. The frequency hopping of the transceivers communicating in or joining the network is synchronized and controlled by the master unit. The sequence of hopping frequencies is unique for the network and is determined by a unique identification of the master unit.  
         [0007]     The network is a radio frequency network suitable for transmitting voice information or data information between transceivers. The transmissions made are of low power, for example 0 to 20 dBm, and the transceiver units can effectively communicate over the range of a few centimeters to a few tens or hundred of meters. The master unit has the burden of identifying the other transceiver units within its transmission range and the burden of paging a transceiver unit to set up a communication link between the master unit and that slave unit.  
         [0008]     Referring to  FIG. 2 , a frame  20  is illustrated. This frame  20  is the common time frame used by the network  2  and controlled by the master unit  4 . The frame illustratively has slots  22  to  29 . The slots designated by even numbers are reserved. Only the master unit can begin transmitting a radio packet aligned with the start of the even numbered slots. The slots designated by odd numbers are reserved. Only radio packets transmitted by a slave that is radio packets addressed for reception by the master unit can have their start aligned with the start of the odd numbered slots. Each slot is allocated a different one of a sequence of hopping frequencies. It is however, possible for a radio packet to extend over a number of slots and in this case the frequency at which the packet is transmitted remains constant at that allocated to the slot at the start of the packet. A slot has a constant time period and is typically 625 microseconds.  
         [0009]     Referring to  FIG. 3 , a typical radio packet  30  is illustrated. The radio packet has a start  32  and contains three distinct portions: a first portion contains an Access Code  34 , a second portion contains a Header  36  and a third portion contains a Payload  38 .  
         [0010]     The Access Code is a series of symbols used in the network to identify the start of a radio packet and effect synchronization and DC estimation. It has a fixed length. The Access Code used in normal communication is the Channel Access Code which identifies the network and is included in all packets exchanged in the piconet.  
         [0011]     The header  36  has a fixed length and contains link control information including the fields: AM_ADDR, ARQN and HEC. The local address (AM_ADDR) is a word uniquely identifying a slave within a network. The local address is assigned to a slave unit by the master unit when the master unit joins the slave to the network. ARQN is used to inform the source of a successful transfer of payload data. It can be a positive acknowledgement ACK, indicating the packet was successfully transferred, or a negative acknowledgement NAK, indicating that the packet was unsuccessfully transferred. HEC is a header integrity check. It is an 8 bit word generated from the header.  
         [0012]     The payload  38  during normal communication contains data. The payload is of variable length and may be absent. The payload has a header including the parameter L_CH, a payload body and possibly a Cyclic Redundancy Check (CRC). Generally a Link Layer Control Application Protocol (L2CAP) message is fragmented into several packets  30 . The L_CH code indicates whether the payload contains the starting fragment of an L2CAP message or a continuation fragment of an L2CAP message. An a priori negotiation indicates whether the payload relates to isochronous data.  
         [0013]      FIG. 4  illustrates a transmitter  40  communicating with a receiver  70  via a channel  60 . The transmitter has timer circuitry  42 , a controller  44 , a transmitter portion  48 , a receiver portion  46  and a FIFO memory  50  which stores a L2CAP message having fragments N, N+1 and N+2. The memory  50  receives data  49  for transmission. The data for transmission is stored as payloads N, N+1 and N+2 in portions  52 ,  54  and  56  respectively. Payload  52  is transmitted first, then N+1, then N+2. The output of memory  50  is connected to the transmitter portion  48  such that the contents of the portion  52  are provided as an input to the transmitter. The transmitter portion  48  encapsulates the contents of memory portion  52  as the payload of a data packet, converts the data packet from baseband to radio frequency and transmits the data packet to the receiver  70  as radio waves. The encapsulation includes the creation and inclusion of a CRC in the payload  38 , the attachment of a Header  36  comprising at least AM_ADDR, ARQN and HEC and the attachment of an Access Code  34 . The receiver portion  46  receives data packets from the receiver  70  and determines whether they contain an acknowledgement of the transmitted packet (i.e. ARQN). The determination is communicated to controller  44  via signal  45 . If ARQN=ACK, that is, the transmitted packet was successfully received, the controller controls the memory  50  and transmitter portion  48  to transmit the payload N+1, in the next transmitted packet. The controller via control signal  43  controls the memory  52  to discard the contents of portion  52 , such that the contents of portion  54  move to portion  52  and the contents of portion  56  move to portion  54 . Thus packet N+1 is presented for transmission in memory portion  52 . If ARQN=NAK, that is the transmitted packet was not successfully received, or otherwise the controller ensures that payload N is retransmitted. The controller does not activate control signal  43  and payload N remains in memory portion  52  for retransmission.  
         [0014]     The timer  42  provides an important function when the L2CAP message comprises isochronous data that is data which “expires” if not successfully transmitted within a certain period of time. The timer  42  records the amount of time for which the current packet in memory portion  52  has been retransmitted. If the value of the timer exceeds a threshold there is a timeout and the controller  44  flushes the memory  50 . That is, the controller using discard signal  47  causes the memory  50  to discard all the payloads N, N+1, N+2 which are fragments of the L2CAP message to which the current payload in memory portion  52  belongs.  
         [0015]     The receiver  70  has a receiver portion  72 , a transmitter portion  74  and verification circuitry  76 . The receiver portion  72  communicates with the transmitter portion  48  of transmitter  40 , and the transmitter portion  74  communicates with the receiver portion  46  of transmitter  40 . The transmitter and receiver portions  72  and  74  are connected to verification circuitry  76 . The verification circuitry  76  determines whether a packet has been received correctly. This decision is based on the HEC and on the CRC of the payload, if present. If the payload is correctly received as determined by verification circuitry  76 , the transmitter portion sets ARQN=ACK in the next transmitted packet. If the payload is incorrectly received, the transmitter portion sets ARQN=NAK in the next transmitted packet. The transmitter portion includes ARQN in the header of the next transmitted data packet. If a payload of data is also being sent in the transmitted packet it may include a CRC.  
         [0016]     It is apparent that the transmitter  40  and receiver  70  operate according to the Automatic Response Request protocol. The contents of memory portion  52  (message N) is transmitted and retransmitted to the receiver  70  by the transmitter  40 , until either: 
        a) the transmitter  40  successfully receives an acknowledgement from the receiver  70  that it has successfully received the packet, or     b) a timeout in the transmitter is exceeded.        
 
         [0019]     The preceding description corresponds to the procedure used in the prior art and described in “Specification of the Bluetooth System”, v1.0B, Dec. 1, 1999.  
         [0020]     The inventors have identified that certain problems arise from the prior art procedure.  
         [0021]     Isochronous data is data that is time bounded. That is data which requires a certain data rate but for which the delay is not critical. Such isochronous data may be delayed in its use but only within certain limits before it is outdated and no longer valid. Video, audio and voice streaming are examples of such data, but isochronous data is not limited to these examples.  
         [0022]     The timeout control in the transmitter determines whether isochronous data is outdated. When there is a timeout, not only is the last transmitted packet discarded but so is the whole of the L2CAP message to which it belongs. This results in a loss of data which may be disproportionate to the transmission errors occurring. A single transmission error may result in a whole L2CAP message being discarded. Furthermore the loss of such a large amount of data makes error correction techniques such as forward error correction inapplicable.  
         [0023]     It would be desirable to address such problems.  
       BRIEF SUMMARY  
       [0024]     According to one aspect of the present invention there is provided a radio transceiver, for receiving data, comprising:  
         [0025]     receiving means for receiving data;  
         [0026]     determining means for determining whether the received data has been correctly or incorrectly received;  
         [0027]     validation means for determining whether the received data is current;  
         [0028]     transmission means, for transmitting, in response to received data,  
         [0029]     a positive acknowledgement of reception when the received data has been correctly received,  
         [0030]     a negative acknowledgement when the received data has been incorrectly received and the received data is current and  
         [0031]     a positive acknowledgement when the received data has been incorrectly received and the received data is not current.  
         [0032]     When data is described as “current” in embodiments of the invention it defines data which at the time of its reception is not outdated.  
         [0033]     There may be an exception to this definition. In the case of data which is incorrectly received, “current” preferably defines data which will not be outdated when it is received after a retransmission. Thus, for incorrectly received data, where the received data is not itself outdated, but by the time it is retransmitted and re-received, the re-received data will be outdated, the incorrectly received data is preferably “not current”.  
         [0034]     That is “current” may describes that data is not outdated but preferably describes that correctly received data is not outdated and that incorrectly received data is data where the possibility of still receiving a retransmission of that data, which is not outdated, still exists. The received data may be a data packet having a payload which may include isochronous data and a header. The payload of data packets may also contain asynchronous data. The fact that the received data is isochronous may be communicated to the receiver by an a priori negotiation, as in Bluetooth Specification 1.0 b. Alternatively the data packet may contain a parameter that indicates that the packet payload contains isochronous data. In this latter example, the validation means may determine whether the received data is isochronous, for example from the parameter when contained in the packet header.  
         [0035]     The validation means comprises a timing means for determining whether received isochronous data is current.  
         [0036]     The determining means may determine whether the packet has been correctly or incorrectly received by testing the integrity of the header and/or by testing the integrity of the payload, for example, using a Cyclic Redundancy Check within the payload.  
         [0037]     The radio transceiver may further comprise error correction means for correcting errors arising from incorrectly received data which was not current at reception. This is an error correction procedure which is additional to the existing FEC procedure of Bluetooth baseband. This additional error correction is above L2CAP.  
         [0038]     The radio transceiver has means for retaining the received data for which a positive acknowledgement has been sent and for discarding received data for which a negative acknowledgement has been sent. The transceiver has a buffer for buffering the retained received data. There may be a buffer before and/or after error correction. The validation means may be coupled to the buffer such that the determination of whether the received data is current has flexibility being dependent upon the content of the buffer. It is preferable that the validation means is coupled to the buffer after error correction but it may alternatively be coupled to the buffer before error correction. The determination means may also be dependent up the type of error correction employed. Thus the validation means takes into account the surrounding circumstances in determining whether received isochronous data is current or not.  
         [0039]     According to a further aspect of the present invention there is provided a system comprising a transmitter and a receiver, wherein  
         [0040]     the transmitter is arranged to transmit packets of data having payloads including isochronous data and comprises:  
         [0041]     first transmission means for transmitting a packet of data to the receiver first reception means for receiving from the receiver, in response to said transmission of the data packet, a positive acknowledgement or a negative acknowledgement, wherein the transmitter is arranged to retransmit a data packet comprising isochronous data unless a positive acknowledgement is received, and the  
         [0042]     receiver comprises:  
         [0043]     second receiving means for receiving data transmitted by the transmitter;  
         [0044]     determining means for determining whether the received data has been correctly or incorrectly received;  
         [0045]     validation means for determining whether the received data is current;  
         [0046]     second transmission means, for transmitting in response to received data, a positive acknowledgement of reception when the received data has been correctly received or  
         [0047]     a negative acknowledgement when the received data has been incorrectly received and the received data is current or  
         [0048]     a positive acknowledgement when the received data has been incorrectly received and the received data is not current.  
         [0049]     According to a still further aspect of the present invention there is provided a method of communicating isochronous data between a transmitter and a receiver comprising the steps of:  
         [0050]     sending the isochronous data from the transmitter to the receiver;  
         [0051]     receiving the isochronous data at the receiver;  
         [0052]     determining whether the isochronous data has been correctly received;  
         [0053]     determining whether the isochronous data is current;  
         [0054]     transmitting a positive or negative acknowledgement from the receiver to the transmitter, in dependence on steps c) and d);  
         [0055]     re-transmitting the isochronous data from the transmitter to the receiver unless a positive acknowledgement is received at the transmitter from the receiver.  
         [0056]     Step e) preferably comprises transmitting a positive acknowledgement unless the received isochronous data is both incorrectly received and current. The method may further comprise transmitting new data from the transmitter to the receiver when a positive acknowledgement is received at the transmitter from the receiver.  
         [0057]     It will therefore be appreciated that embodiments of the present invention in its various aspects have several advantages. One advantage is an increase in performance. When a payload is incorrectly received and the payload contains isochronous data which is no longer current, a whole L2CAP message is not discarded because the timeout of the isochronous data is moved from the transmitter to the receiver side. Instead, the incorrectly received payload may be retained and the transmitter is instructed to send the next payload. This efficiency also provides for the use of additional error correction techniques such as FEC, which further increases the performance. Thus embodiments of the invention avoid discarding data except those bits actually lost via transmission errors.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0058]     For a better understanding of the present invention and to further understand how the same may be brought into effect, reference will now be made by way of example only to the enclosed drawings in which:  
         [0059]      FIG. 1  illustrates a communications network including a master and slave units;  
         [0060]      FIG. 2  illustrates the time frame of the communications network;  
         [0061]      FIG. 3  illustrates a radio packet;  
         [0062]      FIG. 4  is a schematic illustration of a transmitter and receiver operating according to the prior art; and  
         [0063]      FIG. 5  is a schematic illustration of a transmitter and receiver operating according to an embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION  
       [0064]      FIG. 5  illustrates one embodiment of the present invention in which a transmitter  140  communicates with a receiver  170  via a channel  160 . The, transmitter has a controller  144 , a transmitter portion  148 , a receiver portion  146  and a FIFO memory  150  which stores a L2CAP message having fragments N, N+1 and N+2. The memory  150  receives data  149  for transmission. The data for transmission is stored as payloads N, N+1 and N+2 in portions  152 ,  154  and  156  respectively. Payload  152  is transmitted first, then N+1, then N+2. The output of memory  150  is connected to the transmitter portion  148  such that the contents of the portion  152  are provided as an input to the transmitter. The transmitter portion  148  encapsulates the contents of memory portion  152  as the payload of a data packet and transmits the data packet to the receiver  170 . The encapsulation includes the creation and inclusion of a CRC in the payload  38 , the attachment of a Header  36  comprising at least AM_ADDR, ARQN and HEC and the attachment of an Access Code  34 . The receiver portion  146  receives data packets from the receiver  170  and determines whether they contain an acknowledgement of the transmitted packet (i.e. ARQN). The determination is communicated to controller  144  via signal  145 . If ARQN=ACK, that is, the transmitted packet was successfully received, the controller controls the memory  150  and transmitter portion  148  to transmit the payload N+1, in the next transmitted packet. The controller via control signal  143  controls the memory  150  to discard the contents of portion  152 , such that the contents of portion  154  move to portion  152  and the contents of portion  156  move to portion  154 . Thus packet N+1 is presented for transmission in memory portion  152 . If ARQN=NAK, that is the transmitted packet was not successfully received, the controller ensures that payload N in memory portion  152  is retransmitted. The controller does not activate control signal  143  and payload N remains in memory portion  152  for retransmission.  
         [0065]     The receiver  170  has a receiver portion  172 , a transmitter portion  174 , verification circuitry  176 , a first buffer  178  for buffering the payload(s) of a received packet(s), error correction circuitry  180 , and a second buffer  182  for buffering the received data for output.  
         [0066]     The receiver portion  172  converts a received signal to baseband. The receiver portion obtains HEC from the packet header, L_CH from the payload header and CRC from the payload itself. It provides to the verification circuitry  176 , HEC as signal  171 , L_CH in signal  173 , CRC as signal  175  and the payload as signal  177 .  
         [0067]     The verification circuitry determines if the payload was correctly received. The verification uses the HEC and/or the CRC to determine if a packet has been correctly received. The verification circuitry calculates a temporary HEC from the packet header received in signal  177  and compares it with the HEC received in signal  171 . If the temporary HEC and received HEC correspond, the header has been correctly received, the verification circuitry calculates a temporary CRC of the payload received as signal  177  and compares it to the CRC received as signal  175 . If the calculated and received CRCs correspond the payload has been received correctly, if they do not the payload has been incorrectly received.  
         [0068]     According to one embodiment, the verification of HEC is performed first then the verification of CRC is performed if and only if the header was correctly received.  
         [0069]     If the payload is received correctly the verification circuitry via control signal  183  causes the receiver portion  172  to write the received payload to the buffer  178  along with an associated flag indicating that the payload data is correct. The verification circuitry via control signal  179  also causes ARQN=ACK in the header of the packet transmitted in response by transmitter portion  174 .  
         [0070]     If the received packet contains isochronous data (indicated by a priori negotiation between transmitter and receiver as in Bluetooth Specification 1.0b or indicated by a parameter in signal  173 ) and the payload is received incorrectly, the verification circuitry may respond in one of two ways.  
         [0071]     If the received isochronous data is not current, i.e. by the time a retransmission of the isochronous data is received it will be outdated, the verification circuitry via control signal  183  causes the receiver portion  172  to write the received payload to the buffer  178  along with an associated flag indicating that the payload data is incorrect. The verification circuitry via control signal  179  also causes ARQN=ACK in the header of the packet transmitted in response by transmitter portion  174 .  
         [0072]     If the received isochronous data is current, i.e. by the time a retransmission of the isochronous data is received it will not be outdated, the verification circuitry via control signal  179  causes ARQN=NAK in the header of the packet transmitted in response by transmitter portion  174 . No data is transferred from receiver portion  172  to buffer  178 .  
         [0073]     The data in buffer  178  is passed to error correction circuitry  180  where errors in the buffered data are corrected. The data stored in the buffer may be applied to the error correction circuitry in multiples of payloads (one or more). The exact multiple will depend upon the number of successive payloads to which a single error correction procedure is applied. It may be convenient, for example, to apply an error correction procedure (such as Forward Error Correction FEC) over an L2CAP message at the transmitter  140 . It would therefore be necessary to apply the error correction process at the receiver  170  over the same period namely, an L2CAP message.  
         [0074]     The data in buffer  178  may contain correctly and incorrectly received payloads. The error correction process reduces or removes the errors arising from the incorrectly received payloads. Any suitable error correction process may be used in the transmitter  140  with the complimentary process being used in receiver  170 . Forward Error Correction is the preferred error correction mechanism using for example Reed-Solomon Codes or (punctured) convolution codes, possibly with interleaving. FEC can recover the uncertain or lost parts of the payload.  
         [0075]     According to one error correction procedure, the complete payload flagged as incorrectly received is considered to be erased.  
         [0076]     According to one error correction procedure, the complete payload flagged as incorrectly received is included in the data stream with the correctly received payloads. Burst error coding or interleaving can be used to correct the bit errors in the incorrectly received payload.  
         [0077]     Error concealment may be used to deal with residual errors.  
         [0078]     The data from the error correction circuitry  180  is stored in a second buffer  182  ready for use.  
         [0079]     The verification circuitry  176  determines whether data is current or not according to two inputs. The first input  185  is from a timer  184 , which records the time since the last correctly received data packet. The time measurement may for example be a measure of the number of successive NAK acknowledgements sent to the transmitter  140  or the real time since the last ACK was sent to the transmitter  140 . The second, optional, input is a dynamic signal  181  indicating the amount of data in the buffer  182  (and/or buffer  178 ). The more data that is stored in the buffer ready for use, the longer the currently received data remains current. If the buffer is empty the received data is no longer current. The verification circuitry according to one embodiment uses an algorithm taking the two inputs as arguments to calculate whether a payload which has been incorrectly received is current or not. The response of the verification circuitry  176  is dependent upon whether the incorrectly received payload is calculated as being current or not.  
         [0080]     Current incorrectly received data is data where the possibility of still receiving a retransmission of that data, which is not outdated, still exists.  
         [0081]     It is apparent that the transmitter  140  and receiver  170  operate according to a modified Automatic Response Request protocol. The contents of memory portion  152  (message N) is transmitted and retransmitted to the receiver  170  by the transmitter  140 , until the transmitter  140  receives an acknowledgement from the receiver  170  that it has successfully received the packet.  
         [0082]     When the receiver correctly receives a payload, it responds with a positive acknowledgement ACK, which prevents the retransmission of that payload and requests the transmission of the next payload, and retains the correctly received payload.  
         [0083]     The receiver determines whether an incorrectly received payload containing isochronous data is current. If it is, a negative acknowledgement NAK is sent in response, requesting the retransmission of the payload and the incorrectly received payload is discarded. If it is not a positive acknowledgement ACK is sent in response, terminating the retransmission of the payload and requesting the transmission of the next payload and the incorrectly received payload is retained. Error correction procedures may be used on the incorrectly received payload.  
         [0084]     In the previously described embodiment, if the payload is received correctly the verification circuitry via control signal  183  causes the receiver portion  172  to write the received payload to the buffer  178  along with an associated flag indicating that the payload data is correct. If the payload is received incorrectly, and it is current, the payload is not transferred to buffer  178 ; however, if it is not current the received payload is transferred to the buffer  178  along with an associated flag indicating that the payload data is incorrect. Consequently, either a correctly received payload or the last incorrectly received payload is stored in the buffer for further processing. According to another embodiment, each incorrectly received version of a payload is stored in the verification circuitry  176  which uses this diversity to produce an improved version that takes into account all, or at lest the best, received versions of the payload. When the positive acknowledgement ACK is given, on receiving a non-current and incorrect payload, the verification circuitry transfers the improved version of the payload (instead of the received incorrect payload) to the buffer  178  along with an associated flag indicating that the payload data is incorrect via the receiver part  172  using signal  183 .  
         [0085]     Diversity gain is used to improve bit errors and produce the improved version of the payload from the received versions. For example, the value of a bit in the improved version can be determined by a majority decision taking into account the corresponding bit value for each received version (if 3 or more versions are received). Alternatively a soft decision may be taken on each bit of the improved version, by averaging the corresponding bit values for the received versions. As a further alternative, instead of taking a decision here, the soft information (e.g. averaged bit weight) can be conveyed to the subsequent units, such that the application can take into account the bitwise reliability information.  
         [0086]     An improved version of the incorrectly received payload could be determined by the verification circuitry each time such a payload is incorrectly received, thus keeping an updated improved version. A general confidence measure of the updated improved version thus determined could be calculated and if it is high enough, the verification circuitry could accept the updated improved version of the payload by providing a positive acknowledgement ACK and transferring the improved version of the payload (instead of the received incorrect payload) to the buffer  178  along with an associated flag indicating that the payload data is incorrect via receiver part  172  using signal  183 .  
         [0087]     Although Cyclic Redundancy Checking CRC has been used in the preceding embodiment to determine whether a payload has been correctly received, any suitable checking scheme may be used in the alternative.  
         [0088]     Although embodiments of the present invention have been described in the preceding paragraphs with reference to various examples, it should be appreciated that modifications and variations to the examples given can be made without departing from the scope of the invention as claimed.