Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
WIRELESS COMMUNICATION DEVICE AND METHOD FOR STORING SOFT SYMBOLS
Document Type and Number:
WIPO Patent Application WO/2014/070074
Kind Code:
A1
Abstract:
A method in a wireless communication device for storing soft symbols is provided. The wireless communication device processes (201) a received information block to obtain a plurality of soft symbols. The wireless communication device then quantizes (203) different ones of said soft symbols at different resolutions depending on reliabilities of said soft symbols, before storing (205) the quantized soft symbols in a memory.

Inventors:
TULLBERG HUGO (SE)
BALDEMAIR ROBERT (SE)
BALACHANDRAN KUMAR (US)
HUI DENNIS (US)
Application Number:
PCT/SE2013/051223
Publication Date:
May 08, 2014
Filing Date:
October 18, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ERICSSON TELEFON AB L M (SE)
International Classes:
H03M13/00; H04L1/18; H04L25/06
Domestic Patent References:
WO2012012248A12012-01-26
Foreign References:
JP2012085180A2012-04-26
CN102394113A2012-03-28
Other References:
INJAE YOO ET AL.: "SNR-Adaptive Input Quantization for Turbo Decoding", VEHICULAR TECHNOLOGY CONFERENCE (VTC SPRING), 2012 IEEE 75TH, 6 May 2012 (2012-05-06), pages 1 - 5
Attorney, Agent or Firm:
BOU FAICAL, Roger (Patent Unit Kista RAN1, Stockholm, SE)
Download PDF:
Claims:
CLAIMS

A method in a wireless communication device (10) for storing soft symbols, the method comprising:

processing (201) a received information block to obtain a plurality of soft symbols,

quantizing (203) different ones of said soft symbols at different resolutions depending on reliabilities of said soft symbols;

storing (205) the quantized soft symbols in a memory (35).

The method according to claim 1 , wherein quantizing (203) different ones of said soft symbols at different resolutions depending on reliabilities of said soft symbols comprises:

dividing (203a) said soft symbols into two or more blocks, wherein each block out of the two or more blocks comprises a plurality of soft symbols, and

quantizing (203b) the soft symbols in each block out of the two or more blocks, depending on a resolution selected for the respective block out of the two or more blocks to which the soft symbols belong.

The method according to claim 2, wherein quantizing (203b) the soft symbols in each block out of the two or more blocks comprises:

computing, for each respective block out of the two or more blocks, a resolution index indicating a number of bits to be used to represent the soft symbols in the respective block; and

computing, for each soft symbol in the respective block, a bit sequence comprising the number of bits indicated by said resolution index.

The method according to claim 1 , wherein quantizing (203) different ones of said soft symbols at different resolutions comprises:

individually determining (203c) a resolution for each soft symbol; and quantizing (203d) the soft symbols at the respective individually determined resolutions.

5. The method according to claim 4, wherein quantizing (203d) the soft symbols at the individually determined resolutions comprises: computing, for each soft symbol, a resolution index indicating a number of bits used to represent the soft symbol; and

computing, for each soft symbol, a bit sequence comprising the number of bits indicated by said resolution index.

The method according to any of the claims 1-5, further comprising:

permuting (202) the quantized soft symbols, and

wherein storing (205) the quantized soft symbols in the memory (35) comprises storing the permuted quantized soft symbols in the memory (35).

The method according to any of the claims 1-6, further comprising:

compressing (204) the quantized soft symbols prior to storing the quantized soft symbols in the memory (35). 8. A wireless communication device (10) for storing soft symbols, the wireless

communication device (10) comprising:

a soft information processing circuit (25) configured to process a received information block to obtain a plurality of soft symbols,

a quantization processor (30) configured to quantize different ones of said soft symbols at different resolutions depending on reliabilities of said soft symbols; a memory (35), and

wherein the quantization processor (30) is further configured to store the quantized soft symbols in the memory (35). 9. The wireless communication device (10) according to claim 8, wherein the

quantization processor (30) is further configured to quantize different ones of said soft symbols at different resolutions depending on reliabilities of said soft symbols by:

dividing said soft symbols into two or more blocks, wherein each block out of the two or more blocks comprises a plurality of soft symbols, and

quantizing the soft symbols in each block out of the two or more blocks, depending on a resolution selected for the respective block out of the two or more blocks to which the soft symbols belong.

10. The wireless communication device (10) according to claim 9, wherein the quantization processor (30) is further configured to quantize the soft symbols in each block out of the two or more blocks by:

computing, for each respective block out of the two or more blocks, a resolution index indicating a number of bits to be used to represent the soft symbols in the respective block; and

computing, for each soft symbol in the respective block, a bit sequence comprising the number of bits indicated by said resolution index.

1 1. The wireless communication device (10) according to claim 8, wherein the

quantization processor (30) is further configured to quantize different ones of said soft symbols at different resolutions by:

individually determining a resolution for each soft symbol; and

quantizing the soft symbols at the respective individually determined resolutions.

