US20050138530A1 - Data compression with incremental redundancy - Google Patents

Data compression with incremental redundancy Download PDF

Info

Publication number
US20050138530A1
US20050138530A1 US10/911,297 US91129704A US2005138530A1 US 20050138530 A1 US20050138530 A1 US 20050138530A1 US 91129704 A US91129704 A US 91129704A US 2005138530 A1 US2005138530 A1 US 2005138530A1
Authority
US
United States
Prior art keywords
pdu
punctured
soft
memory
storing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US10/911,297
Other versions
US7302628B2 (en
Inventor
Wensheng Huang
Raymond Toy
Peter Malm
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Cluster LLC
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/735,495 external-priority patent/US6981060B2/en
Priority claimed from US10/645,560 external-priority patent/US20050044473A1/en
Application filed by Individual filed Critical Individual
Priority to US10/911,297 priority Critical patent/US7302628B2/en
Publication of US20050138530A1 publication Critical patent/US20050138530A1/en
Application granted granted Critical
Publication of US7302628B2 publication Critical patent/US7302628B2/en
Assigned to HIGHBRIDGE PRINCIPAL STRATEGIES, LLC reassignment HIGHBRIDGE PRINCIPAL STRATEGIES, LLC SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WI-FI ONE, LLC
Assigned to WI-FI ONE, LLC reassignment WI-FI ONE, LLC RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: HPS INVESTMENT PARTNERS, LLC
Assigned to WI-FI ONE, LLC reassignment WI-FI ONE, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CLUSTER LLC
Assigned to TELEFONAKTIEBOLAGET LM ERICSSON (PUBL) reassignment TELEFONAKTIEBOLAGET LM ERICSSON (PUBL) ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TOY, RAYMOND, HUANG, WENSHENG, MALM, PETER
Assigned to CLUSTER LLC reassignment CLUSTER LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
Assigned to CORTLAND CAPITAL MARKET SERVICES LLC, AS COLLATERAL AGENT reassignment CORTLAND CAPITAL MARKET SERVICES LLC, AS COLLATERAL AGENT INTELLECTUAL PROPERTY SECURITY AGREEMENT Assignors: WI-FI ONE, LLC
Adjusted expiration legal-status Critical
Assigned to WI-FI ONE, LLC reassignment WI-FI ONE, LLC RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: CORTLAND CAPITAL MARKET SERVICES LLC
Assigned to CLUSTER LLC reassignment CLUSTER LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WI-FI ONE, LLC
Assigned to TELEFONAKTIEBOLAGET LM ERICSSON (PUBL) reassignment TELEFONAKTIEBOLAGET LM ERICSSON (PUBL) ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CLUSTER LLC
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6306Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6312Error control coding in combination with data compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1819Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1845Combining techniques, e.g. code combining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Definitions

  • the invention relates to communication systems, and more particularly to techniques for providing incremental redundancy in radio systems that employ soft-decision decoding
  • FIG. 1 shows a block diagram of a typical communication system, which may employ a hybrid ARQ based protocol.
  • an exemplary transmitter 100 includes an encoder 104 and a controller 106 .
  • receiver 114 includes a decoder 108 , memory 116 and a controller 112 .
  • the payload together with header and checksum information (shown as a data block 102 ) is encoded by encoder 104 to add redundancy to the data block.
  • the data redundancy helps the receiver to perform forward error correction (FEC).
  • FEC forward error correction
  • bits are removed using a puncturing pattern to form a punctured coded block.
  • the decoder 108 decodes the block header in order to obtain the parameters required to decode the data unit.
  • the decoder then decodes the received data unit and verifies the checksum. If the received data unit fails the decoding process (i.e., it has errors that cannot be corrected), the controller 112 sends an automatic retransmission request (ARQ) to transmitter 100 to retransmit this data unit. After receipt of an ARQ for a particular block, controller 106 resends the requested block. When the retransmitted data block is received, the receiver combines the retransmitted data unit with the failed data unit stored in memory. The receiver then decodes the combined data unit and verifies the checksum.
  • ARQ automatic retransmission request
  • a hybrid ARQ protocol can be classified as either Type I hybrid ARQ or Type II hybrid ARQ, depending on what is retransmitted.
  • Type I the requested data block is retransmitted in the same manner as the original transmission (i.e., the data block is encoded and punctured using the same code and puncturing scheme as the original data block). Therefore, a Type I hybrid ARQ system employs fixed redundancy in retransmission.
  • Type II the retransmitted blocks contain different redundant bits (i.e., the retransmitted data block and the failed data block may not be encoded and/or punctured in the same manner).
  • Type II hybrid ARQ each time a data block fails the decoding process, the retransmitted data block may contain different redundant bits. Therefore, it can be desirable to store more than one failed data block. Accordingly, a received data unit may be combined with one or more previously failed data units prior to decoding. This results in more redundancy in the combined data unit, and an increased possibility of successful decoding in Type II hybrid ARQ systems. This process of retransmitting the failed data unit with additional redundant bits can be repeated until successful decoding is achieved (or until it is decided to give up further attempts to decode the block). In other words, the redundancy is achieved incrementally. Therefore, the Type II hybrid ARQ is also referred to as incremental Redundancy (IR) hybrid ARQ.
  • IR incremental Redundancy
  • FIG. 2 shows a block diagram of the modulation/demodulation and coding/decoding of a communication link.
  • the information, m, received from information source 200 is convolutionally encoded, by encoder 202 , into coded bits, U, to add data redundancy.
  • the coded bits, grouped into symbols, are then modulated into waveform S, by modulator 204 .
  • the waveform is then sent over channel 206 to the receiver.
  • the waveform can be corrupted by noise, resulting in a received waveform ⁇ , which is different from S.
  • the demodulator 208 demodulates the corrupted waveform ⁇ into the demodulated sequence, Z.
  • Decoder 210 creates an estimate, ⁇ circumflex over (m) ⁇ of m by convolutionally decoding the demodulated sequence Z.
  • the estimate ⁇ tilde over (m) ⁇ is the n provided to information sink 212 .
  • the receiver needs at least 2.4 KB of memory to store these two PDU's in this radio block.
  • To store 256 radio blocks in the receiver would therefore require 712 K bytes of memory to store the soft-values for the decoder.
  • the size of the memory within a mobile terminal is preferably minimized due to the cost and power consumption associated with large amounts of memory.
  • a small amount of memory decreases cost and prolongs the operational time of the mobile terminal. Accordingly, the amount of memory required to provide incremental redundancy as discussed above is almost always prohibitively large for mobile applications.
  • Each received block of coded data consists of a large number of symbols, and each symbol is represented in the receiver by a bit-vector of length L. Compression enables each symbol to be represented by a bit-vector of shorter length K, where K ⁇ L, which, in turn, results in a smaller memory size in the receiver.
  • the compression algorithm must be complemented with a decompression algorithm in order to decompress and combine stored data units with their corresponding retransmissions.
  • the combination of compression/decompression algorithms can lead to increased implementation complexity. Consequently, the electrical power saved as a result of using a smaller memory may be wasted if highly complex compression/decompression algorithms are used.
  • the invention provides techniques for efficient storage of failed packet data units (PDUs) in systems that employ incremental redundancy.
  • PDUs packet data units
  • a received transmission is processed to retrieve a PDU.
  • the PDU is then de-punctured and decoded. If the decoded PDU contains errors, then the PDU, in its punctured format, is stored in memory and a request for retransmission is sent to the transmitter. Alternatively, the PDU can be stored in its de-punctured format.
  • the receiver generates a sequence of soft-values representative of each bit in a received transmission and a scale factor, representative of the soft-values within the sequence, is then calculated and stored.
  • a sub-sequence, representative of a PDU is generated, and the sub-sequence is then de-punctured according to the associated puncturing scheme and decoded. If the decoded sub-sequence contains errors, then the sub-sequence of soft-values is compressed and stored in memory.
  • the receiver determines, prior to decoding the currently received de-punctured PDU, if there are any corresponding compressed sequences stored in memory. If there are compressed sequences stored in memory, then for each corresponding compressed sequence, the receiver: decompresses the sequence; de-punctures the decompressed sequence; and combines the de-punctured, decompressed sequence with the currently received, de-punctured sequence. The resulting combined sequence is decoded and if there are any errors, the currently received sequence, in its punctured format, is compressed and stored in memory.
  • FIG. 1 shows a block diagram of a typical communication system.
  • FIG. 2 shows a block diagram of the modulation/demodulation and coding/decoding of a communication link.
  • FIG. 3 shows a block diagram of the receiver chain according to an embodiment of the invention.
  • FIG. 4 a shows a flow chart describing a method of storing failed data units according to an exemplary embodiment of the invention.
  • FIG. 4 b shows a flow chart describing a method of storing failed data units according to another exemplary embodiment of the invention.
  • FIG. 5 shows the data structure of an entry in memory according to an exemplary embodiment of the invention.
  • FIG. 6 shows an example of entries stored in accordance with an embodiment of the invention.
  • FIG. 7 a shows exemplary pseudo code for calculation of burst-wise scale factor vector in accordance with an embodiment of the invention.
  • FIG. 7 b shows exemplary pseudo code for compressing and storing the soft values in accordance with an embodiment of the invention.
  • FIG. 7 c shows exemplary pseudo code for decompressing the stored soft-values of a PDU in accordance with an embodiment of the invention.
  • FIG. 7 d show exemplary pseudo code for decompressing the stored soft-values of a PDU in accordance with another embodiment of the invention
  • FIG. 7 e shows exemplary pseudo code for combining PDUs in accordance with an embodiment of the invention.
  • FIG. 3 shows a block diagram of the receiver chain according to an exemplary embodiment of the invention.
  • the soft output detector 301 employs a soft output Viterbi algorithm (SOVA) such as that described by J. Haenauer and P. Hoeher, “A Viterbi algorithm with soft-decision outputs and its applications”, in Proc. Globecom, Dallas, Tex., November 1989, pp 1680-1986.
  • SOVA soft output Viterbi algorithm
  • the output of the soft output detector 301 is in the form of soft values for each individual bit within the received radio block.
  • each soft value is in the form of the log of the ratio of the probability that the received bit represents a particular value versus the probability that it represents a different value.
  • the ratio may be the probability that the bit is a zero over the probability that the bit is a one.
  • the soft-values are de-swapped and de-interleaved in order to restore the soft-values to the order of the original coded block. (Swapping and interleaving are well-known processes performed at the transmitter in order to reduce the effects of fading that occurs on the channel.)
  • the soft values representative of the bits within the data unit are then fed to the combination unit 303 .
  • the soft values representing the currently received data unit are combined with the soft values of the corresponding failed data unit which were stored in local memory 309 .
  • the combined data unit is then fed to decoder 305 .
  • the currently received data unit is not a retransmitted data unit, then it is fed directly to the decoder 305 .
  • the likelihood values represented by the soft values are scaled logarithmically, the form of the combination can be addition, which results in another likelihood value. Where logarithmic scaling is not used, the likelihood values should instead be combined by means of multiplication. For still other forms of soft values, different methods of combination can be used. The particular form of combination is not an essential aspect of the invention.
  • the combined data unit is then fed to the decoder 305 , which decodes the channel code and outputs the estimated transmitted bit-sequence.
  • the blocks include some sort of error detection bits, such as cyclic redundancy check (CRC) or parity bits.
  • CRC cyclic redundancy check
  • the decoder 305 uses the error detection bits to determine if the decoded data unit includes any errors. If the combined data unit or the currently received data unit fails the decoding process, retransmission of the currently received data unit is requested in accordance with the applicable ARQ protocol and the currently received data unit is compressed and stored in memory for later use.
  • the failed data units (i.e., those data units which are not successfully decoded) are fed to compression/decompression unit 307 , where they are compressed and stored in local memory 309 .
  • compression/decompression unit 307 When a retransmitted data unit arrives it is combined with its corresponding failed data unit which, before combination, has been decompressed by compression/decompression unit 307 .
  • SINR signal-to-interference and noise ratio
  • the compression algorithm basically has two parts.
  • the compression algorithm calculates one scale factor ⁇ that serves as an estimate of all the soft values representative of the bits within the received data unit.
  • This scale factor can, for example, be the average of the absolute value of the soft values in the data unit.
  • the use of an absolute average calculation is not an essential feature of the invention.
  • Other scale value calculations may be used in alternative embodiments since it is the channel decoder that determines how the scale factor should be calculated to obtain optimal performance.
  • the compression algorithm stores the sign of each of the soft values representative of the bits within the data unit.
  • s [s 1 ,s 2 , . . . , s N] (1)
  • s 1 is the first soft value in the unit and so forth.
  • the compressed data i.e., the sign values
  • c k s k ⁇ 0 indicates text missing or illegible when filed ( 4 ) or else, c k s k ⁇ 0.
  • the vector c hence consists of the soft values' signs. Since one bit is sufficient to store a soft value's sign, the memory consumption for a data unit with N soft values is N bits.
  • the scale factor is also stored, preferably with high accuracy, in the local memory. This increases the memory consumption, in bits, with the word length of the scale factor. However, the relative memory increase attributable to storage of the scale factor becomes smaller as the size of the data unit increases.
  • the decompression algorithm multiplies each stored soft value sign by its associated scale factor.
  • the decompression algorithm is basically a multiplication of the stored data unit c with the accompanying scale factor.
  • the decompressed data unit is the decompressed data unit. This is suitable for use in a mobile receiver because it is a simple operation in a digital signal processor that does not add much complexity. Then, where the data unit was compressed in its punctured format, the data unit is de-punctured according to its associated puncturing scheme. The de-punctured, decompressed data unit is then ready for use, such as by combining it with a retransmitted data unit before a new channel decoding attempt is made. Alternatively, the data unit can be compressed in its de-punctured format, eliminating the need to de-puncture the decompressed data unit prior to combining it with a retransmitted data unit. However, in this case, because zeros are entered in the position corresponding to the punctured bit positions, these bit positions need to be restored back to zeros in the decompressed data unit.
  • the above-described compression/decompression algorithm assumes that the SINR is constant over the whole data block. However, this is not the case is all systems. For example, in EGPRS systems, a radio block consists of four transmission bursts. Therefore, each of the individual bits of a data block may be transmitted over different bursts. Accordingly, the above-described compression/decompression algorithm must be modified to account for the multiple transmission bursts (this modified algorithm in accordance with the exemplary embodiments of the invention is herein referred to as “burst-wise” compression).
  • a radio block consists of four bursts transmitted in the same time slots in four consecutive TDMA frames.
  • This radio block comprises a header and one or two radio link control (RLC) data blocks (PDUs).
  • the header includes the modulation and coding scheme (MCS) and other information necessary for decoding the PDUs.
  • MCS modulation and coding scheme
  • the EGPRS data blocks use either GMSK or 8PSK modulation.
  • MCS modulation and coding scheme
  • the header and the RLC data block(s) are processed separately (i.e., the header and the PDUs are separately coded).
  • the coded PDUs are then punctured using one of the puncturing schemes (PS) associated with the PDU's MCS to form a fixed length radio block.
  • PS puncturing schemes
  • FIG. 4 a describes an exemplary embodiment of the invention under the framework of EGPRS, however, the method(s) of the invention can be applied to all radio systems that employ soft-decision decoding.
  • the process begins at step 402 where a sequence of soft values is generated by soft-output detector 301 .
  • these soft values represent the ratio of the probabilities that a received bit represents one value versus another value, for example a 1 or ⁇ 1.
  • This sequence of soft-values is de-swapped and de-interleaved at step 404 such that the received bits represented by the soft values are restored to their original encoded RLC/MAC block order, which is necessary for the decoding process.
  • the header is then depunctured and decoded at step 406 to obtain the decoding parameters, for example, the MCS, coding and puncturing scheme (PS), block sequence number (BSN) of the PDU (or PDUs if schemes 7-9 are employed), and the split-block flag (SPB) for schemes 1-4, required to decode the PDU(s).
  • the decoding parameters for example, the MCS, coding and puncturing scheme (PS), block sequence number (BSN) of the PDU (or PDUs if schemes 7-9 are employed), and the split-block flag (SPB) for schemes 1-4, required to decode the PDU(s).
  • the header is not decoded successfully (“NO” path out of decision block 408 )
  • the required decoding parameters can not be obtained and the PDU can not be decoded. Accordingly, the current radio block is thrown away and the transmitter is informed of the header failure at step 412 .
  • step 408 determines whether or not the PDU has been previously transmitted, i.e., is the current PDU a re-transmission of a previously failed PDU. This can be achieved, in the exemplary embodiment, by checking if the PDU's BSN exists in the IR memory discussed in greater detail below.
  • the corresponding failed PDUs i.e., all the PDUs with the same BSN stored in memory 309
  • the decompressed, de-punctured PDU is then combined with the currently received PDU at step 420 .
  • the combined PDU is then decoded at step 422 . Otherwise (“YES” path out of decision block 422 ), the currently received de-punctured PDU is decoded at step 422 .
  • step 424 it is determined whether the currently received PDU (1 st transmission of the block) or the combined PDU (re-transmission of the block) has failed the decoding process. If it fails the decoding process (“NO” path out of decision block 424 ), and there is a free entry in IR memory (“YES” path out of decision block 426 ), the currently received punctured PDU is compressed (step 428 ) and stored in memory 309 (step 430 ). According to an exemplary embodiment the PDU is compressed and stored in IR memory along with the supporting information required for decompression.
  • the currently received PDU is not stored and a request for retransmission is sent to the transmitter (step 436 ). If the PDU is successfully decoded (“YES” path out of decision block 424 ) all entries with the same BSN as the currently received PDU are deleted from the IR memory at step 432 , and the decoded data is delivered to the information sink at step 434 .
  • the receiver When the receiver receives a new PDU, it checks whether the received block is a retransmission (as shown in step 416 ). If it is, the decompression algorithm decompresses and de-punctures the stored entry at step 418 . The combination algorithm then combines the decompressed, de-punctured PDU(s) with the retransmitted PDU at step 420 . If the retransmitted PDU employs the same puncturing scheme as a previously stored PDU, the most recently received PDU is combined with the previously stored PDU, which is then fed to the decoder for channel decoding. The current PDU is then used to replace the old PDU using the same puncturing scheme. However, it is perfectly acceptable to store all retransmissions, even if the same puncturing scheme has been used before. This increases memory usage and computation complexity. If the data is decoded successfully, the decoded data block is delivered and its related storage is deleted.
  • FIG. 4 b describes an alternative embodiment wherein the PDU is compressed and stored in it's de-punctured format.
  • the compression process is the same as that of the punctured format, with the exception of the sequence to be compressed being larger. However, because the de-puncturing process inserts zeros in the positions corresponding to the punctured bits, the decompression is different from that of the punctured format. Accordingly, for the compressed de-punctured PDU, the decompression algorithm sets zeros in the decompressed sequence for the position of the inserted zeros in the de-punctured PDU, and restores other bits in the sequence according to their burst scale factors and their sign stored in IR memory (step 418 b ). The decompressed PDU is then combined with the currently received PDU and decoded.
  • the compression algorithm in accordance with an embodiment of the invention is based on the assumption that the fading channel and the interference are both constant during the transmission of a data block. Therefore, in order to employ the compression algorithm to the above described EGPRS system burst-wise compression is employed as described below.
  • a scale-factor is calculated for each of the transmission bursts. Assume the scale factor of burst A I (where A denotes a radio block punctured with a specific puncturing scheme PS1) is denoted ⁇ I , the scale-factor of burst A II is denoted ⁇ II , and so forth. Then, the vector ⁇ overscore ( ⁇ ) ⁇ I , ⁇ II , ⁇ III , ⁇ IV ⁇ represents the scale vector for the four A-bursts, [A I , . . . , A IV ].
  • the scale-vector for B-bursts is denoted by ⁇ overscore ( ⁇ ) ⁇
  • the scale-vector for C-bursts by ⁇ overscore ( ⁇ ) ⁇ (B and C denoting radio blocks punctured with puncturing schemes PS2 and PS3 respectively).
  • the BSN field 500 designates the particular failed PDU.
  • the SPB field 501 indicates whether the PDU has been split into two pieces for retransmission. This can occur when the retransmission coding scheme is too short to contain the entire message of the original transmission. Therefore, the retransmission is split into two pieces. When the retransmission occurs, the BSN is the same for both halves, so the SPB flag indicates which half was transmitted.
  • the field PDUNUM 507 indicates the PDU number in the RLC/MAC block, which is only meaningful for MCS-7, -8 and -9, since they are the only ones that contain two PDUs.
  • the PDUNUM field together with the MCS 503 and the PS 505 fields, store information that is needed in the decompressing, de-puncturing, and decoding process.
  • the SV field 509 stores the scale vector of the four bursts the PDU was transmitted over, and therefore, it is an array of 4 elements.
  • the Compressed Data field 511 is where the compressed data is stored, i.e., the vector representing the sign of each soft-value in the PDU.
  • the number of entries stored in the IR memory for a particular BSN in the worst case, equals the number of puncturing schemes of the PDU's MCS.
  • the main IR functions in accordance with the invention can be divided into two classes: the IR memory management class and the IR core class.
  • the IR memory management class includes functions that initialize the IR memory, check whether a newly received PDU is a new transmission, find a free entry in the IR memory, and delete IR entries that are obsolete.
  • the IR core class consists of functions that calculate the scale factor for a radio block, compress and store a PDU, decompress a compressed PDU, and combine all the PDU's having the same BSN and SPB with the current PDU for decoding.
  • a BSN is a non-negative number
  • the IR memory management can be easy to implement. We give one possible implementation here, but many other schemes for managing the IR memory are possible. Any negative number can be used to represent an empty entry in the IR memory.
  • the IR initialization routine assigns a negative number to all the BSN fields in the IR entry table. After a PDU is received, the BSN of this PDU is compared to all the BSN in the table to check whether this is the initial transmission block. If the same BSN and SPB is found in the IR memory, then the block is a re-transmission.
  • FIG. 7 a Exemplary pseudo code for calculating the burst-wise scale vector in accordance with an embodiment of the invention is shown in FIG. 7 a .
  • the vector, scaleVector[ ] stores the four scale factors corresponding to the four bursts of a radio block.
  • the scale factors are calculated by taking the average of the soft values over a burst.
  • each received bit in a burst is represented by a soft-value.
  • These soft-values for each burst are stored in an X by Y array, receivedVector[burstNum, pos], where each column represents a new burst and the rows represent number of bits in the burst, burstLength. Accordingly, each soft-value in the array can be accessed by its burst number and representative bit position or number.
  • Exemplary pseudo code for compression of the soft-values representative of the punctured PDU in accordance with the invention is shown in FIG. 7 b , assuming the soft-values representing the bits of the punctured PDU are stored in puncturedVector[ ], and the number of bits in a punctured PDU is pduLength. As shown, for each bit in the PDU (i.e., 1 to pduLength), the value of the stored vector is set to 1 if the representative soft-value is less than 0, otherwise the value is set to 0.
  • scaleIndexTable[pos] is created to map the position of each bit in the PDU, pos, to the burst number that it was transmitted in. Accordingly, scaleIndexTable[ ] has a length of pduLength. The entries in scaleIndexTable[ ] have the value between 1 and 4, which indicates the burst number.
  • the decompression process begins by retrieving the compressed soft-values from memory (e.g., the stored vector containing the sign values for each soft-value in the PDU), as shown in FIG. 7 c .
  • Each sign value is then multiplied by the corresponding scale factor, resulting in the vector, decompressedvector[ ], which contains the uncompressed soft-values for the punctured PDU.
  • the positions corresponding to punctured bits in the PDU restored with zeros, while the other bits are restored according to their burst scale factors and their signs stored in IR memory as shown in FIG. 7 d.
  • the combining function combines the currently received de-punctured PDU with all of its previous transmissions.
  • the previous transmissions are found by determining if there are any entries within the IR memory with the same BSN and SPB as the newly received PDU. If previous transmissions are found in the IR memory, they are decompressed one by one into decompressedVector[pos], depunctured into depuncturedvector[ ], and combined.
  • the combining process begins by assigning newly received de-punctured PDU, newDepuncturedVector[ ], to the vector, combinedvector[ ].
  • the function searches from the first entry in the IR memory to the last entry, numIREntries, to find previous transmissions of the current PDU. If any previous transmission is found, it is first decompressed, using the decompression function, decompress (IREntry[I]) and then depunctured into the vector, depuncturedVector[ ], using the function depuncture(decompressedvector[ ], IREntry[I].mcs), according to the MCS parameter mcs. The depunctureVector[ ] is then combined with the combinedVector[ ].
  • the soft-values are likelihood values that are scaled logarithmically
  • the form of the combination can be addition, which results in another likelihood value. Accordingly, the depunctureVector[ ] and the combinedVector[ ] are combined by performing a value by value addition. This process is iterated until all the previous transmissions of the current PDU are combined. The combinedVector[ ] is then submitted to the decoder.
  • the compression/decompression algorithm may incur a small penalty in user data throughput.
  • the advantage of the invention is the steep decrease in memory consumption compared to the uncompressed de-punctured data unit.
  • the memory compression is roughly proportional to the inverse of the number of bits that represent an uncompressed symbol.

Abstract

In a packet-based data transmission including incremental redundancy (IR) protocols, the memory consumption of the IR protocol is reduced by compressing and storing failed data units in their punctured format. The failed data units are compressed using low complexity compression/decompression algorithms. The compression algorithm includes two parts: calculating and storing a scale factor for each transmission burst that estimates the soft values in the burst, and storing each soft values' sign in local memory instead of the complete soft value. If the currently received data unit is a retransmission, its compressed versions in the punctured format stored in the IR memory are decompressed, de-punctured and combined with the currently received data unit. The combined data unit is then decoded. The decompression restores an estimated soft-value by multiplying the sign value stored in the IR memory with its corresponding scale factor obtained from a mapping table.

Description

    RELATED APPLICATIONS
  • This application is a Continuation-in-Part of U.S. application Ser. No. 09/735,495, filed Dec. 14, 2000, and a Continuation of U.S. application Ser. No. 10/645,560 filed Aug. 22, 2003, the entire contents of which both are incorporated hereby reference.
  • FIELD OF THE INVENTION
  • The invention relates to communication systems, and more particularly to techniques for providing incremental redundancy in radio systems that employ soft-decision decoding
  • BACKGROUND OF THE INVENTION
  • Packet-based data transmission has become increasingly popular in communication systems including land-mobile radio networks. Packet transmission opens up the possibility of improving the user's throughput by retransmitting failed data packets. Several different retransmission protocols, all based on automatic repeat request (ARQ), offer this functionality. In hybrid ARQ protocols, when a data block fails channel decoding, it is usually stored in a local memory in the receiver and a request for retransmission of the failed block is sent to the transmitter. Then, upon receipt of the retransmitted data block, the retransmitted block is combined with the failed data block previously stored in memory. The combined block is then channel decoded. FIG. 1 shows a block diagram of a typical communication system, which may employ a hybrid ARQ based protocol.
  • As shown in FIG. 1, an exemplary transmitter 100 includes an encoder 104 and a controller 106. Likewise, receiver 114 includes a decoder 108, memory 116 and a controller 112. In transmitter 100, the payload, together with header and checksum information (shown as a data block 102), is encoded by encoder 104 to add redundancy to the data block. The data redundancy helps the receiver to perform forward error correction (FEC). In order to reduce the number of bits in the coded block, bits are removed using a puncturing pattern to form a punctured coded block. After the block is received, the decoder 108 decodes the block header in order to obtain the parameters required to decode the data unit. The decoder then decodes the received data unit and verifies the checksum. If the received data unit fails the decoding process (i.e., it has errors that cannot be corrected), the controller 112 sends an automatic retransmission request (ARQ) to transmitter 100 to retransmit this data unit. After receipt of an ARQ for a particular block, controller 106 resends the requested block. When the retransmitted data block is received, the receiver combines the retransmitted data unit with the failed data unit stored in memory. The receiver then decodes the combined data unit and verifies the checksum.
  • A hybrid ARQ protocol can be classified as either Type I hybrid ARQ or Type II hybrid ARQ, depending on what is retransmitted. In Type I, the requested data block is retransmitted in the same manner as the original transmission (i.e., the data block is encoded and punctured using the same code and puncturing scheme as the original data block). Therefore, a Type I hybrid ARQ system employs fixed redundancy in retransmission. In Type II, however, the retransmitted blocks contain different redundant bits (i.e., the retransmitted data block and the failed data block may not be encoded and/or punctured in the same manner).
  • In Type II hybrid ARQ, each time a data block fails the decoding process, the retransmitted data block may contain different redundant bits. Therefore, it can be desirable to store more than one failed data block. Accordingly, a received data unit may be combined with one or more previously failed data units prior to decoding. This results in more redundancy in the combined data unit, and an increased possibility of successful decoding in Type II hybrid ARQ systems. This process of retransmitting the failed data unit with additional redundant bits can be repeated until successful decoding is achieved (or until it is decided to give up further attempts to decode the block). In other words, the redundancy is achieved incrementally. Therefore, the Type II hybrid ARQ is also referred to as incremental Redundancy (IR) hybrid ARQ.
  • In addition to ARQ protocols, convolutional coding/decoding is commonly used in wireless communication systems. FIG. 2 shows a block diagram of the modulation/demodulation and coding/decoding of a communication link. The information, m, received from information source 200 is convolutionally encoded, by encoder 202, into coded bits, U, to add data redundancy. The coded bits, grouped into symbols, are then modulated into waveform S, by modulator 204. The waveform is then sent over channel 206 to the receiver. During the transmission, the waveform can be corrupted by noise, resulting in a received waveform Ŝ, which is different from S. The demodulator 208 demodulates the corrupted waveform Ŝ into the demodulated sequence, Z. Decoder 210 creates an estimate, {circumflex over (m)} of m by convolutionally decoding the demodulated sequence Z. The estimate {tilde over (m)} is the n provided to information sink 212.
  • It has been found that for systems employing convolutional decoding a quantized version of Z (i.e., soft-decision decoding) is better than a sequence of Z that has only two levels (i.e., hard-decision decoding). When soft-decision decoding is employed in an IR system more data has to be stored. For example, in one of the modulation and coding schemes of the Enhanced General Packet Radio Service (EGPRS), MCS-9, there are 2 packet data units (PDUs) in a radio block, each of which has 612 bits. In the receiver, the demodulator typically provides the decoder with a 16-bit soft value for each received bit in Z. Therefore, in order to provide incremental redundancy, the receiver needs at least 2.4 KB of memory to store these two PDU's in this radio block. To store 256 radio blocks in the receiver would therefore require 712 K bytes of memory to store the soft-values for the decoder.
  • The size of the memory within a mobile terminal is preferably minimized due to the cost and power consumption associated with large amounts of memory. Thus, a small amount of memory decreases cost and prolongs the operational time of the mobile terminal. Accordingly, the amount of memory required to provide incremental redundancy as discussed above is almost always prohibitively large for mobile applications.
  • However, the advantages of hybrid ARQ systems that employ incremental redundancy make it desirable (and in some instances mandatory, such as in EGPRS systems) to apply IR in wireless communications. Because implementing IR is very expensive in terms of memory storage in the receiver, methods of compressing the data blocks have been developed.
  • One way of reducing the memory-size is to compress the failed blocks prior to storing them. Each received block of coded data consists of a large number of symbols, and each symbol is represented in the receiver by a bit-vector of length L. Compression enables each symbol to be represented by a bit-vector of shorter length K, where K<L, which, in turn, results in a smaller memory size in the receiver.
  • However, the compression algorithm must be complemented with a decompression algorithm in order to decompress and combine stored data units with their corresponding retransmissions. Furthermore, the combination of compression/decompression algorithms can lead to increased implementation complexity. Consequently, the electrical power saved as a result of using a smaller memory may be wasted if highly complex compression/decompression algorithms are used.
  • Because the storage format of the failed data units has a direct relation with memory size, a need exists for an efficient format for storing failed data units in systems that employ IR.
  • SUMMARY OF THE INVENTION
  • As a solution to the above-described problems, the invention, according to exemplary embodiments, provides techniques for efficient storage of failed packet data units (PDUs) in systems that employ incremental redundancy.
  • According to one exemplary embodiment of the invention, a received transmission is processed to retrieve a PDU. The PDU is then de-punctured and decoded. If the decoded PDU contains errors, then the PDU, in its punctured format, is stored in memory and a request for retransmission is sent to the transmitter. Alternatively, the PDU can be stored in its de-punctured format.
  • According to another exemplary embodiment of the invention, the receiver generates a sequence of soft-values representative of each bit in a received transmission and a scale factor, representative of the soft-values within the sequence, is then calculated and stored. A sub-sequence, representative of a PDU is generated, and the sub-sequence is then de-punctured according to the associated puncturing scheme and decoded. If the decoded sub-sequence contains errors, then the sub-sequence of soft-values is compressed and stored in memory.
  • According to another exemplary embodiment of the invention, the receiver determines, prior to decoding the currently received de-punctured PDU, if there are any corresponding compressed sequences stored in memory. If there are compressed sequences stored in memory, then for each corresponding compressed sequence, the receiver: decompresses the sequence; de-punctures the decompressed sequence; and combines the de-punctured, decompressed sequence with the currently received, de-punctured sequence. The resulting combined sequence is decoded and if there are any errors, the currently received sequence, in its punctured format, is compressed and stored in memory.
  • It shall be emphasized that the term “comprises/comprising” when used in this specification is taken to specify that presence of stated features, integers, steps or components but does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof.
  • BRIEF DESCRIPTION OF THE DRAWING FIGURES
  • The objects and advantages of the invention will be understood by reading the detailed description in conjunction with the drawings, in which:
  • FIG. 1 shows a block diagram of a typical communication system.
  • FIG. 2 shows a block diagram of the modulation/demodulation and coding/decoding of a communication link.
  • FIG. 3 shows a block diagram of the receiver chain according to an embodiment of the invention.
  • FIG. 4 a shows a flow chart describing a method of storing failed data units according to an exemplary embodiment of the invention.
  • FIG. 4 b shows a flow chart describing a method of storing failed data units according to another exemplary embodiment of the invention.
  • FIG. 5 shows the data structure of an entry in memory according to an exemplary embodiment of the invention.
  • FIG. 6 shows an example of entries stored in accordance with an embodiment of the invention.
  • FIG. 7 a shows exemplary pseudo code for calculation of burst-wise scale factor vector in accordance with an embodiment of the invention.
  • FIG. 7 b shows exemplary pseudo code for compressing and storing the soft values in accordance with an embodiment of the invention.
  • FIG. 7 c shows exemplary pseudo code for decompressing the stored soft-values of a PDU in accordance with an embodiment of the invention.
  • FIG. 7 d show exemplary pseudo code for decompressing the stored soft-values of a PDU in accordance with another embodiment of the invention
  • FIG. 7 e shows exemplary pseudo code for combining PDUs in accordance with an embodiment of the invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • The various features of the invention will now be described with respect to the figures, in which like parts are identified with the same reference characters.
  • In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular steps, algorithms, techniques, circuits and the like, in order to provide a thorough understanding of the invention. However, it will be apparent to one of ordinary skill in the art that the invention may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known methods, devices, and circuits are omitted so as not to obscure the description of the invention with unnecessary detail.
  • These and other aspects of the invention will now be described in greater detail in connection with a number of exemplary embodiments. To facilitate an understanding of the invention, many aspects of the invention are described in terms of sequences of actions to be performed by elements of a computer system or apparatus. It will be recognized that in each of the embodiments, the various actions could be performed by specialized circuits, by program instructions being executed by one or more processors, or by a combination of both. Moreover, the invention can additionally be considered to be embodied entirely within any form of computer readable storage medium having stored therein an appropriate set of computer instructions that would cause a processor to carry out the techniques described herein. Thus, the various aspects of the invention may be embodied in many different forms, and all such forms are contemplated to be within the scope of the invention.
  • FIG. 3 shows a block diagram of the receiver chain according to an exemplary embodiment of the invention. The soft output detector 301 employs a soft output Viterbi algorithm (SOVA) such as that described by J. Haenauer and P. Hoeher, “A Viterbi algorithm with soft-decision outputs and its applications”, in Proc. Globecom, Dallas, Tex., November 1989, pp 1680-1986. Thus, the output of the soft output detector 301 is in the form of soft values for each individual bit within the received radio block. In the exemplary embodiment, each soft value is in the form of the log of the ratio of the probability that the received bit represents a particular value versus the probability that it represents a different value. For example, the ratio may be the probability that the bit is a zero over the probability that the bit is a one. The soft-values are de-swapped and de-interleaved in order to restore the soft-values to the order of the original coded block. (Swapping and interleaving are well-known processes performed at the transmitter in order to reduce the effects of fading that occurs on the channel.) The soft values representative of the bits within the data unit are then fed to the combination unit 303.
  • If the presently received data unit is a retransmitted data unit (i.e., the data unit was transmitted in a previous radio block and failed the decoding process) then the soft values representing the currently received data unit are combined with the soft values of the corresponding failed data unit which were stored in local memory 309. The combined data unit is then fed to decoder 305. If the currently received data unit is not a retransmitted data unit, then it is fed directly to the decoder 305. Where, as in this example, the likelihood values represented by the soft values are scaled logarithmically, the form of the combination can be addition, which results in another likelihood value. Where logarithmic scaling is not used, the likelihood values should instead be combined by means of multiplication. For still other forms of soft values, different methods of combination can be used. The particular form of combination is not an essential aspect of the invention.
  • The combined data unit is then fed to the decoder 305, which decodes the channel code and outputs the estimated transmitted bit-sequence. In packet-based transmission systems, the blocks include some sort of error detection bits, such as cyclic redundancy check (CRC) or parity bits. The decoder 305 uses the error detection bits to determine if the decoded data unit includes any errors. If the combined data unit or the currently received data unit fails the decoding process, retransmission of the currently received data unit is requested in accordance with the applicable ARQ protocol and the currently received data unit is compressed and stored in memory for later use.
  • The failed data units (i.e., those data units which are not successfully decoded) are fed to compression/decompression unit 307, where they are compressed and stored in local memory 309. When a retransmitted data unit arrives it is combined with its corresponding failed data unit which, before combination, has been decompressed by compression/decompression unit 307.
  • Assuming that the fading channel and the interference are both constant during the transmission of a radio block or burst, the signal-to-interference and noise ratio (SINR) is constant for the whole radio block or burst. This assumption is valid for many land mobile radio scenarios which suffer fading and interference. One consequence of a constant SINR is that the absolute value of the soft values generated by detector 301 are in the same range for the entire radio block or burst. This property is used to compress the soft values in a simple and efficient way.
  • The compression algorithm according to an exemplary embodiment of the invention basically has two parts. First, the compression algorithm calculates one scale factor α that serves as an estimate of all the soft values representative of the bits within the received data unit. This scale factor can, for example, be the average of the absolute value of the soft values in the data unit. However, the use of an absolute average calculation is not an essential feature of the invention. Other scale value calculations may be used in alternative embodiments since it is the channel decoder that determines how the scale factor should be calculated to obtain optimal performance. Second, the compression algorithm stores the sign of each of the soft values representative of the bits within the data unit.
  • Assume, for example, that the following data unit with N soft values has been received
    s=[s 1 ,s 2 , . . . , s N]  (1)
    where s1 is the first soft value in the unit and so forth. The scale factor α is a function f(•) of the soft values,
    α=f(s).  (2)
    An example of a suitable function could be the absolute average, f ( s _ ) = 1 N ? N s k . ? indicates text missing or illegible when filed ( 3 )
    The compressed data (i.e., the sign values) to be stored in the local memory can be generated as c = [ s 1 ? , s 2 ? , , s N ? ] if s k 0 , 1 k N , ? indicates text missing or illegible when filed ( 4 )
    or else, cksk−0. The vector c hence consists of the soft values' signs. Since one bit is sufficient to store a soft value's sign, the memory consumption for a data unit with N soft values is N bits. The scale factor is also stored, preferably with high accuracy, in the local memory. This increases the memory consumption, in bits, with the word length of the scale factor. However, the relative memory increase attributable to storage of the scale factor becomes smaller as the size of the data unit increases.
  • The decompression algorithm according to an exemplary embodiment of the invention multiplies each stored soft value sign by its associated scale factor. Hence, the decompression algorithm is basically a multiplication of the stored data unit c with the accompanying scale factor. Thus,
  • S=αc=α[c 1 , c 2 , . . . , c N], (5)
  • is the decompressed data unit. This is suitable for use in a mobile receiver because it is a simple operation in a digital signal processor that does not add much complexity. Then, where the data unit was compressed in its punctured format, the data unit is de-punctured according to its associated puncturing scheme. The de-punctured, decompressed data unit is then ready for use, such as by combining it with a retransmitted data unit before a new channel decoding attempt is made. Alternatively, the data unit can be compressed in its de-punctured format, eliminating the need to de-puncture the decompressed data unit prior to combining it with a retransmitted data unit. However, in this case, because zeros are entered in the position corresponding to the punctured bit positions, these bit positions need to be restored back to zeros in the decompressed data unit.
  • The above-described compression/decompression algorithm assumes that the SINR is constant over the whole data block. However, this is not the case is all systems. For example, in EGPRS systems, a radio block consists of four transmission bursts. Therefore, each of the individual bits of a data block may be transmitted over different bursts. Accordingly, the above-described compression/decompression algorithm must be modified to account for the multiple transmission bursts (this modified algorithm in accordance with the exemplary embodiments of the invention is herein referred to as “burst-wise” compression).
  • According to EGPRS protocols, a radio block consists of four bursts transmitted in the same time slots in four consecutive TDMA frames. This radio block comprises a header and one or two radio link control (RLC) data blocks (PDUs). The header includes the modulation and coding scheme (MCS) and other information necessary for decoding the PDUs. The EGPRS data blocks use either GMSK or 8PSK modulation. There are nine modulation and coding schemes. Schemes 1-6 include one PDU in the Radio Link Control/Medium Access Control (RLC/MAC) block, whereas schemes 7-9 include two PDUs.
  • In the encoder, the header and the RLC data block(s) are processed separately (i.e., the header and the PDUs are separately coded). For further detail on the coding process, see GSM 05.03 specification. The coded PDUs are then punctured using one of the puncturing schemes (PS) associated with the PDU's MCS to form a fixed length radio block. The radio block is then interleaved and mapped to one of the four bursts in a radio block.
  • FIG. 4 a describes an exemplary embodiment of the invention under the framework of EGPRS, however, the method(s) of the invention can be applied to all radio systems that employ soft-decision decoding. The process begins at step 402 where a sequence of soft values is generated by soft-output detector 301. In this embodiment, as in the embodiment discussed above, these soft values represent the ratio of the probabilities that a received bit represents one value versus another value, for example a 1 or −1. This sequence of soft-values is de-swapped and de-interleaved at step 404 such that the received bits represented by the soft values are restored to their original encoded RLC/MAC block order, which is necessary for the decoding process. The header is then depunctured and decoded at step 406 to obtain the decoding parameters, for example, the MCS, coding and puncturing scheme (PS), block sequence number (BSN) of the PDU (or PDUs if schemes 7-9 are employed), and the split-block flag (SPB) for schemes 1-4, required to decode the PDU(s). If the header is not decoded successfully (“NO” path out of decision block 408), the required decoding parameters can not be obtained and the PDU can not be decoded. Accordingly, the current radio block is thrown away and the transmitter is informed of the header failure at step 412.
  • If the header is decoded successfully (“YES” path out of decision block 408), the PDU is retrieved and temporarily stored at step 438. The PDU is then de-punctured at step 410. Control then proceeds to step 416 to determine whether or not the PDU has been previously transmitted, i.e., is the current PDU a re-transmission of a previously failed PDU. This can be achieved, in the exemplary embodiment, by checking if the PDU's BSN exists in the IR memory discussed in greater detail below.
  • If the current PDU is a re-transmission (“NO” path out of decision block 416), the corresponding failed PDUs (i.e., all the PDUs with the same BSN stored in memory 309) are decompressed at step 418, and de-punctured at step 440. The decompressed, de-punctured PDU is then combined with the currently received PDU at step 420. The combined PDU is then decoded at step 422. Otherwise (“YES” path out of decision block 422), the currently received de-punctured PDU is decoded at step 422.
  • At step 424, it is determined whether the currently received PDU (1st transmission of the block) or the combined PDU (re-transmission of the block) has failed the decoding process. If it fails the decoding process (“NO” path out of decision block 424), and there is a free entry in IR memory (“YES” path out of decision block 426), the currently received punctured PDU is compressed (step 428) and stored in memory 309 (step 430). According to an exemplary embodiment the PDU is compressed and stored in IR memory along with the supporting information required for decompression. If there is no IR memory left (“NO” path out of decision block 426), then the currently received PDU is not stored and a request for retransmission is sent to the transmitter (step 436). If the PDU is successfully decoded (“YES” path out of decision block 424) all entries with the same BSN as the currently received PDU are deleted from the IR memory at step 432, and the decoded data is delivered to the information sink at step 434.
  • When the receiver receives a new PDU, it checks whether the received block is a retransmission (as shown in step 416). If it is, the decompression algorithm decompresses and de-punctures the stored entry at step 418. The combination algorithm then combines the decompressed, de-punctured PDU(s) with the retransmitted PDU at step 420. If the retransmitted PDU employs the same puncturing scheme as a previously stored PDU, the most recently received PDU is combined with the previously stored PDU, which is then fed to the decoder for channel decoding. The current PDU is then used to replace the old PDU using the same puncturing scheme. However, it is perfectly acceptable to store all retransmissions, even if the same puncturing scheme has been used before. This increases memory usage and computation complexity. If the data is decoded successfully, the decoded data block is delivered and its related storage is deleted.
  • FIG. 4 b describes an alternative embodiment wherein the PDU is compressed and stored in it's de-punctured format. The compression process is the same as that of the punctured format, with the exception of the sequence to be compressed being larger. However, because the de-puncturing process inserts zeros in the positions corresponding to the punctured bits, the decompression is different from that of the punctured format. Accordingly, for the compressed de-punctured PDU, the decompression algorithm sets zeros in the decompressed sequence for the position of the inserted zeros in the de-punctured PDU, and restores other bits in the sequence according to their burst scale factors and their sign stored in IR memory (step 418 b). The decompressed PDU is then combined with the currently received PDU and decoded.
  • As discussed above, the compression algorithm in accordance with an embodiment of the invention is based on the assumption that the fading channel and the interference are both constant during the transmission of a data block. Therefore, in order to employ the compression algorithm to the above described EGPRS system burst-wise compression is employed as described below.
  • During burst-wise compression, a scale-factor is calculated for each of the transmission bursts. Assume the scale factor of burst AI (where A denotes a radio block punctured with a specific puncturing scheme PS1) is denoted αI, the scale-factor of burst AII is denoted αII, and so forth. Then, the vector {overscore (α)}└αI, αII, αIII, αIV┘ represents the scale vector for the four A-bursts, [AI, . . . , AIV]. Likewise, where multiple puncturing schemes are employed, the scale-vector for B-bursts is denoted by {overscore (β)}, and the scale-vector for C-bursts by {overscore (γ)} (B and C denoting radio blocks punctured with puncturing schemes PS2 and PS3 respectively).
  • As discussed above, when a received PDU fails the decoding process, the punctured PDU is compressed and stored in local memory 309 along with the supporting information required for decompressing the PDU. An exemplary data structure of an entry in memory is shown in FIG. 5. The BSN field 500 designates the particular failed PDU. The SPB field 501 indicates whether the PDU has been split into two pieces for retransmission. This can occur when the retransmission coding scheme is too short to contain the entire message of the original transmission. Therefore, the retransmission is split into two pieces. When the retransmission occurs, the BSN is the same for both halves, so the SPB flag indicates which half was transmitted. The field PDUNUM 507 indicates the PDU number in the RLC/MAC block, which is only meaningful for MCS-7, -8 and -9, since they are the only ones that contain two PDUs. The PDUNUM field, together with the MCS 503 and the PS 505 fields, store information that is needed in the decompressing, de-puncturing, and decoding process. The SV field 509 stores the scale vector of the four bursts the PDU was transmitted over, and therefore, it is an array of 4 elements. The Compressed Data field 511 is where the compressed data is stored, i.e., the vector representing the sign of each soft-value in the PDU. Accordingly, the number of entries stored in the IR memory for a particular BSN, in the worst case, equals the number of puncturing schemes of the PDU's MCS. An example of a PDU that has a BSN of 88, using MCS-9, and has been transmitted at least three times, is shown in FIG. 6.
  • The main IR functions in accordance with the invention can be divided into two classes: the IR memory management class and the IR core class. The IR memory management class includes functions that initialize the IR memory, check whether a newly received PDU is a new transmission, find a free entry in the IR memory, and delete IR entries that are obsolete. The IR core class consists of functions that calculate the scale factor for a radio block, compress and store a PDU, decompress a compressed PDU, and combine all the PDU's having the same BSN and SPB with the current PDU for decoding.
  • Since a BSN is a non-negative number, the IR memory management can be easy to implement. We give one possible implementation here, but many other schemes for managing the IR memory are possible. Any negative number can be used to represent an empty entry in the IR memory. The IR initialization routine assigns a negative number to all the BSN fields in the IR entry table. After a PDU is received, the BSN of this PDU is compared to all the BSN in the table to check whether this is the initial transmission block. If the same BSN and SPB is found in the IR memory, then the block is a re-transmission. When a PDU is not successfully decoded (i.e., it is a failed PDU), it is necessary to determine if there is any empty IR entry left in the IR memory. An empty IR entry could be found by searching for a negative BSN field in the IR memory. If the entries with a particular BSN are not useful anymore, either because of the successful decoding or by being so informed by the communication controller, these entries are deleted by assigning a negative number to the BSN fields in the IR entry.
  • Exemplary pseudo code for calculating the burst-wise scale vector in accordance with an embodiment of the invention is shown in FIG. 7 a. As shown, the vector, scaleVector[ ] stores the four scale factors corresponding to the four bursts of a radio block. The scale factors are calculated by taking the average of the soft values over a burst. As discussed above, each received bit in a burst is represented by a soft-value. These soft-values for each burst are stored in an X by Y array, receivedVector[burstNum, pos], where each column represents a new burst and the rows represent number of bits in the burst, burstLength. Accordingly, each soft-value in the array can be accessed by its burst number and representative bit position or number.
  • Exemplary pseudo code for compression of the soft-values representative of the punctured PDU in accordance with the invention is shown in FIG. 7 b, assuming the soft-values representing the bits of the punctured PDU are stored in puncturedVector[ ], and the number of bits in a punctured PDU is pduLength. As shown, for each bit in the PDU (i.e., 1 to pduLength), the value of the stored vector is set to 1 if the representative soft-value is less than 0, otherwise the value is set to 0.
  • The decompression process is shown in the exemplary pseudo code of FIG. 7 c. Where, as in this example, the individual bits of a PDU are transmitted over a number of bursts, the burst that each bit in the PDU was transmitted in needs to be determined, so that the scale factor corresponding to the burst can be identified. Therefore, the table, scaleIndexTable[pos], is created to map the position of each bit in the PDU, pos, to the burst number that it was transmitted in. Accordingly, scaleIndexTable[ ] has a length of pduLength. The entries in scaleIndexTable[ ] have the value between 1 and 4, which indicates the burst number.
  • The decompression process begins by retrieving the compressed soft-values from memory (e.g., the stored vector containing the sign values for each soft-value in the PDU), as shown in FIG. 7 c. Each sign value is then multiplied by the corresponding scale factor, resulting in the vector, decompressedvector[ ], which contains the uncompressed soft-values for the punctured PDU. Alternatively, in the case where the PDU is compressed in its de-punctured format, the positions corresponding to punctured bits in the PDU restored with zeros, while the other bits are restored according to their burst scale factors and their signs stored in IR memory as shown in FIG. 7 d.
  • Finally, exemplary pseudo code for the combining function is shown in FIG. 7 e. The combining function combines the currently received de-punctured PDU with all of its previous transmissions. The previous transmissions are found by determining if there are any entries within the IR memory with the same BSN and SPB as the newly received PDU. If previous transmissions are found in the IR memory, they are decompressed one by one into decompressedVector[pos], depunctured into depuncturedvector[ ], and combined.
  • The combining process begins by assigning newly received de-punctured PDU, newDepuncturedVector[ ], to the vector, combinedvector[ ]. The function then searches from the first entry in the IR memory to the last entry, numIREntries, to find previous transmissions of the current PDU. If any previous transmission is found, it is first decompressed, using the decompression function, decompress (IREntry[I]) and then depunctured into the vector, depuncturedVector[ ], using the function depuncture(decompressedvector[ ], IREntry[I].mcs), according to the MCS parameter mcs. The depunctureVector[ ] is then combined with the combinedVector[ ]. Where, as in this example, the soft-values are likelihood values that are scaled logarithmically, the form of the combination can be addition, which results in another likelihood value. Accordingly, the depunctureVector[ ] and the combinedVector[ ] are combined by performing a value by value addition. This process is iterated until all the previous transmissions of the current PDU are combined. The combinedVector[ ] is then submitted to the decoder.
  • In receivers of the type described above, the compression/decompression algorithm may incur a small penalty in user data throughput. However, the advantage of the invention is the steep decrease in memory consumption compared to the uncompressed de-punctured data unit. The memory compression is roughly proportional to the inverse of the number of bits that represent an uncompressed symbol.
  • The invention has been described with reference to particular embodiments. However, it will be readily apparent to those skilled in the art that it is possible to embody the invention in specific forms other than those of the preferred embodiments described above. This may be done without departing from the spirit of the invention.
  • Thus the preferred embodiment is merely illustrative and should not be considered restrictive in any way. The scope of the invention is given by the appended claims, rather than the preceding description, and all variations and equivalents which fall within the range of the claims are intended to be embraced therein.

Claims (18)

1. A method of storing failed packet data units (PDUs) in a packet-transmission system, in which the PDUs are encoded to include redundancy, and punctured according to a specified puncturing scheme prior to transmission, the method comprising:
receiving a transmission;
processing the received transmission to retrieve a PDU;
de-puncturing the PDU;
decoding the de-punctured PDU; and
if the decoded PDU contains errors, then storing the PDU and requesting retransmission.
2. The method of claim 1, wherein the step of storing the PDU comprises:
compressing the PDU; and
storing the compressed PDU.
3. The method of claim 2, wherein the PDU is transmitted over a plurality of different transmission bursts.
4. The method of claim 2, wherein the step of processing the received transmission comprises:
generating a sequence of soft-values representative of each bit in the received transmission;
calculating and storing a scale factor representative of the soft-values within the sequence; and
generating a sub-sequence of soft-values representative of a transmitted PDU.
5. The method of claim 4, wherein the scale factor is an average of the absolute values of the soft-values within the sequence.
6. The method of claim 4, wherein the step of compressing the PDU comprises:
storing the sign of each soft-value within the sub-sequence.
7. The method of claim 2, wherein the PDU is compressed in its punctured format.
8. The method of claim 7, further comprising:
determining, prior to decoding the de-punctured PDU, if there are any compressed PDUs stored in memory that correspond to the currently received, de-punctured PDU;
if there are any corresponding PDUs stored in memory then, for each corresponding PDU:
decompressing the PDU;
de-puncturing the decompressed PDU;
combining the de-punctured, decompressed PDU with the currently received, de-punctured PDU;
decoding the combined PDU; and
if the decoded combined PDU contains errors, then compressing and storing the currently received punctured PDU.
9. The method of claim 2, wherein the PDU is compressed in its de-punctured format.
10. The method of claim 9, further comprising:
determining, prior to decoding the de-punctured PDU, if there are any compressed PDUs stored in memory that correspond to the currently received, de-punctured PDU;
if there are any corresponding PDUs stored in memory then, for each corresponding PDU:
decompressing the PDU;
combining the decompressed PDU with the currently received, de-punctured PDU;
decoding the combined PDU; and
if the decoded combined PDU contains errors, then compressing and storing the currently received de-punctured PDU.
11. The method of claim 10, wherein the step of processing the received transmission comprises:
generating a sequence of soft-values representative of each bit in the received transmission;
calculating and storing a scale factor representative of the soft-values within the sequence; and
generating sub-sequence of soft-values representative of a transmitted PDU.
12. The method of claim 11, wherein the scale factor is an average of the absolute values of the soft-values within the sequence.
13. The method of claim 11 wherein the step of compressing the PDU comprises:
storing the sign of each soft-value within the sub-sequence.
14. The method of claim 13, wherein the step of decompressing the corresponding PDU comprises:
multiplying the stored sign of each soft-value in the sub-sequence by the stored scale factor.
15. A receiver comprising:
a soft output detector configured to generate a sequence of soft-values representative of each bit within a received transmission;
a decoder;
local memory; and
a processor, the processor comprising logic configured to:
process the retrieved transmission in order to retrieve a PDU;
de-puncture the PDU; and
compress and store in the local memory the retrieved PDU if the de-punctured PDU fails the decoding process.
16. The receiver of claim 15, wherein the processor further includes logic configured to:
determine, prior to decoding the de-punctured PDU, if there are any corresponding compressed PDUs stored in memory;
for each stored PDU the logic is configured to:
decompress the PDU;
de-puncture the decompressed PDU;
combine the de-punctured, decompressed, PDU with the currently received de-punctured PDU; and
compress and store the retrieved PDU, if the decoded combined PDU fails the decoding process.
17. A computer-readable storage medium having stored therein one or more instructions that cause a processor to perform the steps of:
processing a received transmission to retrieve a PDU;
de-puncturing the PDU;
decoding the de-punctured PDU; and
If the decoded PDU contains errors, then compressing and storing the punctured PDU.
18. The computer-readable storage medium of claim 17, further comprising one or more instructions that cause a processor to perform the steps of:
determining, prior to decoding the de-punctured PDU, if there are any corresponding compressed PDUs stored in memory;
if there are compressed PDUs stored in memory then, for each compressed PDU:
decompressing the PDU;
de-puncturing the decompressed PDU;
combining the de-punctured, decompressed, PDU with the currently received, de-punctured PDU;
decoding the combined PDU; and
if the decoded combined PDU contains errors, then compressing and storing the currently received punctured PDU.
US10/911,297 2000-12-14 2004-08-04 Data compression with incremental redundancy Expired - Lifetime US7302628B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/911,297 US7302628B2 (en) 2000-12-14 2004-08-04 Data compression with incremental redundancy

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/735,495 US6981060B2 (en) 2000-12-14 2000-12-14 Compression based on channel characteristics
US10/645,560 US20050044473A1 (en) 2003-08-22 2003-08-22 Data compression with incremental redundancy
US10/911,297 US7302628B2 (en) 2000-12-14 2004-08-04 Data compression with incremental redundancy

Related Parent Applications (2)

Application Number Title Priority Date Filing Date
US09/735,495 Continuation-In-Part US6981060B2 (en) 2000-12-14 2000-12-14 Compression based on channel characteristics
US10/645,560 Continuation US20050044473A1 (en) 2000-12-14 2003-08-22 Data compression with incremental redundancy

Publications (2)

Publication Number Publication Date
US20050138530A1 true US20050138530A1 (en) 2005-06-23
US7302628B2 US7302628B2 (en) 2007-11-27

Family

ID=34681720

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/911,297 Expired - Lifetime US7302628B2 (en) 2000-12-14 2004-08-04 Data compression with incremental redundancy

Country Status (1)

Country Link
US (1) US7302628B2 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070280368A1 (en) * 2006-06-05 2007-12-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for correcting data transmission errors
WO2008012541A3 (en) * 2006-07-26 2008-03-20 Ttp Communications Ltd Soft decision processing
US20080207120A1 (en) * 2005-06-29 2008-08-28 Anna Kurina Wireless Data Transmission Methods, Devices, and Systems
US20080240011A1 (en) * 2005-10-05 2008-10-02 Electronics And Telecommunications Research Institute Method and Apparatus for Error Correction in Mbms Receipt System
US20090187673A1 (en) * 2008-01-18 2009-07-23 Microsoft Corporation Content compression in networks
EP2093921A1 (en) * 2008-02-22 2009-08-26 Sequans Communications Method and system for memory management in a harq communication system
US20090275324A1 (en) * 2008-04-30 2009-11-05 Motorola, Inc. Method and Device for Preemptively Transmitting a Signal in Accordance with a MCS other than a Network Commanded MCS
WO2010143019A1 (en) * 2009-06-12 2010-12-16 Nokia Corporation Method and apparatus for providing quantization and coding of groupings of soft information
US20110154143A1 (en) * 2009-12-23 2011-06-23 Blue Wonder Communications Gmbh Method for decoding data packets in a wireless communication system
US20110282932A1 (en) * 2010-05-17 2011-11-17 Microsoft Corporation Asymmetric end host redundancy elimination for networks
TWI510014B (en) * 2012-09-25 2015-11-21 Nvidia Corp Decoding a coded data block
EP2985916A1 (en) * 2014-08-15 2016-02-17 Nxp B.V. Reduced memory iterative demodulation and decoding
CN109417432A (en) * 2016-10-26 2019-03-01 杜塞尔多夫华为技术有限公司 Data encoding and decoding
US10454628B2 (en) * 2014-12-16 2019-10-22 Huawei Technologies Co., Ltd. Methods and nodes in a wireless communication system
US10990491B2 (en) * 2018-09-20 2021-04-27 Hitachi, Ltd. Storage control apparatus and recovery method of a failed track
US20220029818A1 (en) * 2019-03-29 2022-01-27 Intel Corporation Message authentication code (mac) based compression and decompression

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1429488B1 (en) * 2002-12-09 2016-03-09 Broadcom Corporation Incremental redundancy support in an EDGE cellular wireless terminal
US8024633B2 (en) * 2007-05-10 2011-09-20 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for combined packet retransmission and soft decoding of combined packets in a wireless communication network
US20090177852A1 (en) * 2008-01-09 2009-07-09 Mediatek Inc. Data block receiver and method for decoding data block

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020107987A1 (en) * 2000-12-14 2002-08-08 Peter Malm Compression based on channel characteristics
US20020159545A1 (en) * 2001-04-27 2002-10-31 Rajaram Ramesh Systems and methods for decoding data blocks
US6529561B2 (en) * 1999-09-10 2003-03-04 Nokia Networks Oy Data transmission in radio system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58219847A (en) 1982-06-14 1983-12-21 Ricoh Co Ltd Data communication system with arq function
US5130993A (en) 1989-12-29 1992-07-14 Codex Corporation Transmitting encoded data on unreliable networks
JP3111763B2 (en) 1993-08-05 2000-11-27 松下電器産業株式会社 High efficiency transmission method
JP3190204B2 (en) 1994-04-12 2001-07-23 ユナイテッド・モジュール・コーポレーション MPEG standard audio signal decoder
US5450453A (en) 1994-09-28 1995-09-12 Motorola, Inc. Method, apparatus and system for decoding a non-coherently demodulated signal
US6137784A (en) 1995-10-18 2000-10-24 Sc-Wireless Inc. Method and apparatus for wireless communication employing control for confidence metric bandwidth reduction
ATE221710T1 (en) 1995-10-23 2002-08-15 Nokia Corp METHOD FOR PACKET DATA TRANSMISSION USING HYBRID FEC/ARQ TYPE II METHOD
US6058459A (en) 1996-08-26 2000-05-02 Stmicroelectronics, Inc. Video/audio decompression/compression device including an arbiter and method for accessing a shared memory
US5881104A (en) 1996-03-25 1999-03-09 Sony Corporation Voice messaging system having user-selectable data compression modes
FR2769161B1 (en) 1997-10-01 1999-12-24 Univ Neuchatel METHOD FOR CONTROLLING THE RATE OF COMPRESSION OF DIGITAL IMAGES
US6353907B1 (en) 1997-10-29 2002-03-05 At&T Corp. Incremental redundancy radio link protocol
US6353584B1 (en) 1998-05-14 2002-03-05 Sony Corporation Reproducing and recording apparatus, decoding apparatus, recording apparatus, reproducing and recording method, decoding method and recording method
US6711709B1 (en) 1998-06-24 2004-03-23 Unisys Corporation Integrated block checking system for rapid file transfer of compressed data
FI105734B (en) 1998-07-03 2000-09-29 Nokia Networks Oy Automatic retransmission
US6347124B1 (en) 1998-10-29 2002-02-12 Hughes Electronics Corporation System and method of soft decision decoding
US6400928B1 (en) 1999-11-19 2002-06-04 Telefonaktiebolaget L M Ericsson (Publ) Method and system for blind detection of modulation
US6718507B1 (en) 2000-09-12 2004-04-06 At&T Corp. System and method for representing compressed information
US7206280B1 (en) * 2000-09-12 2007-04-17 Lucent Technologies Inc. Method and apparatus for asynchronous incremental redundancy reception in a communication system
US6744766B2 (en) 2002-06-05 2004-06-01 Meshnetworks, Inc. Hybrid ARQ for a wireless Ad-Hoc network and a method for using the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529561B2 (en) * 1999-09-10 2003-03-04 Nokia Networks Oy Data transmission in radio system
US20020107987A1 (en) * 2000-12-14 2002-08-08 Peter Malm Compression based on channel characteristics
US20020159545A1 (en) * 2001-04-27 2002-10-31 Rajaram Ramesh Systems and methods for decoding data blocks

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080207120A1 (en) * 2005-06-29 2008-08-28 Anna Kurina Wireless Data Transmission Methods, Devices, and Systems
US8213291B2 (en) * 2005-06-29 2012-07-03 Intel Corporation Wireless data transmission methods, devices, and systems
US20080240011A1 (en) * 2005-10-05 2008-10-02 Electronics And Telecommunications Research Institute Method and Apparatus for Error Correction in Mbms Receipt System
KR100877078B1 (en) 2005-10-05 2009-01-07 한국전자통신연구원 Method and Apparatus for Error Correction in MBMS Receipt System
US8711829B2 (en) 2005-10-05 2014-04-29 Electronics And Telecommunications Research Institute Method and apparatus for error correction in MBMS receipt system
US20070280368A1 (en) * 2006-06-05 2007-12-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for correcting data transmission errors
US8059739B2 (en) 2006-06-05 2011-11-15 Telefonaktiebolaget Lm Ericsson Method and apparatus for correcting data transmission errors
WO2008012541A3 (en) * 2006-07-26 2008-03-20 Ttp Communications Ltd Soft decision processing
US20090185644A1 (en) * 2006-07-26 2009-07-23 Mstar Semiconductor, Inc. Soft Decision Processing
US8284874B2 (en) 2006-07-26 2012-10-09 Mstar Semiconductor, Inc. Soft decision processing
US7975071B2 (en) 2008-01-18 2011-07-05 Microsoft Corporation Content compression in networks
US20090187673A1 (en) * 2008-01-18 2009-07-23 Microsoft Corporation Content compression in networks
US8156407B2 (en) 2008-02-22 2012-04-10 Sequans Communications Method and system for memory management in a HARQ communications system
US20090228755A1 (en) * 2008-02-22 2009-09-10 Sequans Communications Method and system for memory management in a harq communications system
EP2093921A1 (en) * 2008-02-22 2009-08-26 Sequans Communications Method and system for memory management in a harq communication system
US8837519B2 (en) * 2008-04-30 2014-09-16 Motorola Mobility Llc Method and device for preemptively transmitting a signal in accordance with a MCS other than a network commanded MCS
US20090275324A1 (en) * 2008-04-30 2009-11-05 Motorola, Inc. Method and Device for Preemptively Transmitting a Signal in Accordance with a MCS other than a Network Commanded MCS
WO2010143019A1 (en) * 2009-06-12 2010-12-16 Nokia Corporation Method and apparatus for providing quantization and coding of groupings of soft information
EP2339774A3 (en) * 2009-12-23 2012-02-01 Blue Wonder Communications GmbH Method for decoding data packets in a wireless communication system
US8443248B2 (en) 2009-12-23 2013-05-14 Intel Mobile Communications Technology Dresden GmbH Method for decoding data packets in a wireless communication system
US20110154143A1 (en) * 2009-12-23 2011-06-23 Blue Wonder Communications Gmbh Method for decoding data packets in a wireless communication system
US20110282932A1 (en) * 2010-05-17 2011-11-17 Microsoft Corporation Asymmetric end host redundancy elimination for networks
US9083708B2 (en) * 2010-05-17 2015-07-14 Microsoft Technology Licensing, Llc Asymmetric end host redundancy elimination for networks
US9197365B2 (en) * 2012-09-25 2015-11-24 Nvidia Corporation Decoding a coded data block
TWI510014B (en) * 2012-09-25 2015-11-21 Nvidia Corp Decoding a coded data block
EP2985916A1 (en) * 2014-08-15 2016-02-17 Nxp B.V. Reduced memory iterative demodulation and decoding
US9425922B2 (en) 2014-08-15 2016-08-23 Nxp B.V. Reduced memory iterative baseband processing
US10454628B2 (en) * 2014-12-16 2019-10-22 Huawei Technologies Co., Ltd. Methods and nodes in a wireless communication system
CN109417432A (en) * 2016-10-26 2019-03-01 杜塞尔多夫华为技术有限公司 Data encoding and decoding
US10990491B2 (en) * 2018-09-20 2021-04-27 Hitachi, Ltd. Storage control apparatus and recovery method of a failed track
US20220029818A1 (en) * 2019-03-29 2022-01-27 Intel Corporation Message authentication code (mac) based compression and decompression
US11601283B2 (en) * 2019-03-29 2023-03-07 Intel Corporation Message authentication code (MAC) based compression and decompression

Also Published As

Publication number Publication date
US7302628B2 (en) 2007-11-27

Similar Documents

Publication Publication Date Title
US7302628B2 (en) Data compression with incremental redundancy
Malkamaki et al. Performance of truncated type-II hybrid ARQ schemes with noisy feedback over block fading channels
EP1994669B1 (en) Method and apparatus for transmitting and receiving a data block in a wireless communication system
US5983384A (en) Turbo-coding with staged data transmission and processing
CN1215671C (en) Method and apparatus for providing error protection for over the air file transfer
Chakraborty et al. An ARQ scheme with packet combining
US6909758B2 (en) Systems and methods for decoding data blocks
JP3911263B2 (en) Adaptive hybrid automatic retransmission request method and apparatus
US7831886B2 (en) Fast H-ARQ acknowledgement generation method using a stopping rule for turbo decoding
US6694478B1 (en) Low delay channel codes for correcting bursts of lost packets
US6418549B1 (en) Data transmission using arithmetic coding based continuous error detection
US6904555B2 (en) Decoding apparatus and decoding method, and data receiving apparatus and data receiving method
US7234095B2 (en) Turbo encoded hybrid automatic repeat request system and error detection method
US6728323B1 (en) Baseband processors, mobile terminals, base stations and methods and systems for decoding a punctured coded received signal using estimates of punctured bits
JPH1022984A (en) Adaptive hybrid arq encoding scheme for phasing channel with slow period of mobile radio system
JP2003264535A (en) Hybrid arq retransmission method and receiver therefor
US20040199848A1 (en) Error correction decoding apparatus and error correction decoding method
US6981060B2 (en) Compression based on channel characteristics
EP1656759B1 (en) Data compression with incremental redundancy
KR100305353B1 (en) method for performance analysis of adaptive hybrid ARQ using RCPTC, RCPHCCC and RCPSCCC
Riediger et al. Application of Reed-Solomon codes with erasure decoding to type-II hybrid ARQ transmission
Rosmansyah et al. Improving the throughput of a low-Earth orbit microsatellite protocol

Legal Events

Date Code Title Description
STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: HIGHBRIDGE PRINCIPAL STRATEGIES, LLC, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:WI-FI ONE, LLC;REEL/FRAME:037534/0069

Effective date: 20151230

AS Assignment

Owner name: WI-FI ONE, LLC, TEXAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:HPS INVESTMENT PARTNERS, LLC;REEL/FRAME:039355/0670

Effective date: 20160711

AS Assignment

Owner name: CLUSTER LLC, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TELEFONAKTIEBOLAGET L M ERICSSON (PUBL);REEL/FRAME:044095/0150

Effective date: 20151229

Owner name: WI-FI ONE, LLC, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CLUSTER LLC;REEL/FRAME:044095/0641

Effective date: 20151230

Owner name: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL), SWEDEN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HUANG, WENSHENG;TOY, RAYMOND;MALM, PETER;SIGNING DATES FROM 20030926 TO 20031007;REEL/FRAME:044095/0845

AS Assignment

Owner name: CORTLAND CAPITAL MARKET SERVICES LLC, AS COLLATERA

Free format text: INTELLECTUAL PROPERTY SECURITY AGREEMENT;ASSIGNOR:WI-FI ONE, LLC;REEL/FRAME:045570/0148

Effective date: 20180126

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12

AS Assignment

Owner name: WI-FI ONE, LLC, TEXAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CORTLAND CAPITAL MARKET SERVICES LLC;REEL/FRAME:058014/0725

Effective date: 20211103

AS Assignment

Owner name: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL), SWEDEN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CLUSTER LLC;REEL/FRAME:064683/0228

Effective date: 20211103

Owner name: CLUSTER LLC, SWEDEN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WI-FI ONE, LLC;REEL/FRAME:064682/0942

Effective date: 20211103