Signal sequence estimation

In a spatial modulation multiple-input-multiple-output (SM-MIMO) wireless communication system, multiple transmitting antennae and multiple receiving antennae may be utilized to respectively transmit and receive wireless signals for the communication. A selection of a combination of the multiple transmitting antennae may be configured to represent one or more binary digits in a signal sequence. The signal sequence may be produced at the receiving end without the knowledge of the selection of the combination of the multiple transmitting antennae.

CROSS-REFERENCE TO RELATED APPLICATION

This Application is the U.S. National Stage filing under 35 U.S.C. § 371 of PCT Application Ser. No. PCT/CN2013/085288 filed on Oct. 16, 2013.

TECHNICAL FIELD

The technologies described herein pertain generally to signal sequence estimation in a multiple-input-multiple-output (MIMO) wireless communication system.

BACKGROUND

In a spatial modulation multiple-input-multiple-output (SM-MIMO) wireless communication system, multiple transmitting antennae and multiple receiving antennae may be utilized to respectively transmit and receive wireless signals to facilitate communications. A selection of a combination of the multiple transmitting antennae may be configured to represent one or more binary digits in a signal sequence.

SUMMARY

Technologies are generally described for signal sequence estimation. The various techniques described herein may be implemented in various methods, systems, computer-readable mediums, and/or other computer-programmable products.

In some examples, various embodiments may be implemented as methods. Some methods may include identifying multiple combinations of one or more transmitting antennae; receiving one or more wireless signals transmitted by one of the identified combinations of the one or more transmitting antennae; generating multiple groups of symbols that respectively correspond to one of the identified combinations of the one or more transmitting antennae; calculating a value for each of the multiple groups of symbols; selecting, from the multiple groups of symbols, the group of symbols having the lowest calculated value; and producing the one or more signal sequences based on the selected group of symbols in accordance with a predetermined mapping table.

In some examples, various embodiments may be implemented as systems. Some systems may include multiple transmitting antennae; a modulation module configured to identify one or more signal sequences, map at least a portion of the one or more signal sequences to one of multiple combinations of the multiple transmitting antennae, in accordance with a predetermined mapping table, map other portions of the one or more signal sequences to one or more modulation symbols, in accordance with the predetermined mapping table, and activate the one of the multiple combinations of the multiple transmitting antennae to transmit the one or more modulation symbols; one or more receiving antennae configured to receive one or more wireless signals that carry the one or more modulation symbols; and a demodulation module configured to generate multiple groups of symbols that respectively correspond to one of the multiple combinations of the multiple transmitting antennae, calculate a value for each of the multiple groups of symbols, select, from the multiple groups of symbols, the group of symbols having the lowest calculated value, and produce the one or more signal sequences based on the selected group of symbols in accordance with the predetermined mapping table.

Some other systems may include one or more receiving antennae configured to receive one or more wireless signals that carry one or more modulation symbols; and a demodulation module configured to generate multiple groups of symbols that respectively correspond to one of multiple combinations of multiple transmitting antennae, calculate a value for each of the multiple groups of symbols, select, from the multiple groups of symbols, the group of symbols having the lowest calculated value, and produce one or more signal sequences based on the selected group of symbols in accordance with a predetermined mapping table.

In some examples, various embodiments may be implemented as computer-readable mediums having executable instructions stored thereon. Some computer-readable mediums may store instructions that, when executed, cause one or more processors to perform operations including receiving one or more wireless signals transmitted by one of multiple combinations of one or more transmitting antennae, each of which includes an equal number of transmitting antennae; generating multiple groups of symbols that respectively corresponds to one of the multiple combinations of the one or more transmitting antennae; calculating a value for each of the multiple groups of symbols; selecting, from the multiple groups of symbols, the group of symbols having the lowest calculated value; and generating the one or more signal sequences based on the selected group of symbols in accordance with a predetermined mapping table.

all arranged in accordance with at least some embodiments described herein.

DETAILED DESCRIPTION