12. The wireless communication device (10) according to claim 1 1 , wherein the

quantization processor (30) is further configured to quantize the soft symbols at the individually determined resolutions by:

computing, for each soft symbol, a resolution index indicating a number of bits used to represent the soft symbol; and

computing, for each soft symbol, a bit sequence comprising the number of bits indicated by said resolution index. 13. The wireless communication device (10) according to any of the claims 8-12,

wherein the quantization processor (30) is further configured to permute the quantized soft symbols, and wherein the memory (35) is further configured to store the permuted quantized soft symbols. 14. The wireless communication device (10) according to any of the claims 8-13,

wherein the quantization processor (30) is further configured to compress the quantized soft symbols prior to storing the quantized soft symbols in the memory (35):

Description:
WIRELESS COMMUNICATION DEVICE AND METHOD FOR STORING SOFT

SYMBOLS

TECHNICAL FIELD

Embodiments herein relate generally to a wireless device and a method therein and more particularly to storing soft symbols.

BACKGROUND

Wireless devices for communication such as terminals are also known as e.g. User Equipments (UE), mobile terminals, wireless terminals and/or mobile stations. Terminals or wireless devices may further be referred to as mobile telephones, cellular telephones, smart phones, laptops, or surf plates with wireless capability, just to mention some further examples. A smart phone is a mobile phone built on a mobile operating system, with highly advanced computing capability and connectivity. The terminals or wireless devices in the present context may be, for example, portable, pocket-storable, hand-held, computer-comprised, or vehicle-mounted mobile devices, enabled to communicate voice and/or data, via the RAN, with another entity, such as another terminal, wireless device or a server.

Terminals or wireless devices are enabled to communicate wirelessly in a cellular communications network or wireless communication system, sometimes also referred to as a cellular radio system or cellular network. The communication may be performed e.g. between two terminals, between a terminal and a regular telephone and/or between a terminal or a wireless device and a server via a Radio Access Network (RAN) and possibly one or more core networks, comprised within the cellular communications network.

The cellular communications network covers a geographical area which is divided into cell areas, wherein each cell area is served by a base station, e.g. a Radio Base Station (RBS), which sometimes may be referred to as e.g. "eNB", "eNodeB", "NodeB", "B node", Base Transceiver Station (BTS), or Access Point (AP), depending on the technology and terminology used. The base stations may be of different classes such as e.g. macro eNodeB, home eNodeB or pico base station, based on transmission power and thereby also cell size. A cell is the geographical area where radio coverage is provided by the base station at a base station site. One base station, situated on the base station site, may serve one or several cells. Further, each base station may support one or several communication technologies. The base stations communicate over the air interface operating on radio frequencies with the terminals or wireless devices within range of the base stations. In the context of this disclosure, the expression Downlink (DL) is used for the transmission path from the base station to the mobile station or wireless device. The expression Uplink (UL) is used for the transmission path in the opposite direction i.e. from the mobile station or wireless device to the base station.

UMTS is a third generation mobile communication system, which evolved from the GSM, and provides improved mobile communication services based on Wideband Code Division Multiple Access (WCDMA) access technology. UMTS Terrestrial Radio Access Network (UTRAN) is essentially a radio access network for terminals using wideband code division multiple access. The 3GPP has undertaken to evolve further the UTRAN and GSM based radio access network technologies.

In 3rd Generation Partnership Project (3GPP) Long Term Evolution (LTE), base stations, also referred to as eNodeBs or even eNBs, may be directly connected to one or more core networks. 3GPP LTE radio access standard has been written in order to support high bitrates and low latency both for uplink and downlink traffic. All data transmission in LTE is controlled by the radio base station.

The explosive rise in popularity of smart phones has exposed a capacity limitation of current cellular networks. The increasing usage of bandwidth-demanding multimedia and social networking applications on mobile devices further exacerbates the problem. To cope with the exponential growth in wireless data traffic, it is anticipated that substantially denser deployment of access nodes will be required in the future. Such a Super-Dense Network (SDN) or Ultra Dense Network (UDN) deployment may be achieved by gradually augmenting the existing base stations with a much denser mix of "smaller" base stations with reduced signal footprints.

Clearly, the feasibility of a very dense deployment of access nodes is predicated on the existence of a backhaul network that can provide high-data-rate transport for each individual access node in the network. From the viewpoint of maximizing capacity, optical-fiber-based backhaul solutions are probably the most desirable ones and are most suitable for new constructions. However, in existing buildings and infrastructure, the cost of installation of new fibers to every access node in a very dense network can be prohibitive. An alternative to the optical backhaul solution is to use the SDN or UDN as a wireless self-backhaul solution, where the access spectrum is reused to provide backhaul transport. SDNs or UDNs are envisioned to operate in a wide range of frequencies with emphasis on the Millimeter-Wave (MMW) band frequencies. A prominent band is the unlicensed 60 GHz band; however, SDN or UDN deployment is not limited to this band. The intra-site distances in an SDN or UDN will be very short - a typical distance could be 10 m - and thus also very short link distances. Hence, a multi-hop backhaul becomes necessary.

