Orthogonal modulation using M-sequences and Hadamard transforms

Methods, systems, and devices are described for orthogonal modulation of signals using maximal length sequences and Hadamard transforms. Modulation symbols to be transmitted are arranged into sequences indexed from 1 to 2n−1 for some integer n. A constant is added to the beginning of each sequence, which is then multiplied by a Hadamard matrix of size 2n×2n. The resulting sequences will be orthogonal and will have a first value of zero. The first value is discarded, and the sequence are reordered and associated with m-sequences. The signal is then transmitted. A cyclic prefix may also be transmitted. Upon receiving the transmission, a receiver may discard the cyclic prefix or use it for channel equalization. The receiver may then reorder the received signal, insert a zero, apply the 2n×2n Hadamard transform, discard the zero, and order the sequences again according to the index to retrieve the data.

BACKGROUND

The following relates generally to wireless communication, and more specifically to orthogonal modulation of signals using maximal length sequences (m-sequences) and Hadamard transforms. Wireless communications systems are widely deployed to provide various types of communication content such as voice, video, packet data, messaging, broadcast, and so on. These systems may be multiple-access systems capable of supporting communication with multiple users by sharing the available system resources (e.g., time, frequency, and power). Examples of such multiple-access systems include code-division multiple access (CDMA) systems, time-division multiple access (TDMA) systems, frequency-division multiple access (FDMA) systems, and orthogonal frequency-division multiple access (OFDMA) systems. The following description may be used in conjunction with one of these technologies, or it may be used in a new system. A wireless system using these techniques may be referred to as orthogonal sequence division multiple access (OSDMA).

Generally, a wireless multiple-access communications system may include a number of base stations, each simultaneously supporting communication for multiple mobile devices. Base stations may communicate with mobile devices on downstream and upstream links. Each base station has a coverage range, which may be referred to as the coverage area of the cell. In some cases, a base station may transmit data to more than one mobile device at a time. A base station may also receive data from more than one mobile device. This may result in interference between communications with the different mobile devices. Interference may also arise when transmissions take more than one path to a receiver. Multipath propagation may result in a delayed and/or distorted version of a signal interfering with the signal that arrives via the most direct path. Communication between a base station and a mobile device may be one directional (e.g., broadcasting information from a base station to a mobile device) or two-directional (e.g., transmitting information back and forth between a base station and a mobile device).

In some cases, data may be processed so that different communication channels or different devices use orthogonal resources to reduce interference. The amount of processing power required may depend on the method used to transform the signal. For example, OFDMA systems apply a Fourier transform to create signals using orthogonal frequency resources. A fast Fourier transform (FFT) processor may perform on the order of N·log N multiplication operations to transform a modulation symbol consisting of N elements. A cyclic prefix may be appended to the signal to reduce inter-symbol interference (ISI) due to multipath propagation. Alternatively, a fast Hadamard transform (FHT) may be used to generate a signal consisting of orthogonal sequences. An FHT processor may transform a signal of size N using on the order of N·log N addition or subtraction operations, which may be more efficient than using multiplication operations. However, using an FHT produces a signal that may not be compatible with the use of a cyclic prefix, and may not have desirable cross-correlation and auto-correlation properties.

SUMMARY

The described features generally relate to one or more improved systems, methods, and/or apparatuses for orthogonal modulation of signals using maximal length sequences and Hadamard transforms. Modulation symbols to be transmitted are arranged into sequences indexed from 1 to 2n−1 for some integer n. A constant is added to the beginning of each sequence, which is then multiplied by a Hadamard matrix of size 2n×2n. The resulting sequences will be orthogonal and will have a first value of zero. The first value is discarded, and the sequences are reordered and associated with m-sequences. The signal is then transmitted. A cyclic prefix may also be transmitted. Upon receiving the transmission, a receiver may discard the cyclic prefix or use it for channel equalization. The receiver then reorders the received signal, inserts a zero, applies the Hadamard transform and reorders the sequences again to retrieve the data. A pilot signal may also be transmitted along with the data for use in channel estimation.

A method of communication using orthogonal modulation is described, comprising: associating a set of data with an ordered set of sequences to produce a first set of modulation sequences; appending a constant to each sequence in the first set of modulation sequences to produce a second set of modulation sequences; associating each of the second set of modulation sequences with a set of orthogonal sequences to produce a third set of modulation sequences; discarding an element of each sequence in the third set of modulation sequences and associating the remaining elements of each sequence in the third set of modulation sequences with a sequence from a set of pseudorandom binary sequences to produce a fourth set of modulation sequences; and transmitting a signal comprising the fourth set of modulation sequences.

An apparatus for communication using orthogonal modulation is also described, comprising: means for associating a set of data with an ordered set of sequences to produce a first set of modulation sequences; means for appending a constant to each sequence in the first set of modulation sequences to produce a second set of modulation sequences; means for associating each of the second set of modulation sequences with a set of orthogonal sequences to produce a third set of modulation sequences; discarding an element of each sequence in the third set of modulation sequences and means for associating the remaining elements of each sequence in the third set of modulation sequences with a sequence from a set of pseudorandom binary sequences to produce a fourth set of modulation sequences; and means for transmitting a signal comprising the fourth set of modulation sequences.