FIG. 1shows an example SM-MIMO wireless communication system100in which signal sequence estimation may be implemented, arranged in accordance with at least some embodiments described herein. As depicted, example system100may include, at least, a signal generator102, a data divider104, an antenna mapping module106, a modulation component108, multiple transmitting antennae110A,110B,110C, . . . ,110N; multiple receiving antennae112A,112B,112C, . . . ,112N, and a signal sequence estimator114. Unless context requires specific reference to one or more of transmitting antennae110A,110B,110C, . . . ,110N, collective reference may be made to “transmitting antennae110” below. Similarly, unless context requires specific reference to one or more of receiving antennae112A,112B,112C, . . . ,112N, collective reference may be made to “receiving antennae112” below.

Signal generator102may refer to a component configured to generate multiple signal sequences that respectively include multiple binary digits, e.g., 101001. In accordance with various embodiments, signal generator102may be implemented as hardware, firmware, software, or any combination thereof. The binary digits may then be transmitted to data divider104.

Data divider104may refer to a component that is communicatively coupled to signal generator102and that is configured to divide the binary digits received from signal generator102into different portions in accordance with at least one of the number of transmitting antennae110and a modulation scheme adopted by system100. For example, when system100includes, e.g., four transmitting antennae, from which system100chooses two antennae to transmit one or more symbols, and adopts a Quadrature Phase Shift Keying (4-PSK) scheme, data divider104may divide the received binary digits into different portions, each of which may include, e.g., six binary digits. In accordance with various embodiments, data divider104may be implemented as hardware, firmware, software, or any combination thereof.

Antenna mapping module106may refer to a component configured to select, from data divider104, one or more binary digits from each divided portion of the signal sequences, and map the selected binary digits to one of multiple combinations of transmitting antennae110. In some examples, the multiple combinations of transmitting antennae110may be a subset of all possible combinations of two of transmitting antennae110. For example, in a wireless communication system that includes four transmitting antennae, namely, transmitting antenna110A,110B,110C, and110D, the multiple combinations may only refer to four combinations of the total six possible combinations of two of the transmitting antennae, e.g., the combinations of antennae110A and110C, antennae110B and110D, antennae110A and110D, and antennae110B and110C. Further to the example, antenna mapping module106may select two binary digits from each divided portion of the signal sequences to map to one of the four combinations. In a non-limiting example, such mapping relationship may be shown in a part of a predetermined mapping table as shown below. The predetermined mapping table may be known to antenna mapping module106and modulation component108at the transmitting end of example system100and signal sequence estimator114at the receiving end thereof. The combination of antennae that corresponds to the two binary digits may be configured to transmit wireless signals when other antennae of transmitting antennae110are not selected. In accordance with various embodiments, antenna mapping module106may be implemented as hardware, firmware, software, or any combination thereof.

In a non-limiting example, when the portion of binary digits is 101001, the first two digits, i.e.,10, may be selected to map to one of the multiple combinations of transmitting antennae110. In accordance with the predetermined mapping table, the combination of antennae110A and110D may then be selected to transmit the remaining portion of binary digits, i.e., 1001.

Modulation component108may refer to a component that may be configured to modulate the remaining portion of binary digits, i.e.,1001, in accordance with a modulation scheme adopted by the wireless communication system, e.g., 4-PSK. That is, modulation component108may be configured to map the remaining portion of binary digits to one or more modulation symbols in accordance with the predetermined mapping table. A modulation symbol may refer to a waveform that persists for a fixed period of time and represents a number of binary digits. Further to the aforementioned non-limiting example, when the portion of binary digits is 101001, the last four binary digits, i.e.,1001, may be mapped to two modulation symbols respectively. That is, 10 may be mapped to symbol S2and 01 may be mapped to symbol S1. Thus, modulation symbols S2and S1may be transmitted by the combination of antennae110A and110D as identified above. More specifically, S2may be transmitted by antenna110A, and S1may be transmitted by antenna110D. In accordance with various embodiments, modulation component108may be implemented as hardware, firmware, software, or any combination thereof.