In a multi-hop network, high data-rates and low latencies are required at the link level to ensure low end-to-end latencies and high throughput at the Internet Protocol (IP) layer. Some kind of HARQ scheme will be necessary to provide the required link quality, since provision of nearly error-free transmission by conservative link adaptation is not a viable option. High-performance Hybrid Automatic Repeat reQuest (HARQ) schemes require soft memory for storage of received information which is expensive in terms of chip area.

High transmission rates in a multi-hop network require the use of a lower layer retransmission protocol since relying on higher-layer retransmission control will lead to unacceptably high latencies. An example of such lower layer retransmission protocols is HARQ with incremental redundancy as used in Long Term Evolution (LTE) networks. In an incremental redundancy scheme, small amounts of additional data is transmitted as needed instead of retransmitting the entire original information.

One drawback with HARQ as used in LTE is the need of soft-buffer memory. The receiver tries to decode the encoded information and if it fails to do so, the decoded soft symbols are stored in a dedicated memory referred to as a soft buffer. In case of binary processing such as error correcting codes, etc., each soft symbol value will represent a single information bit. The memory must be able to store multiple bits to represent the soft value for each information bit. This memory is therefore very large and expensive, in particular for the very high data rates such as multi-Gbps envisioned for SDN or UDNs.

Low-Density Parity-Check (LDPC) codes are commonly decoded using Belief Propagation (BP) on a bipartite graph representation of the code. A bipartite graph comprises two disjoint sets of vertices or nodes. In LDPC codes the two sets of nodes are referred to as variable nodes, representing the transmitted bits, and check nodes, representing the parity check equations. A binary parity check equation is met when the sum of the binary variable nodes in the equation is even (0 modulo 2). In the bipartite graph, an edge connects a variable node with a check node if the variable corresponding to the variable node is used in the check equation corresponding to the check node. In belief propagation, messages reflecting the current belief about a bit value or check constraint, are passed along edges of the bipartite graph. The messages are updated in the different nodes and passed back and forth in an iterative manner. Variants of BP can be used for theoretical analysis of code properties as well as decoding of transmitted information.

In theoretical derivation of performance bounds etc. infinite precision is used for the messages. When numerical values for e.g., decoding thresholds are determined, the full numerical precision of the computer environment is used. Full precision representation is too expensive in terms of storage requirements to use in high-rate communication applications. When operating at low Signal-to-Noise Ratios (SNRs), a comparably large number of iterations is needed for good error-correcting performance. This can cause unacceptable delay in high-rate applications.

SUMMARY

It is therefore an object of embodiments herein to provide a way of reducing the amounts of bits needed for soft-buffer memory.

According to a first aspect of embodiments herein, the object is achieved by a method in a wireless communication device for storing soft symbols. The wireless communication device processes a received information block to obtain a plurality of soft symbols. The wireless communication device then quantizes different ones of said soft symbols at different resolutions depending on reliabilities of said soft symbols before storing the quantized soft symbols in a memory.

According to a second aspect of embodiments herein, the object is achieved by a wireless communication device for storing soft symbols. The wireless communication device comprises a soft information processing circuit configured to process a received information block to obtain a plurality of soft symbols. The wireless communication device further comprises a quantization processor configured to quantize different ones of said soft symbols at different resolutions depending on reliabilities of said soft symbols. The wireless communication device comprises a memory. The quantization processor is further configured to store the quantized soft symbols in the memory. Since the wireless communication device quantizes different ones of said soft symbols at different resolutions depending on reliabilities of said soft symbols, so that a higher resolution is used for soft symbols for which the higher resolution is needed to correctly decode the encoded information bits and a lower resolution is used for soft symbols for which the lower resolution is sufficient for correctly decoding the encoded information bits, which in turn results in that the amounts of bits needed for soft-buffer memory are reduced.

An advantage with embodiments herein is that the operations in the nodes such as the wireless communication device, are simplified when the number of bits in messages are reduced.

BRIEF DESCRIPTION OF THE DRAWINGS

Examples of embodiments herein are described in more detail with reference to attached drawings in which:

Figure 1 is a schematic block diagram illustrating an exemplary wireless communication device according to embodiments herein.

Figure 2 is a flowchart depicting embodiments of a method in a wireless communication device.

Figure 3 is a schematic block diagram illustrating quantization of soft symbols or soft symbol values corresponding to information bits in an information block according to embodiments herein where a resolution is assigned individually to the soft symbol values.

Figure 4 is a schematic block diagram illustrating quantization of soft symbols or soft symbol values corresponding to information bits in an information block according to embodiments herein where a resolution is assigned to blocks of soft symbols or soft symbol values. Figure 5 is a schematic block diagram illustrating permutation of quantized soft symbol values.

DETAILED DESCRIPTION