Another apparatus for communication using orthogonal modulation is also described, comprising: a processor; memory in electronic communication with the processor; and instructions stored in the memory, the instructions being executable by the processor to: associate a set of data with an ordered set of sequences to produce a first set of modulation sequences; append a constant to each sequence in the first set of modulation sequences to produce a second set of modulation sequences; associate each of the second set of modulation sequences with a set of orthogonal sequences to produce a third set of modulation sequences; discard an element of each sequence in the third set of modulation sequences and associate the remaining elements of each sequence in the third set of modulation sequences with a sequence from a set of pseudorandom binary sequences to produce a fourth set of modulation sequences; and transmit a signal comprising the fourth set of modulation sequences.

A computer program product for communication using orthogonal modulation is also described, the computer program product comprising a non-transitory computer-readable medium storing instructions executable by a processor to: associate a set of data with an ordered set of sequences to produce a first set of modulation sequences; append a constant to each sequence in the first set of modulation sequences to produce a second set of modulation sequences; associate each of the second set of modulation sequences with a set of orthogonal sequences to produce a third set of modulation sequences; discard an element of each sequence in the third set of modulation sequences and associate the remaining elements of each sequence in the third set of modulation sequences with a sequence from a set of pseudorandom binary sequences to produce a fourth set of modulation sequences; and transmit a signal comprising the fourth set of modulation sequences.

A method, apparatus, and computer program product above are also described, further comprising: applying a Hadamard transform to each of the second set of modulation sequences to produce the third set of modulation sequences. In some cases, each sequence in the ordered set of sequences has a same number of elements. In some cases the set of pseudorandom binary sequences comprises a set of cyclic shift invariant sequences. In somecases, the set of pseudorandom binary sequences comprises a set of maximal length sequences. In some cases the transmitted signal comprises at least one cyclic prefix. In some cases the transmitted signal comprises a pilot signal. In some cases each sequence in the ordered set of sequences comprises a number of elements equal to one less than a power of two. In some cases the transmitted signal is a broadcast signal.

A method, apparatus, and computer program product above are also described, further comprising: transmitting the pilot signal at an offset for channel estimation. A method, apparatus, and computer program product above are also described, further comprising: transmitting the signal using more than one antenna.

A method of communication using orthogonal modulation is described, comprising: receiving a signal comprising a first set of modulation sequences that correspond with a set of pseudorandom binary sequences; appending a constant to each sequence in the first set of modulation sequences to produce a second set of modulation sequences; associating each of the second set of modulation sequences with a set of orthogonal sequences to produce a third set of modulation sequences; discarding an element of each sequence in the third set of modulation sequences to produce a fourth set of modulation sequences; and retrieving a set of data associated with the fourth set of modulation sequences.

An apparatus for communication using orthogonal modulation is described, comprising: means for receiving a signal comprising a first set of modulation sequences that correspond with a set of pseudorandom binary sequences; means for appending a constant to each sequence in the first set of modulation sequences to produce a second set of modulation sequences; means for associating each of the second set of modulation sequences with a set of orthogonal sequences to produce a third set of modulation sequences; means for discarding an element of each sequence in the third set of modulation sequences to produce a fourth set of modulation sequences; and means for retrieving a set of data associated with the fourth set of modulation sequences.

Another apparatus for communication using orthogonal modulation is described, comprising: a processor; memory in electronic communication with the processor; and instructions stored in the memory, the instructions being executable by the processor to: receive a signal comprising a first set of modulation sequences that correspond with a set of pseudorandom binary sequences; append a constant to each sequence in the first set of modulation sequences to produce a second set of modulation sequences; associate each of the second set of modulation sequences with a set of orthogonal sequences to produce a third set of modulation sequences; discard an element of each sequence in the third set of modulation sequences to produce a fourth set of modulation sequences; and retrieve a set of data associated with the fourth set of modulation sequences.

A computer program product for communication using orthogonal modulation is described, the computer program product comprising a non-transitory computer-readable medium storing instructions executable by a processor to: receive a signal comprising a first set of modulation sequences that correspond with a set of pseudorandom binary sequences; append a constant to each sequence in the first set of modulation sequences to produce a second set of modulation sequences; associate each of the second set of modulation sequences with a set of orthogonal sequences to produce a third set of modulation sequences; discard an element of each sequence in the third set of modulation sequences to produce a fourth set of modulation sequences; and retrieve a set of data associated with the fourth set of modulation sequences.

The method, apparatus and computer program product above are described, further comprising: applying a Hadamard transform to each of the second set of modulation sequences to produce the third set of modulation sequences. In some cases the set of pseudorandom binary sequences comprises a set of cyclic shift invariant sequences. In some cases the set of pseudorandom binary sequences comprises a set of maximal length sequences. In some cases the received signal comprises at least one cyclic prefix. In some cases the signal is received using more than one antenna. In some cases the received signal comprises a pilot signal. In some cases the received signal is a broadcast signal.

