1. Field of the Invention
The present invention relates to signal processing, and more specifically, to orthogonal frequency division multiplexing techniques used in signal transmission and reception.
2. Description of the Related Art
Orthogonal frequency division multiplexing (OFDM) is a signal processing technology well known in the field of communications. In general, OFDM operates by dividing a frequency spectrum into smaller frequency bands (a.k.a., tones) and modulating the bands with parts of a data signal.
S/P converter 104 converts a serial bit stream of digital data received from a data source 102 into D parallel bit streams. Base-band modulator 106 modulates each bit stream into a separate frequency-domain symbol stream. In particular, for each bit stream, base-band modulator 106 converts each set of one or more data bits into a data symbol represented as a complex number. Depending on the implementation, base-band modulator 106 performs any of a number of techniques commonly known in the art, including but not limited to phase-shift-keying (PSK) and quadrature amplitude modulation (QAM).
For each set of D parallel data symbols generated by base-band modulator 106, pilot symbol generator 108 generates a set of P parallel, predefined, frequency-domain pilot symbols, wherein each pilot symbol is represented as a complex number. Generation of the sets of parallel pilot symbols may be performed using any of a number of methods commonly known in the art. For example, in one such method, pilot symbol generator 108 uses a binary [−1, +1] or quaternary [−1, +1, −j, +j] signal set and assigns each of the P pilot symbols to one element of the signal set. Each set of D parallel data symbols and each corresponding set of P parallel pilot symbols are then transmitted to multiplexer 110.
Multiplexer 110 multiplexes each corresponding pair of sets of D parallel data symbols and P parallel pilot symbols to generate a set of parallel frequency-multiplexed data and pilot (FMDP) symbols. Multiplexing is performed by assigning each data/pilot symbol in a corresponding pair of sets to a different frequency band (i.e., tone) in a set of frequency bands, such that each band will be modulated by either a data symbol or a pilot symbol but not both. As such, each set of FMDP symbols comprises (D+P) complex numbers.
IFFT processor 112 transforms each set of FMDP symbols into an OFDM symbol i. Each transformation is based on a set of N frequency-domain complex numbers, where N comprises D data symbols, P pilot symbols, and G unused (e.g., guard) tone locations (i.e., N=D+P+G). For each transformation, IFFT processor 112 outputs an OFDM symbol i comprising a set of N time-domain complex numbers.
Referring again to
In addition to the FMDP OFDM symbols described above, transmitter 100 also generates and transmits synchronization (SYNC) OFDM symbols. The SYNC OFDM symbols are generated using a predetermined sequence of bits known by the receiver, and do not transmit user data. These symbols are used by the receiver to establish the timing for each OFDM frame (e.g., for synchronization). In practice, the SYNC OFDM symbols are time-multiplexed with the FMDP OFDM symbols as shown in
RF demodulator 402 down-converts the received OFDM signal into a base-band analog signal. The base-band analog signal is then converted to digital format by A/D converter 404 and transmitted to frame synchronizer 406. Frame synchronizer 406 establishes the timing of each OFDM frame by maximizing the correlation between the received SYNC OFDM symbols and the expected SYNC OFDM symbols known by receiver 400. Cyclic prefix remover 408 removes the cyclic prefix from each time-domain OFDM symbol i. Note that cyclic prefix remover 408 and RF demodulator 402 are not needed if the transmitter does not employ a cyclic prefix inserter and an RF modulator, respectively.
FFT processor 410 converts each time-domain OFDM symbol i into a set of N frequency-domain complex numbers yi(j), where each complex number yi(j) represents a received value corresponding to a frequency tone j. Each received value yi(j) is a function of a data symbol di(j) or a pilot symbol pi(j), a channel gain hi(j), and channel noise ni(j) as shown in Equations (1) and (2) below:
y
i(j)=pi(j)×hi(j)+ni(j) (1)
y
i(j)=di(j)×hi(j)+ni(j). (2)
Each received value yi(j) is then provided to both channel estimator 412 and equalizer filter 414.
Channel estimator 412 estimates the channel gain hi(j) of each received value yi(j). For each tone carrying a pilot symbol, the received value yi(j) is compared to an expected pilot symbol pi(j) known by receiver 400 to generate a channel gain estimate
Equalizer filter 414 filters complex numbers yi(j) using the channel gain estimates
By modulating data symbols and pilot symbols onto separate tones, receiver 400 can estimate the channel gain hi(j) of each received tone relatively easily using the method described above. For severely frequency-selective tones, where the channel gains vary significantly from tone to tone, channel estimation can be improved by increasing the number of pilot symbols. However, each separate pilot-carrying tone occupies bandwidth that could be used for transmitting data. This reduction in data bandwidth results in decreased data throughput of the OFDM system. In applications such as the Multi-band OFDM Alliance (MBOA) WiMedia Ultra-Wideband (UWB) application, the separate pilot-carrying tones can reduce the overall data throughput by as much as ten percent.
In one embodiment, the present invention is a method for encoding data using orthogonal frequency division multiplexing (OFDM) modulation based on a set of OFDM tones. The method comprises (a) generating a set of one or more data symbol values; (b) generating a set of one or more pilot symbol values; and (c) applying OFDM modulation to the set of one or more data symbol values and the set of one or more pilot symbol values to generate an OFDM symbol in which at least one of the OFDM tones corresponds to both a data symbol value and a pilot symbol value.
In another embodiment, the present invention is an apparatus for generating an OFDM symbol based on a set of OFDM tones. The apparatus comprises (a) a data symbol generator adapted to generate a set of one or more data symbol values; (b) a pilot symbol generator adapted to generate a set of one or more pilot symbol values; and (c) an OFDM modulator adapted to apply OFDM modulation to the set of one or more data symbol values and the set of one or more pilot symbol values to generate an OFDM symbol in which at least one of the OFDM tones corresponds to both a data symbol value and a pilot symbol value.
In yet another embodiment, the present invention is a method for decoding a time-domain OFDM symbol having a set of OFDM tones. The method comprises (a) applying OFDM demodulation to the time-domain OFDM symbol to recover one or more frequency-domain demodulated symbol values encoded in the OFDM symbol, wherein at least one frequency-domain demodulated symbol value corresponds to both a data symbol value and a pilot symbol value; and (b) recovering one or more data values from the one or more frequency-domain demodulated symbol values.
In yet a further embodiment, the present invention is an apparatus for recovering data from a time-domain OFDM symbol having a set of OFDM tones. The apparatus comprises (1) an OFDM demodulator adapted to apply OFDM demodulation to the time-domain OFDM symbol to recover one or more frequency-domain demodulated symbol values encoded in the time-domain OFDM symbol, wherein at least one frequency-domain demodulated symbol value corresponds to both a data symbol value and a pilot symbol value; and (2) a data symbol demodulator adapted to recover the one or more data values from the one or more frequency-domain demodulated symbol values.
Other aspects, features, and advantages of the present invention will become more fully apparent from the following detailed description, the appended claims, and the accompanying drawings in which like reference numerals identify similar or identical elements.
Serial-to-parallel (S/P) converter 504 and base-band modulator 506 perform operations analogous to those of S/P converter 104 and base-band modulator 106 of transmitter 100 to generate sets of D parallel data symbols, where each data symbol is represented as a complex number and D>1. Additionally, for each set of D data symbols, pilot symbol generator 508 generates P parallel pilot symbols, where each pilot symbol is represented as a complex number and P>1. Each set of D parallel data symbols and each corresponding set of P parallel pilot symbols are then provided to OFDM modulator 526.
OFDM modulator 526 comprises weighted adder 510 and inverse fast Fourier transform (IFFT) processor 512. Similar to multiplexer 110 of transmitter 100, weighted adder 510 assigns each corresponding pair of sets of D parallel data symbols and P parallel pilot symbols to a set of frequency bands (a.k.a., tones). However, instead of assigning each pilot symbol and each data symbol in a corresponding pair of sets to a different tone, weighted adder 510 assigns both a pilot symbol and a data symbol to at least one tone. For each tone having both a data symbol and a pilot symbol, the energy of the pilot symbol and/or data symbol on the tone may be scaled such that the energy of the pilot symbol is preferably significantly less than the energy of the data symbol. Additionally, for each tone having a data symbol or a pilot symbol, but not both, the energy of the data symbol or pilot symbol may optionally be scaled. Note that if the data symbols and pilot symbols are scaled prior to being received by weighted adder 510, weighted adder 510 may be a simple adder.
For each set of tones, weighted adder 510 sums the complex numbers on each tone to produce a set of tones having at least one tone with overlaid data and pilot (ODP) symbols. Each set of tones is then transmitted to IFFT processor 512, where the total number of tones in a set may be represented as the sum of the number D of data symbols and the number P of pilot symbols minus the number of tones that have both a data symbol and a pilot symbol (i.e., D+P−(D∩P)).
IFFT processor 512 transforms each set of tones into an ODP OFDM symbol i. Each transformation is based on a set of N frequency-domain complex numbers, where N comprises a set of tones received from weighted adder 510 and possibly, one or more (i.e., G), unused (a.k.a., guard) tone locations (i.e., N=D+P−(D∩P)+G). Each ODP OFDM symbol i generated comprises a set of N time-domain complex numbers.
a) shows one embodiment of the present invention in which the number D of data symbols is equal to the number P of pilot symbols (i.e., D=P). In this embodiment the number D of data symbols and the number P of pilot symbols are also equal to the number N of tones in the OFDM symbol i. Therefore, every tone is assigned both a data symbol and a pilot symbol. As such, the number of tones carrying data symbols and the number of tones carrying pilot symbols are maximized.
b) shows another embodiment of the present invention in which the number D of data symbols is equal to the number P of pilot symbols. In this embodiment, however, the number D of data symbols and the number P of pilot symbols are less than the number N of tones in the OFDM symbol i, and thus, not every tone is assigned a data symbol and a pilot symbol. As shown, some tones are assigned a data symbol, some tones are assigned a pilot symbol, and some tones are assigned both a data symbol and a pilot symbol. Note that this embodiment transmits fewer pilot-carrying tones for training and fewer data-carrying tones than the embodiment of
c) shows one embodiment of the present invention in which the number D of data symbols is greater than the number P of pilot symbols (i.e., D>P). In this embodiment, the number D of data symbols is equal to the number N of tones in the OFDM symbol, and thus, every tone is assigned a data symbol. The number P of pilot symbols is less than the number N of tones, and thus, not every tone is assigned a pilot symbol. Compared to the embodiment of
d) shows another embodiment of the present invention in which the number D of data symbols is greater than the number P of pilot symbols. In this embodiment, the number D of data symbols and the number P of pilot symbols is less than the number N of tones, and as a result, a data symbol and a pilot symbol are not both assigned to every tone. As shown, some tones are assigned a data symbol, some tones are assigned a pilot symbol, and some tones are assigned both a data symbol and a pilot symbol. In comparison to the embodiment of
e) shows one embodiment of the present invention in which the number D of data symbols is less than the number P of pilot symbols (i.e., D<P). In this embodiment, the number P of pilot symbols is equal to the number N of tones in the OFDM symbol, and thus, every tone is assigned a pilot symbol. The number D of data symbols is less than the number N of tones, and thus not every tone is assigned a data symbol. In comparison to the embodiment of
f) shows another embodiment of the present invention in which the number D of data symbols is less than the number P of pilot symbols. In this embodiment, the number D of data symbols and the number P of pilot symbols are less than the number N of tones, and thus, a data symbol and a pilot symbol are not both assigned to every tone. As shown, some tones are assigned a data symbol, some tones are assigned a pilot symbol, and some tones are assigned both a data symbol and a pilot symbol. In comparison to the embodiment of
Further embodiments of the present invention may be envisioned in which the number D of data symbols in a set generated by base-band modulator 506, the number P of pilot symbols in a set generated by pilot symbol generator 508, and the number N of tones in a set transformed by IFFT processor 512 may be different from one embodiment to another, and from one OFDM symbol i to the next. Additionally, each OFDM symbol i may have a number G of guard tones which were not included in the embodiments of
Referring again to
Frame synchronizer 806 establishes the timing for each OFDM frame. For OFDM signals that employ SYNC symbols (e.g., the embodiment of
Similar to FFT processor 410, FFT processor 810 converts each time-domain ODP OFDM symbol i into a set of N frequency-domain complex numbers, where each complex number yi(j) represents a received value corresponding to a frequency tone j. Each received value yi(j) output by FFT processor 810 is represented by Equation (3) as shown below:
y
i(j)=si(j)hi(j)+ni(j), (3)
where hi(j) is the channel gain, and ni(j) is the channel noise. In each SYNC OFDM symbol i, si(j) represents the originally transmitted value that is known by the receiver. In each ODP OFDM symbol i, si(j) is equal to a data symbol value di(j) (i.e., si(j)=di(j)), a pilot symbol value pi(j) (i.e., si(j)=pi(j)), or a data symbol value di(j) plus a pilot symbol value pi(j) (i.e., si(j)=di(j)+pi(j)). Each pilot symbol value pi(j) is known by the receiver; however, each data symbol value di(j) is not known by the receiver.
The received values yi(j) are then demodulated by a data symbol demodulator which comprises channel gain estimator 812, equalizer filter 814, and base-band demodulator 816. Channel gain estimator 812 calculates a channel gain estimate
Note that in embodiments that do not employ SYNC OFDM symbols (e.g., the embodiment of
i(j)=α
where α and β are predetermined constants. Estimate ĥi(j) of Equation (5) can be calculated using multiple neighboring tone locations (a.k.a., a cluster).
Note that clusters near the first and last tone of an OFDM symbol may need to be modified. For example, if yi(j) is the received value corresponding to the first tone of OFDM symbol i, then there would be no received value yi(j−1) corresponding to the tone at OFDM symbol i, and tone j−1. The cluster in this example may be modified to eliminate this tone.
Similarly, clusters near the first and last OFDM symbols may also be modified. For example, if the ODP OFDM symbol is adjacent to a SYNC OFDM symbol, then tones of the SYNC OFDM symbol may be selected for the cluster. This may be particularly advantageous during initialization. Note that in embodiments that do not employ SYNC OFDM symbols (e.g., the embodiment of
Using the cluster, estimates ĥi(j) of Equation (5) can be calculated using any one of a number of different methods. In one embodiment, estimate ĥi(j) can be calculated as shown in Equation (6):
where ci(j), ci+1(j), ci−1(j), ci(j+1), and ci(j−1) are predefined constants allowing different weights for the different tone locations in the cluster. In this embodiment, the cluster is preferably selected such that each tone location within the cluster has either a pilot symbol or a known SYNC value. If the tone location is part of a SYNC OFDM symbol, the known tone value of the SYNC OFDM symbol shall replace the pilot value in Equation (6). In this case, the constant ci(j) of the concerned tone can be increased so that the tone value of the SYNC OFDM symbol shall have a greater weight.
Referring again to
By modulating pilot symbols onto tones with data symbols as shown in
By reducing the SYNC OFDM symbols or by eliminating the SYNC OFDM symbols as shown in
According to various embodiments of the present invention, the transmitter may generate pilot symbols using any one of a number of methods commonly known in the art. For example, the pilot symbols may be obtained from a predetermined set of values in a look-up table (LUT). The pilot symbol values in the LUT may be repeated at regular intervals (e.g., repeated each frame), and thus, the LUT can be implemented using just one set of values.
Another example of a method for generating pilot symbols is suggested in
For each set of N time-domain complex numbers generated by IFFT processor 1012, pilot generator 1008 generates a corresponding set of P time-domain pilot symbols, where the number P of pilot symbols is preferably equal to the number N of complex numbers. Pilot symbol generator 1008 may generate the P time-domain pilot symbols using any of a number of possible methods. For each corresponding pair of sets of N time-domain complex numbers and P time-domain pilot symbols, adder 1010 performs a sample-by-sample addition to produce a set of N time-domain complex numbers in which at least one time-domain complex number has both pilot and data. Note that since the operations performed by IFFT processing are linear, OFDM modulator 1026 of transmitter 1000 is capable of producing the same output as that of OFDM modulator 526 of transmitter 500. Therefore, transmitter 1000 is capable of producing any of the possible arrangements of pilot symbols and data symbols onto tones of an OFDM symbol described above (e.g., such as those in
The time-domain pilot symbol values may be stored in LUT 1102 using any of a number of methods. For example, in one such method, the time-domain pilot symbol values may be programmed into LUT 1102.
According to further embodiments of the present invention, the receiver can calculate estimates ĥi(j) of Equation (5) using likely data signal values for each tone in the cluster. For example, using the cluster of
In Equation (7) the cluster may preferably be selected such that each tone location has a pilot value or a known SYNC value. Additionally, the likely data signal value for each tone location in the cluster that does not have data can be set to zero.
According to yet another embodiment of the present invention, the receiver can estimate ĥi(j) of Equation (5) using the most likely data signal values as shown in Equation (8):
In the Equation (8), the cluster may be preferably selected such that each tone location has a data symbol, a pilot symbol, or both a data symbol and a pilot symbol. If a tone location does not have a data symbol, then the likely data symbol value corresponding to the tone location may be set to zero. Similarly, if a tone location does not have a pilot symbol, then the likely pilot symbol value corresponding to the tone location may be set to zero.
Although the present invention has been described in terms of complex numbers, the present invention is not so limited. The term “complex number” as used in this application also includes cases when either the real part or the imaginary part of the complex number is equal to zero.
The present invention may be implemented as circuit-based processes, including possible implementation as a single integrated circuit (such as an ASIC or an FPGA), a multi-chip module, a single card, or a multi-card circuit pack. As would be apparent to one skilled in the art, various functions of circuit elements may also be implemented as processing blocks in a software program. Such software may be employed in, for example, a digital signal processor, micro-controller, or general-purpose computer.
The present invention can be embodied in the form of methods and apparatuses for practicing those methods. The present invention can also be embodied in the form of program code embodied in tangible media, such as magnetic recording media, optical recording media, solid state memory, floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of program code, for example, whether stored in a storage medium, loaded into and/or executed by a machine, or transmitted over some transmission medium or carrier, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. When implemented on a general-purpose processor, the program code segments combine with the processor to provide a unique device that operates analogously to specific logic circuits. The present invention can also be embodied in the form of a bitstream or other sequence of signal values electrically or optically transmitted through a medium, stored magnetic-field variations in a magnetic recording medium, etc., generated using a method and/or an apparatus of the present invention.
Unless explicitly stated otherwise, each numerical value and range should be interpreted as being approximate as if the word “about” or “approximately” preceded the value of the value or range.
It will be further understood that various changes in the details, materials, and arrangements of the parts which have been described and illustrated in order to explain the nature of this invention may be made by those skilled in the art without departing from the scope of the invention as expressed in the following claims.
The use of figure numbers and/or figure reference labels in the claims is intended to identify one or more possible embodiments of the claimed subject matter in order to facilitate the interpretation of the claims. Such use is not to be construed as necessarily limiting the scope of those claims to the embodiments shown in the corresponding figures.
It should be understood that the steps of the exemplary methods set forth herein are not necessarily required to be performed in the order described, and the order of the steps of such methods should be understood to be merely exemplary. Likewise, additional steps may be included in such methods, and certain steps may be omitted or combined, in methods consistent with various embodiments of the present invention.
Although the elements in the following method claims, if any, are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence for implementing some or all of those elements, those elements are not necessarily intended to be limited to being implemented in that particular sequence.
Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments necessarily mutually exclusive of other embodiments.