As stated above, full precision representation requires an amount of storage that cannot be afforded for high-rate communication applications, and the delay caused by a large number of iterations needed for good error-correcting performance at low SNR condition is unacceptable for high rate applications.

Two major ways of simplification are reduction of processing time and storage requirements.

Several authors have investigated how finite-precision representation of the messages affects the performance of decoding or analysis. See, e.g., J. Chen, A.

Dholakia, E. Eleftheriou, M. P. C. Fossorier, and X.-Y. Hu, "Reduced-Complexity

Decoding of LDPC Codes," IEEE Trans. Commun., vol. 53, no. 8, pp. 1288-1299, Aug. 2005, hereinafter "Chen"; D. Declercq and F. Verdier, "Optimization of LDPC Finite Precision Belief Propagation Decoding with Discrete density Evolution," Proc. Int. Symp. on Turbo-Codes, pp. 479-482, Brest, France, Sept. 2003, hereinafter "Declercq"; Z. Zhang, L. Dolecek, M. Wainwright, V. Anantharam, and B. Nikolic, "Quantization Effects in Low-Density Parity-Check Decoders," Proc. IEEE Int. Conf. Commun. (ICC), pp. 6231- 6237, Glasgow, UK, Jun. 2007, hereinafter "Zhang". The messages are represented by 6 - 10 bit (Declercq) and 4 - 8 bits (Chen). The general conclusion is that for a sufficient number of bits and a properly designed quantization, the performance loss compared to the full-precision BP is acceptable. In Chen, the bits are divided into a number n t bits for representing the integer part of a message and n f bits for representing the fractional part of the message. The authors conclude that n f affects the convergence threshold, and n t affects the residual error floor. An error floor is a phenomenon encountered in iterated sparse graph-based error correcting codes like LDPC codes. When the Bit Error Ratio (BER) is plotted for conventional codes like Reed-Solomon codes under algebraic decoding or for convolutional codes under Viterbi decoding, the BER steadily decreases in the form of a curve as the SNR condition becomes better. For LDPC codes there is a point after which the curve does not fall as quickly as before, in other words, there is a region in which performance flattens. This region is called the error floor region. In a basic implementation of a BP decoder, an iteration comprises updating all variable nodes, passing the messages to the check nodes, updating the check nodes and then passing messages back to the variable nodes. The decoding time can be reduced by "shuffling" the BP decoder as disclosed in Y. Wang, J. Zhang, M. P. C. Fossorier, and J. S. Yedidia, "Reduced Latency Iterative Decoding of LDPC Codes," Proc. IEEE Global Telecom. Conf. (Globecom), pp. 1 199-1204, St. Louis, MO, USA, Nov. - Dec. 2005, hereinafter "Wang". In the "shuffled BP decoder", the order in which the nodes are updated are shuffled to provide faster convergence.

In E. Zimmerman, G. Fettweis, P. Pattisapu, and P. K. Bora, "Reduced Complexity LDPC Decoding using Forced Convergence," Proc. 7 th Int. Symp. Wreless Personal Multimedia (WPMC), Albano Terme, Italy, Sept. 2004, hereinafter "Zimmerman", the decoding complexity of an LDPC decoder is reduced by realizing that a large number of variable nodes converge to a strong belief after very few decoding iterations. As the belief value of a particular node exceeds a threshold t, the node is no longer updated. This saves time, in particular in a serial LDPC decoder architecture as disclosed in A. Blad, "Low Complexity Techniques for Low Density Parity Check Code Decoders and Parallel Sigma-Delta ADC Structures," PhD dissertation no 1385, Linkoping University, Linkoping Sweden, 201 1 , pp. 26, hereinafter "Blad", since some variable nodes no longer have to be updated. A similar approach is taken in Blad, where the decoder makes early decisions to hard bits.

In LDPC decoding, the values of the variable nodes correspond to the current belief of the value of the received soft symbol values. The term soft memory refers to the memory that is used to store the belief values.

In a system deploying HARQ, information related to a message is retransmitted if the receiver has not been able to decode the message. To capitalize both on the information of earlier transmissions as well as on the information contained in the current transmission the belief values of nodes obtained from previous transmissions and obtained from the current transmission are added together, i.e. combined. The original transmission and the retransmission(s) corresponding to the bit are added to get a more reliable value.

Chen, Declercq and Zhang uses fixed finite precision. The use of fixed resolution for all soft symbols or soft symbol values in a code-word leads to unnecessary high resolution for some soft symbol values and possibly too low for others. The use of fixed resolution also does not utilize the potential savings in storage space that comes from early decision on parts of the code-word. Wang and Zimmermann propose early termination of the processing but does not exploit the dynamic properties. Blad is given as a reference of the serial architecture.

In contrast to the teachings of Chen, Declercq, Zhang, Wang, Zimmerman and Blad the inventors have realized that the dynamic properties of the processing, can be explored in that the number of bits for representing soft symbols may be reduced as reliability increases. This allows for memory and processing reduction according to embodiments herein.