The method, apparatus, and computer program above are described, further comprising: discarding the at least one cyclic prefix. The method, apparatus, and computer program above are described, further comprising: estimating channel quality using the pilot signal. The method, apparatus, and computer program above are described, further comprising: applying frequency equalization using the pilot signal. In some cases applying frequency equalization comprises using a circulant matrix.

DETAILED DESCRIPTION

Transmitting data associated with m-sequences may result in better cross-correlation and auto-correlation properties in the presence of multipath propagation than using the orthogonal sequences of a Hadamard matrix. Processing the data with the Hadamard matrix may enable efficient transmission and data retrieval. Using both m-sequences and the Hadamard transform may enable a reduction in the complexity of the transmitter and/or receiver and an improved signal to noise ratio.

There is a one-to-one correspondence between Walsh sequences, which form the rows of the Hadamard matrices, and time shifts of m-sequences. Time shifts of the m-sequences may be used in a manner similar to how tones, or subcarriers, are used to differentiate different data channels. By reordering the received m-sequences, the Hadamard transform may be used to recover the data. Pilot signals, cyclic prefixes and/or guard shifts may be used to allow channel estimation.

Hadamard sequences (or Walsh sequences) are orthogonal, but m-sequences are not orthogonal. Also, m-sequences have one fewer element than the associated Walsh sequences. To preserve the correspondence between an m-sequence of length 2n−1 and the Hadamard/Walsh sequence, the first value (sometimes referred to as the DC value) of the Hadamard sequence may be discarded before transmission. Orthogonality may be preserved if the discarded DC value of the transmitted signal is zero. The same DC value can be prepended at the receiver.

Referring first toFIG. 1, a diagram illustrates an example of a wireless communications system100. The system100includes base stations (or cells)105, communication devices115, and a core network130. The base stations105may communicate with the communication devices115under the control of a base station controller (not shown), which may be part of the core network130or the base stations105in various embodiments. Base stations105may communicate control information and/or user data with the core network130through backhaul links132. In embodiments, the base stations105may communicate, either directly or indirectly, with each other over backhaul links134, which may be wired or wireless communication links. The system100may support operation on multiple carriers (waveform signals of different frequencies). Multi-carrier transmitters can transmit modulated signals simultaneously on the multiple carriers. For example, each communication link125may be a multi-carrier signal modulated according to the various radio technologies described above. Each modulated signal may be sent on a different carrier and may carry control information (e.g., reference signals, control channels, etc.), overhead information, data, etc.

In some cases, the communication links125may experience interference due to transmission of signals to other communication devices115, to naturally occurring noise, or due to propagation of wireless signals along more than one path. An example of a cause of multipath propagation may include signals reflected off buildings and other structures.

The base stations105may wirelessly communicate with the devices115via one or more base station antennas. The antennas may transmit waveforms that carry information according to a modulation and coding scheme (MCS). The MCS may include, or may be in addition to processing according to one or more mathematical transformations in accordance with the present invention. For example, the data may be sequenced and processed according to a Hadamard transformation.

In embodiments, the system100may include one or more aspects of an LTE/LTE-A network. In LTE/LTE-A networks, the terms evolved Node B (eNB) and user equipment (UE) may be generally used to describe the base stations105and devices115, respectively.

The core network130may communicate with the base stations105via a backhaul132(e.g., S1, etc.). The base stations105may also communicate with one another, e.g., directly or indirectly via backhaul links134(e.g., X2, etc.) and/or via backhaul links132(e.g., through core network130). The wireless system100may support synchronous or asynchronous operation. For synchronous operation, the base stations105(or eNBs) may have similar frame timing, and transmissions from different eNBs may be approximately aligned in time. For asynchronous operation, the eNBs may have different frame timing, and transmissions from different eNBs may not be aligned in time. The techniques described herein may be used for either synchronous or asynchronous operations.

The UEs115are dispersed throughout the wireless system100, and each UE may be stationary or mobile. A UE115may also be referred to by those skilled in the art as a mobile station, a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communications device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a user agent, a mobile client, a client, or some other suitable terminology. A UE115may be a cellular phone, a personal digital assistant (PDA), a wireless modem, a wireless communication device, a handheld device, a tablet computer, a laptop computer, a cordless phone, a wireless local loop (WLL) station, or the like. A UE may be able to communicate with macro eNBs, pico eNBs, femto eNBs, relays, and the like.

The communication links125shown in wireless system100may include uplink (UL) transmissions from a communication device115to a base station105, and/or downlink (DL) transmissions, from a base station105to a communication device115. The downlink transmissions may also be called forward link transmissions while the uplink transmissions may also be called reverse link transmissions.

Turning next toFIG. 2, a block diagram200illustrates a device220for communication using orthogonal modulation in accordance with various embodiments. The device220may be an example of one or more aspects of a UE115or base station105described with reference toFIG. 1. The device220may include a receiver205, a signal processing module210, and/or a transmitter215. The device220may also include a processor (not shown). Each of these components may be in communication with each other.

The receiver205may receive information such as packets, user data, and/or control information including synchronization and pilot signals. It may also be means for receiving a signal comprising a set of modulation sequences that correspond with a set of pseudorandom binary sequences. In some cases, the received signal may be a broadcast signal. In other cases, it may be a unicast signal. In some cases, the information is received using more than one antenna associated with the receiver205. The information may be passed on to the signal processing module210, and to other components of the device220. The receiver205may include a single antenna, or it may include a plurality of antennas.

