SYSTEM, METHOD, AND COMPUTERREADABLE MEDIUM FOR MULTILEVEL SHAPING FOR WIRELESS COMMUNICATION SYSTEMS

0Associated
Cases 
0Associated
Defendants 
0Accused
Products 
23Forward
Citations 
0
Petitions 
4
Assignments
First Claim
1. A method for encoding and decoding digital information, the method comprising the steps of:
 partitioning a vector over an alphabet into subsets according to type, wherein a plurality of types each respectively specify symbol counts of the alphabet for the respective type;
determining a type of a signal set based on results of the partitioning; and
lexicographically mapping an integer onto a vector of a given type.
4 Assignments
0 Petitions
Accused Products
Abstract
A system, method and computerreadable medium for encoding and decoding digital information over a channel is provided. Type Mapping is employed and is based on the partitioning of vectors over an alphabet into “types” and using enumeration for the encoding and decoding process. Type mapping allows for signal alphabets of arbitrary size and date rate flexible coding. Tradeoffs between optimal rate versus Signal to Noise Ratio are provided and works as a compliment to the Forward Error Control that may be employed in communications products.
27 Citations
View as Search Results
Power Efficient Data Transmission  
Patent #
US 20110003609A1
Filed 12/09/2009

Current Assignee
Telefonaktiebolaget LM Ericsson

Sponsoring Entity
Telefonaktiebolaget LM Ericsson

System and method for communicating data using constant radius orthogonal walsh modulation  
Patent #
US 8,059,693 B2
Filed 07/18/2008

Current Assignee
Harris Global Communications Inc.

Sponsoring Entity
Harris Corporation

SYSTEM AND METHOD FOR COMMUNICATING DATA USING CONSTANT ENVELOPE ORTHOGONAL WALSH MODULATION WITH CHANNELIZATION  
Patent #
US 20100014559A1
Filed 07/18/2008

Current Assignee
Harris Global Communications Inc.

Sponsoring Entity
Harris Corporation

SYSTEM AND METHOD FOR COMMUNICATING DATA USING CONSTANT RADIUS ORTHOGONAL WALSH MODULATION  
Patent #
US 20100014558A1
Filed 07/18/2008

Current Assignee
Harris Global Communications Inc.

Sponsoring Entity
Harris Corporation

System and method for communicating data using constant envelope orthogonal Walsh modulation with channelization  
Patent #
US 8,098,708 B2
Filed 07/18/2008

Current Assignee
Harris Global Communications Inc.

Sponsoring Entity
Harris Corporation

System and Method Including Modified BitInterleaved Coded Modulation  
Patent #
US 20130216221A1
Filed 08/08/2012

Current Assignee
SubCom LLC

Sponsoring Entity
Tyco Electronics Subsea Communications LLC

METHOD OF TRANSMITTING REFERENCE SIGNALS IN A WIRELESS COMMUNICATION HAVING MULTIPLE ANTENNAS  
Patent #
US 20130230123A1
Filed 04/05/2013

Current Assignee
LG Electronics Inc.

Sponsoring Entity
LG Electronics Inc.

Multilevel amplitude modulation device, multilevel amplitude demodulation device, transmission system including these, multilevel amplitude modulation method, and multilevel amplitude demodulation method  
Patent #
US 8,976,890 B2
Filed 05/13/2013

Current Assignee
Panasonic Intellectual Property Management Co. Ltd.

Sponsoring Entity
Panasonic Intellectual Property Management Co. Ltd.

Combined turbo decoding and turbo equalization techniques  
Patent #
US 9,191,246 B2
Filed 03/06/2014

Current Assignee
Jonathan Kanter

Sponsoring Entity
Jonathan Kanter

Turbo decoding techniques  
Patent #
US 9,319,250 B2
Filed 03/06/2014

Current Assignee
Jonathan Kanter

Sponsoring Entity
Jonathan Kanter

Coded modulation for small stepsize variable spectral efficiency  
Patent #
US 9,337,935 B2
Filed 12/11/2013

Current Assignee
SubCom LLC

Sponsoring Entity
Tyco Electronics Subsea Communications LLC

Method of transmitting reference signals in a wireless communication having multiple antennas  
Patent #
US 9,385,906 B2
Filed 04/05/2013

Current Assignee
LG Electronics Inc.

Sponsoring Entity
LG Electronics Inc.

System and method including modified bitinterleaved coded modulation  
Patent #
US 9,397,786 B2
Filed 08/08/2012

Current Assignee
SubCom LLC

Sponsoring Entity
Tyco Electronics Subsea Communications LLC

System and method using cascaded single partity check coding  
Patent #
US 9,407,398 B2
Filed 09/08/2013

Current Assignee
SubCom LLC

Sponsoring Entity
Tyco Electronics Subsea Communications LLC

TRANSMITTER AND SHORTENING METHOD THEREOF  
Patent #
US 20160261285A1
Filed 03/02/2016

Current Assignee
Samsung Electronics Co. Ltd.

Sponsoring Entity
Samsung Electronics Co. Ltd.

TRANSMITTER AND SHORTENING METHOD THEREOF  
Patent #
US 20160261374A1
Filed 04/15/2016

