Transmission of acknowledgement and negative acknowledgement in a wireless communication system

A communication device configured for transmission of Acknowledgement and Negative Acknowledgement (ACK/NACK) is described. The communication device includes a processor and instructions stored in memory. The communication device determines one or more thresholds based on a size of one or more code words and generates a compressed ACK/NACK sequence. The compressed ACK/NACK sequence identifies one or more correctly received code words and one or more incorrectly received code words if the number of incorrectly received code words is less than the threshold. If the number of incorrectly received code words is greater than the threshold, the compressed ACK/NACK sequence indicates that all of the one or more code words were incorrectly received.

TECHNICAL FIELD

The present disclosure relates generally to communication systems. More specifically, the present disclosure relates to the transmission of acknowledgement and negative acknowledgement (ACK/NACK) in a wireless communication system.

BACKGROUND

Communication systems have become an important means by which many people worldwide have come to communicate. In particular, wireless communication systems have become practically ubiquitous in modern society. Many wireless communication systems include a multitude of wireless communication devices and base stations.

A wireless communication device, such as a cellular phone, may be used for voice and/or data communication over a wireless communication system. A base station is a fixed station (e.g., a wireless communication station that is installed at a fixed location) that communicates with wireless communication devices.

Wireless communication systems typically use one or more antennas to communicate over the air. For instance, wireless communication devices and base stations typically communicate by sending Radio Frequency (RF) signals to each other. The nature of wireless communication systems often causes difficulties in receiving and decoding signals. For example, noise from a number of sources may be added to a communication signal. The communication signal may also be subject to effects such as Doppler shift and free space attenuation. The noise and other effects may cause a received signal to be incorrectly decoded. Wireless communication systems often convey information about whether signals were correctly received and/or incorrectly received. As can be seen from this discussion, improved systems and methods that improve the efficiency of reporting correctly received and/or incorrectly received signals may be beneficial.

DETAILED DESCRIPTION

The 3rd Generation Partnership Project, also referred to as “3GPP,” is a collaboration agreement that aims to define globally applicable technical specifications and technical reports for third and fourth generation wireless communication systems. The 3GPP may define specifications for the next generation mobile networks, systems, and devices.

3GPP Long Term Evolution (LTE) is the name given to a project to improve the Universal Mobile Telecommunications System (UMTS) mobile phone or device standard to cope with future requirements. In one aspect, UMTS has been modified to provide support and specification for the Evolved Universal Terrestrial Radio Access (E-UTRA) and Evolved Universal Terrestrial Radio Access Network (E-UTRAN).

At least some aspects of the systems and methods disclosed herein may be described in relation to the 3GPP LTE and LTE-Advanced standards (Release-8 and Release-10). However, the scope of the present disclosure should not be limited in this regard. At least some aspects of the systems and methods disclosed herein may be utilized in other types of wireless communication systems.

A wireless communication device may be an electronic device used to communicate voice and/or data to a base station, which in turn may communicate with a network of devices (e.g., public switched telephone network (PSTN), the Internet, etc.). In describing systems and methods herein, a wireless communication device may alternatively be referred to as a mobile station, a user equipment (UE), an access terminal, a subscriber station, a mobile terminal, a remote station, a user terminal, a terminal, a subscriber unit, a mobile device, etc. A wireless communication device may be a cellular phone, a smart phone, a personal digital assistant (PDA), a laptop computer, a netbook, an e-reader, a wireless modem, etc. In 3GPP specifications, a wireless communication device is typically referred to as a user equipment (UE). However, as the scope of the present disclosure should not be limited to the 3GPP standards, the terms “UE” and “wireless communication device” may be used interchangeably herein to mean the more general term “wireless communication device.”

In 3GPP specifications, a base station is typically referred to as a Node B, an evolved Node B (eNB), a home enhanced or evolved Node B (HeNB), or some other similar terminology. As the scope of the disclosure should not be limited to 3GPP standards, the terms “base station,” “Node B,” “eNB,” and “HeNB” may be used interchangeably herein to mean the more general term “base station.” Furthermore, the term “base station” may be used to denote an access point. An access point may be an electronic device that provides access to a network (e.g., Local Area Network (LAN), the Internet, etc.) for wireless communication devices. The term “communication device” may be used to denote both a wireless communication device and/or a base station.

A communication device configured for compression and transmission of Acknowledgement and Negative Acknowledgement (ACK/NACK) is disclosed. The communication device includes a processor and instructions stored in memory. The communication device determines one or more thresholds based on a size of one or more code words and generates a compressed ACK/NACK sequence. The compressed ACK/NACK sequence identifies one or more correctly received code words and one or more incorrectly received code words if the number of incorrectly received code words is less than the threshold. The compressed ACK/NACK sequence indicates that all of the one or more code words were incorrectly received if the number of incorrectly received code words is greater than the threshold.

The communication device may receive a signal including one or more code words. The communication device may transmit the compressed ACK/NACK sequence. The compressed ACK/NACK sequence may identify one or more correctly received code words and one or more incorrectly received code words if the number of incorrectly received code words is equal to the threshold. The compressed ACK/NACK sequence may indicate each incorrectly received code word and at least one correctly received code word as an incorrectly received code word if the number of incorrectly received code words is equal to the threshold.

The communication device may also partition an uncoded ACK/NACK sequence and generate a compressed ACK/NACK sequence for each partition. Each partition may use one of the one or more thresholds. Stronger code or unequal error protection may be applied to one or more ACK/NACK bits corresponding to one or more designated code words. The one or more designated code words may carry more sensitive information than other code words. The one or more designated code words may be larger than other code words.

The communication device may also communicate threshold information with at least one other communication device. The communication device may format the compressed ACK/NACK sequence such that an ACK/NACK bit is sent only at times corresponding to bit transitions. The status of only one code word may be reported for two or more code words by the communication device if a spectral correlation between channels corresponding to the two or more code words is greater than a spectral threshold. The status of only one code word may be reported for two or more code words by the communication device if a spatial correlation between channels corresponding to the two or more code words is greater than a spatial threshold.

The communication device may also channel code the compressed ACK/NACK sequence. The communication device may be a wireless communication device or a base station.

A communication device configured for balancing and transmission of Acknowledgement and Negative Acknowledgement (ACK/NACK) is also disclosed. The communication device includes a processor and instructions stored in memory. The communication device receives an ACK/NACK sequence, balances the ACK/NACK sequence and transmits the ACK/NACK sequence.

The ACK/NACK sequence may be balanced using a scrambling sequence that is specific to the communication device. The scrambling sequence may be a static scrambling sequence, a semi-dynamic scrambling sequence or a dynamic scrambling sequence.

The ACK/NACK sequence may be balanced using Gray coding. The Gray coding may be based on an algorithm or a look-up table. The ACK/NACK sequence may be balanced using distribution shaping using a non-linear transformation. The distribution shaping may be based on an algorithm or a look-up table. The ACK/NACK sequence may be a compressed ACK/NACK sequence. The communication device may also channel code the ACK/NACK sequence.

A method for compression and transmission of Acknowledgement and Negative Acknowledgement (ACK/NACK) is also disclosed. The method includes determining one or more thresholds based on a size of one or more code words and generating a compressed ACK/NACK sequence on a communication device. The compressed ACK/NACK sequence identifies one or more correctly received code words and one or more incorrectly received code words if the number of incorrectly received code words is less than the threshold. The compressed ACK/NACK sequence indicates that all of the one or more code words were incorrectly received if the number of incorrectly received code words is greater than the threshold.

A method for balancing and transmission of Acknowledgement and Negative Acknowledgement (ACK/NACK) is also disclosed. The method includes receiving an ACK/NACK sequence by a communication device, balancing the ACK/NACK sequence and transmitting the ACK/NACK sequence from the communication device.

A non-transitory tangible computer-readable medium for compression and transmission of Acknowledgement and Negative Acknowledgement (ACK/NACK) is disclosed. The computer-readable medium includes executable instructions for determining one or more thresholds based on a size of one or more code words and generating a compressed ACK/NACK sequence. The compressed ACK/NACK sequence identifies one or more correctly received code words and one or more incorrectly received code words if the number of incorrectly received code words is less than the threshold. The compressed ACK/NACK sequence indicates that all of the one or more code words were incorrectly received if the number of incorrectly received code words is greater than the threshold.

A non-transitory tangible computer-readable medium for balancing and transmission of Acknowledgement and Negative Acknowledgement (ACK/NACK) is also disclosed. The computer readable medium includes executable instructions for receiving an ACK/NACK sequence, balancing the ACK/NACK sequence and transmitting the ACK/NACK sequence.

In Release-10 of the 3GPP standard (e.g., LTE-Advanced) for cellular wireless communication, several channels (e.g., five) known as carrier components may be provisioned for transmission of information for both the uplink (e.g., signals from a wireless communication device to a base station) and downlink (e.g., signals from a base station to a wireless communication device). In addition, a number of spatial channels (e.g., two) may be available on each carrier component by using multiple antennas at a transmitter and a receiver. Therefore, multiple code words may be transmitted simultaneously. In one configuration, a maximum of ten code words (i.e., five channels×two code words per channel) can be transmitted simultaneously. For example, five times more code words may be transmitted according to Release-10 compared to Release-8.