The signal processing module210may be means for appending a constant to each sequence in a set of modulation sequences, associating each of the modulation sequences with a set of orthogonal sequences, discarding an element of each sequence and then associating the remaining elements of each sequence with a sequence from a set of pseudorandom binary sequences. In one embodiment, the signal processing module applies a Hadamard transform to the set of modulation. Information and instructions may then be passed to a processor (not shown), the receiver205, the transmitter215, or other components of the device220.

The transmitter215may be means for transmitting a signal comprising a set of modulation sequences. It may transmit the one or more signals received from the signal processing module210or other components of the device220. In some embodiments, the transmitter215may be collocated with the receiver in a transceiver module (not shown). The transmitter215may include a single antenna, or it may include a plurality of antennas. The transmitter215may also be means for transmitting the pilot signal at an offset for channel estimation.

Turning next toFIG. 3, a block diagram300illustrates a device220-afor transmitting using orthogonal modulation in accordance with various embodiments. The device220-amay be an example of one or more aspects of a UE115or base station105described with reference toFIG. 1. The components of device220-amay also be an example of the components of device220with reference toFIG. 2. The device220-amay include a receiver205-a, a signal processing module210-a, and/or a transmitter215-a. The signal processing module210-amay include a data sequencing module305, an appending module310, an orthogonal sequence module315, a discarding module320, and a pseudorandom binary sequence (PBS) module325. The device220-amay also include a processor (not shown). Each of these components may be in communication with each other. The receiver205-a, signal processing module210-a, and transmitter215-amay perform the functions of the corresponding modules210ofFIG. 2.

The data sequencing module305may be means for associating a set of data with an ordered set of sequences to produce a first set of modulation sequences. In some cases, the data sequences will all have the same length. In some cases, they may be binary sequences. In one embodiment, the modulation sequences may have length 2n−1, for a positive integer n.

The appending module310may be means for appending a constant to each sequence in the first set of modulation sequences to produce a second set of modulation sequences. In one embodiment, this results in sequences of length 2n.

The orthogonal sequence module315may be means for associating each of the second set of modulation sequences with a set of orthogonal sequences to produce a third set of modulation sequences. In one embodiment, the orthogonal sequence module315may apply a Hadamard transform to each of the second set of modulation sequences to produce the third set of modulation sequences. Hadamard matrices may be of size 2n×2n, with orthogonal rows of size 2n. Hadamard matrices may have elements of value 1 or −1. Walsh sequences may be obtained from the rows of the Hadamard matrix by replacing each value of 1 with a 0, and replacing any value of −1 with a 1. For example, Table 1 below shows the list of 8 (23) Walsh sequences with 8 elements each. They are ordered according to the 8 3-bit ordering “masks”.

The discarding module320may be means for discarding an element of each sequence in the third set of modulation sequences to produce a fourth set of modulation sequences.

The PBS module325may be means for associating the remaining elements of each sequence in the third set of modulation sequences with a sequence from a set of pseudorandom binary sequences to produce a fourth set of modulation sequences (PBSs). The PBSs may be invariant with respect to cyclic shifts. In one embodiment, the PBSs are maximal length sequences (m-sequences). In other embodiments, the sequences may be Gold sequences, Kasami sequences, or other related sequences that have desirable correlation properties.

As an example, Table 2 below illustrates a set of seven (23−1) m-sequence time shift states that include all possible 3-bit values (except 000), but are arranged in a different order:

The m-sequences of Table 2 are obtained by applying the xor operation of the bits in the state and a mask that can be any nonzero 3-bit number. The seven possible 3-bit masks produce the 7 possible time shifts of the m-sequence.

Table 3 represents the 7 m-sequences that arise from the 7 time-shift values in Table 1. The values in Table 2 are ordered according to the binary value of the mask, but the offset order from Table 1 is listed in the right-hand column:

The relationship between the sequences may be determined by forming a matrix C containing the bits of “count” and a matrix S containing the bits of “state”. A Boolean matrix P may be formed which reorders the rows of S to produce C:
PS=C  (1)

Both sides of this equation may be multiplied by the mask vector {right arrow over (m)} to get:
PS{right arrow over (m)}=C{right arrow over (m)},  (2)
which equals the Walsh sequence for mask {right arrow over (m)}, minus the initial zero. Adding the initial zero and converting zeroes to ones and ones to negative ones, the Hadamard transform of the result revealsm.

As an example, for the m-sequences above we may produce the matrix

P=[1000000010000000010000010000000000100001000000010],(3)
In the case that {right arrow over (m)}=011, multiplying by S gives
S{right arrow over (m)}=[1100101]T,  (4)
and multiplying by P gives
PS{right arrow over (m)}=[1100110]T,  (5)
Adding the initial 0 gives [01100110]T, which is equal to the Walsh function generated by {right arrow over (m)}. The Hadamard sequence is [1 −1 −1 1 1 −1 −1 1]. The associated Hadamard transform is [0 0 0 8 0 0 0 0].