Current Assignee
Samsung Electronics Co. Ltd.

Sponsoring Entity
Samsung Electronics Co. Ltd.

Power efficient data transmission  
Patent #
US 9,591,563 B2
Filed 12/09/2009

Current Assignee
Telefonaktiebolaget LM Ericsson

Sponsoring Entity
Telefonaktiebolaget LM Ericsson

Turbo decoding techniques  
Patent #
US 9,608,851 B2
Filed 04/18/2016

Current Assignee
Jonathan Kanter

Sponsoring Entity
Jonathan Kanter

Systems and methods for introducing time diversity in WiFi transmissions  
Patent #
US 10,135,582 B1
Filed 12/24/2014

Current Assignee
Cavium International

Sponsoring Entity
Marvell International Limited

Transmitter and shortening method thereof  
Patent #
US 10,141,951 B2
Filed 03/02/2016

Current Assignee
Samsung Electronics Co. Ltd.

Sponsoring Entity
Samsung Electronics Co. Ltd.

Transmitter and shortening method thereof  
Patent #
US 10,277,251 B2
Filed 04/15/2016

Current Assignee
Samsung Electronics Co. Ltd.

Sponsoring Entity
Samsung Electronics Co. Ltd.

Method for encoding real number Mary signal and encoding apparatus using same  
Patent #
US 10,277,434 B2
Filed 04/21/2015

Current Assignee
Idac Holdings Inc.

Sponsoring Entity
Idac Holdings Inc.

Using multilevel pulse amplitude modulation with probabilistic shaping  
Patent #
US 10,461,972 B2
Filed 10/30/2017

Current Assignee
ZTE Corporation

Sponsoring Entity
ZTE Corporation

Dual length block codes for multiband OFDM  
Patent #
US 20050232139A1
Filed 04/19/2005

Current Assignee
Texas Instruments Inc.

Sponsoring Entity
Texas Instruments Inc.

Multibank OFDM high data rate extensions  
Patent #
US 20050237923A1
Filed 04/26/2005

Current Assignee
Texas Instruments Inc.

Sponsoring Entity
Texas Instruments Inc.

Indexing databases for efficient relational querying  
Patent #
US 6,507,846 B1
Filed 11/09/1999

Current Assignee
Progress Software Corporation

Sponsoring Entity
JOINT TECHNOLOGY CORPORATION

Method and apparatus for processing data for transmission in a multichannel communication system using selective channel transmission  
Patent #
US 20030043732A1
Filed 06/26/2001

Current Assignee
Qualcomm Inc.

Sponsoring Entity
Qualcomm Inc.

16 Claims
 1. A method for encoding and decoding digital information, the method comprising the steps of:
partitioning a vector over an alphabet into subsets according to type, wherein a plurality of types each respectively specify symbol counts of the alphabet for the respective type; determining a type of a signal set based on results of the partitioning; and lexicographically mapping an integer onto a vector of a given type.  View Dependent Claims (2, 3, 4, 5, 6, 7)
 8. A computerreadable medium having computerexecutable instructions for execution by a processing system, the computerexecutable instructions for encoding and decoding digital information, comprising:
instructions that partition a vector over an alphabet into subsets according to type, wherein a plurality of types each respectively specify symbol counts of the alphabet for the respective type; instructions that determine a type of a signal set based on results of the partitioning; and instructions that lexicographically map an integer onto a vector of a given type.  View Dependent Claims (9, 10, 11, 12, 13, 14)
 15. A transmitter for encoding digital information over a wireless network, the transmitter comprising:
means for partitioning a vector over an alphabet into subsets according to type, wherein a plurality of types each respectively specify counts of each character of the alphabet for the respective type; means for determining a type of a signal set based on results of the partitioning; and means for lexicographically mapping a symbol onto a vector of a given type.
 16. A receiver for decoding digital information provided over a wireless network, the receiver comprising:
means for departitioning a vector over an alphabet into subsets according to type; and means for demapping an integer onto a vector of a given type.
1 Specification
This application claims priority to U.S. provisional patent application Ser. No. 60/916,158, attorney docket number 37053.59, entitled, “MULTILEVEL SHAPING FOR WIRELESS COMMUNICATION SYSTEMS”, filed May 4, 2007, the disclosure of which is incorporated herein by reference.
Ultrawideband (UWB) includes technology having a bandwidth larger than 500 MHz or 25 percent of a center frequency. Contemporary interest exists in development of wireless versions of serial technologies, such as universal serial bus (USB), capable of UWB transmission rates due to the proliferation of USBadapted devices in various computational and media systems.
In digital communications, binary data is transmitted by designing a set of unique signals corresponding to individual messages. The ultimate limit of communications performance over a wireless channel is known as the channel capacity. For a given signaltonoise ratio (SNR), channel capacity provides the highest data rate that can reliably be achieved. Conversely, for a given data rate, it provides the minimum SNR for reliable communication.
Errorcorrecting codes, used in conjunction with digital modulation, are widely used to provide robust communication over wireless channels. The transmitter in these wireless systems adds redundancy to the data prior to transmission. An analog carrier is then modulated with the coded signal and transmitted over the channel. The receiver demodulates the data and uses the redundancy in the data stream to decode the data in the presence of channel impairments.
Signal shaping is the process of changing the probability distribution of the transmitted signal to one that is closer to the ideal for the channel at hand. Most communication systems are typically impaired by Gaussian noise. For this type of impairment, the distribution of the transmitted signal should ideally be Gaussian.
A communication system can only achieve the capacity of the channel through a combination of errorcorrection coding and signal shaping. Even an optimal errorcorrecting code, which does not exist in practice, can get no closer than 1.53 dB from capacity, without signal shaping. Practical coding techniques, including bitinterleaved coded modulation, trelliscoded modulation, multilevel codes, Low Density Parity check (LDPC) codes, and turbo codes are bounded even further away from capacity.
Aspects of the present disclosure are best understood from the following detailed description when read with the accompanying figures, in which:
It is to be understood that the following disclosure provides many different embodiments, or examples, for implementing different features of various embodiments. Specific examples of components and arrangements are described below to simplify the present disclosure. These are, of course, merely examples and are not intended to be limiting. In addition, the present disclosure may repeat reference numerals and/or letters in the various examples. This repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed.
To transmit a group of m bits, M=2^{m }unique signals are selected to create a onetoone mapping between each mbit data pattern and a signal.
A common way to design a signal set of size M is to choose a base signal and then scale the base signal by an odd integer, i.e., ±1, ±3, . . . , ±(M−1). This is known as the Mary (or Multilevel) Pulse Amplitude Modulation (MPAM) signal constellation. MPAM represents an n=1 dimensional signal set. The data rate of MPAM is m=log_{2}(M) bits per dimension. The average signal power is (M^{2}−1)/3 per dimension, and the peak power is (M−1)^{2}. Thus, constellation 200 has a peak power of 9 corresponding to both messages 220 and 226. It should be noted that to increase the data rate by one bit can require that the maximum amplitude (M−1) roughly doubles and the average and peak power approximately quadruples. That is, the power follows a “6 dB” per bit rule.
For purposes of example, the present disclosure will consider the following n=1 dimensional signal constellations:
 2PAM: {−1, +1},
 4PAM :{−3, −1, +1, +3},
 6PAM: {−5, −3, −1, +1, +3, +5} and
 8PAM: {−7, −5, −3, −1, +1, +3, +5, +7}