Upon reception of the code words, the receiver may inform the transmitter regarding the successful or unsuccessful reception of each of the code words. This is typically accomplished by transmitting a one bit Acknowledgement/Negative Acknowledgement (ACK/NACK) for every received code word. If the code word is received successfully (e.g., correctly), an Acknowledgement (ACK) is transmitted (e.g., with the bit set to 1). Otherwise, a Negative Acknowledgement (NACK) is transmitted (e.g., with the bit set to 0). Thus, one bit per code word may be needed if each code word is acknowledged separately. For example, if ten code words are sent at a time, ten bits of ACK/NACK may be needed to separately acknowledge each code word. These ACK/NACK bits may be sent, for example, on a control channel or shared channel between communication devices (e.g., wireless communication device, base station, etc.). The systems and methods disclosed herein may provide a reduction in the number of transmitted ACK/NACK bits, which may be beneficial in a wireless communication system as control channel bandwidth may be a limited resource.

In wireless communication systems, the probability of a code word error may be set (e.g., designed to perform) at a particular operating point, given certain specified channel conditions. For example, the operating point of the LTE and LTE-Advanced standards is set such that the probability of a code word error may be 10% under mostly benign to moderately severe channel conditions in order for voice services to perform with a quality of service that does not appear uncomfortably distorted to typical human hearing. That is, 10% of the time, a receiver sends a Negative Acknowledgement (e.g., with the ACK/NACK bit set to 0) and 90% of the time a receiver sends an Acknowledgement (e.g., with the ACK/NACK bit set to 1). Therefore, an ACK/NACK sequence corresponding to several code words (e.g., ten bits corresponding to ten code words in the example above) sent from the receiver may have an imbalanced distribution of 1's and 0's. That is, there are more 1's in the sequence than 0's. When channel coding is used for such a sequence, the imbalance may cause a degraded performance in the channel code. The systems and methods disclosed herein may further provide techniques (e.g., a scrambling sequence specific to a communication device, Gray coding, etc.) to make an ACK/NACK bit stream more balanced.

It should be noted that as used herein, the general term “ACK/NACK sequence” may refer to an uncoded ACK/NACK sequence, compressed (or lossy-coded) ACK/NACK sequence, unbalanced ACK/NACK sequence, balanced ACK/NACK sequence, balanced compressed ACK/NACK sequence, a channel coded ACK/NACK sequence, or an ACK/NACK sequence in various stages of compression or balancing, for example. The term “channel coded ACK/NACK sequence” may be refer to an ACK/NACK sequence that has been channel coded, including uncoded, compressed, unbalanced, balanced and balanced compressed ACK/NACK sequences.

Various configurations are now described with reference to the Figures, where like reference numbers may indicate functionally similar elements. The systems and methods as generally described and illustrated in the Figures herein could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of several configurations, as represented in the Figures, is not intended to limit scope, as claimed, but is merely representative of the systems and methods.

FIG. 1is a block diagram illustrating one configuration of a wireless communication system wherein systems and methods for transmission of ACK/NACK in a wireless communication system may be implemented. One or more wireless communication devices102may communicate with a base station112. Examples of wireless communication devices include cellular phones, smart phones, e-readers, laptop computers, netbooks, etc. Examples of a base station include a cellular phone tower, an access point, etc. The wireless communication device102and the base station112may communicate, for example, by sending and receiving data and control signals to and from each other. In one configuration, the wireless communication device102includes one or more antennas108and the base station112includes one or more antennas110.

The one or more wireless communication devices102may receive code words from the base station112. A code word may be a binary representation of data (e.g., voice, control and/or other data). When a wireless communication device102successfully (e.g., correctly) receives a code word from the base station112, for example, the wireless communication device102may generate an ACK corresponding to that code word (e.g., a bit set to 1). However, when the wireless communication device102unsuccessfully (e.g., incorrectly) receives a code word (e.g., the code word was lost or damaged), the wireless communication device102may generate a NACK corresponding to that code word (e.g., a bit set to 0). A sequence of ACKs and NACKs may be formed by putting the ACK/NACK bits of all of the code words in sequence. This series of ACK/NACK bits may be referred to as an uncoded ACK/NACK sequence.

The one or more wireless communication devices102may include an ACK/NACK source coding module104and/or an ACK/NACK balancing module106. The ACK/NACK source coding module104may be a hardware and/or software module used to code an uncoded ACK/NACK sequence (e.g., sequence of ACK/NACK bits). The ACK/NACK source coding module104may compress the uncoded ACK/NACK sequence into a compressed or lossy-coded ACK/NACK sequence. The compressed or lossy-coded ACK/NACK sequence may be shorter (e.g., require fewer bits) than the uncoded ACK/NACK sequence. The compression performed by the ACK/NACK source coding module may also reduce the severity of an unbalance in the uncoded ACK/NACK sequence.

The balancing module106may be a hardware and/or software module used to balance an ACK/NACK sequence. For example, the balancing module106may balance an uncoded ACK/NACK sequence such that the number of 1's and 0's in the sequence are closer to equal. Alternatively, the compressed ACK/NACK sequence (generated by the ACK/NACK source coding module104) may optionally be balanced by the ACK/NACK balancing module106. For example, the ACK/NACK balancing module106may modify the compressed ACK/NACK sequence such that it has a more even distribution of 1's and 0's. That is, the ACK/NACK balancing module106may modify the compressed ACK/NACK sequence so that the number of 1's and the number of 0's in the sequence are closer to equal. The ACK/NACK balancing module106may thus generate a balanced ACK/NACK sequence or a balanced compressed ACK/NACK sequence.

It should be noted that the ACK/NACK source coding module104and the ACK/NACK balancing module106may be used independently or in combination. As discussed above, a compressed ACK/NACK sequence (generated by the ACK/NACK source coding module104) may be optionally balanced by the ACK/NACK balancing module106in one configuration. In another configuration, however, the compressed ACK/NACK sequence may not be balanced. Furthermore, an uncoded ACK/NACK sequence may be balanced by the ACK/NACK balancing module106without any source coding or compression. Thus, a communication device may include one of an ACK/NACK source coding module104, an ACK/NACK balancing module106or both104,106. Furthermore, a communication device may utilize one of an ACK/NACK source coding module104, an ACK/NACK balancing module106or both104,106at one time.

The ACK/NACK sequence may be transmitted. For example, the wireless communication device102may generate a balanced compressed ACK/NACK sequence (based on one or more received code words) and send it to the base station112. The base station112may use an ACK/NACK balancing decoding module185in order to decode or interpret a balanced ACK/NACK sequence or balanced compressed ACK/NACK sequence. In other words, the base station112may decode the balanced ACK/NACK sequence or balanced compressed ACK/NACK sequence to remove the balancing and thus obtain an ACK/NACK sequence (e.g., uncoded ACK/NACK sequence, compressed ACK/NACK sequence, etc.).

The base station112may also use an ACK/NACK source decoding module183to interpret, decode or “decompress” a compressed ACK/NACK sequence and thus obtain an ACK/NACK sequence. Because the compression performed is lossy compression, the ACK/NACK source decoding module183may recover the original ACK/NACK sequence for some cases. In other cases, the source decoding module183may recover a representation that is not the original ACK/NACK sequence but that indicates at least the incorrectly received code words in addition to some code words that were possibly received correctly. The base station112may then retransmit code words that the ACK/NACK sequence indicates were received incorrectly.

As illustrated inFIG. 1, an ACK/NACK source coding module114and/or an ACK/NACK balancing module116may be included on the base station112. In other words, an ACK/NACK source coding module104,114and an ACK/NACK balancing module106,116may be implemented on one or more wireless communication devices102and/or on the base station112. Additionally or alternatively, the wireless communication device102may include an ACK/NACK balancing decoding module181and/or an ACK/NACK source decoding module179. In other words, an ACK/NACK balancing decoding module181,185and an ACK/NACK source decoding module179,183may be implemented on one or more wireless communication devices102and/or on the base station112. In one configuration, some or all aspects of ACK/NACK source decoding179,183and/or ACK/NACK balancing decoding181,185may occur as part of channel decoding. For example, a channel decoder on a communication device102,112receiving an ACK/NACK sequence may perform Gray decoding, distribution de-shaping and/or descrambling.

FIG. 2is a block diagram illustrating more detail of one configuration of a wireless communication system wherein systems and methods for transmission of ACK/NACK in a wireless communication system may be implemented. One or more wireless communication devices202may communicate with a base station212using one or more antennas208. The base station212may also communicate with the one or more wireless communication devices202using one or more antennas210.

The wireless communication device202and the base station212may communicate with each other using channels and/or component carriers. For example, a wireless communication device202uses an uplink control channel218to send control information to the base station212. One example of an uplink control channel is a Physical Uplink Control Channel (PUCCH) pursuant to 3GPP specifications. In one configuration, the uplink control channel218is assigned to one particular wireless communication device202. In other words, each wireless communication device202may use a separate uplink control channel218for sending control information to the base station212.

An uplink shared channel222may also be used in common by one or more wireless communication devices202. The uplink shared channel222may be used to send ACK/NACK bits or sequences (e.g., ACK/NACK message C220c), control or other information to the base station212from one or more wireless communication devices202. One example of an uplink shared channel222is a Physical Uplink Shared Channel (PUSCH) pursuant to 3GPP specifications. The base station212may use a downlink control channel224to send control information to one or more wireless communication devices202. One example of a downlink control channel224is a Physical Downlink Control Channel (PDCCH) pursuant to 3GPP specifications.