Thus, for up to 2n−1 complex modulation symbols (e.g. QPSK, QAM), indexed by i from 1 to 2n−1, multiply by the Hadamard sequence for mask i and sum. This may preserve orthogonality at the receiver. In some cases, encoding with Walsh-Hadamard sequences may include associating nonzero indices with the modulation symbols. The value assigned to the zero index may be used to remove the DC value. In some cases, another method of removing the DC value may be used. For example, a set of indices may be selected such that the sum of the values becomes zero.

A fast Hadamard transform (FHT) may be used to generate the result by prepending a zero, reordering the samples from 1 to 2n−1 using the inverse matrix P−1. Since the first element of the FHT is zero it doesn't need to be transmitted. In one embodiment, at least one cyclic prefix is added by taking, for example, the last N reordered samples and repeating them prior to the start of the symbol. Transmission may be accomplished in coordination with transmitter215-aand other components of the device220-a.

Turning next toFIG. 4, a block diagram400illustrates a device220-bfor receiving transmissions using orthogonal modulation in accordance with various embodiments. The device220-amay be an example of one or more aspects of a UE115or base station105described with reference toFIG. 1. The components of device220-bmay also be an example of the components of device220with reference toFIG. 2and/orFIG. 3. The device220-bmay include a receiver205-b, a signal processing module210-b, and/or a transmitter215-b. The signal processing module210-bmay include a reordering module405, an appending module410, an orthogonal sequence module415, a discarding module420, and a data retrieval module425. The device220-bmay also include a processor (not shown). Each of these components may be in communication with each other. The receiver205-b, signal processing module210-b, and transmitter215-bmay perform the functions of the corresponding modules210ofFIG. 2. They may also perform some or all of the functions of device220-aofFIG. 3.

The reordering module405may reorder a set of received data sequences to associate from the PBS sequence ordering to the Walsh/Hadamard ordering. This may be done according to the inverse of the process described above with reference to PBS module325. For example, the matrix P may be used. In one embodiment, the received signal may be composed of m-sequences. The length of the sequences may be 2n−1 for some positive integer n.

The appending module410may be means for appending a constant to each sequence in the first set of modulation sequences to produce a second set of modulation sequences. In one embodiment, the constant that is appended to each sequence is a zero. This may result in a set of sequences of length 2n. In some cases, a cyclic prefix is received and discarded prior to reordering the sequences.

The orthogonal sequence module415may be means for associating each of the second set of modulation sequences with a set of orthogonal sequences to produce a third set of modulation sequences. In one embodiment, the module415may be means for applying a Hadamard transform to each of the second set of modulation sequences to produce the third set of modulation sequences. This may be done according to the process described above with reference to the orthogonal sequence module315.

The discarding module420may be means for discarding an element of each sequence in the third set of modulation sequences to produce a fourth set of modulation sequences. In one embodiment, this may result in a new set of sequences of length 2n−1.

The data retrieval module425may be means for retrieving a set of data associated with the fourth set of modulation sequences. Information and instructions may then be passed to a processor (not shown), the receiver205-b, the transmitter215-b, or other components of the device220-b.

Next,FIG. 5shows a block diagram of an example system500configured for communication using orthogonal modulation in accordance with various embodiments. This system500may be an example of aspects of the system100depicted inFIG. 1. The system500includes an base station105-cconfigured for communication with UEs115over wireless communication links125. The base station105-amay be capable of receiving communication links125from other base stations (not shown). The base station105-amay be, for example, a base station105as illustrated inFIG. 1. It may also be an example of device220in the embodiments of devices220-aand/or220-bwith reference toFIGS. 2-4.

The base station105-amay also include a signal processing module210-cthat may be configured according to the signal processing module210,210-a, and/or210-bofFIGS. 2-4. The signal processing module210-cmay be used to process data to be transmitted to a UE115-a, or received from the UE115-a. It may process data in coordination with the processor module510, the transceiver module2525and other components of base station105-a.

The base station105-amay also include a channel quality module540that may be used to estimate the quality of a transmission link125with UE115-a. Channel estimation may involve receiving a constant modulation value for some offset (e.g., 0). This may be a pilot signal. The modulation values may be zero for all indices whose time shifts are N before and N after the pilot, for some pre-determined value N. This ensures that the N offsets following the pilot only contain multipath delays of the pilot. The offset may be time-reversed, so that a channel delay results in an earlier shift of a data sequence.

The base station105-amay also include an equalization module545. The equalization module545may be means for equalizing received channels. Based on the cyclic prefix, a multipath delay may have the effect of multiplying the transmit signal by a circulant matrix M:
r=Mx+n(6)
If the delay is nonzero and of length <N, M may have column rank at least the dimension of M, minus N−1. If the last N offsets are spaced with a guard, the last N−1 columns of M may be irrelevant. If L is defined as all but the last N−1 columns of M, then a least-squares estimate of the transmitted signal may be given by:
{circumflex over (x)}=(LHL)−1LHr(7)

The circulant matrix M may be generated by the equalization module545in coordination with the channel quality module540. The channel quality module may may estimate one or more multipath delay parameters based on receiving one or more delayed pilot signals with different received power. These parameters may be used to generate M. A guard space between the pilot signal and the data signal may be used to prevent the delayed pilot signals from interfering with the modulation symbols and vice versa.