Transmitting antennae110may refer to multiple antennae configured to convert one or more modulation symbols into corresponding wireless signals in the form of electromagnetic waves and further transmit the wireless signals.

Receiving antennae112may refer to multiple antennae configured to receive the electromagnetic waves that carry the wireless signals and relay the wireless signals to signal sequence estimator114.

Signal sequence estimator114may refer to a component that may be configured to generate multiple groups of symbols based on the multiple combinations of transmitting antennae110, select one from the multiple groups of symbols, and produce the signal sequences based on the selected group of symbols in accordance with the predetermined mapping table. In various embodiments, signal sequence estimator114may be implemented as hardware, firmware, software, or any combination thereof.

That is, signal sequence estimator114may be configured to identify the multiple combinations of transmitting antennae110in accordance with the predetermined mapping table. As described above, in at least some examples, the multiple combinations of transmitting antennae110may be a subset of all possible combinations of transmitting antennae110. Since the transmitted wireless signals do not contain any information that identifies the combination of transmitting antennae110that actually transmitted the wireless signals, signal sequence estimator114may be configured to generate multiple groups of symbols based on each of the multiple combinations of transmitting antennae110. The process of generating the multiple groups of symbols is described further with respect toFIG. 2.

Further, signal sequence estimator114may be configured to calculate a value for each of the multiple groups of symbols. In at least some examples, the calculated value may be a Euclidean distance value or other types of distance values. Thus, signal sequence estimator114may be configured to select one group of symbols having the lowest calculated value from the multiple groups of symbols and to produce the signal sequence based on the selected group of symbols in accordance with the predetermined mapping table. The process of producing the signal sequence is described further with respect toFIG. 2.

Thus, example system100describes an SM-MIMO wireless communication system that may modulate the signal sequences with different combinations of transmitting antennae110and may estimate the signal sequences at the receiving end.

FIG. 2shows an example configuration of a signal estimator114by which signal sequence estimation in an SM-MIMO wireless communication system may be implemented, arranged in accordance with at least some embodiments described herein. As depicted, signal estimator114, described above with regard toFIG. 1, may include at least a symbol generator202, a distance calculator204, and a de-mapping module206.

Symbol generator202may refer to a component that may be configured to generate multiple groups of symbols that respectively correspond to one of the identified combinations of transmitting antennae110based on the condition of wireless channels and the received wireless signals. In some examples, the multiple groups of symbols may be generated in accordance with the formula {tilde over (x)}k=Q(((hk)Hhk+σ2I)−1(hk)Hy). In such formula, {tilde over (x)}krepresents a group of symbols that corresponds to one of the identified combinations of transmitting antennae110, Q represents one of the currently existing constellation demodulation functions, hkrepresents a portion of a channel matrix that corresponds to the combination of transmitting antennae110, σ2represents the variance of noise interference between transmitting antennae110and receiving antennae112, I represents an identity matrix, y represents the received wireless signals, and the superscript H represents a conjugate transposition of the matrix. In accordance with various embodiments, symbol generator202may be implemented as hardware, firmware, software, or any combination thereof.

In a non-limiting example, symbol generator202may be configured to generate a group of symbols that corresponds to the first combination of transmitting antennae110as identified in the aforementioned predetermined mapping table, namely, antennae110A and110C. Assuming the output of function Q is

(S2=1-iS1=-1+i),
the generated symbols for the first combination of transmitting antennae110may then be {tilde over (x)}1=(S2=1−i, 0, S1=−1+i, 0)T, the superscript T represents a transposition of the matrix. That is, it is estimated that antenna110A transmitted the symbol S2, antenna110C transmitted the symbol S1, and nothing was transmitted via antennae1106or110D. Symbols that correspond to other combinations of transmitting antennae110may be similarly generated.