It should be noted that 2PAM, 4PAM and 8PAM can transmit at a message bit rate per signal of 1, 2 and 3, respectively, with power 1, 5 and 21. There is no direct way to map binary information onto 6PAM, since log^{2}(6)=2.585, which is not an integer. This is one of the possible deficiencies addressed by mapping mechanisms disclosed herein.
Another limitation of direct MPAM signal sets is the fact that it uses more average power than may be required to transmit at a given rate. The reason for this is related to the fact that with random data, direct MPAM uses all of the M levels with equal probability. A more averagepowerefficient encoding of the data would skew the probabilities to favor the low amplitude signals over the large amplitude ones. When an encoder skews the probabilities to save on average power, the code is said to achieve “shaping.”
Signal designs in n=2 dimensions are well known in the art and are often referred to as QuadraturePulse Amplitude Modulation (QAM). QAM is useful for bandpass signals that have a natural 2dimensional description related to the orthogonality of sine and cosine waves.
When the number of bits m=log_{2}(M) is an even integer, the MQAM constellation is created using a pair of LPAM signals where M=L^{2}. In this case, the bit rate and power (per dimension) for QAM is identical to PAM. When the number of bits is an odd integer, the MQAM constellation is more interesting then simple PAM. The usual method for designing MQAM constellations for an odd number of bits is to find the smallest value of L that makes L^{2}>M and to “remove” points near the corners, for example when m=5, M=32, and L=6. Therefore, 32QAM is defined as the subset of all pairs of 6PAM amplitudes with the 4 corner pairs, {(±6, ±6)}, removed (36−4=32) as depicted by the diagrammatic representation of a 32QAM constellation diagram 300 of
The design of mappings for signal constellations in high dimensions is a desirable yet challenging concept. The benefits include, for example, the incorporation of nonpoweroftwo base constellations such as 6PAM, the ability to vary the transmission rate with a fine rate resolution, e.g., a variable rate coder with small incremental rate, and providing an efficient tradeoff between data rate and transmission power.
Conceptually, for a fixed choice of PAM size M, and a given rate R≦log_{2}(M), an optimal block coding scheme works as follows. For each element of the MPAM, the weight, or cost, is defined as the magnitude squared. For 6PAM, the weight is:
For a vector of blocklength n, the weight of the vector is defined as the sum of the weights of the components. For example, with a blocklength n=4, the vector X=(−3, +1, +5, −1) has weight 36=9+1+25+1. Next a codeword set is constructed with blocklength n by selecting 2^{n·R }vectors of minimum weight. This minimizes the average power. Type mapping may be used to generate such a codeword set in a computationally efficient way. As the blocklength grows, the average energy converges to the minimum possible.
The limiting tradeoff between rate, R, and minimum average power, P_{min}, for a fixed alphabet MPAM is characterized by the following parametric description. For each value of the parameter λ>0, the rate and minimum average power are given by the equations:
Where the constant:
and the set is the MPAM constellation. The limiting probability for each letter νε is given by:
The difficulty in designing such mappings in even higher dimensions is realized by the exponential growth in the signal set. If a rate of R bits per dimension is desired, then the number of signals that may be required in n dimensions is 2^{n·R}. For small dimension n (e.g., n=2(QAM)), the mapping can be implemented with a lookup table. However, for large dimension n, the size of such a table becomes impractical. Thus, while a rate of R=2.5 bits per dimension in dimension n=2 may require 32 QAM signals, for n=16 dimensions the number of signals is 1,099,511,627,776=2^{40}≈10^{12}.
In accordance with embodiments disclosed herein, mechanisms are provided for computationally efficient optimal signal shaping over a given alphabet size and block length as opposed to current heuristic methods, such as trellis shaping, which only provide a high probability of choosing the optimum shaping codewords. In other words, embodiments described herein do not just an approximate selection of the best codewords for shaping, but rather mechanism described herein provide for guaranteed optimal shaping codeword selection.
Consider an alphabet (or set) A={a_{1}, a_{2}, . . . a_{L}} with L=A elements. The set of vectors A^{n }of blocklength n have L^{n}=A^{n}=A^{n} elements. The vectors of length n can be classified, or partitioned, into subsets according to “type.”
The type of a vector Xε is described by a count vector of the form:
Count(X)=(n_{1},n_{2}, . . ,n_{L})
where n_{1 }counts the number of times the first letter in the alphabet A (a_{1}) occurs, n_{2 }counts the number of times the second letter (a_{2}) occurs, etc. Each count 0≦n_{i}≦n and n_{1}+n_{2}+ . . . +n_{L}=n.
A given count vector (n_{1}, n_{2}, . . . , n_{L}) defines the subset of A_{L }of that type:
(n_{1},n_{2}, . . . ,n_{L})≡{XεCount(X)=(n_{1},n_{2}, . . . ,n_{L})}
The number of vectors of a given type is given by the multinomial formula:
where the nfactorial n!=n·(−1)!, 0!=1.
The number of types for a given alphabet size L and blocklength n is expressed by the binomial formula:
As an example, consider the set A={+1, +3, +5} with 3 elements and a blocklength n=4 (Note: this set represents the “magnitudes” of the 6PAM signal constellation). There are 81=3^{4 }vectors of length 4. There are 15=Mult(2, 4)=720/(2·48) types. The possible count vectors, and the number of elements, are given by the rows:
For example, consider the following types (4, 0, 0), (3, 1, 0), and (2, 2, 0) with the available vectors of each type:
One useful property of types relates to alphabets with a weight function applied to the symbols. Let Wt(s) denote the weight of the symbol sε, then (w_{1}, w_{2}, . . . , w_{L})=(Wt(a_{1}), Wt(a_{2}), . . . , Wt(a_{L})) are the L weights on the symbols of A. An alphabet with a weight function induces a variety of weight functions on vectors.
For example, the average weight on a vector:
or the maximum weight:
Wt_{max}(X)=max{x_{i}1≦i≦n} (1.3)
Weight functions like these are constant within the same type. In fact, the weight is a function of the count vector:
or the maximum weight:
Wt_{max}(X)=max{w_{i}i:n_{i}>0}
where Count(X)=(n_{1}, n_{2}, . . ., n_{L}).
One ingredient of type mapping is a mapping from an integer onto a vector of a given type. Consider a typeset T (n_{1}, n_{2}, . . . , n_{L}) for a given set A and blocklength n. There are P≡Mult(n_{1}, n_{2}, . . , n_{L}) vectors in this set. An enumeration of this set would be a mapping from the integers between 0 and P−1 and the vectors in the set T (n_{1}, n_{2}, . . . , n_{L}).
Since the integers 0, 1, 2, . . . , P−1 are ordered, there are many ways to implement an enumeration based on the idea of “ordering” a set of vectors. Once an order is defined on the vectors, there is a natural correspondence with the integers. One example of such an enumeration is based on a “lexicographic” ordering of the vectors.
To define a lexicographic order, the symbols of the alphabet A are ordered (e.g., a_{1}<a_{2}< . . .<a_{L}), and the positions of the vectors X=(x_{n−1}, x_{n−2}, . . . , x_{0}) are ordered from Most Significant Symbol (MSS) to Least Significant Symbol (LSS), e.g., left to right. This puts an order on all of the vectors in A^{n}.
To compare two vectors X and Y, the first MSS x_{n−1 }and y_{n−1 }are compared:
 If x_{n−1}<y_{n−1}, then X<Y;
 If x_{n−1}>y_{n−1}, then X>Y;
 Otherwise x_{n−1}=y_{n−1},