In some cases, the base station105-amay have one or more wired backhaul links. The base station105-amay be, for example, a macro eNB105having a wired backhaul link (e.g., S1 interface, etc.) to the core network130-a. The base station105-amay also communicate with other base stations105, such as base station105-mand base station105-nvia inter-base station communication links (e.g., X2 interface, etc.). Each of the base stations105may communicate with UEs115using the same or different wireless communications technologies. In some cases, base station105-amay communicate with other base stations such as105-mand/or105-nutilizing base station communication module555. In some embodiments, base station communication module555may provide an X2 interface within an LTE/LTE-A wireless communication network technology to provide communication between some of the base stations105. In some embodiments, base station105-amay communicate with other base stations through core network130-a. In some cases, the base station105-amay communicate with the core network130-athrough network communications module535.

The base station105-amay include antennas530, transceiver modules525, a processor module510, and memory515(including software (SW)520), and which each may be in communication, directly or indirectly, with each other (e.g., over bus system505). The transceiver modules525may be configured to communicate bi-directionally, via the antennas530, with the UEs115. The transceiver module525(and/or other components of the base station105-a) may also be configured to communicate bi-directionally, via the antennas530, with one or more other base stations (not shown). The transceiver module525may include a modem configured to modulate the packets and provide the modulated packets to the antennas530for transmission, and to demodulate packets received from the antennas530. The modulation and/or demodulation may be done in coordination with the signal processing module210-c. The base station105-cmay include multiple transceiver modules525, each with one or more associated antennas530. The transceiver module may incorporate aspects of the receiver205and/or transmitter215with reference toFIGS. 2-4.

The memory515may include random access memory (RAM) and read-only memory (ROM). The memory515may also store computer-readable, computer-executable software code520containing instructions that are configured to, when executed, cause the processor module510to perform various functions described herein (e.g., signal processing, call processing, database management, message routing, etc.). Alternatively, the software520may not be directly executable by the processor module510but be configured to cause the computer, e.g., when compiled and executed, to perform functions described herein.

The processor module510may include an intelligent hardware device, e.g., a central processing unit (CPU), a microcontroller, an application-specific integrated circuit (ASIC), etc. The processor module510may include various special purpose processors such as encoders, queue processing modules, base band processors, radio head controllers, digital signal processors (DSPs), and the like.

According to the architecture ofFIG. 5, the base station105-amay further include a communications management module550. The communications management module550may manage communications with other base stations105. The communications management module may include a controller and/or scheduler for controlling communications with UEs115in cooperation with other base stations105. For example, the communications management module550may perform scheduling for transmissions to UEs115and/or various interference mitigation techniques such as beamforming and/or joint transmission.

Turning next toFIG. 6, which shows a block diagram600of an example UE115-bconfigured for communication using orthogonal modulation in accordance with various embodiments. The UE115-bmay have an internal power supply (not shown), such as a small battery, to facilitate mobile operation. In some embodiments, the UE115-bmay be an example of the UEs115ofFIG. 1and/or devices220,220-aand220-bofFIGS. 2-4.

The UE115-bmay generally include components for bi-directional voice and data communications including components for transmitting communications and components for receiving communications. The UE115-bmay include antenna(s)630, a transceiver module625, a processor module610, and memory615(including software (SW)620), which each may communicate, directly or indirectly, with each other (e.g., via one or more buses605). The transceiver module625may be configured to communicate bi-directionally, via the antenna(s)630and/or one or more wired or wireless links, with one or more networks, as described above. For example, the transceiver module625may be configured to communicate bi-directionally with base stations105ofFIG. 1. The transceiver module625may include a modem configured to modulate the packets and provide the modulated packets to the antenna(s)630for transmission, and to demodulate packets received from the antenna(s)630. While the UE115-bmay include a single antenna630, the UE115-bmay have multiple antennas630capable of concurrently transmitting and/or receiving multiple wireless transmissions. The transceiver module625may be capable of concurrently communicating with multiple base stations105via multiple component carriers.

The UE115-bmay also include a channel quality module635that may be used to estimate the quality of a transmission link125with base station105-b. Channel estimation may involve receiving a constant modulation value for some offset (e.g.,0). This may be a pilot signal. The modulation values may be zero for all indices whose time shifts are N before and N after the pilot, for some pre-determined value N. This ensures that the N offsets following the pilot only contain multipath delays of the pilot. The offset may be time-reversed, so that a channel delay results in an earlier shift of a data sequence.

The UE115-bmay also include an equalization module640. The equalization module640may be means for equalizing received channels. Based on the cyclic prefix, a multipath delay may have the effect of multiplying the transmit signal by a circulant matrix M according to Equation 6 above. If the delay is nonzero and of length <N, M may have column rank at least the dimension of M, minus N−1. If the last N offsets are spaced with a guard, the last N−1 columns of M may be irrelevant. If L is defined as all but the last N−1 columns of M, then a least-squares estimate of the transmitted signal may be given by Equation 7.

