Apparatus and method for data rate conversion

Abstract: A data communications apparatus which operates to communicate data from at least one data source generated as data frames of a size determined by a rate at which the data is generated, comprising data transport means which is arranged to communicate data generated by the sources in blocks of a pre-determined size, and means for converting the source data frames into transport data blocks which have a size substantially matched to the pre-determined block size of the data transport means, wherein the means for converting the source data frames includes an encoder, which operates to encode the source data frame at a rate which effects conversion of the source data frame to substantially match the pre-determined block size of the data transport means.

Description: The present invention relates to data communications apparatus and methods for communicating data. More specifically, the present invention relates to data communications apparatus and methods of communicating data in which data generated from a source is arranged to be matched to a rate at which data is communicated by a data transport means. Digital communications systems are arranged to communicate data between transmitters and receivers by representing the data in a form which facilitates transmission of the data via a medium through which communication is effected. For example, in the case of radio communications, the data is represented as radio signals and transmitted between transmitters and receivers of communications system via the ether. In the case of broadband telecommunications networks, the data may be represented as light and communicated via, for example, a fibre optic network between transmitters and receivers of the system. As a result of a limited bandwidth which is available to any data communications system, the transmission of data bearing signals is often regulated so as to provide each of the transmitters of the system with a substantially fair access to the available communications bandwidth. To this end, data communications systems are often provided with data multiplexing means or multiple access means which serves to effect a substantially fair allocation of bandwidth to the transmitters. Known multiplexing or multiple access schemes arrange for the data to be transported between the transmitters and receivers in bursts, packets or blocks which are scheduled for transmission on the data carrying media by the multiple access or multiplexing scheme. One example of such a multiple access scheme is that which is used to schedule transmission of radio signals in a mobile radio telephone system. The multiple access scheme operates to schedule radio communications between a plurality of transmitters and a corresponding plurality of receivers via the same radio frequency spectrum. In this case, the multiple access scheme operates to share access to the allocated radio frequency spectrum between each of the transmitters contemporaneously or sequentially. This is effected by dividing the data into packets or blocks, which are represented as radio signals, and which are transmitted in a time slot or time frame allocated to the transmitter by the multiple access scheme. Another example of a data communications system in which data is transported in packets or blocks, is that of a broadband telecommunications network which operates in accordance with Asynchronous Transfer Mode. In Asynchronous Transfer Mode telecommunications systems, data is transmitted as a plurality of cells, each of which comprises data to be directed to a particular receiver and information appertaining to an identification of the receiver to which the information is to be directed and a route via which the data should reach the receiver. There is an increasing requirement for data communications systems to transport data from a plurality of different sources representative of various different data types. As such, the rate at which data may be produced may differ significantly between different data types, and may also differ in inherent characteristics. For example, one type of data source may be a speech coder which operates to generate frames of digital data representative of analogue speech signals produced by a user of the data communications system to conduct a telephone conversation. Other examples are the transmission of video pictures or captured images represented as digital data. As a result, the multiple access system forming part of the data communications system must be arranged to transport data from a variety of sources between the transmitters and the receivers of the system, the different data sources generating the data at different rates. For example, the generation of digital data representative of speech signals will occur at a substantially constant, and relatively low rate whereas the generation of digital data representing video images will be at a relatively high rate and in a case where only changes in the video images are transmitted, the digital data will be transmitted only intermittently. Other types of data source such as the transmission of computer data files is not constrained by a time of transmission of the data and therefore may occur at a substantially irregular or bursty rate. As already explained, the multiple access scheme of a data communications system is typically arranged to optimise the use of the communications bandwidth allocated to the data communications system. As a result of the presence of a variety of different data types which could be transmitted by the data communications system, the multiple access scheme is often arranged to be optimised for the most prevalent or the most likely type of data to be communicated by the data communications system. As such the size of the packets, blocks or bursts, is therefore optimised for one particular type of data source traffic only. For example in the case of mobile radio telephony, the packet or burst size of radio signals in which data is conveyed, is often determined by the rate at which digital data representative of speech or voice signals is generated. In a situation where a data source is generating data at a rate which is not compatible with that at which the data communications system has been optimised, frames of data generated by the data source will not be matched with the size of the packet, burst of block in which data is transported by the multiple access scheme. That is to say, that the size of the data frames generated by the data source will not fit with the pre-determined size of the data bearing block, packet or burst of the multiple access scheme. This might be because the data frame is too large or too small. If too large, then provision must be made to carry the frame in more than one transport data block. However, it is unlikely that the block will match exactly. As such, some provision must be made to the effect of filling the remaining data bearing capacity of the transport data packet, burst or block with data, in order to make optimum use of the communications bandwidth allocated to the transmitter by the multiple access scheme. This provision or process, is known to this skilled in the art as "rate matching". One technique of rate matching, presented in a disclosure describing the Air-interface of the "Universal Telecommunications Radio Access Physical Layer Description, Specification System" Volume 0.3, produced by the "Special Mobile Group 2", of the Universal Mobile Terrestrial System Physical Layer Expert Group of the European Telecommunications Standards Institute", at Chapter 3.2.3 is known as unequal repetition. Unequal repetition is a known method of rate matching in which the whole or selected parts of a frame of data are repeated to an extent sufficient to fill a transport data block. However, such repetition only provides a means for detecting errors in the received data, or providing some limited error correction, either from a majority voting of the repeated data bits, in the case where the data is repeated more than three times, or by combining soft decision metrics indicative of a reliability of the repeated data bits, the combined metrics being used by a subsequent decoder. Therefore, in a case where data from the source frame is repeated, that part of the payload of the transport data block filled with repeated bits or symbols is not efficiently used and is not matched necessarily to the characteristics of the data communications channel on which the data is carried. A further known rate matching scheme effected by repetition or code puncturing, is disclosed in the "specification of the Air-Interface for Third Generation Mobile System" version 0, Volume 3, issued 18 December 1997, by the Association of Radio Industries and Businesses (ARIB) of Japan. This disclosure describes a rate matching process in which the data frame, generated by a data source has already been encoded by the source and is punctured in order to effect rate matching. In WO 97 45976 A1 a wireless communications system using a rate matching scheme with repetition and puncturing similar as described in the previous paragraph is disclosed. This document describes a rate matching process in which data frames are encoded, repetition of the code symbols is performed by a symbol repeater and finally puncturing is used in order to effect rate matching. In US 4 882 726 a pair of full duplex modems are connected and are designed to transmit to one another at the same predetermined band rate. While the first modem receives data at a bit rate faster than the band rate and converts the bit rate to the band rate, the second modem receives data at a bit rate slower than the band rate and therefore has to encode blocks of slower rate data bits into a larger number of bits to match the band rate. It is an object of the present invention to provide a data communications apparatus with a substantially efficient means of rate matching. The present invention resides generally in a data communication apparatus in which a frame of data generated by a data source is to be conveyed by a data transport means in a data block size greater than that of the data frame of the source, and providing an encoder to encode the source data frame at a rate corresponding to a relative difference in the size of the data frame and the size of the transport data block. According to the present invention there is provided a data communication system according to patent claim 1. By arranging for an encoder to encode the source data frame at a rate which has an effect of increasing the resultant size of the encoded data frame, so that it is substantially matched to the size of the payload of the transport data block, a substantially more efficient use of the capacity available within the transport data block not otherwise filled by the data frame is effected. This arrangement of encoding is such that the minimum distance of the encoded data is greater than the minimum distance which could be achieved using nearly selected repetition only. The term minimum distance as used herein with reference to an error control encoding scheme refers to a minimum Hamming distance between any two code words formed from all possible code words within a coding scheme. The Hamming distance is calculated by the number of possible words that can be generated between any two code words of a set of code words. Advantageously, the data communications apparatus includes means to puncture the encoded data, and in a case in which the encoded data is greater than the predetermined size of the data transport block, the encoded data block is punctured to the effect that the punctured encoded data block is substantially equal to the size of the transport data block. The error control encoder may operate in accordance with an error control algorithm such as a convolution code, a block code, a product code, turbo code or the like. The error control code could be any means of providing error protection or correction by adding redundancy to the encoded data in accordance with an algorithm applied to the data. Examples of error control codes known to those skilled in the art include convolutional codes, a Bose-Chaudhuri-Hocquenghem codes, Reed-Solomon codes, cyclic redundancy check codes or indeed any way of repeating or providing parity check bits to part of or the whole of a frame of digital data. The error control algorithm may operate in accordance with a systematic error control code in which the error encoded block is comprised of redundant data and the source data. The data communications apparatus may further include an interleaver which operates to interleave the encoded data block. The data source block may be pre-encoded by the data source. The data communications apparatus may further include a receiver having an error control decoder and a receiver controller. In a case where the source data frame has been encoded with a systematic error control code, the receiver may further operate to optionally extract the source data bits from the systematically encoded data block independence upon the relative complexity of the decoding and combining operations. According to a further aspect of the present invention there is provided a method of communicating data generated from at least one data source as according to patent claim 10. One embodiment of the present invention will now be described, by way of example only, with reference to the accompanying drawings wherein; FIGURE 1 is a schematic block diagram of a mobile radio communication system; FIGURE 2 is a schematic block diagram of a data communications apparatus forming a link between the mobile station and a base station of the communications network shown in Figure 1; FIGURE 3 is a part schematic block diagram part process illustration of the data converter means shown in Figure 2; FIGURE 4 is a further embodiment of the data converter means shown in Figure 3; and FIGURE 5 is a schematic block diagram of a data encoder shown in Figure 4. An example embodiment of the present invention will be described with reference to a mobile radio communications, system. Such a mobile radio communications system may be provided with a multiple access system which might for example operate in accordance with Time Division Multiple Access (TDMA) such as that used in the Global System for Mobiles, which is a mobile radio telephone standard administered by the European Telecommunications Standards Institute. The mobile radio communications system alternatively could be provided with a multiple access system which operates in accordance with Code Division Multiple Access (CDMA) such as that proposed for the third generation Universal Mobile Telecommunication System. However, as will be appreciated, any data communications system could be used to illustrate an example embodiment of the present invention, such as a Local Area Network, or a Broadband Telecommunications Network operating in accordance with Asynchronous Transfer Mode. These illustrative example data communications systems are characterised in particular in that data is transmitted as bursts, packets or blocks. In the case of a mobile radio communications system, the data is transported in bursts of data bearing radio signals, which represent a pre-determined data size. An example of such a mobile radio communication system is shown in Figure 1. In Figure 1, three base stations BS, are shown to communicate radio signals with mobile stations MS, within a radio coverage area formed by cells 1 defined by broken lines 2. The mobile stations MS, and the base stations BS communicate data by transmitting radio signals designated 4, between antennas 6, coupled to the mobile stations MS and the base stations BS. The data is communicated between the mobile stations MS and the base stations BS using a data communications apparatus in which the data is transformed into the radio signals 4, which are communicated to the receive antenna 6, which detects the radio signals. The data is recovered by the receiver from the radio signals. An illustrative example of a data communications apparatus forming a radio communications link between one of the mobile stations MS, and one of the base stations BS, is shown in Figure 2, where parts also appearing in Figure 1 bear identical numerical designations. In Figure 2 a source of data 10, generates a data frame 8, at a rate determined by a type of data which a source is generating. The data frames 8, generated by the source 10, are fed to a rate converter 12, which operates to convert the data frame 8, into a transport data block 14. The transport data block 14, is arranged to be substantially equal in size, to a predetermined size of an amount of data which can be carried by a burst of data bearing radio signals via which data is communicated by a radio interface formed by a transmitter 18, and receiver 22 pair. The data transport block 14 is fed to a radio access processor 16, which operates to schedule transmission of the transport data block 14, over the radio access interface. At an appropriate time the transport data block 14, is fed by the radio access processor 16, to a transmitter 18 which operates to convert the transport data block into the burst of data bearing radio signals which are transmitted in a time period allocated for the transmitter to effect communication of the radio signals. At the receiver 22, an antenna 6" of the receiver detects the radio signals and down converts and recovers the data frame which is fed to a radio access de-scheduler 24. The multiple access de-scheduler 24, feeds the received data transport block to a rate de-converter 26, under control of the multiple access de-scheduler 24, effected via a conductor 28. The rate de-converter 26, thereafter feeds a representation of the regenerated data frame 8, to a destination or sink for the data frame 8 which is represented by the block 30. The rate converter 12, and rate de-converter 26, are arranged to make, as far as possible, optimum use of the data bearing capacity available within the transport data block 14. This is affected in accordance with the illustrative embodiment of the present invention by the rate matching converter shown in Figure 3. In Figure 3 the rate converter 12 is shown to include a data encoder connected to a data puncturer 34 under control of a rate matching controller 36. As shown in Figure 3 the data frame 38 is fed to the rate converter 12, and is received by the data encoder 32. The data encoder 32 operates to encode the data frame 38 with a code having a rate which has an affect of generating a data block which is of a size corresponding to the size of the payload of the data transport block which is shown in Figure 3 as the data block 40. Optionally and under control of the rate matching controller 36, the encoded data frame may be punctured to the affect of reducing the number of bits in a case where the number of bits of the encoded data frame is greater than the size of the transport data block 40. In this case appropriate puncturing is affected so that the punctured encoded data frame fits within the data transport block 40. As will be appreciated by those skilled in the art, various encoding algorithms could be used within the data encoder 32. For example the encoder 32, may operate in accordance with a block code such as a B-C-H, Reed-Solomon or Hamming code. Furthermore the encoding algorithm could be a convolutional code, a turbo code or a product code. The coding rates of such error control codes are, however, constrained to being limited to certain discrete values, which may not necessarily generate an encoded data frame which is exactly matched to the transport data block size. For this reason, the encoded data frame, encoded with a code at a rate which is closest to that required to fill the data transport block, may produce more bits than can be fitted into the data transport block 40. In this case, therefore, optionally the encoded data frame may be punctured as herein before described under control of the rate matching controller 36. The puncturing is arranged to effect a reduction in the encoded data frame to match the transport data block size. A further example of a rate matching controller is shown in Figure 4. In Figure 4 the rate matching controller is shown to be comprised of a data encoder which operates in accordance with a systematic error control code. The systematic error control code generates the data transport data block 40, from the source data frame 38, in combination with redundant data bits 42, which are generated by the systematic encoder. The systematic encoder may for example be a recursive systematic convolutional code. The rate of the systematic convolutional code is then equal to (N C /(N-N C )), in order to generate redundant data bits equal to (N-N C ), where N C is the number of bits in the source data frame and N is the number of bits in the transport data block. An example of such a recursive systematic convolutional code with puncturing is shown in Figure 5, where parts also appearing in Figures 4 and 3 bear identical numerical designations. In Figure 5 the encoder 44 is shown to be comprised of a convolution encoder 46 and a puncturer 48. The convolution encoder 46 is comprised of memory elements 50, and modulo-2 adders 52. As is well known to those skilled in art, the convolutional encoder is arranged so that bits fed to the memory elements 50, are applied to the modulo-2 adders 52, which in combination generate redundant data bits in accordance with the information present in the memory elements 50, and fed to the input of the first modulo-2 adder 52, in dependence upon the number and position of the feedback taps 54. At the receiver of the communications apparatus, the data transport block 40 is recovered by the radio communications receiver 22, in combination with the multiple access de-scheduler 24, and fed to the rate de-converter 26. The rate de-converter 26, may optionally decode the encoded data frame to regenerate the data frame 38 by performing an error decoding algorithm corresponding to the algorithm used to encode the data frame. Therefore, for example, in a case where the data frame is encoded with a convolutional code, the rate de-converter 26, will operate to decode the data transport block, using a maximum likelihood sequence estimator otherwise known as a Soft Output Viterbi decoder. Soft Output Viterbi decoders are known to generate soft output information, the soft outputs being indicative of a relative confidence in the decoded data bits. Thereafter, this soft output information can be further used by a subsequent decoder which may be, for example, decoding the data frame in a case where the data frame itself has been encoded by the data source. Furthermore the rate de-converter 26, may operate to effect further iterations of the decoding process in order to increase the integrity or the confidence in the correct recovery of the data frame. In a case, the transport data block has been generated using a systematic encoder, and where a number of computations or calculations which may be performed by the receiver is limited by a relative computational power of the receiver, the receiver may wish to simply extract the data frame from the data transport block, without performing a decoding process on the encoded data frame. In a case where the number of bits N C in the source data frame is less than a half that of the size of the transport data block 40, the convolutional encoder may be one which has a rate greater or less than half but would be punctured in order to effect the rate matching process. This would also be the case where the number of bits in the data frame is greater then one half that of the size of the transport data block, since the puncturing process can be easily adapted accordingly. The coding process in the case of recursive systematic convolution codes can also be combined or replaced with any kind of concatenated coding scheme such as by a turbo coding. As already mentioned, the data frame generated by the source 38, may be representative of base data or information to be transmitted by the source, which may itself have already been encoded by the source before delivery to the data communication system. In this case, an interleaver 43, may be optionally provided in the data rate converter 12, and correspondingly a de-interleaver in the rate de-converter 26, to interleave the data frame and the redundant data generated by the error control encoder. It is well known to those skilled in the art that the performance of error control codes is best when the errors occurring during transmission of the data are caused by Gaussian noise, with an effect that the errors are independently distributed throughout the transport data block. However, in the case of mobile radio communications, data errors often occur in bursts or blocks, which can cause a catastrophic failure of the decoding process. However, by interleaving the relative positions of the bits before transmission, and de-interleaving the relative placement of the bits upon reception, any burst of errors occurring during transmission will be substantially distributed about the de-interleaved data transport block, with an effect that a probability of correctly decoding the data frame is substantially increased. A further improvement in the integrity of the data frame may be achieved by iteratively decoding the data frame. A number of iterations of the iterative decoding process is determined by a relative computing power available to the receiver. With such iterative decoding, such as that which may be effected with a soft output Viterbi decoder, a first estimate of the data frame is made by decoding the encoded data frame and storing the result. Subsequent estimates of the data frame are made from the stored first estimate, by decoding the encoded data frame using soft decision information generated from the first estimate, and subsequently, in further iterations from other previous estimates of the data frame. As will be appreciated by those skilled in the art, various modifications may be made to the embodiment herein before described without departing from the scope of the present invention. In particular, any form of error encoding may be used in the rate matching process in combination with any form of puncturing or deletion of data bits prior to transmission. Furthermore the present invention finds application with any data communications apparatus in which data is transported by the data communications apparatus in blocks of a predetermined size which are not matched to the size of data frames generated by a data source.