and the process proceeds to the second symbols x_{n−2 }and y_{n−2 }for comparison. This procedure is repeated until resolving X<Y, X>Y, or the LSS is compared and x_{0}=y_{0 }is observed, in which case X=Y.
An ordering on all the vectors of the set A^{n }induces an ordering on the vectors of every subset including the typesets. As an example, the vectors in the exemplary sets of types (4, 0, 0), (3, 1, 0), and (2, 2, 0) listed above are in lexicographic order.
Consider an integer m, 0≦m<P, and the problem of determining the value of the m^{th }vector XεT (n_{1}, n_{2}, . . . , n_{L}) under lexicographic order. Define:
The MSS x_{n−1 }is determined first. If x_{n−1}=a_{1}, then X_{n−1}εT(n_{1}−1, n_{2}, . . . , n_{L}) and 0≦m<Mult(n_{1}−1, n_{2}, . . . , n_{L}). Therefore, by testing whether m<Mult(n_{1}−1, n_{2}, . . ., n_{L}) or not, it can be concluded that x_{n−1}=a_{1 }or X_{n−1}>a_{1}. In the former case, x_{n−1 }is established and the procedure continues with the vector X_{n−1}εT(n_{1}−1, n_{2}, . . . , n_{L}).
In the latter case, the procedure updates m→m−Mult(n_{1}−1, n_{2}, . . . , n_{L}) and considers whether 0≦m<Mult(n1, n_{2}−1, . . . , nL) or not. If true, then x_{n−1}=a_{2}, and the process continues with X_{n−1}εT(n_{1}, n_{2}−1, . . . , n_{L}). Otherwise x_{n−1}>a_{2}. and the process updates m→m−Mult(n_{1}, n_{2}−1, . . ., n_{L}) and considers whether X_{n−1}=a_{3}.
This recursive procedure will eventually determine the MSS x_{n−1 }and then the second symbol x_{n−2 }and so forth until the LSS x_{0 }is known. This is due to identities such as:
where for consistency, if one or more of the arguments to the Mult( ) function is negative, then the value is 0.
In view of the above, consider an alphabet A and a blocklength n. A type mapper comprises an encoding function that maps binary information of a length k_{max }bits (k_{max}≦n·log_{2 }(A)) onto vectors in A_{n}. The mapper also has a complimentary decoding function that acts as an inverse function to the encoder that maps vectors in A_{n }into k_{max }bits. For every bit pattern B=(b_{kmax−1}, b_{kmax−2}, . . . , b_{1}, b_{0}:
TM_{dec}(TM_{enc}(B))=B
A correspondence between kbit blocks and integers i between 0 and 2^{k}−1 using the base2 expansion may be expressed as follows:
i=b_{0}+b_{1}·2+b_{2}·4+ . . . b_{k−1}·2^{k−1}
Therefore, the type mapper is also a map for every value of k, 0≦k≦k_{max }of the integers i, 0≦i≦2^{k }onto vectors in A_{n}.
Conceptually, in terms of binary blocks, a block of length k is padded with (k_{max}−k) 0'"'"'s (b_{kmax−1}=b_{kmax−2}=b_{k}=0) before the encoding function TM_{enc}(i)≡TM_{enc}(B) is applied.
A type mapping encoder has a typeordering property that, for the given encoder, orders the types of A_{n }in a particular way:
<< . . . <. (2.1)
where M≦Mult(A−1, n).
The encoder has the property that if two integers i<j have TM_{enc}(i)εT1 and TM_{enc}(j)εT_{m}, then either T_{1}=T_{m}(i.e., 1=m) or T_{1}<T_{m}(i.e., 1<m).
The ordering of the types makes the computation of the encoding and decoding functions practical, as well as providing optimizing properties such as shaping, rate versus energy tradeoffs, etc.
The determination of type may be described in terms of the cumulative distribution for the typeordering.
Based on the order (Equation 2.1), define:
Note 0=S_{0}<S_{1}< . . .<SM≦A^{n }and that 2^{kmax }≦S_{M}+1.
To determine the type for a given input i, the solution to the inequality
S
_{l−1}
≦i<S
_{t}
is solved for the index l. The solution implies that TM_{enc}(i)εT_{1}. Once this has been found, the residual integer j=i−S_{i−1 }is to be mapped onto the particular type (note 0≦j<T_{1}).
One method of determining the index l for a given input i is a sequential test for l=1, 2, etc. A more efficient method may be implemented by applying a search algorithm, such as a binary search.
The two step encoding process may be implemented in a pipelined architecture if high speed operation is desired. In the basic case, two computing units may be operated at the same time. For example, while the first unit is determining the type for the current value of the encoder input, the enumerator determines the vector of the previous encoder input that had its type determined during the last epoch.
Further pipelining is possible if desired by pipelining the individual steps since both steps are well suited to pipelining. For example, sequential and binary search for type determination and enumeration of type are naturally processed in steps that can be pipelined.
The decoding function is similar to the twostep process of the encoder. Type determination at the decoder input may be performed by computing the counting function (n_{1}, n_{2}, . . . , n_{L}). Once T_{l }(and the corresponding value S_{l−1}) are determined, the inverse of the type enumerator, j, is found and combined to produce i=j+S_{l−1}. The decoder may also be pipelined in a manner analogous to the pipelining of the encoder function.
The design of a type mapper involves the selection of the basic parameters, the symbol set A, the blocklength n and the maximum binary input length k_{max}. Once the desired types are selected and sorted (as in Equation 2.1), a method of type selection (e.g., binary search) and type enumeration (e.g., lexicographic enumeration) are specified. The rate resolution is given the fraction 1/n while the maximum rate is determined by k_{max}/n. Less basic properties, such as shaping and energy versus rate, are determined by the ordering of the types.
For example, to maximize shaping gain, the types are ordered to minimize the average energy in accordance with an embodiment. In fact, the conceptual shaping method described above can be implemented via type mapping. Furthermore, types that are sorted to minimize the vector weight are uniformly optimal for every value of rate k/n with 0≦k≦k_{max}. Thus, one need not design a unique encoder/decoder pair for each value of binary input length k. One typemapping pair is optimal for every k for the given blocklength n.
Given an alphabet A with a weight function Wt(a)≧0, aεA, the types can be ordered by the average weight or the maximum weight or mixtures. For example, for small ε>0, the weight function
Wt_{ε}(X)≡Wt_{ave}(X)+ε·Wt_{max}(X)
will maximize the shaping gain, but will break “ties” based on maximum weight in accordance with an embodiment. This will often result in a unique ordering of the types.
As an example, consider a type mapper optimized for average power.
The alphabet for a type mapper 512 is the M/2 magnitudes of the MPAM signal constellation +1, +3,. . ., +(M−1). The weight function is the magnitude squared. To encode n+k bits, the k are typed mapped to produce n magnitudes and the remaining n message bits are used to select the sign ± of the MPAM signals, resulting in the MPAM constellation map 514.
Type Mapping is complimentary to Forward Error Control (FEC), a method of signal encoding based on Error Control Coding (ECC). There are many ways in which a type mapper can be used in a communications system.
One common implementation of FEC is known as trellis coding. In classical Ungerboeck type trellis coding, a signal constellation is partitioned into subsets, or cosets, of equal size. An ECC encoder is used to encode some of the message data, producing a sequence of coset selections. Other message data is used to pick elements within the cosets determined by the ECC encoder. This other data is sometimes termed the uncoded information since they are not encoded by the ECC encoder.
In the description of type mapped PAM above, the MPAM constellation is partitioned into two sets, each of size M/2. The two sets are: the positive points {+1, +3, . . . , +(M−1)} (these also represent the magnitudes), and the negative points {−1, −3, . . . , −(M−1)}
A binary ECC, such as a Binary Convolutional Code (BCC), may be used to select the set (i.e., the sign) for each symbol, resulting in a trellis coding structure such as depicted in
MPAM_{0}={+1,−3,+5,−7, . . . }={=ii=4·j+1}
MPAM_{1}={−1,+3,−5,+7 . . . }={i i=4·j−1}
With this partition, a BCC with good Hamming distance, combined with the type mapper, will produce a signal with the advantages of the type mapped encoder (e.g., shaping, rate resolution, nonpowerof2 constellations), and the robust error correction capabilities of the BCC.
In the 2way partitioned MPAM example, each coset has equal size and the magnitudes of each coset can be put into a 11 correspondence. This can translate into an optimum scheme for maximizing the shaping while providing robust error control, illustrating how type mapping and trellis encoding can be perfectly complementary.
WiMedia based UWB systems use a BCC in conjunction with Orthogonal Frequency Division Multiplexing (OFDM) to provide reliable communication. The transmitted signal is defined such that there are 128 frequency bins in the FFT. Of those, 100 tones are used to carry information, 12 for pilot information, 10 as guard tones, and 6 as null tones carrying no information. Post FFT, the OFDM symbol is padded with 37 zero samples prior to transmission. The OFDM symbol duration is 312.5 ns, meaning that the bandwidth occupied by a single OFDM symbol is 528 MHz. WiMedia based UWB systems operate at various different carrier frequencies. They additionally can ‘hop’ across multiple carrier frequencies during the course of packet transmission according to a TimeFrequency Code (TFC). The underlying BCC is a rate 1/3 mother code is punctured to varying degrees, and interleaved across 6 OFDM symbols, to produce data rates from 53.3 Mbps to 480 Mbps.
In the illustrative example, data is passed through a scrambler 910 that is used to ‘whiten’ the binary information so that 0'"'"'s and 1'"'"'s have equal probability and the input to the FEC looks random. Next, the data is encoded using an ReedSolomon Outer code (RS Encoder) 912 and then interleaved according to the structure defined in RS Interleaver 914. The output of interleaver 914 is then processed by a splitter 916, which sends some data to BCC 918 (the “coded” data) and the rest to a parity generation block 924 and then to a type mapper 926 (the “shaped” data). The parity generation block 924 adds a single parity bit to each group of (k−1) bits from the shaped data resulting in a kbit input to the type mapper 926 producing an n symbol output. The output of the type mapper 926 is passed to a tone interleaver 928 which arranges the symbols across OFDM symbols. The coded data is encoded by the BCC 918 and then interleaved according to the pattern defined by a LSB interleaver 920. The output of both interleavers 920, 928 is processed by a PAM modulation block 922, resulting in a stream of PAM symbols. Pairs of PAM symbols are mapped to QAM constellation points 930. The QAM constellation points are scaled according to a ratebased scaling function 932 resulting in constellation points with the correct average power. The constellation points are processed by an FFT 934, padded by zero pad module 936, and then passed to radio 938 which transmits the data across one or more carrier frequencies according to an optimized TFC.
There are many parameters and system design issues that are jointly considered to construct a high performance, computationally efficient and robust communications system, such as: OFDM data tone selection, type mapper parameters, PAM modulation, rate based scaling, RS Encoder parameters, RS Interleaver Design, Splitter, parity addition, tone interleaver, optimized TFC, and LSB interleaver.
OFDM data tone selection may be considered as a parameter to increase the data throughput of the system in accordance with an embodiment. In an implementation, the “guard tones” in a WiMedia based system may be utilized as additional data tones. In this manner, the total number of data tones may be increased to 110 from 100.
Type Mapper Parameters may be considered as a system design parameter in accordance with an embodiment. In this implementation, the alphabet of the type mapper contains 3 elements, A={1,3,5}. These are the “magnitudes” of a 6PAM constellation. The block length is chosen as n=16. This results in 153 distinct types and 3^{16}(˜43 million) unique messages for each block. The types are ordered by average power, to provide the maximum shaping gain.
PAM Modulation may be considered as a system design parameter in accordance with an embodiment. The PAM modulation used is closely associated with the type Mapper parameters. In this embodiment, the type mapper output are the magnitudes of the of a 6PAM constellation. The BCC encoder output is used to modulate the “sign” of these magnitudes according to the Ungerboeck 2way set partition previously described.
Rate Based Scaling may be considered as a system design parameter in accordance with an embodiment. The type mapper is optimized to use minimum average power, and therefore advantageously uses the innermost constellation points more frequently than the outer ones. Thus, a rate based scaling block may be required to ensure that the average power out of the transmitter is at the desired level. For each rate of the type mapper, k, there is a respective corresponding scale factor that ensures that the average power is the same as if all the constellation points were used with the same frequency.
RS Encoder Parameters may be considered as a system design parameter in accordance with an embodiment. An extended ReedSolomon Outer code is a powerful method to provide additional system robustness. A flexible design may provide for the system to choose either an 8 (256,240), or 12 (256,232), or 16 (256,224) error correcting code over GF(256) thereby allowing for a tradeoff between error correcting capability and system throughput.
The RS Interleaver Design may be considered as a system design parameter in accordance with an embodiment. A blockinterleaver is used to attempt to evenly distribute errors within an interleaver depth across all codewords thereby minimizing the probability of error. To assist the system latency fit within the framework of the WiMediabased UWB system, the interleaver depth may, for example, be set to 2 codewords.
The Splitter may be considered as a system design parameter in accordance with an embodiment. The purpose of the splitter algorithm is to distribute data to both the type mapper and BCC encoder in a manner such that after encoding, the amount of data between both parallel paths corresponds to the same number of modulated constellation points. This balancing of data between the two paths is important as it minimizes the amount of pad data that is used and helps maximize system throughput. In accordance with an embodiment, one or more of several constraints may be considered by the splitting algorithm. In an implementation, the splitter divides data among the two paths “on the fly” without the need for memory. Because there is a great deal of rate flexibility in the type mapper and many puncturing possibilities for the BCC, the splitter is able to support arbitrary ratios of data between the two data paths. The converse combining algorithm (i.e., the inverse of the splitter that reconstructs a single data stream from the two data paths) has heavy interaction with the Reed Solomon Deinterleaver and decoder which it immediately precedes in the receiver data path. The splitter and combiner operate in a manner that does not disrupt the properties of the RS Deinterleaver.
As referred to herein, the BCCRate comprises the rate of the BCC after puncturing, and typeMapRate comprises the number of message bits divided by the type Mapper block length.
Returning again to step 1012, in the event that the clocksLeft value is less than one, the data unit may be sent on the alternative data path, e.g., the LSB path in the present example (step 1018). The clocksLeft value may then be incremented (step 1020), and an evaluation may then be made to determine if another data unit is available for processing according to step 1022. In the even that another data unit remains for processing, the splitting algorithm may receive the data unit according to step 1010. Alternatively, the splitting algorithm cycle may then end if no data unit remains for processing (step 1024).
The described implementation addresses all of the constraints and may handle an arbitrary ratio of data between the BCC and typeMap data paths. As each data unit is streamed to the splitter, a decision is made as to which path the data unit is sent. Buffering may not be required since the operation is performed on a “per data unit” basis. The bitwidth of the data unit is arbitrary. If can be a bit, nibble, byte, or any other bitwidth. To address the third constraint and optimize the system performance, the width of the data unit may be tied or otherwise associated with the depth of the ReedSolomon interleaver. For example, if the RS interleaver had a depth of W codewords and operates on bytes (i.e., GF(256)), then the splitter is chosen to operate on a data unit of W bytes. In this embodiment of the splitter, W=2. This structure ensures that that bursts of Wbyte errors on either the BCC or typeMap paths are broken up and deinterleaved into W separate RS codewords prior to decoding. This improves the RS decoder performance and ensures that the RS deinterleaver breaks up bursts of W byte errors and is preserved for all splitting ratios.
A parity bit can additionally be added to each type mapped block of data. A single bit is added to each block to ensure that the parity of the entire block is either even or odd. This reduces the throughput of the system slightly, but allows the receiver to identify blocks that have an odd number of bits in error. In this manner, the receiver is able to use the erasure decoding ability of the RS decoder and, in the best case, double the number of errors the decoder can correct.
The PAM magnitudes may be combined with the output of the LSB decoder the same order as they were output from the type mapper. The resulting PAM symbols are then mapped to QAM constellation points and then modulated using OFDM. In this manner, the PAM magnitudes are mapped, in pairs, across the frequency subcarriers. That is, each block of n PAM magnitudes is spread across n/2 subcarriers. In a purely Gaussian channel, no single subcarrier dominates performance since each exhibits the same SNR and therefore the same symbolerror probability. However, in wireless communication systems, frequency selective fading is a common phenomenon. In such channels, the SNR across subcarriers can differ significantly. For example, suppose there is a subcarrier that has very poor SNR and results in a decoding error. In the above mapping, this subcarrier will result in a decoding error in every OFDM symbol. In an embodiment, this problem is resolved by adding an interleaver after the type mapper whose output will be combined with the LSB interleaver to produce PAM symbols. The pattern of the interleaver is selected so that a single set of PAM magnitudes from the type mapper is affected by a single subcarrier. Care is taken in WiMedia hopping modes, in which the signal is spread across 3 channels according to a particular TFC. In hopping modes, the interleaver ensures that each set of PAM magnitudes is affected by a single subcarrier on a single channel. For example, in the 3 band hopping TFCs (where the signal is spread across 3 channels) and with a typeMap block length of n=16, an interleaver depth of 24 OFDM symbols ensures that each block is affected by only 1 subcarrier of 1 of the 3 channels. While this is possible, it can add a large buffering need to the encoding and decoding paths, which increases implementation cost and power consumption. It also increases latency. These effects are undesirable.
In accordance with an embodiment, the interleaver depth is reduced to 8 OFDM symbols when the “optimized TFC” described below is used. This interleaver in conjunction with the optimized TFC preserves the property that each typeMapped block is affected by a single subcarrier from a single channel.
In application to Ultra Wideband (UWB) systems, frequency hopping modes allow a transmitter to transmit more power without violating the power limits of the world'"'"'s regulatory domains. However, as previously mentioned, the exiting hopping patterns of the WiMedia specification, when used in conjunction with the desired tone interleaver, result in a large interleaver depth which increases encoding/decoding latency and power consumption. Therefore, a new hopping pattern is implemented in accordance with an embodiment.
The hopping pattern of the present embodiment is applied to the payload portion of the packet. The PHY Preamble and Header portions of the packet are still sent with one of the standard WiMedia hopping patterns. This enables backward compatibility with WiMedia devices which do not support the TFC hopping pattern of the present embodiment. The TFC hopping pattern is defined by the following sequence:
 1. n/2 OFDM symbols sent on channel 0 followed by
 2. n/2 OFDM symbols sent on channel 1 followed by
 3. n/2 OFDM symbols sent on channel 2
 4. repeat from step 1 until end of payload.
This hopping pattern keeps the interleaving block of PAM magnitudes on one of the three sub bands. In an embodiment as applied to the WiMedia wireless communication specification, the value of n in the above definition is 16. Therefore, the hopping pattern is 24 OFDM symbols long in this case which allows for a tone interleaver depth of 8 OFDM symbols. The BCC bit interleaving pattern of the present embodiment uses only the last two stages of the WiMedia interleaving pattern and not the first. The first stage is symbol interleaving, which permutes bits across 6 consecutive OFDM symbols to take advantage of frequency diversity across the band. The second stage is an intra OFDMsymbol tone interleaver which provides robustness against narrowband interferers. The third is an intra OFDMsymbol cyclic shifter which allows for better use of frequency diversity. Using the last 2 stages only significantly reduced the decoding latency of the embodiment without impacting performance.
The flowchart of
Aspects of the present invention may be implemented in software, hardware, firmware, or a combination thereof. The various elements of the system, either individually or in combination, may be implemented as a computer program product tangibly embodied in a machinereadable storage device for execution by a processing unit. Various steps of embodiments of the invention may be performed by a computer processor executing a program tangibly embodied on a computerreadable medium to perform functions by operating on input and generating output. The computerreadable medium may be, for example, a memory, a transportable medium such as a compact disk, a floppy disk, or a diskette, such that a computer program embodying the aspects of the present invention can be loaded onto a computer. The computer program is not limited to any particular embodiment, and may, for example, be implemented in an operating system, application program, foreground or background process, driver, network stack, or any combination thereof, executing on a single computer processor or multiple computer processors. Additionally, various steps of embodiments of the invention may provide one or more data structures generated, produced, received, or otherwise implemented on a computerreadable medium, such as a memory.
Although embodiments of the present disclosure have been described in detail, those skilled in the art should understand that they may make various changes, substitutions and alterations herein without departing from the spirit and scope of the present disclosure.