One or more carrier components226may be used to transmit data between the one or more wireless communication devices202and the base station212. Carrier components226may be communication channels that are separated in the frequency domain. In one configuration, several carrier components226comprise a data channel that is used to send and/or receive voice and other data. For example, voice data and other data may be represented as code words228carried on the carrier components226. Each carrier component226may also be used to transmit separate code words using multiple antenna208,210techniques. For example, multiple spatial channels may be formed by using multiple antennas208,210. In this way, multiple code words228may be sent on each carrier component226using different spatial channels. For example, code word A228ais sent on carrier component A226ausing spatial channel A, code word B228bis sent on carrier component A226ausing spatial channel B, code word C228cis sent on carrier component B226busing spatial channel A and code word D228dis sent on carrier component B226busing spatial channel B.

The wireless communication device202may include an ACK/NACK source coding module204and/or an ACK/NACK balancing module206. The wireless communication device202may receive one or more code words228sent from the base station212on one or more carrier components226. The wireless communication device202may generate an uncoded ACK/NACK sequence indicating which of the one or more code words228was/were successfully (e.g., correctly) and/or unsuccessfully (e.g., incorrectly) received. The ACK/NACK source coding module204may use the uncoded ACK/NACK sequence to generate a compressed (e.g., lossy-coded) ACK/NACK sequence, a balanced ACK/NACK sequence (which may be balanced by the ACK/NACK balancing module206) or a balanced compressed ACK/NACK sequence, for example. In one configuration, the compressed and/or balanced ACK/NACK sequence is channel coded and sent to the base station212as ACK/NACK message A220ausing the uplink control channel218. The base station212may use an ACK/NACK balancing decoding module285to remove balancing from the ACK/NACK sequence (e.g., that was received as part of ACK/NACK message A220a). The base station212may also use an ACK/NACK source decoding module283to decode or decompress the compressed ACK/NACK sequence to obtain a decompressed ACK/NACK sequence. The base station212may retransmit any code words228that the ACK/NACK sequence indicates were incorrectly received. Thus, the base station212may retransmit any code words228that ACK/NACK message A220aindicates were unsuccessfully received by the wireless communication device202.

The base station212may alternatively or additionally include an ACK/NACK source coding module214and/or an ACK/NACK balancing module216. These modules214,216may function similarly to those204,206described above in connection with the wireless communication device202. However, ACK/NACK message B220bmay be generated based on code words that were successfully (e.g., correctly) or unsuccessfully (e.g., incorrectly) received by the base station212from the wireless communication device202. ACK/NACK message B220bmay be sent using the downlink control channel224. The wireless communication device202may retransmit those unsuccessfully (e.g., incorrectly) received code words (i.e., by the base station212) as indicated by ACK/NACK message B220b.

The wireless communication device202may alternatively or additionally include an ACK/NACK source decoding module279and/or an ACK/NACK balancing decoding module281. These modules279,281may function similarly to those283,285described above in connection with the base station212. However, the ACK/NACK balancing decoding module281and/or the ACK/NACK source decoding module279may be used to interpret or decode a balanced and/or compressed ACK/NACK sequence sent from the base station212(e.g., in ACK/NACK message B220b).

A more specific example of the configuration illustrated inFIG. 2is given hereafter. In the downlink channel(s) specified in 3GPP Release-10 (e.g., LTE-Advanced), five carrier components226(i.e., five communication channels that are separated in the frequency domain) can be used for transmission of data to the wireless communication device (e.g., User Equipment (UE))202. In addition, two separate code words (e.g., code words228a-b,228c-d, etc.) may be transmitted concurrently (at approximately the same time) on each carrier component (e.g., carrier component A226a, carrier component B226b, etc.)226using multiple antenna208,210techniques. Thus, a total of ten code words228may be concurrently transmitted to the wireless communication device (e.g., UE)202.

One ACK/NACK bit is associated with each code word228, which indicates whether the code word228was received correctly or incorrectly. For example, if a code word228is received correctly (i.e., successfully), the value of the corresponding ACK/NACK bit is 1, otherwise it is set to 0. All of the bits corresponding to the ten transmitted code words228create a sequence of ACK/NACK bits, referred to as an uncoded ACK/NACK sequence. As discussed above, the uncoded ACK/NACK sequence may be compressed to generate a lossy-coded ACK/NACK sequence. ACK/NACK source coding204techniques that may reduce the length of the uncoded ACK/NACK sequence are described in greater detail below.

An ACK/NACK sequence may be channel coded prior to transmission. Some examples of channel coding include a repetition code, which can be achieved by simply repeating the ACK/NACK sequence or spreading the ACK/NACK sequence using spreading codes (or sequences) used in Code Division Multiple Access (CDMA) schemes. More complex channel coding schemes such as Reed-Muller codes may be used to channel code the ACK/NACK sequence. The resultant bit stream may be referred to as a channel-coded ACK/NACK sequence. That is, an ACK/NACK sequence may be channel coded to produce an ACK/NACK message220(e.g., ACK/NACK message A220a) for transmission.

The adaptive coding and modulation scheme in LTE and LTE-Advanced are designed such that the code word228error rate may be around 10%. That is, about 10% of the time a code word228is received erroneously and the other 90% of the time the code word is received correctly. As a result, in an ACK/NACK sequence there may be more 1's (i.e., corresponding to correctly received code words228) than 0's. The imbalance in the ACK/NACK sequence degrades the performance of the channel-coded ACK/NACK sequence. Thus, the ACK/NACK balancing module206may be used in order to balance the ACK/NACK sequence (e.g., in terms of number of 0's and 1's). For example, the ACK/NACK balancing module206may use a scrambler sequence, a Gray code and/or a non-linear mapping to balance the ACK/NACK sequence.

FIG. 3is a block diagram illustrating an example of several possible configurations of systems and methods for transmission of acknowledgement and negative acknowledgement in a wireless communication system. In this example, ten code words1428a-jare received by a receiver/decoder module1452. It should be noted that the systems and methods disclosed herein are not limited to ten code words1428a-j, but may utilize any number of code words228. The receiver/decoder module1452and/or a code word loss detection module1450may generate ACK/NACK bits1487a-jbased on whether the code words1428a-jwere received or decoded correctly. In this example, the receiver/decoder module1452and/or a code word loss detection module1450detect that code word A1428aand code word C1428cwere received incorrectly, while the remainder of the code words1428b,1428d-jwere received correctly. The receiver/decoder module1452and/or a code word loss detection module1450generates ACK/NACK A1487aas 0, ACK/NACK C1487cas 0, and the remainder of the ACK/NACK bits1487b,1487d-jas 1's. In this example, the ten ACK/NACK bits1487a-jare combined to form an uncoded ACK/NACK sequence1448of 0101111111. In this case, the uncoded ACK/NACK sequence1448of 0101111111 may be “unbalanced” since it has many more 1's than 0's.

FIG. 3illustrates several paths that may be taken by an ACK/NACK sequence. Two of the several paths illustrated inFIG. 3are given for clarity. On one path, the uncoded ACK/NACK sequence1448may be sent to a transmitter for transmission. On another path, the uncoded ACK/NACK sequence1448may be channel coded using a channel coding module1474and sent using a transmitter.

Several possible configurations of the systems and methods are described as follows. In one configuration, the uncoded ACK/NACK sequence1448(which may also be unbalanced) may be balanced by the balancing module1406. This balanced ACK/NACK sequence1489may be sent to the transmitter to be transmitted with a repetition code. This repetition code may simply be where two or more copies of the balanced ACK/NACK sequence1489are transmitted by occupying different communication device (e.g., wireless communication device102, base station112) resources. Examples of communication device resources include time resources, frequency resources and spatial or antenna resources.

In another configuration, the balanced ACK/NACK sequence1489may be input into a channel coding module1474. The channel coding module1474may channel code an ACK/NACK sequence to produce a channel coded ACK/NACK sequence1491in preparation for transmission. One example of a channel code that may be used is a Reed-Muller code. Because the balanced ACK/NACK sequence1489may be more balanced than the uncoded ACK/NACK sequence1448, the performance of the channel coding may be increased. That is, the channel coding performance may be increased due to a more balanced use of the code in comparison to the case where the uncoded unbalanced ACK/NACK sequence1448is channel coded1474without balancing1406.

In another configuration, the uncoded ACK/NACK sequence1448may be source coded or compressed using an ACK/NACK source coding/compression module1404. The ACK/NACK source coding/compression module104may use the uncoded ACK/NACK sequence1448to produce a compressed ACK/NACK sequence1470. The compressed ACK/NACK sequence1470may be input into the balancing module1406. In this case, a balanced (lossy) compressed ACK/NACK sequence1472may be generated. In some configurations, the ACK/NACK sequence compression1404and balancing1406may be lumped together. The balanced compressed ACK/NACK sequence1472may be sent to the transmitter without channel coding1474. Alternatively, the balanced compressed ACK/NACK sequence1472may be channel coded using the channel coding module1474and sent to a transmitter.

In another configuration, the compressed ACK/NACK sequence1470may be input into the channel coding module1474without balancing. That is, the output of the lossy compression module1404may be encoded by the channel coding module1474and sent to a transmitter.

In another configuration, the compressed ACK/NACK sequence1470is sent to the transmitter. In this case, coding schemes such as repetition coding schemes may be used. In a repetition coding scheme, two or more copies of the same compressed ACK/NACK sequence1470may be transmitted using two or more different communication device resources (e.g., time, frequency or space/antenna). For example, two copies of an ACK/NACK sequence may be transmitted at two different times, on different frequencies or using different spatial channels.