In this document the terms soft symbols, soft values, soft symbol values are used interchangeably.

Embodiments herein provides memory and processing reduction e.g. by reducing the amount of storage required to implement the soft memory. Exemplary embodiments herein are described below in the context of soft decoding of LDPC codes, but is also applicable to the decoding of other codes and general iterative signal processing as well.

Exemplary embodiments herein reduce the number of bits required for representing received information for combining, decoding and other information processing based on soft values. Soft symbols represent reliability information. E.g., in a binary case where either a 0 or 1 is transmitted, the soft symbol value at the receiver would give a measure of how reliable it is that the received value is a 0 or 1 respectively. In a digital computer multiple bits are required to represent this soft value. This reduction is achieved e.g. by using different numbers of bits to represent different parts of the information being processed. According to embodiments herein soft symbols with high reliability are stored with lower resolution than soft symbols with lower reliability. The resolution may be changed dynamically based on the progress of the information processing, but it may also be static, e.g., if the resolution depends on system properties.

Embodiments herein comprise methods and apparatus to reduce the size of the soft memory needed to store information by e.g.

(i) storing different parts of the information using different resolution in the soft memory

(ii) determining the appropriate resolution for different information,

(iii) grouping the information into blocks to further reduce the required storage, (iv) determining the appropriate size of the blocks, (iv) permuting the information to increase the fidelity.

Powerful error-correcting coding or combining systems are operating close to theoretical limits and require high-resolution representation of the received soft symbol values. High-resolution representation requires a soft memory with many bits per soft symbol value, which is costly in terms of silicon area. The embodiments herein are applicable to many forms of soft processing, but the following describes embodiments taking LDPC decoding as an example.

Consider a received information block comprising N soft symbol values. The soft symbols may represent single information bits in case of binary signaling, but in the following we use the term soft symbol values or soft symbols to avoid confusion with the bits required for storage. If each soft symbol value is stored in a soft-buffer memory using n bits per received soft symbol value, the resulting total memory usage is N*n bits.

Embodiments herein reduce the amounts of bits needed for soft-buffer memory.

Figure 1 illustrates a wireless communication device 10 according to

embodiments herein. The wireless communication device 10 may, for example, comprise a user terminal or base station in a wireless communication network. The wireless communication device 10 comprises a transceiver circuit 15, and an information processing circuit 20. The transceiver circuit 15 includes a transmitter and receiver for communicating over a wireless communication channel with other wireless

communication devices. The information processing circuit 20 processes information transmitted and received by the wireless communication device 10. For example, the information processing circuit 20 may perform soft decoding of a received information block to obtain soft symbol values. In some circumstances, these soft symbols or soft symbol values may need to be stored.

The main functional components of the information processing circuit 20 according to one exemplary embodiment comprise a soft information processor 25, a

quantization processor 30, and memory 35. The soft information processor 25 performs processing functions, such as soft decoding, to produce soft symbols or soft symbol values that need to be stored. The quantization processor 30 quantizes the soft symbols or soft symbol values as hereinafter described for storage in memory 35.

Memory 35 stores the quantized soft symbol values. It should be appreciated that, while the information processing circuit 20 is described herein in the context of a wireless communication device 10, the information processing circuit 20 is also applicable to other devices that generate soft symbol values.

Embodiments of a method will first be described in a general way. The method will then be described more in detail. Example embodiments of a method in the wireless communication device 10 for storing soft symbols, will now be described with reference to a flowchart depicted in Figure 2.

The method, performed by the wireless communication device 10, comprises the following actions, which actions may be taken in any suitable order. Dashed lines of some boxes in Figure 2 indicate that this action is not mandatory.

Action 201

The wireless device 10 processes a received information block to obtain a plurality of soft symbols. This may be performed by soft decoding the received information block. This may be performed by a receiver in the wireless device 10 receiving a block of symbols which are demodulated into soft symbols. Depending on the modulation, a channel symbol may carry one or more information bits, and for each information bit a soft value is computed

Action 202

This is an optional action. In some embodiments, the wireless device 10 permutes the quantized soft symbols. By permuting the symbols, they can be grouped such that the quantization error is reduced, or equivalently, the fidelity is increased.

Action 203

The wireless device 10 quantizes different ones of said soft symbols at different resolutions depending on reliabilities of said soft symbols. This means that the soft symbol which may take on an infinite number of real values is represented by a finite number of values selected in a way that some fidelity criterion is maximized. The individual soft symbols may be treated separately or as grouped into blocks. In each case, the resolution index may be determined which resolution index tells how many bits that are needed to represent individual soft symbols or block of soft symbols.

Action 203a In some embodiments, the quantizing of different ones of said soft symbols at different resolutions depending on reliabilities of said soft symbols comprises dividing said soft symbols into two or more blocks, wherein each block out of the two or more blocks comprises a plurality of soft symbols.

Action 203b