Distance calculator204may refer to a component that may be configured to calculate a value, e.g., a Euclidean distance value, for each of the generated groups of symbols. The Euclidean distance value may be calculated in accordance with ∥y−H{tilde over (x)}k∥, in which H represents the aforementioned channel matrix. Further, distance calculator204may be configured to select one group of symbols that has a lowest distance value. In some examples, the selected group of symbols may be represented as {circumflex over (x)}=arg mink∥y−H{tilde over (x)}k∥. In accordance with various embodiments, distance calculator204may be implemented as hardware, firmware, software, or any combination thereof.

De-mapping module206may refer to a component that may be configured to produce the signal sequences based on the selected group of symbols in accordance with the predetermined mapping table. In a non-limiting example, assuming {tilde over (x)}1is selected as the group of symbols that have a lowest Euclidean distance value, de-mapping module206may determine that the first two binary digits of the signal sequence is 00 since {tilde over (x)}1indicates the first combination of transmitting antennae110. Further, since {tilde over (x)}1includes S2=1−i and S1=−1+i, de-mapping module206may determine the next four binary digits are 1001 in accordance with the predetermined mapping table. Thus, de-mapping module206may be configured to produce the original signal sequence, 101001, as generated by signal generator102.

Thus, example configuration200of signal sequence estimator114may produce the original signal sequence from the wireless signals received by receiving antennae112.

FIG. 3shows an example configuration300of a processing flow of operations by which signal sequence estimation in an SM-MIMO wireless communication system may be implemented, arranged in accordance with at least some embodiments described herein. As depicted, processing flow300may include sub-processes executed by various components that are part of example system100. However, processing flow300is not limited to such components, and modification may be made by re-ordering two or more of the sub-processes described here, eliminating at least one of the sub-processes, adding further sub-processes, substituting components, or even having various components assuming sub-processing roles accorded to other components in the following description. Processing flow300may include various operations, functions, or actions as illustrated by one or more of blocks302,304,306,308,310, and/or312. Processing may begin at block302.

Block302(Identify Antennae Combinations) may refer to symbol generator202identifying the multiple combinations of transmitting antennae110in accordance with the predetermined mapping table. As described above, in at least some examples, the multiple combinations of transmitting antennae110may be a subset of all possible combinations of transmitting antennae110. For example, in a wireless communication system that includes four transmitting antennae, namely, antenna110A,110B,110C, and110D, the multiple combinations may refer to only four combinations of the total six possible combinations of two of the transmitting antennae, e.g., the combinations of antennae1and3, antennae2and4, antennae1and4, and antennae2and3. Block302may be followed by block304.

Block304(Receive Wireless Signals) may refer to receiving antennae112receiving the electromagnetic waves that carry the wireless signals and relay the wireless signals to signal sequence estimator114. Block304may be followed by block306.

Block306(Generate Symbols) may refer to symbol generator202generating multiple groups of symbols that respectively correspond to one of the identified combinations of transmitting antennae110in accordance with the aforementioned formula {tilde over (x)}k=Q(((hk)Hhk+σ2I)−1(hk)Hy). In a non-limiting example, symbol generator202may be configured to generate a group of symbols that corresponds to the first combination of transmitting antennae110as identified in the aforementioned predetermined mapping table, namely, antennae110A and110C. Assuming the output of function Q is

(S2=1-iS1=-1+i),
the generated symbols for the first combination of transmitting antennae110may then be {tilde over (x)}1=(S2=1−i, 0, S1=−1+i, 0)T. That is, it is estimated that antenna110A transmitted the symbol S2, antenna110C transmitted the symbol S1, and nothing was transmitted via antennae110B and110D. Symbols that correspond to other combinations of transmitting antennae110may be similarly generated. Block306may be followed by block308.

Block308(Calculate Distance) may refer to distance calculator204calculating a value, e.g., a Euclidean distance value, for each of the generated groups of symbols. The Euclidean distance value may be calculated in accordance with ∥y−H{tilde over (x)}k∥, in which H represents the above mentioned channel matrix. Block308may be followed by block310.