FIG. 4is a flow diagram illustrating one configuration of a method300for transmission of ACK/NACK in a wireless communication system. The communication device may receive302one or more code words. For example, a wireless communication device102may receive302a signal (e.g., containing one or more code words228) from a base station112. The communication device may decode304the signal to produce one or more code words.

The communication device may determine306whether each of the one or more code words228was received successfully. For example, the communication device may utilize an error detection code to determine306which of the one or more code words228was/were successfully and/or unsuccessfully received. For example, a Cyclic Redundancy Check (CRC) may be used to determine306which code words228were correctly or incorrectly received. Other approaches known in the art may be used to determine306correct/incorrect reception of code words228. The communication device may generate308an uncoded ACK/NACK sequence based on whether each of the one or more code words228was received successfully. In one configuration, the communication device generates an ACK/NACK bit corresponding to each code word228. If a code word228was successfully received, its228corresponding ACK/NACK bit is set to 1. Otherwise (if the code word228was unsuccessfully received), its228corresponding ACK/NACK bit is set to 0. The uncoded ACK/NACK sequence may comprise a group of ACK/NACK bits.

The communication device may source code310the uncoded ACK/NACK sequence to produce a compressed ACK/NACK sequence. The source coding310disclosed herein may be a lossy source-coding. Hence, the uncoded ACK/NACK sequence may be source coded310by the communication device to produce a compressed (e.g., lossy source-coded) ACK/NACK sequence. More detail regarding lossy source coding310is given below, particularly in connection withFIGS. 5,6,7,8,9and11. The communication device may balance312the compressed ACK/NACK sequence1470to produce a balanced compressed ACK/NACK sequence1472. Alternatively, the communication device may balance the uncoded ACK/NACK sequence1448to produce a balanced ACK/NACK sequence1489. More detail regarding ACK/NACK balancing312is given below, particularly in connection withFIG. 12.

The communication device may channel code314the ACK/NACK sequence (e.g., uncoded ACK/NACK sequence1448, balanced ACK/NACK sequence1489, compressed ACK/NACK sequence1470or balanced compressed ACK/NACK sequence1472) to produce a channel-coded ACK/NACK sequence1491. The channel-coded ACK/NACK sequence1491may be transmitted316by the communication device. The channel-coded ACK/NACK sequence1491may be received and decoded by another communication device, which may retransmit one or more unsuccessfully received code words228as indicated by the ACK/NACK sequence. As discussed above, the channel coded ACK/NACK sequence1491(e.g., ACK/NACK message220) may be transmitted on a control channel218,224. The method300illustrated inFIG. 4may be repeated for additional received signals and/or code words228.

FIG. 5is a flow diagram illustrating one more specific configuration of a method400for transmission of ACK/NACK in a wireless communication system. The communication device may determine402whether each of a number (e.g., N) of code words228was successfully (e.g., correctly) received. For example, the communication device may use an error detecting code to detect whether each of the code words228was successfully received or not. The communication device may generate404an uncoded ACK/NACK sequence1448based on whether each of the code words228was successfully received. As described above, a group of bits each corresponding to a code word228may indicate which of the code words228was successfully received or unsuccessfully received.

The communication device may determine406a threshold (e.g., K) based on the size of the code words228. Alternatively, the communication device may determine406the threshold based on data received from another communication device. For example, a wireless communication device102may receive one or more code words228and determine406the threshold based on the size of those code words228. Alternatively, the base station112may send data to the wireless communication device102(e.g., a threshold) that the wireless communication device102may use to determine406a threshold.

The communication device may then determine408whether the number of code words228unsuccessfully (e.g., incorrectly) received is greater than the threshold. For example, the communication device may use the uncoded ACK/NACK sequence to determine the number of code words228that were unsuccessfully received and compare it to the threshold.

If the number of unsuccessfully (e.g., incorrectly) received code words228is greater than the threshold, the communication device may generate410a compressed (e.g., lossy-coded) ACK/NACK sequence1470indicating that all of the code words228corresponding to the uncoded ACK/NACK sequence were unsuccessfully received. That is, the compressed ACK/NACK sequence1470may indicate that all of the code words228corresponding to the uncoded ACK/NACK sequence1448may need to be retransmitted.

If the number of unsuccessfully received code words228is not greater than the threshold (i.e., less than or equal to the threshold), the communication device may generate412a compressed (e.g., lossy-coded) ACK/NACK sequence1470indicating each code word228that was successfully received and each code word228that was unsuccessfully received. That is, if the number of unsuccessfully received code words228is less than or equal to the threshold, the compressed ACK/NACK sequence1470will indicate which of the code words228(i.e., corresponding to the uncoded ACK/NACK sequence) were unsuccessfully received and may need to be retransmitted. The method400illustrated inFIG. 4may be repeated for additional received code words228.

One example of the compression or coding technique described in connection toFIG. 5is given hereafter. Assume that ten code words228are transmitted on downlink component carriers226from a base station112to a wireless communication device102. At the receiver (e.g., the wireless communication device102), one ACK/NACK bit1487is generated for each received code word228. The communication device determines402whether each code word228was received correctly. If a code word228is received correctly (i.e., successfully), the value of the corresponding ACK/NACK1487bit is 1, otherwise it is 0 (e.g., for an unsuccessfully received code word). All of the ten ACK/NACK1487bits are combined to create a sequence (e.g., S) of ACK/NACK bits. Hence, an uncoded ACK/NACK sequence1448is generated404.

In other ACK/NACK schemes, the uncoded ACK/NACK sequence1448may be sent back to the transmitter (e.g., the base station112) to inform it about the status of the received code words228at the receiver (e.g., the wireless communication device102). If a code word228was not received correctly, the transmitter (e.g., the base station112) resends the corresponding code word228.

However, the length of the uncoded ACK/NACK sequence (S) is the same as the number of code words228. Instead of sending the uncoded ACK/NACK sequence (S)1448, a compressed ACK/NACK sequence (e.g., S′)1470may be transmitted, having a length smaller than the uncoded ACK/NACK sequence (S)1448. That is, lossy source coding may be applied to the uncoded ACK/NACK sequence (S)1448. For example, instead of sending the uncoded ACK/NACK sequence1448with a length of ten, a shorter ACK/NACK sequence (e.g., with a length of six or seven) may be transmitted. By sending the shorter compressed ACK/NACK sequence (S′)1470, not all of the combinations of bits in the uncoded ACK/NACK sequence (S) can be covered and incomplete information about the status of the code words228may be received (e.g., by the transmitting communication device). This is why the source coding technique disclosed herein may be described as “lossy-coding.” However, by designing a proper length for the compressed ACK/NACK sequence (S′), system overhead may be reduced and higher performance achieved.

In lossy ACK/NACK source coding, a threshold (K) is determined406. More detail on determining406the threshold (K) is given below. For purposes of this example, assume that K=2. Once the threshold (K) is determined406, the communication device determines408if more than K code words were unsuccessfully (e.g., incorrectly) received. If more than K code words228are in error (i.e., their corresponding uncoded ACK/NACK bits are 0) at the receiver (e.g., the wireless communication device102), an ACK/NACK message220is sent back to the transmitter (e.g., the base station112) requesting retransmission of all of the code words228. That is, the ACK/NACK message220may include a compressed ACK/NACK sequence1470indicating that all of the code words228were unsuccessfully received (e.g., as generated410by the communication device).

Using this approach, multiple combinations of ACK/NACK bits in the uncoded ACK/NACK sequence (S)1448may be represented with a single sequence in the compressed ACK/NACK sequence (S′)1470. Thus, the uncoded ACK/NACK sequence (S)1448may be “compressed,” where the compressed ACK/NACK sequence (S′)1470has a shorter length in bits compared to the uncoded ACK/NACK sequence (S)1448. In the example with ten code words where K=2, there is 1 combination of bits in the uncoded ACK/NACK sequence (S)1448indicating that all of the code words228were successfully received (e.g., 1111111111). This is illustrated in Equation (1):

(100)=1(1)
There are also ten combinations of bits in the uncoded ACK/NACK sequence (S)1448indicating that one code word was unsuccessfully received (e.g., 0111111111, 1011111111, 1101111111, 1110111111, 1111011111, 1111101111, 1111110111, 1111111011, 1111111101 and 1111111110). This is illustrated in Equation (2):

(101)=10(2)
Furthermore, there are 45 combinations of bits in the uncoded ACK/NACK sequence (S)1448indicating that two code words228were unsuccessfully received (e.g., 0011111111, 0101111111, 0110111111, etc.). This is illustrated in Equation (3):

(102)=45(3)
According to the lossy-coding or compression herein, there is only one case where there are more than two unsuccessfully (e.g., incorrectly) received code words. Thus, by sending an ACK/NACK message220indicating that all code words228were unsuccessfully received when more than two code words are unsuccessfully received, the number of combinations is reduced from 102=1024 (e.g., assuming 10 bits in the uncoded ACK/NACK sequence S) to (1+10+45+1)=57, which are needed to be represented by the compressed ACK/NACK sequence (S′). In order to represent the 57 cases, the length of the compressed ACK/NACK sequence (S′)1470needs to be Log2(57)=5.8 bits. With the constraint of accepting only an integer number for the length of the compressed ACK/NACK sequence (S′)1470, the length of the compressed ACK/NACK sequence (S′)1470would be six bits in this example.