In the embodiments mentioned in Action 203a, the quantizing of different ones of said soft symbols at different resolutions depending on reliabilities of said soft symbols may further comprise quantizing the soft symbols in each block out of the two or more blocks, depending on a resolution selected for the respective block out of the two or more blocks to which the soft symbols belong.

In some embodiments, the quantizing the soft symbols in each block out of the two or more blocks in this Action 203b may comprise

computing, for each respective block out of the two or more blocks, a resolution index indicating a number of bits to be used to represent the soft symbols in the respective block; and

computing, for each soft symbol in the respective block, a bit sequence comprising the number of bits indicated by said resolution index.

Resolution index refers to a number telling which resolution level that is used for a particular block. If there is, e.g., 5 different resolutions, then the resolution index would point out which resolution that will be used for a particular block. The index may be, but is not necessarily, the number of bits, e.g., if the number of bits used in the different resolutions are 1 ,2,3,4,5 then the resolution index would be the same as the number of bits. However, the number of bits used in the resolutions may be 1 ,2,4,8, 10 in which resolution index 1 corresponds to one bit and resolution index 4 corresponds to 8 bits. In practice a power of 2 number of resolution levels would be used since otherwise the resolution index itself would waste storage space. E.g. with 2 bits it may be four different values for the resolution index. The embodiments according to Action 203a and 203b will be explained more in detail below, wherein the letter "j" refers to the resolution index.

The advantage of the embodiments according to Action 203a and 203b is that the same number of bits does not have to be used to represent each soft symbol value. This means that the number of bits used for reliable soft symbols can be reduced. In the embodiments of Action 203c and d below, a resolution index per soft symbol is required whereas in the embodiments of 203a and b the soft symbols are grouped into blocks. In these embodiments only a resolution index per block is required. Each soft symbol in the respective block still needs separate bits to represent the soft symbol. Action 203c

Action 203c and 203d may be performed as an alternative to the embodiments according to Action 203a and 203b. Thus the wireless device 10 may quantize the different ones of said soft symbols at different resolutions by individually determining a resolution for each soft symbol.

Action 203d

In the embodiments mentioned in Action 203c, the wireless device 10 may further quantize the soft symbols at the respective individually determined resolutions.

In some embodiments, the quantizing the soft symbols at the individually

determined resolutions comprises:

computing, for each soft symbol, a resolution index indicating a number of bits used to represent the soft symbol; and

computing, for each soft symbol, a bit sequence comprising the number of bits indicated by said resolution index.

Action 204

In some embodiments, the wireless device 10 compresses the quantized soft symbols prior to storing the quantized soft symbols in the memory 35, which storing is performed in Action 205. This is performed to allow a fixed e.g. uniform, quantizer with fewer bits of representation or a smaller number of quantizers to be used across the set of belief values for soft symbols. This Action will be further described below.

Action 205

The wireless device 10 stores the quantized soft symbols in a memory 35.

In the embodiments wherein the wireless device 10 has permuted in the quantized soft symbols, Action 202, the storing of the quantized soft symbols in the memory 35 may comprise storing the permuted quantized soft symbols in the memory 35.

By permuting the soft symbols, the soft symbols may be grouped such that any quantization error is reduced, or equivalently, the fidelity is increased.

The method described in a general way above will now be described more in detail. The description below may refer to any embodiment above. In embodiments herein, soft symbols, also referred to as "soft values" or "soft symbol values" herein are stored using multiple levels of resolution, e.g. denoted rii..n k , where ni<ri j <n k . Let a-i..a k , denote the fraction of the soft symbols or soft symbol values k

represented by the corresponding resolution so that α } = 1. If the resolution of each

7=1

soft symbol value is determined independently, then N*ceil(log 2 (k)) bits will be used to k

indicate the resolution and N * a j n j bits will be used to store the soft information, i.e.

7=1 the quantized soft symbols, yielding a total number of TV * Γ § 2 + bits.

Ceil(x) is a mathematical function that means rounding to the integer larger or equal to the argument x, e.g., ceil (4.01) = 5, ceil(4.99) = 5, ceil (5) = 5. If an entropy code, such as e.g. the Huffman code or the arithmetic code, is used to indicate the resolution, the different resolutions indices may be represented by different number of bits. The total number of bits may be reduced to N* Known algorithms

exist to design an entropy code for any given set of fractions {<¾, a 2 , · · ·, ¾} . This relates to Action 203 above.

In some exemplary embodiments, the resolution of each soft symbol value is determined individually based on the reliability of the soft symbol value as shown in

Figure 3. Figure 3 shows an example of individual assignment of resolution. This relates to embodiments described above in Action 203c and 203d above. The soft symbol value may be assigned a resolution level based on its reliability. Soft symbols or soft symbol values with high reliability may be represented with lower resolution than soft symbols or soft symbol values with low reliability. In this example, the intention is to quantize all soft symbols but the resolution is lower for reliable values and higher for unreliable values. For each resolution j, also referred to as the resolution index, a quantization Q with at most 2"' appropriately selected values is determined to represent the continuous values. Let μ ] be a distortion metric that represents the distortion if a continuous value is