Block310(Select Symbols) may refer to distance calculator204selecting one group of symbols that have a lowest distance value. In some examples, the selected group of symbols may be represented as {circumflex over (x)}=arg mink∥y−H{tilde over (x)}k∥. Block310may be followed by block312.

Block312(Produce Signal Sequences) may refer to de-mapping module206producing the signal sequences based on the selected group of symbols in accordance with the predetermined mapping table. In a non-limiting example, assuming {tilde over (x)}1is selected as the group of symbols that have a lowest Euclidean distance value, de-mapping module206may determine that the first two binary digits of the signal sequence is 00 since {tilde over (x)}1indicates the first combination of transmitting antennae110. Further, since {tilde over (x)}1includes S2=1−i and S1=−1+i, de-mapping module206may determine the next four binary digits are 1001 in accordance with the predetermined mapping table. Thus, de-mapping module206may be configured to produce the original signal sequence, 101001, as generated by signal generator102.

Thus, example configuration300of the processing flow of operations provides a method for detecting signal sequences at the receiving end of an SM-MIMO system.

FIG. 4shows a block diagram illustrating an example computing device that is arranged for signal sequence estimation, arranged in accordance with at least some embodiments described herein. In a very basic configuration402, computing device400typically includes one or more processors404and a system memory406. A memory bus408may be used for communicating between processor404and system memory406.

Depending on the desired configuration, processor404may be of any type including but not limited to a microprocessor (μP), a microcontroller (μC), a digital signal processor (DSP), or any combination thereof. Processor404may include one or more levels of caching, such as a level one cache410and a level two cache412, a processor core414, and registers416. An example processor core414may include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP Core), or any combination thereof. An example memory controller418may also be used with processor404, or in some implementations memory controller418may be an internal part of processor404.

Depending on the desired configuration, system memory406may be of any type including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.) or any combination thereof. System memory406may include an operating system420, one or more applications422, and program data424. Application422may include a signal sequence estimation algorithm426that is arranged to perform the functions as described herein including those described with respect toFIG. 3. Program data424may include signal sequence estimation data428that may be useful for operation with signal sequence estimation algorithm426as is described herein. In some embodiments, application422may be arranged to operate with program data424on operating system420such that implementations of signal sequence estimation may be provided as described herein. This described basic configuration402is illustrated inFIG. 4by those components within the inner dashed line.

Computing device400may have additional features or functionality, and additional interfaces to facilitate communications between basic configuration402and any required devices and interfaces. For example, a bus/interface controller430may be used to facilitate communications between basic configuration402and one or more data storage devices432via a storage interface bus434. Data storage devices432may be removable storage devices436, non-removable storage devices438, or a combination thereof. Examples of removable storage and non-removable storage devices include magnetic disk devices such as flexible disk drives and hard-disk drives (HDD), optical disk drives such as compact disk (CD) drives or digital versatile disk (DVD) drives, solid state drives (SSD), and tape drives to name a few. Example computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.

System memory406, removable storage devices436and non-removable storage devices438are examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which may be used to store the desired information and which may be accessed by computing device400. Any such computer storage media may be part of computing device400.

Computing device400may also include an interface bus440for facilitating communication from various interface devices (e.g., output devices442, peripheral interfaces444, and communication devices446) to basic configuration402via bus/interface controller430. Example output devices442include a graphics processing unit448and an audio processing unit450, which may be configured to communicate to various external devices such as a display or speakers via one or more A/V ports452. Example peripheral interfaces444include a serial interface controller454or a parallel interface controller456, which may be configured to communicate with external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device, etc.) or other peripheral devices (e.g., printer, scanner, etc.) via one or more I/O ports458. An example communication device446includes a network controller460, which may be arranged to facilitate communications with one or more other computing devices462over a network communication link via one or more communication ports464.

In an illustrative embodiment, any of the operations, processes, etc. described herein can be implemented as computer-readable instructions stored on a computer-readable medium. The computer-readable instructions can be executed by a processor of a mobile unit, a network element, and/or any other computing device.