By using the compressed ACK/NACK sequence (S′)1470when the number of unsuccessfully received code words228is greater than the threshold (K) (e.g., where K=2 in the example), all of the code words228are retransmitted even though some of them may have been successfully received. The retransmission of the successfully received code words228may be considered overhead caused by compressing the uncoded ACK/NACK sequence1448. By sending fewer bits on the uplink (e.g., the uplink control channel218), control information and non-data transmissions (e.g., “overhead”) are reduced. However, additional overhead is added by retransmitting successfully received code words228. Thus, several factors may be used to determine406the threshold (K): the length of code words (i.e., in bits), code word error rate and the amount of overhead reduction (e.g., the difference between the length of the compressed ACK/NACK sequence (S′) and the uncoded ACK/NACK sequence (S)).

The threshold (K) may be determined406by selecting a threshold (K) when the overhead reduction (e.g., the number of bits saved in the transmission of the compressed ACK/NACK1470instead of the uncoded ACK/NACK1448on the uplink control channel218) is greater than or equal to the number of additional overhead bits caused by the retransmission of successfully received code words (e.g., on one or more carrier components226). Thus, the threshold (K) may be determined406based on the size of the code words228. In one configuration, the reduction of overhead (e.g., in the uplink control channel218) may be valued more than the added overhead (e.g., in the downlink carrier components226). In this case, a weighted tradeoff between the overhead reduction (e.g., in the uplink control channel218) and the overhead addition (e.g., in the downlink carrier components226) may be used to determine the threshold.

Determination of a threshold (K) may be implemented in several ways. For example, a threshold (K) may be set and fixed for a desirable amount of compression. In this case, the compression on a control channel218,224may be highly valued and the overhead may be considered “tolerable.” The threshold (K) may also be computed dynamically or semi-dynamically. For dynamic computation, the threshold (K) may be computed repeatedly by a communication device (e.g., wireless communication device102, base station112, etc.). Alternatively, the threshold (K) may be computed semi-dynamically (e.g., by a communication device) where a computed threshold value (K) may be used for a period of time and then updated periodically. As yet another alternative, the threshold (K) may be determined through the use of a look-up table on a communication device (e.g., wireless communication device102, base station112, etc.).

One example of how a threshold (K) may be computed follows. One way for computing the threshold (K) is by considering the tradeoff between the savings in the uplink transmission and the overhead in the downlink transmission. The savings in the uplink is caused by compression (e.g., in ACK/NACK message220size on the uplink control channel218or uplink shared channel222). For instance, ACK/NACK message220size is reduced by sending fewer bits than ten (e.g., 6, 7, 8, etc.). The overhead in the downlink is caused by the retransmission of correctly received (or decoded) code words228on downlink carrier components226. For example, if there are more than K errors (assume K=3), then all code words228are NACKed. For the sake of example, assume that four code words228out of ten transmitted code words228are in error or received incorrectly. By sending NACKs for all code words228, the transmitter retransmits all ten code words228once again, including the six code words that were successfully decoded in the first transmission. This extra transmission of the correctly received code words228is considered downlink overhead. Note that the amount of savings in the uplink and downlink overhead varies with the threshold (K).

The value of the threshold (K) may be determined, for example, when Equation (4) is satisfied.
Savings in Uplink=α−(Downlink Overhead)  (4)
In Equation (4), α is a real number factor between 0 and 1 that can control the importance of load reduction on a control channel218versus overhead addition on the downlink carrier components226. The downlink overhead may be computed for a 10 bit ACK/NACK sequence as illustrated by Equation (5).

