The present disclosure relates generally to wireless communications and wireless communications-related technology. More specifically, the present disclosure relates to systems and methods for providing unequal message protection.
Wireless communication devices have become smaller and more powerful in order to meet consumer needs and to improve portability and convenience. Consumers have become dependent upon wireless communication devices such as cellular telephones, personal digital assistants (PDAs), wireless access cards, and the like. Consumers have come to expect reliable service, expanded areas of coverage, and increased functionality. A wireless communication device that is utilized by users in a wireless communication system may be referred to as a mobile station, a subscriber station, an access terminal, a remote station, a user terminal, a terminal, a handset, a subscriber unit, user equipment, etc.
A wireless communication system may provide communication for a number of cells, each of which may be serviced by a base station. A base station may be a fixed station that communicates with mobile stations. A base station may alternatively be referred to as an access point, a Node B, or some other terminology.
A mobile station may communicate with one or more base stations via transmissions on the uplink and the downlink. The uplink (or reverse link) refers to the communication link from the mobile station to the base station, and the downlink (or forward link) refers to the communication link from the base station to the mobile station. A wireless communication system may simultaneously support communication for multiple mobile stations.
The present disclosure relates to improvements in the field of wireless communications and wireless communications-related technology.
A method for providing unequal message protection is disclosed. The method may include coding input data in accordance with a coding method that allows for either coded data or messages to be transmitted with pre-determined, but unequal reliability over a communication channel. The coding method may allow the messages to be transmitted with higher reliability than the coded data. The method may also include transmitting the messages when they are available, and otherwise transmitting the coded data. The messages to be transmitted may represent system control messages.
The coding method may result in codewords with a specified fixed distribution of symbols. At least one of the messages to be transmitted with higher reliability may include repetitions of one symbol.
The coding method may utilize a balanced code. At least one of the messages to be transmitted with higher reliability may include repetitions of one symbol. The balanced code may comprise a Manchester code or a code isomorphic to a Manchester code. The balanced code may be realized by a linear code preceded by a non-linear function which removes non-balanced codewords. The balanced code may be approximated by a linear code preceded by a non-linear function which removes non-balanced codewords within a Hamming distance δ of repetitions of a single symbol, where δ is a positive number.
A wireless device that is configured to provide unequal message protection is disclosed. The wireless device includes a processor and memory in electronic communication with the processor. Instructions are stored in the memory. The instructions may be executable to code input data in accordance with a coding method that allows for either coded data or messages to be transmitted with pre-determined, but unequal reliability over a communication channel. The coding method may allow the messages to be transmitted with higher reliability than the coded data. The instructions may also be executable to transmit the messages when they are available, and to otherwise transmit the coded data.
A computer-readable medium for facilitating unequal message protection is also disclosed. The computer-readable medium may include instructions. The instructions may be executable to code input data in accordance with a coding method that allows for either coded data or messages to be transmitted with pre-determined, but unequal reliability over a communication channel. The coding method may allow the messages to be transmitted with higher reliability than the coded data. The instructions may also be executable to transmit the messages when they are available, and to otherwise transmit the coded data.
A decoding method for providing unequal message protection is also disclosed. The method may include determining whether received data comprises alarm messages or coded data. If one or more alarm hypothesis messages are detected, the method may also include taking appropriate system actions in response to the alarm messages. If no alarm hypothesis messages are detected, the method may include decoding the coded data.
A balanced code may be used to create the coded data. In this case, decoding the coded data may include taking the inverse of operations used to implement the balanced code, and performing linear decoding. As another example, decoding the coded data may include mapping outputs of a linear decoder via a look-up table.
The methods described herein allow for the embedding of specific alarm or other signals that are to be transmitted with substantially greater reliability than coded data. The methods described herein do not involve the simultaneous transmission of unequally protected data, but rather allow for the transmission either of data with a lesser level of protection or messages/signals with a high level of protection, but not both greater or lesser protected data at the same time.
This type of transmission may be important in cases where a “mode change” may be required in an International Mobile Telecommunications-Advanced cellular system, e.g., in order to signal a transfer from space-diversity coding to space-division multiple access, or perhaps to indicate a lack of synchronization from a higher layer. The way this problem is currently solved is to have additional higher layer signaling; however, such an approach uses additional channel resources.
The way the current problem is posed and solved relates to another aspect of the present disclosure. This aspect has to do with the use of the Open Systems Interconnection (OSI) model of communications protocol design. The OSI model describes a functional partition of various elements in a communication system; e.g., the use of physical layer information transmitted within the physical layer, addressing information (what radio talks to what radio(s)) at the medium access control/link layers, etc.
This functional partition has traditionally meant that information transmitted from/to different layers is transmitted based on a transmission format partition of layering information, with the partition being done in time or frequency. For example, one snippet in time of a packet might correspond to a packet address, with another time-orthogonal snippet in time corresponding to user payload, with still another orthogonal snippet corresponding to an acknowledgement of a previous packet. However, recent advances in information theory imply that there are more reliable ways to transmit such information than a simple time or frequency division multiplexing based on an OSI functional partition. While the OSI functional partition may still be useful in designing the functions of the communication system, the actual transmission formatting need not be time-division multiplexed according to this model, but may be coded based on latency error-rate, and decoding procedures and complexity requirements.
Thus, the methods described herein allow for high priority pre-emptive signaling to be transmitted with higher reliability, in such a way that it reflects the prioritization of the different functional elements in the OSI model.
The basic idea behind this method of coding is to partition the set of symbols over the air into “messages” and “codewords” from a code, where there is an equal distribution of symbol types in the codewords (or an approximation thereto). By using such a code, for an M-ary symmetric channel, all codewords wind up being at a maximal Hamming distance from “messages” consisting of repetitions of symbols. With this method, a series of “messages” (which may be preemptions, alarm messages, or higher layer protocol messages and the like) may be transmitted in lieu of transmitting coded user data.
The transmitting station 102 includes an unequal message protection encoder 106. The receiving station 104 includes an unequal message protection decoder 108.
The unequal message protection encoder 106 may be configured to code input data 110 in accordance with a coding method that allows for either coded data 112 (which includes one or more codewords 118) or messages 114 to be transmitted with pre-determined, but unequal reliability over a communication channel 116. The coding method used by the unequal message protection encoder 106 allows the messages 114 to be transmitted with higher reliability than the coded data 112. The unequal message protection decoder 108 may be configured to decode signals that are transmitted by the unequal message protection encoder 106, and determine whether the signals include coded data 112 or messages 114.
Input data 110 may be coded 204 using a coding method that provides unequal message protection, i.e., that allows the messages 114 to be transmitted with higher reliability than the coded data 112. For example, the coding method that is used may be selected so that there is an equal distribution of symbol types in the codewords 118 (or an approximation thereto), so that the codewords 118 are at a maximal Hamming distance from the messages 114.
Messages 114 may be transmitted 206 when they are available. Otherwise, the coded data 112 may be transmitted 208.
A switch control 304 and an inverter 306 implement an inversion and switching scheme that, in effect, appends the complement of a bit to every bit. This concatenation is one form of a Manchester code. Thus, every codeword will be a balanced codeword (albeit at the expense of one-half of the signal energy). These coded and complement-coded bits may be stored in a buffer 308. When 2n coded bits are present, these may be transmitted as coded data 310 unless an alarm message 312 is present. If an alarm message 312 is present, 2n coded alarm bits 314 may be transmitted instead.
This class of codes may achieve arbitrarily low error rates as the encoder 302 length gets large and the alarm messages 312 are optimally separated from the combined codewords. There may be two alarm messages 312, the all zeros message and the all ones message.
This scheme may be generalized to non-binary symbols by mapping the non-binary symbols to binary symbols and with the inverter 306 understood as taking the logical complement of the binary equivalent of the non-binary symbols.
If no alarm hypothesis messages are detected 420, then the inverse 424 of the multiplex and invert bit operations may be taken and linear decoding 426 may be performed, e.g., via maximum likelihood decoding, resulting in decoded bits 428.
If the linear encoder function is considered as a mapping of k bits into n bits, it may be represented as:
where the
represents the set of all k bit sequences and
represents the set of all n bit sequences.
Then we can write
and we can also write
We are interested in particular sets T−1[B] that give rise to certain encoder outputs that we do not want transmitted over the channel either because they will produce the same bit pattern as the alarm message signals or they produce codewords close to the alarm messages. Thus T−1[B] is a set of k bit sequences; this set will be referred to as the exclusion set, ε. This set has a number of elements in it (each element is a k bit sequence); we denote the cardinality of this set by |T−1[B]| or |ε|. Furthermore, we denote the set of all 2k bit sequences that are not members of ε, by εC, since it is the complement of ε, when considering the set of all k bit sequences. It has cardinality |εC|.
The block 530 titled “Remove inverse of some codewords” may be configured to map (k−1) bit sequences into k bit sequences where the k bit sequences are restricted to be elements of εC. This can always be done provided that the cardinality of εC≧2(k−1).
Various exemplary embodiments producing different unequal error protection message transmission can then be described by varying the set B which in turn varies the set ε of excluded k bit sequences. The following three cases are provided as examples.
Case 1:
ensures that repetitions of alarm messages do not appear in the codeword output.
Case 2:
ensures that the code outputs are always at least a Hamming distance greater than δ from the alarm messages. However, it is not possible to do this for all Hamming distances δ; for binary sequences δ must be substantially smaller than n/2. The value of δ determines the size of |ε|, and therefore also of εC. In general then, for this approach we require δ≦δ0 where δ0 is the largest value of δ for which εC≧2(k−1).
Case 3:
ensures that all codeword outputs have a specified distribution of symbols. This case may be thought of as subsuming case 2 above, when the distribution of symbols is considered to be those within a Hamming distance of the message symbols.
Each of these embodiments provides a different realization or approximation to the optimal coder.
The block 530 titled “Remove inverse of some codewords” may be formed essentially with a look-up table, where a series of k bits may be output from k−1 input bits which could be generated at the very least by brute force numerical evaluation of the linear code's output for given inputs.
There are many ways to build such a table. For example, once the set εC is determined, the entries of εC may be ordered from lowest to highest taking each k bit sequence as if it were an unsigned integer. Then one could take the first 2(k−1) entries, and the mapping between the k−1 bit inputs and the first 2(k−1) entries of the ordering of δC would define the non-linear mapping. Alternatively one may take the highest 2(k−1) entries.
Implicit in the above are restrictions on k, n, and k/n. Although the exact bounds on the restrictions are beyond the scope of the present disclosure (as noted above, relatively “good” codes, which provide high coding gain for the rate, will have few codewords close to repetitions of a single symbol, and hence are candidates for this design method), we can note the following:
The rate of the code k/n should not be very close to unity.
The input number of bits k−1 should be relatively large compared to unity.
The linear code should have codewords whose empirical distribution approximates a Bernouli (for binary alphabets) or multinomial distribution (for M-ary alphabets) when input symbols' distribution are independent and identically distributed. Conversely, one can also use codes whose symbols' distribution has centered even order moments smaller than that predicted by a Gaussian approximation via the de Moivre Laplace Theorem, e.g., for s=1, 2, . . . , then the moments of the distribution should be smaller than
In this case, if k−1 is relatively large, then one may invoke Central Limit Theorem or de Moivre-Laplace Theorem arguments to bound the number of codewords that can be excluded and hence set limits on δ in an embodiment above.
On receive, 2n bits 616 (these can be soft-decisions) are received and stored in a buffer 618. These (soft) bits may then be compared, e.g., via matched filtering, to detect 620 if any “alarm” hypothesis messages are received. If one or more alarm hypothesis messages are detected 620, then appropriate system actions 622 may be taken. If no alarm hypothesis messages are detected 620, then linear decoding 626 may be performed.
Hard outputs of the linear decoder 626 may be mapped 632 via a look-up table that is the inverse of the block 530 titled “Remove inverse of some codewords” of
Alternatively, the block 632 titled “Map k bit output to k−1 bits” could be incorporated into the linear decoder 626. In this case, the linear decoder 626 would have state transitions limited to those allowable from the input k−1 bits and the block 530 titled “Remove inverse of some codewords” of
The wireless device 702 may include a processor 704 which controls operation of the wireless device 702. The processor 704 may also be referred to as a central processing unit (CPU). Memory 706, which may include both read-only memory (ROM) and random access memory (RAM), provides instructions and data to the processor 704. A portion of the memory 706 may also include non-volatile random access memory (NVRAM). The processor 704 typically performs logical and arithmetic operations based on program instructions stored within the memory 706. The instructions in the memory 706 may be executable to implement the methods described herein.
The wireless device 702 may also include a housing 708 that may include a transmitter 710 and a receiver 712 to allow transmission and reception of data between the wireless device 702 and a remote location. The transmitter 710 and receiver 712 may be combined into a transceiver 714. An antenna 716 may be attached to the housing 708 and electrically coupled to the transceiver 714. The wireless device 702 may also include (not shown) multiple transmitters, multiple receivers, multiple transceivers and/or multiple antenna.
The wireless device 702 may also include a signal detector 718 that may be used to detect and quantify the level of signals received by the transceiver 714. The signal detector 718 may detect such signals as total energy, pilot energy per pseudonoise (PN) chips, power spectral density, and other signals. The wireless device 702 may also include a digital signal processor (DSP) 720 for use in processing signals.
The various components of the wireless device 702 may be coupled together by a bus system 722 which may include a power bus, a control signal bus, and a status signal bus in addition to a data bus. However, for the sake of clarity, the various buses are illustrated in
As used herein, the term “determining” encompasses a wide variety of actions and, therefore, “determining” can include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Also, “determining” can include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Also, “determining” can include resolving, selecting, choosing, establishing and the like.
The phrase “based on” does not mean “based only on,” unless expressly specified otherwise. In other words, the phrase “based on” describes both “based only on” and “based at least on.”
The various illustrative logical blocks, modules and circuits described herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array signal (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core or any other such configuration.
The steps of a method or algorithm described herein may be embodied directly in hardware, in a software module executed by a processor or in a combination of the two. A software module may reside in any form of storage medium that is known in the art. Some examples of storage media that may be used include RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM and so forth. A software module may comprise a single instruction, or many instructions, and may be distributed over several different code segments, among different programs and across multiple storage media. An exemplary storage medium may be coupled to a processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
The methods disclosed herein comprise one or more steps or actions for achieving the described method. The method steps and/or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is required for proper operation of the method that is being described, the order and/or use of specific steps and/or actions may be modified without departing from the scope of the claims.
The functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions on a computer-readable medium. A computer-readable medium may be any available medium that can be accessed by a computer. By way of example, and not limitation, a computer-readable medium may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray® disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers.
Software or instructions may also be transmitted over a transmission medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of transmission medium.
It is to be understood that the claims are not limited to the precise configuration and components illustrated above. Various modifications, changes and variations may be made in the arrangement, operation and details of the systems, methods, and apparatus described herein without departing from the scope of the claims.
Number | Name | Date | Kind |
---|---|---|---|
4965883 | Kirby | Oct 1990 | A |
5353352 | Dent et al. | Oct 1994 | A |
5396239 | McMahon et al. | Mar 1995 | A |
5550809 | Bottomley et al. | Aug 1996 | A |
5742678 | Dent et al. | Apr 1998 | A |
5771288 | Dent et al. | Jun 1998 | A |
6397367 | Park et al. | May 2002 | B1 |
7333449 | Zimmermann et al. | Feb 2008 | B2 |
8196010 | Gunnam et al. | Jun 2012 | B1 |
20020105960 | Das et al. | Aug 2002 | A1 |
20060233127 | Derryberry et al. | Oct 2006 | A1 |
20070183384 | Kwak et al. | Aug 2007 | A1 |
20080153425 | Heo et al. | Jun 2008 | A1 |
20080192622 | Scheim et al. | Aug 2008 | A1 |
20090003376 | Horvat et al. | Jan 2009 | A1 |
20090022133 | Wiberg et al. | Jan 2009 | A1 |
20090097466 | Lee et al. | Apr 2009 | A1 |
20100027450 | Montojo et al. | Feb 2010 | A1 |
20100157901 | Sanderovitz et al. | Jun 2010 | A1 |
20100162075 | Brannstrom et al. | Jun 2010 | A1 |
Number | Date | Country |
---|---|---|
0 565 506 | Oct 1993 | EP |
0 776 555 | Jun 1995 | EP |
10-507332 | Jul 1998 | JP |
2008-028999 | Feb 2008 | JP |
9321709 | Oct 1993 | WO |
9605668 | Feb 1996 | WO |
2007030041 | Mar 2007 | WO |
2007053071 | May 2007 | WO |
2008042255 | Apr 2008 | WO |
2008045001 | Apr 2008 | WO |
2008048188 | Apr 2008 | WO |
Entry |
---|
Luca G. Tallini, Bella Bose, “Balanced Codes with parallel Encoding and Decoding,” IEEE Transactions on Computers, vol. 48, Issue 8, Aug. 1999, pp. 794-814. |
S. Borade, “When all information is not created equal: some fundamental limits and optimum strategies.” |
S. Borade, “An Information Theoretic Approach to Unequal Error Protection.” |
C. Ding, J. Yin, “Algebraic Constructions of Constant Composition Codes,” IEEE Transactions on Information Theory, Vo. 51, No. 4, Apr. 2005, pp. 1585-1589. |
S.C. Draper, A. Sahai, “Beating Burnashev in delay with noisy feedback,” Proceedings Allerton Conference on Communication Control and Computing, 2006. |
Office Action issued for Chinese Patent Application No. 2009801136699 on Nov. 5, 2012. |
Office Action issued for Japanese Patent Application No. 2010-537201 on Feb. 5, 2013. |
Number | Date | Country | |
---|---|---|---|
20090268843 A1 | Oct 2009 | US |