represented by « bits. For each resolution j, a distortion metric μ is selected to provide a desired level of fidelity. The distortion metric μ is used to determine the number of bits for resolution j. For example, when the distortion metric μ is the mean squared error, the number of bits n j for resolution j is related to distortion μ by n, log 2 ^ - log 2 (12ii y ) , which may then be used to determine « for a given distortion metric μ ] , where A denotes the dynamic range of those soft symbols or soft

5 symbol values assigned to resolution j. If a variable number of bits is allowed at the output of the quantizer Q , an entropy code may again be used to reduce the averaged rij to be approximately h(s ^ - ^.0^(12 μ } ) , where h(Sj ) is the differential entropy of the soft symbol value s . to be quantized by Q .

10

In some other embodiments, the resolution of the soft symbols or soft symbol values is assigned in blockwise fashion as shown in Figure 4. This relates to embodiments described above in Action 203a and 203b above. Figure 4 shows block-wise assignment of resolution. The N soft symbols or soft symbol values are grouped into B blocks to 15 reduce the number of bits required to describe the resolution. The block sizes may be unequal or equal if B divides N. Even if B divides N the block sizes may be unequal. In this embodiment a ] is the fraction of soft symbols or soft symbol values belonging to a block represented by « bits. Now S*ceil(log 2 (k)) bits are used to represent the resolution k k k for a total memory usage of 5| ~ log 2 k ] + Ν α } η } bits or B^ j a ] | ~ -log 2 a } ~ | + N a j n j if

7=1 7=1 7=1

20 entropy coding is used. The size of the block may be determined as to minimize some appropriate distortion metric.

In an embodiment of non-uniform quantization, very low belief values for soft symbol values or very high belief values may be compressed nonlinearly, this relates to Action 25 204 above. The quantizers may be linear or nonlinear, in the case of non-linear quantizers the compression takes place in the quantization process allowing a fixed (uniform) quantizer with fewer bits of representation or a smaller number of quantizers to be used across the set of belief values for soft symbol values. The compression determines which analogue value the different bit sequences correspond to. The compression may be performed in many ways to reduce the quantization error, below some examples are given of compression functions.

In this representation, very low likelihoods would be penalized more, while very high likelihoods may be treated in a more optimistic manner. A more linear characteristic may be used for the mid-range. This is achieved by first passing the soft symbols or soft symbol values into a a non-linear function such as e.g. a non-linear compression function C(x) which maps the soft symbol values into a number between 0 and 1 , and then quantizing the function output into bits by a uniform quantizer on the interval [0,1]. During a recombination phase when the retransmission attempt reaches the receiver, such as the receiver circuit 15, the quantized values are uncompressed i.e. expanded, prior to updating by first mapping the bits to a number in the interval [0, 1] and then applying an inverse expanding function C "1 (y) on the number to obtain the quantized soft symbol values. The process of compression and expansion is known as companding and is known from telephony. In general, the compression function C(x) may be expressed as where λ(ζ) is a non-negative function, satisfying (z)dz = 1 , that specifies how the distortion level on different ranges of soft symbol value should be penalized. For example, when the distortion metric is the mean-squared error, a nearly optimal choice of λ(ζ) in minimizing the distortion metric is

where p(z) denotes the probability density function of the soft symbol values.

For embodiments relating to soft symbol values grouped into blocks, the selection of the resolution of the representation of the values in the block will be a function of the values in the block and possibly also of the block size. One way to select the

representation is to take the maximum or minimum number of bits needed for any of the soft symbols or soft symbol values in the block. Another way is to use an average over the individual representations in the block. Yet another way is to use a weighted average where the weighting is with respect to the deviation from a fidelity threshold. A fidelity threshold is the maximum allowable deviation from the desired fidelity, i.e. the maximum allowable error. The deviation may be considered in both directions, either too bad or too good representation, otherwise the maximum number of bits may be selected in all cases.

The resolution of the representation of a soft symbol value or a block of soft symbol values may also depend on system properties, including but not limited to, the degree of a particular node in an LDPC code, the importance of the information, e.g. signalling bits, Most Significant Bit (MSB) vs. Least Significant bit (LSB), important vs. not so important soft symbol values taking application into account, e.g. in an MPEG video, l-frame bits are more important than B-frame bits, l-frames and B-frames are two different frame types, image types, in the MPEG video compression algorithm, l-frames comprises more information and cannot be compressed to the same extent as B-frames. The loss of an I- frame causes more distortion to the decompressed video than the loss of an B-frame.

In some embodiments, the quantized soft symbols or soft symbol values may be permuted for storage in memory 35, this relates to Action 202 above. The soft symbol values may be permuted over block boundaries to reduce distortion in the different blocks and/or further reduce the number of bits used for storage. Any kind of permutation can be used though permutations that allow compact descriptions would be preferable from a memory usage perspective. Examples of possible permutations comprise the identity permutation, that is no permutation, linear congruential permutations which allow compact representations, permutations involving neighboring blocks, e.g. even-to-even or odd-to- odd index permutation between neighboring blocks.