The memory615may include random access memory (RAM) and read-only memory (ROM). The memory615may store computer-readable, computer-executable software/firmware code620containing instructions that are configured to, when executed, cause the processor module610to perform various functions described herein (e.g., call processing, database management, capture of handover delay, etc.). Alternatively, the software/firmware code620may not be directly executable by the processor module610but be configured to cause a computer (e.g., when compiled and executed) to perform functions described herein.

The processor module610may include an intelligent hardware device, e.g., a central processing unit (CPU), a microcontroller, an application-specific integrated circuit (ASIC), etc. The UE115-bmay include a speech encoder (not shown) configured to receive audio via a microphone, convert the audio into packets (e.g., 20 ms in length, 30 ms in length, etc.) representative of the received audio, provide the audio packets to the transceiver module625, and provide indications of whether a user is speaking.

According to the architecture ofFIG. 6, the UE115-bmay further include a signal processing module210-d. Alternatively, functionality of these modules may be implemented as a component of the transceiver module625, as a computer program product, and/or as one or more controller elements of the processor module610.

Turning next toFIG. 7, a diagram700illustrates an example of a transmission including a pilot signal705in accordance with various embodiments. It also shows guard bands710-aand710-bplaced before and after the data transmission715. In some cases, a cyclic prefix is transmitted in the space occupied by the guard bands710-aand/or710-b. The pilot signal may be transmitted at an offset from the data sequence. For example, diagram700shows the pilot signal transmitted at a time offset labeled0. The offset may correspond to the length of the guard bands710-aand710-b. In one embodiment, a cyclic prefix is transmitted in the guard bands710-aand/or710-b. In this case, the offset may correspond to the length of the cyclic prefix. In some cases, diagram700may represent the transmission of a data sequence and a pilot signal without multipath propagation. In another case, diagram700may represent a received signal that has been equalized to compensate for multipath propagation.

Turning next toFIG. 8, a diagram800illustrates an example of a transmission with multipath delay in accordance with various embodiments. A pilot signal805is received in addition to data sequence815. Due to the multipath delay, copies810-aand810-bof the pilot signal may be received subsequent to receiving the pilot signal805that arrived via the most direct path. For example, pilot signal805may be transmitted via line of sight, and copies810-aand810-bmay be received after being reflected off of a building. Due to the multipath propagation, the data sequence815may be distorted. For example, delayed symbols may interfere with symbols transmitted earlier but which arrive at the receiver at the same time as the delayed symbols.

In some cases, the time delay between the reception of the pilot signal805and the delayed copies810-aand810-bmay be used by an equalization module640, or another component of a device receiving the transmission to estimate and compensate for the multipath propagation. After equalization, the data sequence815may be equalized to appear as if there were no multipath propagation as inFIG. 7, or to achieve other desired channel qualities.

Turning next toFIG. 9, a flowchart900illustrates a method for transmission using orthogonal modulation in accordance with various embodiments. The processes described by flowchart900may be carried out by components of a base station105, a UE115, and/or a device220with reference toFIGS. 1-6.

At block905, the data sequencing module305may associate a set of data with an ordered set of sequences to produce a first set of modulation sequences. The association may include applying a modulation scheme such as quadrature phase-shift keying (QPSK), quadrature amplitude modulation (QAM) or another modulation scheme. Each sequence in the ordered set of sequences may have the same number of elements. In one embodiment, the sequences have 2n−1 elements for some positive integer n.

At block910, the appending module310may append a constant to each sequence in the first set of modulation sequences to produce a second set of modulation sequences. In an embodiment, the resulting sequences may then have 2nelements.

At block915, the orthogonal sequence module315may associate each of the second set of modulation sequences with a set of orthogonal sequences to produce a third set of modulation sequences. In one embodiment, the orthogonal sequence module315may apply a Hadamard transform to each of the second set of modulation sequences to produce the third set of modulation sequences.

At block920, the discarding module320may discard an element of each sequence in the third set of modulation sequences. In one embodiment, the sequences will have 2n−1 elements again after this element is discarded. The discarded element may be constant for all of the sequences. For example, an amplitude value of zero at the beginning of each sequence may be discarded.

At block925, the PBS module325may associate the remaining elements of each sequence in the third set of modulation sequences with a sequence from a set of pseudorandom binary sequences to produce a fourth set of modulation sequences. The set of pseudorandom binary sequences may comprise a set of cyclic shift invariant sequences. In one embodiment, the set of pseudorandom binary sequences comprises a set of maximal length sequences.

At block930, the transmitter215may transmit a signal comprising the fourth set of modulation sequences. In some cases, the transmitted signal may be a broadcast signal. In some cases, the signal is transmitted using more than one antenna.

Turning next toFIG. 10, a flowchart1000illustrates a method for transmission using orthogonal modulation in accordance with various embodiments. The processes described by flowchart1000may be carried out by components of a base station105, a UE115, and/or a device220with reference toFIGS. 1-6. The processes of flowchart1000may also incorporate aspects of the corresponding processes from flowchart900ofFIG. 9.