Claims: Data communications apparatus which operates to communicate data from at least one data source (10) generated as data frames (8; 38) of a size determined by a rate at which the data is generated, said apparatus comprising data transport means (6', 16, 18) which is arranged to communicate data (14; 40) generated by said sources in blocks of a pre-determined size, and means (12) for converting said source data frames (8; 38) into transport data blocks (14; 40) with a size substantially matched to the pre-determined block size of said data transport means, wherein said means (12) for converting said source data frames includes an encoder (32; 44), which operates to encode said source data frame (8; 38) at a code rate which effects conversion of said source data frame (8;38) to substantially match said pre-determined block size of said data transport means (6', 16, 18), whereas said code rate depends on the size of said source data frames, characterized in that the size of the encoded data frames is greater than the predetermined block size of said transport means (6', 16, 18) and said apparatus further comprises means (34; 48) to puncture the encoded data frame to effect reduction of the encoded data frame, whereby the punctured encoded data frame is substantially matched to the pre-determined size of said transport means (6', 16, 18). Data communications apparatus as claimed in Claim 1, wherein the encoder (32; 44) is an error control encoder. Data communications apparatus as claimed in any preceding Claim, wherein said error control (32; 44) encoder includes means to operate in accordance with an error control algorithm such as a convolutional code, a block code, a product code or turbo code or the like. Data communications apparatus as claimed in any of Claims 2 or 3, wherein said error control encoder (44) operates in accordance with a systematic error control code, which has means to form said encoded data frame from redundant data (42) and said source data frame (38) substantially unchanged. Data communications apparatus as claimed in Claim 4, wherein the systematic error control code (44) is a systematic recursive error control code. Data communication apparatus as claimed in any preceding Claim including means to form the source data frame (8;38) by encoding base data representative of information to be communicated by said source. Data communication apparatus as claimed in any preceding Claim, and further including a receiver (26) having an error control decoder and a receiver controller, wherein said receiver control includes means to selectively decode said encoded data frame. Data communications apparatus as claimed in Claim 7 when dependent on Claims 5 or 6, wherein the receiven (26) includes means to selectively extract said source data bits from said systematically encoded data and to combine the extracted source data with the block of source data in dependence upon the relative complexity of the decoding and combining operation. Data communications apparatus as claimed in either of Claim 7 or 8, wherein the error control decoder (26) in combination with the receiver controller has means to decode the encoded data frame using a plurality of iterations, each iteration generating soft decision information, which is used in subsequent iterations. A method of communicating data generated from at least one data source (10) generated as data frames (8; 38) of a size determined by a rate at which the data is generated, said method comprising the steps of; converting said source data frames (8;38) into data blocks of a size substantially matched to a pre-determined block size for communication by a data transport means (6', 16, 18), wherein the step of converting said source data frames (8; 38) into said transport data blocks (14; 40) is; encoding said source data frame (8; 38) at a code rate which effects conversion of said source data frame (8; 38) into said transport data block (14; 40), whereas said code rate depends on the size of said source data frames (8; 38), characterized in that the size of the encoded data frame is greater than the predetermined size of said data transport means (6', 16, 18) and said method further comprising the step of puncturing the encoded data frame to reduce the amount of data in the encoded data frame, whereby the punctured encoded data is substantially matched to the pre-determined size of said data transport means (6', 16, 18). A method of communicating data as claimed in Claim 10, wherein the step of encoding said source data frame, comprises the step of; encoding said source data frame (8; 38) with an error control encoder (32; 44). A method of communicating data as claimed in Claim 10 or 11, wherein the step of encoding said source data frame (8; 38) is effected in accordance with an error control algorithm, such as a convolutional code, a block code, a product code or a turbo code or the like. A method of communicating data as claimed in any of Claims 10 to 12, wherein said error control algorithm is a systematic error control code, which operates to produce said encoded data frame from redundant data and said source data frame substantially unchanged. A method of communicating data as claimed in any of Claims 10 to 13, wherein the source data frame (8;38) is formed by encoding base data representative of information to be communicated by said source. A method of communicating data as claimed in any of Claims 13 to 14, and further including the steps of; determining a relative complexity of decoding said systematically encoded data block and combining the decoded data with said source data frame, and, in dependence upon a relative complexity, either decoding said encoded data frame and combining said decoded data with said source frame, or extracting said source data from said transport data block and forwarding the source data to a destination or sink. A method of communicating data as claimed in Claim 14 or 15, and further including the steps of; decoding (26) said encoded data frame to generate a first estimate of said data frame and soft decision information; and making subsequent estimates of said data frame by decoding said encoded data frame using soft decision information generated from previous estimates of said data frame, thereby improving a probability of correctly detecting said data frame with subsequent estimates. A method of communicating data as claimed in Claim 16, and further including the step of; iteratively repeating the step of making subsequent estimates, consummate upon a relative amount of computing power available to the receiver, and a time in which said data frame should be recovered.

Inventors: BAHRENBURG STEFAN DIPL-ING, EMMER DIETER DR-ING, FRANZ VOLKER, BAHRENBURG, STEFAN, DIPL.-ING., EMMER, DIETER, DR.-ING., FRANZ, VOLKER
Applicants: SIEMENS AG, SIEMENS AKTIENGESELLSCHAFT
Application year: 1998
Main classification: H04L25
IPC codes: H04L1, H04L25