Figure 5 illustrates various methods of permutation. The first block 510 in Figure 5 uses the identity permutation. The third and fourth blocks 520 in Figure 5 exchange odd bits. The sixth and seventh blocks 530 in Figure 5 exchange the three leftmost bits. Other permutations may also be used.

The idea behind the permutation of the symbols is to increase the fidelity or in other words to reduce the quantization errors. As an example, assume that 10 symbols

ABABABABAB are received, where symbols A is quantized with 4 bits and symbols B with one bit resolution. The original sequence may not be grouped into any block larger than one symbol. They cannot be grouped into any block larger than one symbol without getting representation errors, either unnecessary many representation bits will be used, or too few. If they are grouped into blocks of 5 symbols, either 4 bits for all symbols in each block must be used, or if one bit is used, large quantization errors will be a consequence. If the received sequence is permuted into AAAAABBBBB, the symbols may be grouped into two blocks of five symbols and respective 4 and 1 bit resolution may be used resulting in no quantisation error. The permutation takes place before the values are quantized.

The embodiments herein described reduce the size of the memory needed to store soft values. Further, the embodiments herein support early-decision decoding and processing potentially leading to lower latencies.

To perform the method actions for storing soft symbols in relation to Figure 2, the communication device 10 comprises the following arrangement, referring again to Figure 1.

The wireless communication device 10 comprises the soft information processing circuit 25 configured to process a received information block to obtain a plurality of soft symbols. This may be performed by soft decoding the received information block.

The wireless communication device 10 further comprises the quantization processor 30 configured to quantize different ones of said soft symbols at different resolutions depending on reliabilities of said soft symbols.

In some embodiments, the quantization processor 30 may further be configured to quantize different ones of said soft symbols at different resolutions depending on reliabilities of said soft symbols by dividing said soft symbols into two or more blocks, wherein each block out of the two or more blocks comprises a plurality of soft symbols, and quantizing the soft symbols in each block out of the two or more blocks, depending on a resolution selected for the respective block out of the two or more blocks to which the soft symbols belong. In these embodiments, the quantization processor 30 may further be configured to quantize the soft symbols in each block out of the two or more blocks by computing, for each respective block out of the two or more blocks, a resolution index indicating a number of bits to be used to represent the soft symbols in the respective block; and computing, for each soft symbol in the respective block, a bit sequence comprising the number of bits indicated by said resolution index.

In some other embodiments, the quantization processor 30 may further be configured to quantize different ones of said soft symbols at different resolutions by individually determining a resolution for each soft symbol; and quantizing the soft symbols at the respective individually determined resolutions. In these embodiments the quantization processor 30 may further be configured to quantize the soft symbols at the individually determined resolutions by computing, for each soft symbol, a resolution index indicating a number of bits used to represent the soft symbol; and computing, for each soft symbol, a bit sequence comprising the number of bits indicated by said resolution index.

The quantization processor 30 may further be configured to permute the quantized soft symbols.

As mentioned above, the wireless communication device 10 further comprises the memory 35. The quantization processor 30 is further configured to store the quantized soft symbols in the memory 35.

The quantization processor 30 may further be configured to compress the quantized soft symbols prior to storing the quantized soft symbols in the memory 35.

In the embodiments wherein the processor 30 is configured to permute the quantized soft symbols, the memory 35 may further be configured to store the permuted quantized soft symbols.

The embodiments herein handling the process of storing soft symbols may be implemented through one or more processors, such as the soft information processor 25, a and the quantization processor 30 in the wireless communication device 10 depicted in Figure 1 , together with computer program code for performing the functions and actions of the embodiments herein. The program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing the embodiments herein when being loaded into the wireless communication device 10. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code may furthermore be provided as pure program code on a server and downloaded to the wireless communication device 10. Furthermore the memory 35 of the wireless communication device 10 may comprise one or more memory units. The memory 35 is arranged to be used to store, data, configurations, schedulings, and applications used to perform the methods herein when the program code is executed by the one or more processors in the wireless communication device 10. According to discussions above, methods and apparatus are provided to reduce the number of bits required for representing received information for combining, decoding and other information processing based on soft values. This reduction is achieved by using different numbers of bits for different parts of the information being processed. In one embodiment, the resolution of information symbols in an information block is determined based on the reliability of the information symbols or a corresponding symbol block. Information corresponding to symbols with high reliability is stored with lower resolution than bits/symbols with lower reliability. The resolution can be changed dynamically based on the progress of the information processing but it can also be static, e.g., if the resolution depends on system properties.

When using the word "comprise" or "comprising" it shall be interpreted as non- limiting, i.e. meaning "consist at least of".

The embodiments herein are not limited to the above described preferred embodiments. Various alternatives, modifications and equivalents may be used.

Therefore, the above embodiments should not be taken as limiting the scope of the invention, which is defined by the appended claims.