At block1005, the data sequencing module305may associate a set of data with an ordered set of sequences to produce a first set of modulation sequences. This may include the use of a modulation scheme such as QPSK, QAM, or some other modulation scheme. At block1010, the appending module310may append a constant to each sequence in the first set of modulation sequences to produce a second set of modulation sequences. At block1015, the orthogonal sequence module315may associate each of the second set of modulation sequences with a set of orthogonal sequences to produce a third set of modulation sequences. At block1020, the discarding module320may discard an element of each sequence in the third set of modulation sequences. At block1025, the PBS module325may associate the remaining elements of each sequence in the third set of modulation sequences with a sequence from a set of pseudorandom binary sequences to produce a fourth set of modulation sequences. At block1030, the transmitter215may transmit a signal comprising the fourth set of modulation sequences.

At block1035, the transmitter215may transmit a pilot signal and/or a cyclic prefix. In some cases, the pilot signal may be configured for channel estimation, and may be transmitted at an offset. The offset may be based at least in part on the length of the cyclic prefix, a length determined by a guard band between transmissions, or both.

Turning next toFIG. 11, a flowchart1100illustrates a method for receiving communication using orthogonal modulation in accordance with various embodiments. The processes described by flowchart1100may be carried out by components of a base station105, a UE115, and/or a device220with reference toFIGS. 1-6.

At block1105, the receiver205may receive a signal comprising a first set of modulation sequences that correspond with a set of pseudorandom binary sequences. In one embodiment, the sequences are maximal length sequences. The sequences may then be reordered by reordering module405. Each sequence in the reordered set of sequences may have the same number of elements. In one embodiment, the sequences have 2n−1 elements for some positive integer n. In some cases the signal is received using more than one antenna. The signal may be a broadcast signal, or it may be a signal directed to a specific user.

At block1110, the appending module410may append a constant to each sequence in the first set of modulation sequences to produce a second set of modulation sequences. In an embodiment, the resulting sequences may then have 2nelements.

At block1115, the orthogonal sequence module415may associate each of the second set of modulation sequences with a set of orthogonal sequences to produce a third set of modulation sequences. In one embodiment, the orthogonal sequence module415may apply a Hadamard transform to each of the second set of modulation sequences to produce the third set of modulation sequences.

At block1120, the discarding module420may discard an element of each sequence in the third set of modulation sequences to produce a fourth set of modulation sequences. At block1125, the data retrieval module425may retrieve a set of data associated with the fourth set of modulation sequences. The retrieved data may be control data or it may be for a user application.

Turning next toFIG. 12, a flowchart1200illustrates a method for receiving communication using orthogonal modulation in accordance with various embodiments. The processes described by flowchart1200may be carried out by components of a base station105, a UE115, and/or a device220with reference toFIGS. 1-6. The processes of flowchart1200may also incorporate aspects of the corresponding processes from flowchart1100ofFIG. 11.

At block1205, the receiver205may receive a signal comprising a cyclic prefix and first set of modulation sequences that correspond with a set of pseudorandom binary sequences. The cyclic prefix may correspond in length to a guard between transmission of data sequences. In some cases, the length of the cyclic prefix corresponds to an offset associated with the transmission of a pilot signal.

At block1210, the receiver205and/or signal processing module may discard the cyclic prefix. The sequences may then be reordered by reordering module405.

At block1215, the appending module410may append a constant to each sequence in the first set of modulation sequences to produce a second set of modulation sequences. At block1220, the orthogonal sequence module415may associate each of the second set of modulation sequences with a set of orthogonal sequences to produce a third set of modulation sequences. At block1225, the discarding module420may discard an element of each sequence in the third set of modulation sequences to produce a fourth set of modulation sequences. At block1230, the data retrieval module425may retrieve a set of data associated with the fourth set of modulation sequences.

Turning next toFIG. 13, a flowchart1300illustrates a method for receiving communication using orthogonal modulation in accordance with various embodiments. The processes described by flowchart1300may be carried out by components of a base station105, a UE115, and/or a device220with reference toFIGS. 1-6. The processes of flowchart1300may also incorporate aspects of the corresponding processes from flowchart1100ofFIG. 11.

At block1305, the receiver205may receive a signal comprising a pilot signal and a first set of modulation sequences that correspond with a set of pseudorandom binary sequences. The set of received sequences may be associated with a set that is invariant with respect to cyclic time shifts, and in some cases, it may be associated with a set of maximal length sequences.

At block1310, the channel quality module635may estimate channel quality using the pilot signal. In one embodiment, the channel quality module635may measure multipath propagation delay based on receiving delayed copies of a pilot signal. The data sequence may be processed based on a circulant matrix based on the reception of the pilot signal.

At block1315, the equalization module640may apply frequency equalization using the pilot signal. In some cases, applying frequency equalization comprises using a circulant matrix.

At block1320, the appending module410may append a constant to each sequence in the first set of modulation sequences to produce a second set of modulation sequences. At block1325, the orthogonal sequence module415may associate each of the second set of modulation sequences with a set of orthogonal sequences to produce a third set of modulation sequences. At block1330, the discarding module420may discard an element of each sequence in the third set of modulation sequences to produce a fourth set of modulation sequences. At block1335, the data retrieval module425may retrieve a set of data associated with the fourth set of modulation sequences.