The present invention relates to the encoding of packets in a packet switched network, and particularly but not exclusively to the encoding of packets including voice on an EDGE network.
Digital mobile communication systems for voice such as GSM (Global System for Mobile Communication), and DAMPS (Digital Advanced Mobile Systems) have expanded very rapidly in recent years.
In addition great demand for data service has been created by mobile users due to wide spread acceptance of the Internet. GPRS (General Packet Radio Service), EDGE (enhanced data rate for GSM), and UMTS (Universal Mobile Telecommunications Services) are all being developed to accommodate data users in wireless networks.
Schemes for the transmission of voice over fixed packet switch networks have also been developed in recent years and an increasing amount of voice traffic will be carried over packet switched networks in the future.
The enhanced data rate for GSM evolution (EDGE) is a proposal for the evolution of existing time division multiple access (TDMA) radio cellular systems in order to support higher transmission data rates and increase the capacity of these networks. The application of EDGE is restricted not only to GSM cellular networks but also has been accepted for the evolution of IS-136 systems by UWCC (Universal Wireless Communications Consortium). Enhanced data rates are achieved by introducing higher level modulation formats, such as 8-PSK (phase shift keying). With the introduction of such modulation schemes, EDGE systems can offer bit rates of up to approximately three times higher than standard GSM/GPRS/IS-136 systems.
EDGE was initially developed in order to provide data service at higher rates than GSM or GPRS, by making use of multi-phase modulation (such as 8-PSK) instead of binary GMSK. However, the structure of the proposed RLC/MAC blocks for data transmission do not allow for the efficient use of the available radio resources for voice transmission. Furthermore, due to the use of 8-PSK more powerful channel coding is required in order to maintain certain levels of voice quality.
The use of more powerful channel encoding techniques generates a larger number of encoded bits. If the number of bits encoded exceeds the number of bit spaces available, then puncturing is usually applied to remove certain bits. A performance trade off therefore exists between providing a powerful channel coding technique, but minimising the number of bits to be punctured.
It is therefore an object of the present invention to provide an improved encoding technique suitable for efficient channel encoding of voice on an EDGE network.
According to the present invention there is provided a method of transmission in a packet switched network comprising encoding at least two packets into a single block, in which each packet is associated with a header, wherein the at least two packets are associated with the same user, the method comprising encoding the at least two packets and only one of the associated headers and transmitting the resultant block characterised in that the transmission is by radio in a packet switched mobile wireless network.
The at least two packets preferably have a payload portion containing speech frames and a speech header. Each speech frame may include a set of Class I bits and a set of Class II bits the method further comprising: encoding a first speech frame by encoding the set of Class I bits; encoding a second speech frame by encoding the set of Class I bits; and encoding at least a portion of the header.
The speech frames may be for transmission on the down-link of a wireless packet switched network, wherein each encoding step comprises encoding two different portions of the header using two different encoding techniques. The Class I bits and a portion of the header may be encoded using a convolution code. The convolution code may be a 3,1,7 convolution code. The remainder of the header may be encoded using a block code. The block code is a 36,3 block code.
The speech frames may be for transmission on the up-link of a wireless packet switched network, wherein the Class I bits and the common header are encoded using a convolution code.
The single block may additionally include a set of stealing bits. The single block may include a set of spare bits. The block may be an EDGE RLC/MAC block.
The invention will now be described by way of example with reference to the accompanying drawings, in which:
a) and (b) illustrate a first example of a header structure for transmitting voice over an EDGE network;
a) and (b) illustrate a second example of a header structure for transmitting voice over an EDGE network;
a) and (b) illustrate a third example of a header structure for transmitting voice over an EDGE network;
a) and (b) illustrates system performance improvements using the header of
a) to 8(c) illustrate one embodiment of the generation of an RLC/MAC block from two speech frames from the same user in the down-link of an EDGE network utilising the circuit of
a) to 9(c) illustrate an embodiment, corresponding to the embodiment of
a) to 10(e) illustrate one embodiment of the generation of an RLC/MAC block from four speech frames from different users in the down-link of an EDGE network;
a) to 11(e) illustrate an embodiment, corresponding to the embodiment of
a) to 13(c) illustrate one embodiment of the generation of an RLC/MAC block from two speech frames from different users in the down-link of an EDGE network utilising the circuit of
a) to 14(c) illustrate an embodiment, corresponding to the embodiment of
a) to (d) illustrate conventional interleaving techniques;
a) to 19(c) illustrate one embodiment of the generation of an RLC/MAC block from two speech frames from the same users in the down-link of an EDGE network utilising the circuit of
a) to 20(c) illustrate an embodiment, corresponding to the embodiment of
a) to 23(c) illustrate an embodiment, corresponding to the embodiment of
The enhanced data rate for GSM evolution (EDGE) has been developed to support the transmission of data packets in wireless networks. Networks supporting the transmission of data packets are conventionally known as packet switched networks. In packet switched networks such as EDGE, the data is transmitted in data packets which include a header and a payload. Each data packet is encoded into a Radio Link Control/Medium Access Control (RLC/MAC) block. The payload includes the information portion of the data packet. The header includes control and routing information associated with the data packet. For example, the header usually includes the destination address of the data packet, error checking information, and control bits for enabling receipt of the packet to be acknowledged, and if necessary to request retransmission of the packet. One characteristic of data packet transmission is that if the receiver in the network does not successfully receive the transmitted packet, then retransmission of the data packet is requested.
In sending voice, as opposed to data, the requirements for transmission are different. For example, in voice transmission it is impractical for information to be re-transmitted because of time delay constraints. Therefore voice transmission in packet switched networks is unacknowledged voice packet transmission. In addition, with voice different bits of the encoded speech have different importance, and it is acceptable for certain bits to be lost. However in data every bit is assumed to have equal importance, and no bits should therefore be lost.
It is herein proposed to transmit voice over an EDGE packet switched network. In order to do this, a new RLC/MAC block structure is proposed in which the conventional EDGE header is modified to include those fields required to support only voice transmission. Referring to
Thus to send voice over an EDGE network, it is proposed to change the RLC/MAC block of a standard data packet. The new block contains a header, and a payload consisting of the coded speech bits coded using a standard GSM speech encoder.
This new RLC/MAC block is coded in a different way from that of a known standard EDGE packet. This change of coding is required because for speech data different bits have different importance whereas for data every bit has equal importance.
a) shows a header for transmission of voice in the down-link of an EDGE network, prior to channel encoding into an RLC/MAC block. The header 2 comprises an up-link status flag (USF) field 4, a temporary flow identity (TFI) field 6, and a final block indicator (FBI) field 8. The USF field is a 3 bit field, the TFI field is a 7 bit field, and the FBI field is a 1 bit field. All these fields, and there lengths, are defined by the GPRS standard which EDGE utilises, and the functionality of these fields in the reduced header is the same as in the normal header used in EDGE for data packet transmission.
b) shows a header for transmission of voice in the up-link of an EDGE network. The header 10 comprises a temporary flow identity (TFI) field 12, a speech flag (SF) field 14, and a final block indicator (FBI) field 16. The TFI field is a 7 bit field, the SF field is a 2 bit field, and the FBI field is a 1 bit field. The speech flag field is newly introduced into an EDGE header, and corresponds to the S/P bit in GPRS.
In one preferable implementation of voice over EDGE as discussed hereinbelow, each EDGE RLC/MAC block contains two speech frames, and therefore two speech flags are preferably provided in the up-link header of
For completeness, a summary of each field of the up-link and down-link headers of
The USF field is used for unique addressing of the mobiles. Specifically, when a mobile receives a packet in the down-link and reads the packets header and finds that it contains it's USF, this means that the base station has given permission to this mobile to transmit its packets on the up-link in a predefined timeslot.
The TFI field uniquely identifies a data flow. When a call is established, it is assigned a unique number. When a mobile station or a base station receives a packet and reads its header it knows which data flow (call) this packet belongs to, by reading the TFI field.
When the SF field is set to 1, the speech frame corresponds to speech. If the SF field is set to 0, the speech frame corresponds to silence.
When the FBI field is set to 1, this is an indication to the receiver that the current data flow is ended. If the FBI field is set to 0, this means that there are more packets to be transmitted in the current data flow.
b) shows the header for transmission of voice in the down-link of an EDGE network also further modified to include a set of error checking bits in a cyclic redundancy checking (CRC) field 22. The new header 24 still includes the TFI field 12, the SF field 14, and the FBI field 16. The provision of the error checking bits provides extra protection for the header. Although the headers of
The size of the CRC field in both the up-link and the down-link headers is dependent upon the error code used in the system. In a simple error checking scheme, the CRC field is generated in dependence upon the other fields in the header. At the receiver, the error field is compared to a re-calculation of the CRC field based on the received header, and if an error is detected then the speech block is discarded. In data transmission this is normal, and re-transmission of the data packet may be requested after the original packet is discarded.
In voice, as mentioned hereinabove, re-transmission is impractical. If voice is sent in packet switched networks then the standard error techniques can result in a speech block being discarded on the basis of an error in the header alone, even when the speech in the payload is error free.
Therefore there is proposed herein a further new header, generally applicable to any network in which information is sent in a block comprising a header and a payload. This new header is described herein with reference to a third embodiment of the header for voice over EDGE described with reference to other embodiments in
The principle of this new header is to provide an error field in the header which is generated in dependence only on bits contained in the header. This error field is then used at the receiver end to determine whether there are any errors present in the header. If one or more errors are present in the header, then the nature of the error field is such that the receiver can attempt to correct the error or errors introduced during transmission.
This means that blocks which are error free in the payload, or contain acceptable errors, are not automatically discarded. Therefore system performance is increased, particularly for the transmission of speech in packet switched networks.
Referring to
In the header 26 for the up-link for an EDGE network, a 15,10 cyclic code is preferably used for protection of the header, having the following generator polynomial:
g(D)=D5+D4+D2+1
Thus a 15 bit header is generated from the original 9 bits of the header. In accordance with the standard EDGE, the FBI bit is not included in the calculation of the CCS field. Such cyclic codes are well-known, and within the scope of one skilled in the art. This block code has double-burst-error-correcting ability and single random error correction capability. It can detect up to 3 random errors. It can detect all burst error patterns of length 5 or less. The fraction of undetected error patterns of length equal to 6 is 0.0625. The fraction of undetected error patterns of length larger than 6 is 0.03125. The code has minimum distance of 4 and is the best code known with length 15 and dimension 10.
In the header 30 for the down-link for an EDGE network a 15,9 cyclic code is preferably used for protection of the header, and has the following generator polynomial:
g(D)=D6+D5+D4+D3+1
Thus a 15 bit header is generated from the original 10 bits of the header. In accordance with the standard EDGE, the FBI bit is again not included in the calculation of the CCS field. This block code has burst error correcting ability of three, and single random error correction ability. It can detect up to 2 random errors. It can also detect all error patterns of length up to 6. The fraction of undetected error patterns of length equal to 7 is 0.03125. The fraction of undetected error patters of length 8 or higher is 0.015625. It is clear that the TFI and SF fields are well protected and the error probability is significantly reduced with this code which has triple burst error correcting ability.
Syndrome, which is the result of a calculation done at the receiver upon reception of a code word, will be calculated for headers without error correction. If the syndrome value is zero, this is an indication that the code word contains no errors. The manner in which the syndrome is calculated depends upon the specific code used. The RLC block will thus be accepted if the syndrome is right. If the syndrome is wrong, the header will be sent for error correction. The RLC block will be discarded if the error corrector still indicates there are errors in the header because the number of errors exceeds the code error correction ability. When the error corrector indicates there are no errors in the header after error correction, the RLC block will be accepted and it assumes any errors in the header have been corrected.
In both
In
The headers with errors that have been corrected are between approximately 10 to 20 percent according to the simulations. Because one corrected header will save at least one speech frame, it will improve the quality of speech significantly.
Referring to
It will be appreciated, from the block diagram of
Referring to
In the following discussion, specific examples of encoding speech frames for transmission over EDGE are given. In these example one or another of the improved headers discussed hereinabove is utilised. It will be apparent, however, that alternative headers may be used whilst still gaining from the advantages of the described encoding techniques.
In transmitting voice over EDGE, it is advantageous wherever possible to use the components of a standard speech encoder for generating the speech frames for transmission. In the following examples, standard GSM speech encoders are utilised. However, other speech encoders may be utilised. In GSM, speech frames have Class I bits and Class II bits, and the Class I bits are further split into a Class Ia category and a Class Ib category. In general in speech different bits have different importance, and therefore in a more general case the important bits (Class I in GSM) can be considered as primary bits, and the less important bits (Class II in GSM) can be considered as secondary bits.
Two Speech Frames from same User
A standard GSM enhanced full-rate speech encoder generates a speech frame having 244 bits, 174 of these bits are Class I bits, of which 50 are Class Ia and 124 are Class Ib. The remaining 70 bits are Class II bits. The 244 bits of a first speech frame U1SF1 from a first user are received on a signal line 100, and the 244 bits of a second speech frame U1SF2 from the same first user are received on a signal line 102. Each of the 244 bit speech frames U1SF1 and U1SF2 are input to one of the respective preliminary coding circuits 104 and 106.
The preliminary coding circuits 104 and 106 each generate, on a respective output signal line 108 and 110, a set of 260 bits. Each speech frame U1SF1 and U1SF2 of 244 bits are passed through one of the preliminary coding circuits to produce a respective set of 260 bits. The additional 16 bits are generated in the preliminary coding circuits by an 8-bit cycle redundancy code on the most important 65 bits of the Class I bits, and by two repetitions of the four most important Class II bits. Thus each speech frame speech frame is modified to have 50 Class Ia bits, 132 Class Ib Bits, and 78 Class II bits, giving a total of 260 bits. This preliminary coding step is in accordance with standard GSM techniques.
The 50 Class Ia bits on the signal line 108 are input to the block code circuit 112. Thereafter the 50 Class Ia bits are used to generate 3 parity bits, such that 53 bits are generated on the output line 121 of the block code circuit. Similarly the 50 Class Ia bits on the signal line 110 are input to the block code circuit 118, which generates 53 bits (including 3 parity bits) on line 124.
The 132 Class Ib bits on signal line 108 are input to the reordering circuit 114. The 132 Class Ib bits on signal line 110 are input to the reordering block circuit 120. The 53 bits on signal line 121 form a further input to the reordering circuit 114, and the 53 bits on signal line 124 form a further input to the reordering circuit 120.
Each of the respective re-ordering circuits 114 and 120 additionally receive a set of six tail bits TB on the signal line 130 and 132 respectively. A tail is then added to the end of the Class I bits, in the reordering blocks 114 and 120 respectively, which are used as trellis termination for the convolution encoder utilised for the further encoding of the Class I bits as discussed below. In EDGE six tail bits are added.
The reordering circuit 114 reorders the 53 Class I bits on lines 121, the 132 Class I bits on line 108, and the 6 tail bits on line 130 to generate 191 Class I bits on signal line 122. The reordering circuit 120 reorders the 53 Class I bits on lines 124, the 132 Class I bits on line 110, and the 6 tail bits on line 132 to generate 191 Class I bits on signal line 125. The 191 bit outputs on lines 122 and 124 respectively form inputs to the respective convolution encoder circuits 126 and 128.
The 78 Class II bits on line 108 are input directly to the output block 116. The 78 Class II bits on line 110 are input directly to the output block 116.
Thus the 244 bit speech frames U1SF1 and U1SF2 are encoded, at this stage, into respective 269 bit speech frames having 191 Class I bits and 78 Class II bits.
The encoding of the speech frame up to now is in conformance with speech encoding techniques used in GSM, and may be implemented in a standard GSM speech encoder. The one difference is that in standard GSM only four tail bits are required. Therefore in standard GSM there are usually only 189 Class I bits at this stage.
In this advantageous embodiment of encoding two speech frames, an efficient coding technique is able to be utilised by encoding only one header, as opposed to two. That is, it is recognised that the headers associated with the two speech frames are identical as they are associated with the same user. Therefore, one header is discarded, resulting in a fewer number of bits needing to b encoded as described below. As will also become apparent from the following description, the requirement for the encoding of only one header when the speech frames are generated using an enhanced full-rate encoder enables two speech frames to be encoded into a single RLC/MAC block without the need for any puncturing in the encoding, resulting in a very efficient coding scheme.
The 16 bits of the down-link header are presented on signal line 138. In this example the advantageous header structure for the down-link of
Referring to
As discussed hereinabove, the three USF bits of the down-link header are block coded into 36 bits and passed to the output circuit 116, as designated by reference numeral 162 in
The 191 Class I bits of the first speech frame on line 122 are combined with the remaining 13 bits of the header (i.e. all fields except the 3 USF bits) on line 138 in the convolutional encoder circuit 126. A 3,1,7 convolution code is utilised in the convolution encoder circuit 126 to generate 612 bits on the output signal line 134, which are passed to the output circuit 116. These 612 bits are designated by reference numeral 164 in
The 3,1,7 convolutional code utilised in this preferred embodiment is more powerful than the one proposed for data transmission in EDGE. The code has a rate of ⅓ and a constraint length of 7 and therefore it is of the same complexity with the code proposed for EDGE.
The generator polynomials of the rate 3.1,7 convolutional code are as follows:
G0(D)=1+D2+D3+D5+D6
G1(D)=1+D+D2+D3+D4+D6
G2(D)=1+D+D4+D6
This code is the best known code in its class. The free distance of the code is dfree=15. The code proposed in EDGE has a free distance of 14 (when puncturing is not applied).
The 78 Class II bits are passed to the output circuit 116 unencoded from line 108, and are designated by reference numeral 166 in
The 191 Class I bits of the second speech frame on line 125 are input to the convolutional encoder circuit 128. The 3,1.7 convolution code is again utilised in the convolution encoder circuit 126 to generate 573 bits on the output signal line 136, which are passed to the output circuit 116. These 573 bits are designated by reference numeral 168 in
The 78 Class II bits are passed to the output circuit 116 in unencoded form on line 110, and are designated by reference numeral 170 in
The output circuit 116 additionally receives 4 stealing bits SB on line 146. The four stealing bits are used to signal the type of the header (as in data transmission over EDGE). Each TDMA burst contains one stealing bit. Four stealing bits are therefore provided, as it is proposed herein that the RLC/MAC block is spread over four bursts as for data over EDGE. In addition to the 1377 bits generated and as shown in
Referring to
In practice only one of the convolution encoders 126 or 128 may be provided. Such a single convolution encoder may be utilised for encoding both speech frames in sequence.
Whilst the above description has been in relation to the transmission of two speech frames in the same RLC/MAC block in the down-link, and
The encoder for generating the RLC/MAC block in the up-link will be very similar to that in the down-link shown in
Referring to
The 191 Class I bits of the first speech frame on line 122 are combined with 16 bits of the header on line 138 in the convolutional encoder circuit 126. A 3,1,7 convolution code is again utilised in the convolution encoder circuit 126 to generate 621 bits on the output signal line 134, which are passed to the output circuit 116. These 621 bits are designated by reference numeral 190 in
The 78 Class II bits are passed to the output circuit 116 unencoded from line 108, and are designated by reference numeral 192 in
The 191 Class I bits of the second speech frame on line 125 are input to the convolutional encoder circuit 128. A 3,1,7 convolution code is again utilised in the convolution encoder circuit 126 to generate 573 bits on the output signal line 136, which are passed to the output circuit 116. These 573 bits are designated by reference numeral 194 in
The 78 Class II bits are passed to the output circuit 116 unencoded from line 110, and are designated by reference numeral 196 in
Referring to
On the up-link or the down-link the 1392 bits of the RLC/MAC block are passed to an 8-PSK modulator of the EDGE encoder. The RLC/MAC speech blocks are preferably interleaved over four bursts, as in the transmission of data packets in EDGE.
At the receiver, the reverse decoding stages are utilised. If the header of a received speech frame is in error, then an error correction is attempted. If the error correction is successful, the received speech frame may still then be discarded if either of the two CRC checks is not successful (the 3 bits protecting the 50 Class Ia bits or the 8 bits CRC protecting the 65 most important Class I bits).
Thus in the above there has been described a technique for encoding two speech frames from the same user in a single RLC/MAC block for transmission over EDGE. Although this technique has been specifically described in relation to a technique for transmitting voice over EDGE, it applies more broadly to the transmission of voice over packet switched networks. The technique allows two speech frames from one user to be encoded into a single RLC/MAC block using an encoding scheme which is proven to be advantageous. More importantly, there is no requirement for any puncturing of bits in implementing the encoding scheme. That is, there is no need to remove bits of the encoded speech frames to ensure that the number of bits fits into the RLC/MAC block, as may normally be expected to be required with the encoding of speech data. This particular advantage is achieved by utilising the characteristic that if two speech frames are from the same user, then the headers associated with those speech frames are identical. Therefore one of the headers is redundant and can be removed from the packet to be encoded. This reduces the number of bits to be encoded and allows a particularly advantageous coding scheme to be utilised.
In addition, it should be appreciated that this technique may be advantageously utilised in encoding of more than two speech frames from the same user in a single RLC/MAC block. Regardless of the number of speech frames, if they are from the same user only one header is required.
In the following description, two examples are given of the encoding of two speech frames which are associated with different users. One characteristic of speech frames from different users is that in the down-link one user does not have any information about the other user.
The principle described hereinabove for encoding four speech frames from the same user in a single RLC/MAC block may be further extended to the encoding of larger numbers of speech frames from the same user in a single RLC/MAC block.
Two Speech frames from Different User—Case 1
Referring to
This embodiment utilises the 244 bit speech frames generated by an enhanced full-rate GSM speech encoder, as described hereinabove with reference to
As the two speech frames are from different users, then there are two respective different headers associated with each speech frame. Hence the block code circuit 141 is introduced to handle the header associated with the second user speech frame on line 102. The header associated with the first user speech frame on line 100 is processed in the same manner as the common header is processed in the circuit of
The 16 bits of the down-link header for the second user associated with the speech frame U2SF1 are presented on signal line 139. The three USF bits form an input to the block code circuit 141, which generates 36 bits on its output signal line 143 to the output circuit 116, utilising the standard block code from EDGE discussed hereinabove with reference to
Referring to
As discussed above, the 3 bits of the USF field 212 of the header associated with the first user are block encoded in the block code circuit 140 to give 3 bits on line 142, designated by reference numeral 238 in
The 191 Class I bits of the first speech frame from the first user on line 122 are combined with 16 bits of the header on line 138 in the convolutional encoder circuit with puncturing 126. A 3.1,7 convolution code is again utilised in the convolution encoder circuit 126, and the encoder circuit punctures 34 bits such that 578 bits are generated on the output 134 of the encoder circuit. These 578 bits are designated by reference numeral 230 in
In a preferable implementation, the puncturing scheme used is as follows:
b(9+j*17)j=0,1 . . . 33,
where b(i) is the output of the 3,1,7 encoder. This scheme will nor puncture any CRC bits. For Class I bits, the total output is 573 bits with the CRC bits located in positions 151 to 159. The closest bits to the CRC which are punctured are bits 145 and 162. The last bit punctured is 570.
The 78 Class II bits 218 are passed to the output circuit 116 unencoded from line 108; and are designated by reference numeral 232 in
As discussed above, the 3 bits of the USF field 220 of the header associated with the second user are block encoded in the block code circuit 141 to give 3 bits on line 143, designated by reference numeral 240 in
The 191 Class I bits of the first speech frame from the second user on line 125 are input to the convolutional encoder circuit 128. A 3,1,7 convolution code is again utilised in the convolution encoder circuit 128, and the encoder circuit punctures 34 bits such that 578 bits are generated on the output 136 of the encoder circuit 128. These 578 bits are designated by reference numeral 234 in
The 78 Class II bits 224 are passed to the output circuit 116 in unencoded form on line 110, and are designated by reference numeral 236 in
The encoder of
Referring to
Four more stealing bits are added to guarantee a complete in-band signal when the second user is absent.
On the up-link or the down-link the 1392 bits of the RLC/MAC block are passed to an 8-PSK modulator of the EDGE encoder. The RLC/MAC speech blocks are preferably interleaved over four bursts, as in the transmission of data packets in EDGE.
At the receiver, the reverse decoding stages are utilised. If the header of a received speech frame is in error, then an error correction is attempted. If the error correction is successful, the received speech frame may still then be discarded if either of the two CRC checks is not successful (the 3 bits protecting the 50 Class Ia bits or the 8 bits CRC protecting the 65 most important Class I bits).
The encoder for generating the RLC/MAC block in the up-link will be very similar to that in the down-link shown in
In the up-link, each user encodes its associated speech frame. Thus
In the up-link, the full 16 bits of the header are convolution encoded with the Class I bits, as discussed hereinabove in the embodiment of two speech frames from the same user. Again, the 3,1,7 convolution code is used, and in the case of the up-link it is necessary to puncture 7 bits. Thus in the up-link the convolution encoder generates 614 bits 262 as shown in
The puncturing scheme used in a preferable implementation is for Class Ib its only, and may be expressed as:
b(200+j*49)j=0,1 . . . 6,
where b(i) is the output of the 3,1 encoder. This scheme will not puncture any CRC bits. The CRC bits are located at 151 to 159. Puncturing starts at 200 and finishes at 494.
The 78 Class II bits are included in the encoded speech frame 252 unencoded as before, and are designated by reference numeral 264.
The thus encoded speech frame 252 has four stealing bits 266 added thereto, and this represents half of an RLC/MAC block as shown in
Interleaving Scheme
The present description has a particular emphasis on the application of techniques to an EDGE system. In EDGE, it is proposed that data packet encoded into an RLC/MAC block should be transmitted on the down-link or the up-link in four bursts. That is the 1392 bits of an RLC/MAC block should be split into four sections, with each section being sent in a separate burst.
As will be familiar to one skilled in the art each burst occupies a time slot of a TDMA frame. That is, transmission in a TDMA system takes place in a series of TDMA frames, each of which is split into a number of time slots. Each time slot, in a circuit switched network having dedicated physical channels, is allocated to, and reserved for sole use by, one particular user. Each user then transmits in their time-slot of each TDMA frame, both in the down-link and the up-link.
Referring to
Information is transmitted on the physical channel in TDMA time slots, as illustrated in
Referring to
In conventional GSM/GPRS, the 464 bits of a particular block, e.g. the second block 802, are interleaved over eight bursts (in eight TDMA frames) with the least half of the bits from the previous block 800 (designated by reference numeral 801) and the first half of the bits from the next block 804 (designated by reference numeral 805).
Thus, as indicated by the arrows in
Conversely in the EDGE proposal, each RLC/MAC block is transmitted over four time frames, and hence over four time slots in four successive time frames as illustrated in
d) represents the arrangement of EDGE when an 8 PSK modulator is used. This allows each conventional burst to accommodate three times the conventional number of bits, i.e. 464 (456 bits plus eight stealing bits). Thus the 1392 bits of an EDGE RLC/MAC block, represented by block 810 in
As can be seen from
In order to facilitate a particularly advantageous transmission scheme, there is proposed herein a scheme in which two users share a time slot within a TDMA frame on both the down-link and the up-link. This scheme may be applied advantageously to the transmission of speech frames from two different users over EDGE encoded according to the technique described hereinabove.
According to the new technique proposed herein, the data from each of the two users is transmitted in a common time frame. Referring to
Thus, suppose that time slot TN3 is allocated to the two users. In time slot TN3 of time frame TF1 174 bits (including one stealing bit) of the encoded RLC/MAC associated with the first user are transmitted in the data portion 608 of the burst, and 174 bits (including one stealing bit) of the encoded RLC/MAC associated with the second user are transmitted in the data portion 612 of the burst. In time slot TN3 of time frame TF2 a further 174 bits (including one stealing bit) of the encoded RLC/MAC associated with the first user are transmitted in the data portion 608 of the burst, and a further 174 bits (including one stealing bit) of the encoded RLC/MAC associated with the second user are transmitted in the data portion 612 of the burst. This is then repeated for a further two bursts such that all 1392 bits of the burst are transmitted in four successive bursts.
Referring to
A block designated by reference numeral 400 represents 160 samples of speech associated with a first user in a 20 ms time frame, prior to initial channel encoding. As represented by the arrow 404, these 160 samples are encoded into a 260 bit speech frame for the first user as designated by reference numeral 408, which are the set of bits on the output 108 of the preliminary coding circuit 104. These 260 bits still occupy a 20 ms time period. The 260 bits of the speech frame are then encoded into the 696 bits constituting half of the RLC/MAC block on the output 149 of the output circuit 116, which step is represented by arrow 412. The 696 bits of the RLC/MAC block are designated by reference numeral 416.
Similarly, for the second user, the arrows 406, 410 and 414 correspond directly to the functions illustrated by the arrows 400, 408 and 416 respectively. The blocks designated 402, 410, and 414 for the second user correspond directly to the blocks 404, 412 and 416 for the first user.
Thus the block 418 corresponds to the set of 696 bits of the RLC/MAC block of
The third time slot of the TDMA frames is allocated to both users. In a first frame TF1 a first quarter of the encoded data for each user plus two respective steering bits is transmitted. In a second frame TF2 a second quarter of the encoded data for each user plus two respective stealing bits is transmitted. In a third frame TF3 a third quarter of the encoded data for each user plus two respective stealing bits is transmitted. In a fourth frame TF4 a fourth quarter of the encoded data for each user plus two respective steering bits is transmitted. Thus the whole RLC/MAC block is transmitted over four bursts or time slots.
In a preferred implementation, the coded bits are reordered and interleaved according to the following rule:
i(B,j)=c(n,k)
for: k=0,1, . . . ,691
The mapping is given by the rule:
e(B,j)=i(B,j) and e(B,176+j)=i(B,174+j) for j=0,1, . . . ,173
and
e(B,174)=SB(2B) and e(B,175)=SB(2B+1)
The two bits, labeled SB(2B) and SB(2B+1) on burst number B are flags used for indication of control channel signaling.
In the up-link, the technique proposed with reference to
Again, suppose that time slot TN3 is allocated to the two users. In time slot TN3 of time frame TF1 174 bits (including one stealing bit) of the encoded RLC/MAC associated with the first user are transmitted in the data portion 608 of the burst, and a further 174 bits (including one stealing bit) of the encoded RLC/MAC associated with the first user are transmitted in the data portion 612 of the burst. In time slot T3 of time frame TF2 174 bits (including one stealing bits) of the encoded RLC/MAC associated with the second user are transmitted in the data portion 608 of the burst, and a further 174 bits (including one stealing bit) of the encoded RLC/MAC associated with the second user are transmitted in the data portion 612 of the burst. The remaining bits associated with the first user are then transmitted in the third time frame TF3, and the remaining bits associated with the second user are then transmitted in the fourth time frame.
Referring to
The blocks 400, 408, and 416 in
The 696 bits of the RLC/MAC block for the first user are designated by reference numeral 416, and the 696 bits of the RLC/MAC block for the second user are designated by reference numeral 418.
Similarly, for the second user, the arrows 406, 410 and 414 correspond directly to the functions illustrated by the arrows 400, 408 and 416 respectively. The blocks designated 402, 410, and 414 for the second user correspond directly to the blocks 404, 412 and 416 for the first user.
The 696 bits of the encoded RLC/MAC block are interleaved over two even/odd bursts and passed to the 8-PSK modulator.
In the up-link, the coded bits are preferably reordered and interleaved according to the following rule:
i(B,j)=c(n,k) for k=0,1, . . . ,691
n=0,1, . . . ,N,N+1, . . .
The result of the interleaving is a distribution of the reordered 692 bits of the user one speech block, n=N, over 2 even blocks (B=B0+2N+0,2) and the reordered bits of the user two speech block, n=K, use odd blocks (B=B0+2N+1,3).
The mapping is given by the rule:
e(B,j)=i(B,j) and e(B,176+j)=i(B,174+j) for j 0,1, . . . ,173
and
e(B,174)=SB(2B) and e(B,175)=SB(2B+1)
The two bits, labeled SB(2B) and SB(2B+1) on burst number B are flags used for indication of control channel signaling.
Two Speech Frames from Different User—Case II
Referring to
In this embodiment, the header for the down-link shown in
The 244 bits of the first speech frame U1SF1 from the first user are received on the signal line 100, and the 244 bits of the first speech frame U2SF1 from the second user are received on the signal line 102. Each of the 244 bit speech frames U1SF1 and U2SF1 are processed by the preliminary coding circuits 104 and 106, and the block code circuits 112 and 118 exactly as described hereinabove with reference to
The reordering circuit 120 processes the 53 Class Ia bits on line 124 and the 132 Class II bits on line 110 in exactly the same manner as described hereinabove with reference to
The reordering circuit 114, however, is modified relative to the re-ordering circuit 114 of
a) illustrates the format of the two speech frames, and their associated headers, prior to encoding into the format for the RLC/MAC block.
The 3 bits of the USF field from the first user's header on line 138 are designated by reference numeral 282. The 3 bits of the USF field from the second user's header on line 139 are designated by reference numeral 284. The remaining 8 bits of the first user's header on line 138 are designated by reference numeral 286, and the remaining 8 bits of the second user's header on line 138 are designated by reference numeral 288. The 185 Class I bits from the first user on line 122 are designated by reference numeral 290, and the 191 Class I bits from the second user on line 125 are designated by reference numeral 292. The 78 Class II bits from the first user on line 108 are designated by reference numeral 294, and the 78 Class II bits from the second user on line 110 are designated by reference numeral 296.
It can be seen from studying
This saving of bits results in the more efficient implementation of the convolution code. The combined convolution encoder circuit with puncturing encodes the two remaining sets of 8 bits of each header and the two sets of Class I bits into a set of 1112 bits by utilising the 3,1,7 convolution code as discussed above. The convolution encoder with puncturing punctures 16 bits. The encoded speech frames are illustrated in
The puncturing scheme is applied for Class Ib bits only and the preferable scheme is represented by:
The total number of bits reduces from 1128 to 1112.
As described before with reference to
Each set of 78 Class II bits are unencoded as before, and are designated by the reference numerals 306 and 308.
Referring to
The down-link in this embodiment, utilises the interleaving technique introduced in
For this particular embodiment, there are two alternative techniques discussed hereinbelow for encoding on the up-link. As discussed hereinabove for the first embodiment of two speech frames from different users on the up-link, neither user has any information about the other, and therefore each speech frame from each user is encoded separately.
The encoded speech block 322 is illustrated in
The preferable puncturing scheme applied for Class Ib bits only is:
This results in a set of 374 bits as designated by reference numeral 332. As before the 78 Class II bits remain unencoded, and are designated by reference numeral 334.
Finally, the RLC/MAC block 324 for transmission is illustrated in
The speech frame of the second user is similarly encoded, and results in an RLC/MAC block with the identical format to that of
New Burst Structure
In the following a new burst structure based on the GSM/GPRS burst structure is proposed, which advantageously utilises the encoding technique for the up-link described with reference to
The encoded speech block 340 is illustrated in
This scheme uses (3,1,7) convolutional code rather than (2,1,7) convolutional code in previous section. This code has better coding gain but it produces more bits and lot puncturing has to be done.
Puncturing schemes are used:
This scheme will not puncture any header or CRC bits. The header is located at bits 1 to 30 and the CRC is located at bits 181 to 189.
This results in a set of 422 bits as designated by reference numeral 342. As before the 78 Class II bits remain unencoded, and are designated by reference numeral 344.
Finally, the RLC/MAC block 350 for transmission is illustrated in
The speech frame of the second user is similarly encoded, and results in an RLC/MAC block with the identical format to that of
Referring to
Referring to
As illustrated in
Thus, in accordance with this technique, a quarter of the 456 bits associated with the first user and represented by block 416 are transmitted in each of the four sub-time-slots 908, 912, 916, and 920. A quarter of the 456 bits associated with the second user and represented by block 418 are transmitted in each of the four sub-time-slots 910, 914, 918, and 922. The burst structure in each sub-time-slot corresponds to that of
In this way each physical channel formed by a conventional time slot becomes two physical channels. In this way an eight physical channel system may become a sixteen physical channel system.
Thus the original burst can be treated as two separate bursts. The information of a first user will occupy the first new burst (the top half of the original burst), and the information of the second user will occupy the second new burst (the bottom half of the original burst). Interleaving may be done by the conventional GSM/GPRS method, but with a new size of 456 for the burst structure of
The partitioning of each time slot into a greater number of sub-time-slots is possible. Thus, in general, if a time slot normally supports a burst structure having n bits, each time slot may be partitioned into m sub-time-slots, bits being transmitted in each sub-time-slot in a corresponding burst structure having n/m bits.
In the general case, data from p users may be encoded such that each forms 1/p bits of an RLC/MAC block, wherein the encoded data is encoded into one of a p sub-time-slots.
Using the coding technique of
Thus in a circuit or packet switched TDMA network, the number of physical channels may be doubled or further increased.
The interleaving technique for transmitting user data from different users in the same time slot, described hereinabove with reference to, for example,
Four Speech Frames from Different Users
A further embodiment is now described in which four speech frames all associated with different users are encoded into a single RLC/MAC block for transmission over EDGE. In this embodiment a standard GSM Half-rate encoder is utilised.
A standard GSM half-rate speech encoder generates a speech frame having 112 bits. 95 of these bits are Class I bits, of which 22 are Class Ia and 73 are Class Ib. The remaining 17 bits are Class II bits.
The ordering of the bits of a half-rate speech frame is shown in
In standard GSM, the Class Ia bits of the half-rate encoded speech frame 700 of
The circuitry for generating the half-rate encoded speech frame 708 of
The encoding of the half-rate speech frame up to now is in conformance with speech encoding used in GSM. In this example the advantageous header structure for the down-link of
Referring to
The three USF bits of the down-link header are block coded into 36 bits as designated by reference numeral 726 in
The 95 Class I bits 702 and 704 of the first speech frame are combined with the remaining 13 bits of the header 722 (i.e. all fields except the 3 USF bits) and the 3 CRC bits 710 in a convolutional encoder circuit. A 3,1,7 convolutional code is utilised as described above to generate 351 bits designated by reference numeral 724 in
The 3,1,7 convolutional code described hereinabove with reference to
G0(D)=1+D2+D3+D5+D6
G1(D)=1+D+D2+D3+D4+D6
G2(D)=1+D+D4+D6
The output of the convolutional encoder comprises 351 bits [b(1), . . . , b(351)]. In order to fulfil the length requirements of the EDGE RLC/MAC block, puncturing must be used at this stage. More specifically, 58 of the 351 bits 724 are punctured to result in a set of 293 encoded bits designated by reference numeral 728 in
b(40+5·i)=0, i=0,1 . . . ,56
b(324)=0
Careful examination of the punctured bits shows that none of the critical CRC and header bits are punctured.
The 17 Class II bits are unencoded and are designated by reference numeral 730 in
Referring to
Each of the second, third, and fourth half-encoded speech frames from the same user are encoded in an identical manner to that described in relation to the first speech frame with reference to
At the receiver end, prior to decoding, the punctured bits are replaced with zeros. The punctured block consists of 293 bits, which are combined with the 36 encoded USF bits and the 17 uncoded Class II bits to form the first block of the transmitted RLC/MAC block. The same procedure is followed for the rest three speech frames. At the end 8 stealing bits are inserted. After the RLC/MAC block is formed, it is forwarded to the modulator and interleaver. Interleaving over four bursts is preferably used in the downlink as in EDGE data transmission.
Because all the headers are encoded, this same technique may be used for encoding four speech frames which are not all associated with the same user.
Whilst the above description has been in relation to the transmission of four speech frames in the same RLC/MAC block in the down-link, and
Referring to
The 95 Class I bits 702 and 704 of the first speech frame are combined with the 16 bits of the header 723 and the 3 CRC bits 710 in a convolutional encoder circuit. A 3,1,7 convolution code is again utilised to generate 360 bits (including 6 tail bits) designated by reference numeral 750 in
The output of the convolutional encoder comprises 360 bits [b(1), . . . , b(360)]. In order to fulfil the length requirements of the EDGE RLC/MAC block, puncturing must again be used at this stage. 31 of the 360 bits 750 are punctured to result in a set of 329 encoded bits designated by reference numeral 756 in
b(53+9·i)=0, i=0,1, . . . ,29
b(324)=0
The 17 Class II bits 706 are unencoded. The encoded frame 752 is then allocated two stealing bits 766 and multiplexed into an RLC/MAC block with the three other frames. Each of the three other encoded frames 760, 762, and 764 is associated with two stealing bits 768, 770, and 772 respectively.
As will be discussed later herein, if four encoded speech frames are from different users, in a preferable embodiment they may share a common TDMA time slot.
Each encoded frame is preferably transmitted in one burst. Since four different blocks may come from four different users in the uplink, it is not possible to interleave the RLC/MAC block over four bursts. Alternatively block interleaving is used for each block in each burst. Specifically, the 346 bits are inserted in a 18×20 rectangular matrix column by column. This matrix has 360 elements and therefore the last 14 elements are empty. The bits are read out row by row. This interleaving scheme achieves a minimum distance of 18 between consecutive bits. At the receiver end the inverse procedure (de-interleaving) is followed.
Number | Date | Country | Kind |
---|---|---|---|
99304484 | Jun 1999 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/GB00/01182 | 3/28/2000 | WO | 00 | 2/12/2002 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO00/76110 | 12/14/2000 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4703477 | Adelmann et al. | Oct 1987 | A |
4894823 | Adelmann et al. | Jan 1990 | A |
5905727 | Christensen et al. | May 1999 | A |
6212230 | Rybicki et al. | Apr 2001 | B1 |
6590876 | Brent | Jul 2003 | B1 |
6609223 | Wolfgang | Aug 2003 | B1 |
6862278 | Chang et al. | Mar 2005 | B1 |
Number | Date | Country |
---|---|---|
4229654 | Apr 1933 | DE |
0 705 013 | Mar 1995 | EP |
08-274803 | Oct 1996 | JP |
WO 9737466 | Oct 1997 | WO |