Overhead⁢⁢(K)=∑i=K+110⁢Pr⁡(#⁢error=i)·(∑correctly_received⁢_code⁢_words⁢code_word⁢_size)(5)
The number of compressed bits (ANBits) may be computed, for example, as illustrated in Equation (6).

ANBits⁡(K)=[Log2⁡[∑i=0K⁢(10i)+1]](6)
Therefore, the amount of savings by compression may be computed, for example, as illustrated in Equation (7).
Savings(K)=10−ANBits(K)  (7)
Listing (1) illustrates a procedure (in pseudo-code) for determining the threshold (K).

It should be noted that the assumption of a transmission of ten code words228used in the examples herein is based on a scenario in accordance with the 3GPP Release-10 standard (i.e., LTE-Advanced). In this scenario, five carrier components226(e.g., five transmission bands each with up to a 20 megahertz (MHz) bandwidth) are provisioned for a downlink. Furthermore, two code words228are transmitted in each carrier component226using multiple antenna108,110techniques. It should also be noted that the systems and methods disclosed herein are not limited to the numbers presented in this example and may be generalized to an arbitrary number of transmitted code words228.

FIG. 6is a flow diagram illustrating another configuration of a method500for transmission of ACK/NACK in a wireless communication system. The communication device may determine502whether each of a number (N) of code words228was successfully received. The communication device may generate504an uncoded ACK/NACK sequence1448based on which of the number (N) of code words228was/were successfully or unsuccessfully received.

The communication device may partition506the uncoded ACK/NACK sequence1448into a number (P) of partitions. More specifically, compressing or lossy-coding the uncoded ACK/NACK sequence (S)1448may not be limited to compressing or encoding the whole uncoded ACK/NACK sequence (S)1448. The algorithm may be applied to any subset of the uncoded ACK/NACK sequence (S)1448. That is, the uncoded ACK/NACK sequence (S)1448may be partitioned506. Compression or lossy ACK/NACK source coding may be applied to each partition with a different threshold (Kp) assigned to each partition. That is, the communication device may determine508a threshold (Kp) for each of the number (P) of partitions. This determination508may be based on the size of the code words228and/or partitions in a similar fashion to the determination406described above in connection withFIG. 5.

Each partition threshold (Kp) may be determined508based on data local to the communication device or based on data received from another communication device. For example, a communication device may use a locally determined code word228size (e.g., partition size), error rate and/or overhead reduction (e.g., for partitions) to determine508each partition threshold (Kp). Alternatively, the communication device may receive this data or one or more partition thresholds (Kp) from another communication device (e.g., a wireless communication device102may receive it from a base station112). The communication device may determine508its partition thresholds (Kp) based on the received data or partition thresholds (Kp).

The communication device may determine510whether the number of unsuccessfully received code words228is greater than the partition threshold (Kp) for each partition. If the number of unsuccessfully (e.g., incorrectly) received code words228is greater than the partition threshold (Kp) for a particular partition, the communication device may generate512a compressed ACK/NACK sequence (Sp′)1470indicating that all of the code words228were unsuccessfully received (and may need to be retransmitted) for that partition. If the number of unsuccessfully received code words228is not greater than the partition threshold (Kp) for a particular partition, the communication device may generate514a compressed ACK/NACK sequence (Sp′)1470indicating each code word228that was successfully (e.g., correctly) received and each code228word that was unsuccessfully received for that partition. It should also be noted that the method500illustrated inFIG. 6may be repeated for additional received code words228.

FIG. 7is a flow diagram illustrating another configuration of a method600for transmission of ACK/NACK in a wireless communication system. A communication device may determine602whether each of a number (N) code words228was successfully (e.g., correctly) received. The communication device may generate604an uncoded ACK/NACK sequence1448based on which of the code words228was/were successfully or unsuccessfully (e.g., incorrectly) received. The communication device may also determine606a threshold (K) based on the size of the code words228.

The communication device may determine608whether the number of unsuccessfully received code words228is greater than the threshold (K). If the number of unsuccessfully received code words228is greater than the threshold (K), the communication device may generate610a compressed ACK/NACK sequence1470indicating that all of the code words228were unsuccessfully (e.g., incorrectly) received (e.g., requesting a retransmission of all of the code words228corresponding to the uncoded ACK/NACK sequence1448). If the number of unsuccessfully received code words228is not greater than the threshold (K), the communication device may determine612whether the number of unsuccessfully received code words228is equal to the threshold (K). If the number of unsuccessfully received code words228is not equal to the threshold (e.g., it is less than the threshold (K)), the communication device may generate616a compressed ACK/NACK sequence1470indicating each code word228that was successfully received and each code word228that was unsuccessfully received.

If the number of unsuccessfully received code words228is equal to the threshold (K), the communication device may generate614a compressed ACK/NACK sequence1470where multiple cases of a number (e.g., K) of unsuccessfully received code words228are represented with a single ACK/NACK sequence indicating a greater number (e.g., K+J) of unsuccessfully received code words228. This approach is described in greater detail using an example below. It should also be noted that the method600illustrated inFIG. 7may be repeated for additional received code words228.

According to the earlier example discussed in connection withFIG. 5(i.e., with a threshold of two (K=2)), the cases where two code words228were unsuccessfully received

(e.g.,(102)=45)
contributed the largest number of cases. That is, in the above example (e.g., with a threshold of two (K=2)), 45 combinations out of a total 57 combinations were allocated for covering cases in which two code words228were unsuccessfully received.

For a threshold of three (e.g., K=3), the total number of combinations is 177 (e.g., 1+10+45+120+1=177) out of which 120 cases are for 3 unsuccessfully received code words228. In order to add more compression, one or more additional code word228retransmissions may be allowed. For example, consider a case in which four NACKs are reported (e.g., in an uncoded ACK/NACK sequence): S=0000111111. This sequence may represent the following combinations in which three code words228are in error: S1=0001111111, S2=0010111111, S3=0100111111 and S4=1000111111. There is one extra NACK in S=0000111111 compared to each of the cases with three errors shown S1-4. If four combinations (S1-4) are represented by a single sequence (S), then the total number of combinations with three errors can be reduced from 120 cases to 120/4=30 cases. Thus, the total number of combinations may be reduced from 177 cases (e.g., 1+10+45+120+1=177) needing eight bits for representation to 87 cases (e.g., 1+10+45+30+1=87) needing seven bits for representation. In this example, one bit is saved by compressing the uncoded ACK/NACK sequence at the price of one extra retransmission when there are three errors (e.g., with K=3).

Although the example was given for ease in explanation, the systems and methods disclosed herein are not limited to representing three-error sequences with four-error sequences. That is, this approach can be generalized to cases in which sequences with K NACKs are represented by sequences with K+J NACKs (e.g., where the uncoded ACK/NACK sequence has a number of (K+J) “0” bits with the remainder being “1” bits).

FIG. 8is a block diagram illustrating three examples of ACK/NACK source coding or compression. As discussed above, a communication device (e.g., a wireless communication device102, base station112, etc.) may obtain one or more code words228from a received signal. In the first example illustrated inFIG. 8, ten code words730aare obtained. A code word loss detection module732adetermines402which of the ten code words730awere successfully or unsuccessfully received.

In this example, the code word loss detection module732adetects one unsuccessfully received code word734a. The communication device generates404a ten bit uncoded ACK/NACK sequence736a. In this example, the ten bit uncoded ACK/NACK sequence S=1011111111738a. Assume that an ACK/NACK source coding module704ahas determined406a threshold K=2740a. The ACK/NACK source coding module704adetermines408that the number of unsuccessfully received code words228is not greater than the threshold K=2740a(i.e., 1≦2). The ACK/NACK source coding module704athen generates412a six bit compressed ACK/NACK sequence744aindicating that the second code word of the ten code words730awas unsuccessfully received. The six bit compressed ACK/NACK sequence744aalso indicates that the first code word and the third through tenth code words were successfully received. For the ten bit uncoded ACK/NACK sequence S=1011111111738a, one example of a six bit compressed ACK/NACK sequence S′=000010744a. More examples of possible ten bit uncoded ACK/NACK sequences736and corresponding six bit compressed ACK/NACK sequences744are illustrated below in Table (1) (e.g., where K=2).

Ten code words730bare also obtained in the second example illustrated inFIG. 8. In this example, the code word loss detection module732bdetects (e.g., determines402) three unsuccessfully received code words734b. The communication device generates404a ten bit uncoded ACK/NACK sequence736b. In this example, the uncoded ACK/NACK sequence S=0001111111738b. Assume again that the ACK/NACK source coding module704bhas determined406a threshold K=2740b. The ACK/NACK source coding module704bdetermines408that the number of unsuccessfully (e.g., incorrectly) received code words734bis greater than the threshold740b(i.e., 3>2). The ACK/NACK source coding module704bgenerates410a six bit compressed ACK/NACK sequence744bindicating that all of the ten code words730bwere unsuccessfully received. This may also indicate that all ten code words730bneed to be retransmitted. In this second example, the six bit compressed ACK/NACK sequence744bmay be 111111 as illustrated in Table (1) above.

The third example given inFIG. 8also illustrates that ten code words730care obtained by the communication device. The code word loss detection module732cdetermines602that three code words were unsuccessfully received734c. The communication device generates604a ten bit uncoded ACK/NACK sequence736cS=0001111111738c. In this example, the ACK/NACK source coding module704chas determined606a threshold K=3740c. Furthermore, the ACK/NACK source coding module704cuses additional compression, using cases of K+1 unsuccessfully received code words228to represent cases with K unsuccessfully received code words (e.g., K=3)742. The ACK/NACK source coding module704cdetermines612that the number of unsuccessfully received code words is equal to the threshold740c(i.e., 3=3). In this example, the ACK/NACK coding module generates614a seven bit compressed ACK/NACK sequence744cindicating that four specific code words228were unsuccessfully received, which may also indicate that they228need to be retransmitted. For the ten bit uncoded ACK/NACK sequence S=0001111111738c, one example of a seven bit compressed ACK/NACK sequence S′=0111000744c. In this case, S′ may be interpreted as 0000111111, with one extra NACK reported (e.g., the fourth code word228). Additional examples of seven bit compressed ACK/NACK sequences (abbreviated as “Comp. A/N Seq.” for convenience) corresponding to ten bit uncoded ACK/NACK sequences are illustrated in Table (2) below.

FIG. 9is a block diagram illustrating one configuration of a communication device846in which systems and methods for transmission of ACK/NACK in a wireless communication system may be implemented. The communication device846may include one or more antennas854, a receiver/decoder module852, a code word loss detection module850, an ACK/NACK source coding module804, a balancing module806, channel encoder module874and transmitter module893. The receiver/decoder module852may be a hardware and/or software module used to receive and decode signals from another communication device. The receiver/decoder module852may be coupled to one or more antennas854to receive signals. Received signal demodulation and channel decoding are two examples of functions that may be performed by the receiver/decoder module852. Furthermore, threshold information864, correlation information866and balancing information868may be output by the receiver/decoder module. The threshold information864may include one or more code word sizes858, one or more code word error rates860and/or a threshold, for example. In one configuration, threshold information (e.g., one or more thresholds (K), code word sizes858, code word error rates860, etc.) may be determined by the communication device846and explicitly communicated (e.g., between a wireless communication device102and a base station112) using an uplink control channel218(e.g., PUCCH) or uplink shared channel222(e.g., PUSCH). The threshold information864may indicate the threshold (K) and consequently may be used to determine the number of bits representing the compressed ACK/NACK sequence870. Examples of correlation information866include temporal correlation information, spectral correlation information and/or spatial correlation information. The balancing information868may include, for example, information used for scrambling, Gray coding and/or distribution shaping.

The receiver/decoder module852may output one or more code words828to the code word loss detection module850. The communication device846may use the codeword loss detection module850to generate an uncoded ACK/NACK sequence848based on the code words828.

The ACK/NACK source coding module804may be a hardware and/or software module used to generate a compressed ACK/NACK sequence870. The ACK/NACK source coding module804may use the uncoded ACK/NACK sequence848, threshold information864and/or correlation information866. In particular, the ACK/NACK source coding module804may include a threshold determination module856. The threshold determination module856may use the threshold information864to determine a threshold (K). For example, the threshold determination module856may use the code word size858, the error rate860and/or the compression savings862to determine the threshold (K).

More specifically, the code word size858and the error rate860may be used to compute a number of “retransmission” overhead bits from retransmitting successfully (e.g., correctly) received code words for one or more threshold values. This number of retransmission overhead bits may be compared to a number of “compression” overhead bits saved862by reducing the length of the uncoded ACK/NACK sequence848for one or more threshold values. The threshold determination module856may select a threshold value where the number of compression overhead bits saved862is greater than or equal to the number of retransmission overhead bits saved. As mentioned above, the amount of compression overhead bits saved may be optionally weighted in this comparison, since control channel218,224bandwidth may be more valuable than data channel (e.g., carrier component226) bandwidth. In this case, the threshold (K) may be selected when the number of compression overhead bits multiplied by a weighting factor is greater than or equal to the number of retransmission overhead bits. The threshold determination module856may also select a threshold (K) that saves the most bandwidth or weighted bandwidth.

As discussed above, the threshold information864may include a threshold. For example, the communication device846(e.g., a wireless communication device102) may receive one or more thresholds determined by another communication device. The receiver/decoder module852may send the threshold to the ACK/NACK source coding module804. The ACK/NACK source coding module804may use the received threshold to determine a threshold. In one configuration, the threshold determination module856may simply adopt the received threshold as the threshold to be used in compressing the uncoded ACK/NACK sequence848.

The ACK/NACK source coding module804may optionally use correlation information866such as temporal correlation information, spectral correlation information and/or spatial correlation information to further compress the uncoded ACK/NACK sequence848. The optional use of correlation information866is described in greater detail below in connection withFIG. 11.

The ACK/NACK source coding module804may output a compressed ACK/NACK sequence870, which may be used by the balancing module806. Alternatively, the ACK/NACK source coding/compression module804may not be included in the communication device846or bypassed. Thus, an uncoded ACK/NACK sequence848may be input into the balancing module806. The balancing module806may be a hardware and/or software module that uses the uncoded848or compressed870ACK/NACK sequence to generate a balanced889or balanced compressed872ACK/NACK sequence. More specifically, the balancing module806may modify the uncoded848or compressed870ACK/NACK sequence such that the number of 1's is closer to the number of 0's in the resulting ACK/NACK sequence889,872. The balancing module806may generate balancing information such as scrambling information, Gray coding information and/or distribution shaping information. Alternatively or in addition, the balancing module806may use balancing information868(e.g., scrambling information, Gray coding information and/or distribution shaping information) from the receiver/decoder module852in generating the balanced889and/or balanced compressed872ACK/NACK sequence. The balancing module806is described in greater detail below in connection withFIG. 12.

The balancing module806may be optional. For example, the communication device846may optionally input the uncoded848or compressed870ACK/NACK sequence into the channel encoder module874for channel coding. However, ACK/NACK sequences (e.g., uncoded ACK/NACK sequence848or compressed ACK/NACK sequence870) may have an imbalanced distribution of 1's and 0's, possibly causing degraded channel code performance. As a result, balancing the ACK/NACK sequences before channel coding may be beneficial to avoid degraded channel code performance. Thus, the uncoded848, compressed870, balanced889or balanced compressed872ACK/NACK sequence may be input into the channel encoder module874. The channel encoder module874may channel code the ACK/NACK sequence848,870,889,872to produce a channel coded ACK/NACK sequence891. The ACK/NACK sequence848,870,889,872,891may be transmitted by the transmitter module893using one or more antennas854. The ACK/NACK sequence848,870,889,872,891may also be modulated by the communication device846in preparation for transmission.

It should be noted that different code words828may carry different amounts or types of information. In particular, some designated code words828may carry more sensitive information or may be significantly larger (i.e., in number of bits) than others. One example of more sensitive code words is when the code words are carrying delay-sensitive information. When a particular code word828is large or carrying sensitive information, it may be beneficial to assign more priority to the corresponding ACK/NACK bit. Stronger code or unequal error protection may be used for the transmission of those ACK/NACK bits. The stronger code or unequal error protection may be applied in the channel encoder module874. One example of unequal error protection follows. Assume that out of ten code words228, the first code word228and the second code words228are large packets where it would be beneficial to not retransmit them unless they are in error. In this case, the corresponding ACK/NACK bits may be separated from the uncoded ACK/NACK sequence848, with compression being performed on the remainder of the ACK/NACK sequence. Thus, unequal error protection is applied where the two uncompressed ACK/NACK bits1487received higher protection than the compressed ACK/NACK bits.

FIG. 10is a block diagram illustrating several possible configurations of a wireless communication device902and a base station912in which systems and methods for transmission of ACK/NACK in a wireless communication system may be implemented. A wireless communication device902may send and receive information to and from a base station912using one or more antennas908. Additionally, a base station912may send and receive information to and from a wireless communication device902using one or more antennas910. Several types of information may be generated and/or communicated by the wireless communication device902and/or base station912. For example, the wireless communication device902and/or the base station912may generate, receive and/or transmit temporal correlation information976,992, spectral correlation information978,994, spatial correlation information980,996, threshold information982,998, scrambling information984,901, gray coding information986,903and/or distribution shaping information988,905. Temporal correlation information976,992, spectral correlation information978,994, spatial correlation information980,996and/or threshold information982,998may be used by the ACK/NACK source coding module(s)904,914to generate a compressed ACK/NACK sequence870. Additionally, this information976,992,978,994,980,996,982,998may be used by an ACK/NACK source decoding module179,183to interpret, decode or decompress the compressed ACK/NACK sequence870. The scrambling information984,901, Gray coding information986,903, and/or distribution shaping information988,905may be used by the ACK/NACK balancing module(s)990,907to balance an ACK/NACK sequence (e.g., uncoded1448, compressed1470ACK/NACK sequence). Additionally, this information984,901,986,903,988,905may be used by an ACK/NACK balancing decoding module181,185to interpret or decode an ACK/NACK sequence (e.g., balanced1489or balanced compressed1472ACK/NACK sequence).

Depending on the configuration used, one or more of these types of information976,992,978,994,980,996,982,998,984,901,986,903,988,905may be used by the wireless communication device902and/or base station912to compress and/or balance an ACK/NACK sequence. Furthermore, one or more of these types of information976,992,978,994,980,996,982,998,984,901,986,903,988,905may be used to interpret (e.g., decode) an ACK/NACK sequence (e.g., compressed1470, balanced1489and/or balanced compressed1472ACK/NACK sequence).FIG. 10illustrates that each of these types of information976,992,978,994,980,996,982,998,984,901,986,903,988,905may be generated and/or transmitted by either the wireless communication device902, the base station912or both. All of the types of information976,992,978,994,980,996,982,998,984,901,986,903,988,905need not be generated exclusively by either the wireless communication device902or the base station912. Rather, the wireless communication device902and/or the base station912may generate and exchange one or more different types of information976,992,978,994,980,996,982,998,984,901,986,903,988,905with each other.

By way of example and not limitation, one possible configuration is given hereafter. In this example, the wireless communication device902generates threshold information982. For example, the wireless communication device902may determine a code word size858(e.g., based on received code words228or configuration information), a code word228error rate860(e.g., using a code word228loss detection module850) and/or compression savings862(e.g., based on an uncoded ACK/NACK sequence848length and possible compressed ACK/NACK sequence lengths). The wireless communication device902may use this information to determine a threshold value (K), which it902may send to the base station912(e.g., using an uplink control channel218(e.g., PUCCH) or an uplink shared channel222(e.g., PUSCH)) to aid the base station912in decoding the compressed ACK/NACK sequence870. For example, the threshold value (K) included in the threshold information982may be used to determine the number of bits representing the compressed ACK/NACK sequence870. Continuing with the example, the base station912may generate temporal correlation information992, spectral correlation information994, spatial correlation information996, scrambling information901, Gray coding information903and/or distribution shaping information905, which it912may send to the wireless communication device902. The wireless communication device902may use this received information992,994,996,901,903,905to compress and/or balance an ACK/NACK sequence. The wireless communication device902may additionally or alternatively use this received information992,994,996,901,903,905to interpret a compressed1470, balanced1489and/or balanced compressed1472ACK/NACK sequence received from the base station912.

In another example, the base station912may determine the threshold information998(e.g., including a threshold) and consequently the number of bits representing the compressed ACK/NACK sequence870. The base station912may share (e.g., transmit) this threshold information998to the wireless communication device902using explicit signaling. The threshold information998may be sent to the wireless communication device902using a downlink control channel224(e.g., PDCCH).

FIG. 11is a block diagram illustrating more detail on one configuration of an ACK/NACK source coding module1004. The ACK/NACK source coding module1004may receive an uncoded ACK/NACK sequence1048. The uncoded ACK/NACK sequence1048may be optionally partitioned1009as described above in connection withFIG. 6. The uncoded and optionally partitioned ACK/NACK sequence1048may be input into an initial ACK/NACK source coding module1011. The initial ACK/NACK source coding module1011may use a threshold (K)1082to compress (e.g., lossy-code) the uncoded ACK/NACK sequence1048as described above in connection withFIG. 5,6, or7. The output of the initial ACK/NACK source coding module1011may be input into an additional compression module1013. The additional compression module1013may further compress the output of the initial ACK/NACK source coding module1011.

The additional compression module1013may include a temporal correlation module1015, a spectral correlation module1017and/or a spatial correlation module1019. Temporal correlation information1076, spectral correlation information1078and/or spatial correlation information1080may be received by the additional compression module1013.

In general, temporal, spectral and spatial correlation among code words228or communication channels (e.g., carrier components226) may be exploited in order to further compress the ACK/NACK sequence. For instance, if the transmission scheme (e.g., coding and modulation or communication rate) is not changing from one transmission to another and the corresponding channel is not changing, then it may be assumed that the outcome of the two transmissions are correlated as well.

The temporal correlation module1015may use temporal correlation information1076to further compress the ACK/NACK sequence. More specifically, temporal correlation may be used to send an ACK/NACK bit corresponding to changes (e.g., bit transitions) in the status of received code words. For example, if at time t1a received code word228(e.g., packet) is in error, a NACK is generated and/or transmitted. If the received signal (e.g., another code word228) is still erroneous at time t2, nothing is generated and/or transmitted. If the received signal (e.g., yet another code word228) is successfully received at time t3, then an ACK may be generated and/or sent. Thereafter, nothing may be generated and/or sent until another received code word228is in error. Thus, since ACKs/NACKs may only be generated and/or transmitted when there is a change between successful and unsuccessful reception (i.e., and vice-versa), the ACK/NACK sequence may be compressed even further.

The spectral correlation module1017and/or spatial correlation module1019may also be used to further compress the ACK/NACK sequence. For example, a spectral correlation threshold and/or a spatial correlation threshold may be determined. The spectral correlation threshold and/or the spatial correlation threshold may be generated by a communication device (e.g., a wireless communication device102) and/or another communication device (e.g., a base station112). The spectral correlation threshold may be sent and/or received as part of the spectral correlation information1078. The spatial correlation threshold may similarly be sent and/or received as part of the spatial correlation information1080. The spectral correlation threshold and/or the spatial correlation threshold may be explicitly communicated between communication devices (e.g., between a wireless communication devices102and a base station112). If one or more of the spectral or spatial correlations between channels (e.g., carrier components226, spatial channels) corresponding to two or more code words228is greater than the corresponding spectral and/or spatial threshold, only the status (ACK/NACK) of one of the two or more code words228may be reported (e.g., included in the compressed ACK/NACK sequence1070).

FIG. 12is a block diagram illustrating more detail on one configuration of an ACK/NACK balancing module1106. In terms of the numbers of 1's and 0's, ACK/NACK sequences may often be imbalanced as discussed above. This imbalance may degrade the performance of a channel code.

For example, in 3GPP LTE and LTE-Advance, the desired code word228error rate is typically less than 50%. In most cases, the desired code word228error rate is approximately 10%. As a consequence, the ACK/NACK bit corresponding to a received code word228takes the value 1 (e.g., for a successfully received code word228) more often than the value 0. Therefore, in the uncoded ACK/NACK sequence (S)1148there are often more 1's than 0's. In a configuration where a communication device846channel encodes the uncoded ACK/NACK sequence (S)1148, the input into the channel encoder (e.g., transmitter/encoder module874) is often imbalanced. In other words, some realizations of the uncoded ACK/NACK sequence (S) occur more often than others. For example, an uncoded ACK/NACK sequence (S) having all 1's may occur much more often than a sequence having all 0's. That is, for a 10% code word228error rate, an uncoded ACK/NACK sequence (S) having all 1's occurs 0.910≈0.34 or about 34% of the time. In contrast, an uncoded ACK/NACK sequence (S) having all 0's occurs almost never or 0.110=10−10=0.00000001% of the time. As a result, some of the compressed ACK/NACK code words228may be used more often that other code words228.

The performance of a channel code is typically determined more by the performance of those code words228that are used more frequently, instead of the whole code book. In order to prevent this degradation in performance, the ACK/NACK balancing module1106may optionally balance the ACK/NACK sequence. That is, the ACK/NACK balancing module1106may transform the ACK/NACK sequence such that the number of 1's and 0's are roughly equal prior to channel coding. As discussed above, the ACK/NACK balancing module1106may operate on either an uncoded ACK/NACK sequence1148or a compressed ACK/NACK sequence1170. In some cases, balancing may be more beneficial when applied to an uncoded ACK/NACK sequence1148, since compression of an ACK/NACK sequence may reduce the severity of the unbalance. However, balancing may be combined with compression.

The ACK/NACK balancing module1106may use a scrambling module1121, a Gray coding module1129and/or a distribution shaping module1135to balance the ACK/NACK sequence1148,1170, thereby producing a balanced1189or balanced compressed1172ACK/NACK sequence.

The scrambling module1121may modify the ACK/NACK sequence1148,1170as follows. A pseudo-random sequence may be generated by the communication device846or generated by and/or received from another communication device. For example, a wireless communication device102may generate the pseudo-random sequence, may receive the pseudo-random sequence, or may receive parameters used to determine the pseudo random sequence from a base station112. The pseudo-random sequence may be part of the information for scrambling1184. The pseudo-random sequence may be used to scramble the ACK/NACK sequence1148,1170.

In one example, a pseudo-random scrambling sequence is generated by a wireless communication device102(e.g., UE) that is also known to a base station112(e.g., eNB). The ACK/NACK sequence1148,1170may be exclusive or-ed (e.g., xor-ed) bit-by-bit with the scrambling sequence. In this example, a pseudo-random sequence generator (not shown) on the wireless communication device102(e.g., UE) can be initialized by a C-RNTI (Cell-Radio Network Temporary Identifier). This value is known at both the wireless communication device102(e.g., UE) and the base station (e.g., eNB)112. Hence, no extra signaling may be required. However, other values may be used that are not known at either the wireless communication device102or the base station112. In this case, signaling may be required to negotiate the pseudo-random sequence, the seed or initial values for the random or pseudo-random number generator.

As illustrated inFIG. 12, the information regarding the scrambling sequence (which may be specific to a particular communication device) may be static1123, semi-dynamic (or “semi-static,” for example)1125or dynamic1127. For example, a specific scrambler sequence may be static1123as long as the wireless communication device102is registered with the base station112. Or, the scrambler sequence may be updated frequently (e.g., dynamic1127) or less frequently (e.g., semi-dynamic1125). In either case, the scrambling information1184may need to be signaled to the wireless communication device102(e.g., via a PDCCH224).

The Gray coding module1129may additionally or alternatively be used to balance the ACK/NACK sequence1148,1170. For example, a ten bit Gray code may be used for mapping the ACK/NACK sequence1148,1170to a better-distributed sequence. The Gray coding module1129may use an algorithm1131and/or a look-up table1133to balance the ACK/NACK sequence1148,1170. The Gray coding information1186(e.g., configuration and/or parameters) may be negotiated (i.e., generated and/or exchanged) as described above. For example, the Gray coding information1186(e.g., an algorithm1131or look-up table1133) for encoding and decoding may need to be available at both a wireless communication device102and its corresponding base station112. One example of a Gray coding scheme is illustrated in Table (3) below. For convenience, only an example of a short Gray code is given. However, longer Gray coding sequences may be used in connection with the systems and methods disclosed herein. For the systems and methods herein, an ACK/NACK sequence may be indexed. The Gray code value may then be determined through the use of a look-up table.

As illustrated inFIG. 12, a distribution shaping module1135may additionally or alternatively be used by the ACK/NACK balancing module1106to change the distribution of 1's and 0's of the ACK/NACK sequence1148,1170. The distribution shaping module1135may use a non-linear transformation to accomplish the balancing.

The distribution shaping module1135may use an algorithm1137and/or a look-up table1139to perform the distribution shaping. The algorithm1137and/or look-up table1139may be part of the distribution shaping information1188. For example, the distribution shaping information1188may be generated on either a wireless communication device102or its corresponding base station112. The algorithm1137and/or look-up table1139may be needed at both and/or communicated between the wireless communication device102(e.g., UE) and the base station112(e.g., eNB).

More detail on one example of distribution shaping follows. As discussed above, an ACK/NACK sequence1148,1170may include many more 1's than 0's. A non-linear algorithm1137or look-up table1139may be used by the distribution shaping module1135to make the number of 1's and 0's closer to equal. One example of a non-linear function or algorithm is a Bernoulli code. The Bernoulli code may be expressed as Bern(δ) code. The term Bern(δ) may refer to a binary code whose bits are distributed as in a Bernoulli distribution with probability δ. In a Bernoulli distribution with probability δ, the probability that the r-th bit in an ACK/NACK sequence1148,1170is 0 is δ and the probability that the r-th bit in the ACK/NACK sequence1148,1170is 1 is 1−δ. The ACK/NACK sequence1148,1170may be encoded using a Bern(½) code. In a Bern(½) code, the probability that each bit is 0 is equal to the probability that each bit is 1 which is equal to ½. Thus, the Bern(δ) code may be used by the distribution shaping module to make the number of 1's and 0's closer to equal.

As mentioned above, a look-up table1139may also be used by the distribution shaping module. For convenience, Table (4) below gives a short example of a lookup table that might be used by the distribution shaping module1135to shape the distribution of a seven bit ACK/NACK sequence1148,1170into a “more balanced” five bit output. Table (4) also illustrates that compression and balancing may be done in a single mapping. In one example, a ten bit uncoded ACK/NACK sequence illustrated in Table (2) may be mapped directly to a “more balanced” five bit output in Table (4). Larger look-up tables with longer sequences may be used according to the systems and methods disclosed herein.

FIG. 13illustrates various components that may be utilized in a wireless communication device1202. The wireless communication device1202may be utilized as the wireless communication device102inFIG. 1. The wireless communication device1202includes a processor1239that controls operation of the wireless communication device1202. The processor1239may also be referred to as a CPU. Memory1251, which may include both read-only memory (ROM), random access memory (RAM) or any type of device that may store information, provides instructions1241aand data1243ato the processor1239. A portion of the memory1251may also include non-volatile random access memory (NVRAM). Instructions1241band data1243bmay also reside in the processor1239. Instructions1241bloaded into the processor1239may also include instructions1241afrom memory1251that were loaded for execution by the processor1239. The instructions1241bmay be executed by the processor1239to implement the systems and methods disclosed herein.

The wireless communication device1202may also include a housing that contains a transmitter1247and a receiver1249to allow transmission and reception of data. The transmitter1247and receiver1249may be combined into a transceiver1245. One or more antenna1208a-nare attached to the housing and electrically coupled to the transceiver1245.

The various components of the wireless communication device1202are coupled together by a bus system1257which may include a power bus, a control signal bus, and a status signal bus, in addition to a data bus. However, for the sake of clarity, the various buses are illustrated inFIG. 13as the bus system1257. The wireless communication device1202may also include a digital signal processor (DSP)1253for use in processing signals. The wireless communication device1202may also include a communications interface1255that provides user access to the functions of the wireless communication device1202. The wireless communication device1202illustrated inFIG. 13is a functional block diagram rather than a listing of specific components.

FIG. 14illustrates various components that may be utilized in a base station1312. The base station1312may be utilized as the base station112inFIG. 1. The base station1312may include components that are similar to the components discussed above in relation to the wireless communication device1202, including a processor1359, memory1371that provides instructions1361aand data1363ato the processor1359, instructions1361band data1363bthat may reside in the processor1359, a housing that contains a transmitter1367and a receiver1369(which may be combined into a transceiver1365), one or more antennas1310a-nelectrically coupled to the transceiver1365, a bus system1377, a DSP1373for use in processing signals, a communications interface1375, and so forth.

The term “computer-readable medium” or “processor-readable medium” refers to any available medium that can be accessed by a computer or a processor. The term “computer-readable medium,” as used herein, may denote a computer- and/or processor-readable medium that is non-transitory and tangible. By way of example, and not limitation, a computer-readable medium may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Additionally, a processor-readable medium may similarly comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a processor. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray® disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers.

Each of the methods disclosed herein comprises one or more steps or actions for achieving the described method. The method steps and/or actions may be interchanged with one another, combined into a single step or incorporated into other ancillary aspects of the communication system without departing from the scope of the claims. For example, channel decoding at the receiver may subsume source compression Gray decoding, distribution de-shaping and/or descrambling functions. In other words, unless a specific order of steps or actions is required for proper operation of the method that is being described, the order and/or use of specific steps and/or actions may be modified without departing from the scope of the claims.