This patent application is a U.S. national phase application of International Patent Application No. PCT/GB2010/051859 filed on Nov. 9, 2010, and claims priority to U.K. Patent Application No. 1003011.2 filed on Feb. 23, 2010, both of which are incorporated herein by reference.
Systems which comply with the IEEE 802.11 standard are commonly referred to as WiFi systems. Many such systems use OFDM (orthogonal frequency division multiplexing) for modulation which divides a frequency band into a number of equally spaced frequency subcarriers (or tones) and data is then modulated onto these subcarriers. The IEEE802.11n standard defines 52 or 56 subcarriers for 20 MHz bands to carry data. Some of these subcarriers (e.g. 4 subcarriers) are not used to carry payload data but instead are used for pilot signals which improve the ability of the coherent detection at a receiver to accommodate frequency offsets and phase noise.
The frame format defined in the IEEE 802.11n standard includes a preamble which comprises short training sequences and long training sequences (or long training fields). The short training sequence is used for AGC (automatic gain control), diversity selection, timing acquisition and coarse frequency acquisition in the receiver. The long training field is used for channel estimation and fine frequency acquisition in the receiver. As these parameters are used to demodulate an OFDM packet, the quality of these initial estimates affects the transmitter modulation accuracy.
A source of errors in such systems, which can impact transmitter modulation accuracy, is quantization. In OFDM, data is modulated onto frequency tones using an IFFT (inverse fast Fourier transform) and the output from the IFFT contains real numbers, i.e. infinite decimal representation. Digital implementations of OFDM output signals using a fixed number of bits i.e. the signals are quantized. The quantized signal is then converted to an analogue signal using a digital to analogue converter. The quantization error which is introduced is the difference between the quantized value and the real number value output from the IFFT. Typically quantization is performed by rounding. There are a number of techniques which can be used to reduce quantization error, such as increasing the number of bits used for quantization or increasing the size of the IFFT (known as oversampling); however these techniques increase the overall cost and complexity of the system.
The embodiments described below are not limited to implementations which solve any or all of the disadvantages of known quantization methods.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
An improved quantization method for OFDM is described. In an embodiment, the method uses an objective function which is defined as a function of the quantization error of the OFDM signal in frequency summed over data subcarriers. A search algorithm is used to optimize the objective function and the solution found is quantized by rounding. The quantized value of the solution may then be fed back into the objective function to compute a value of that function and if the value is less than the value computed in a previous iteration of the method, the method is repeated using the quantized value of the solution as the new starting point for the search algorithm. If the value of the function is, however, not less than the value computed in a previous iteration, the new solution is discarded and the quantized value of the solution from the previous iteration is output.
A first aspect provides a computer implemented method of quantizing an OFDM signal, the method comprising: defining an objective function as a function of a quantization error of the OFDM signal in frequency summed over data subcarriers; optimizing the objective function using a search algorithm to generate a real number solution; and rounding the real number solution to generate a quantized solution.
The method may further comprise storing the quantized solution in a look-up table in an OFDM transmitter.
The method may further comprise transmitting the quantized solution from the OFDM transmitter.
The OFDM signal may comprise long training fields.
The method may further comprise: computing a value of the objective function using the quantized solution; and for a first iteration and in subsequent iterations if the computed value is less than a value of the objective function computed in a previous iteration, repeating the method using the quantized solution as a starting point for optimizing the objective function.
The method may further comprise, in subsequent iterations if the computed value is not less than the value of the objective function computed in the previous iteration: using the quantized solution from the previous iteration.
The data subcarriers comprise payload data subcarriers and pilot subcarriers.
The objective function may be defined as a square of quantization error in frequency summed over data subcarriers. In an example, the objective function is:
where k is over the data subcarriers, n is the time index, d(k)=FFT(x(n)), xQ(n) is a quantized representation of the time-domain signal x(n) and dQ(k)=FFT(xQ(n)).
The search algorithm may comprise a non-linear least squares optimization algorithm.
A second aspect provides an OFDM transmitter comprising a look-up table storing quantized long training field data (e.g. xQ(n)), the quantized long training field data having been generated using a method described above.
A third aspect provides a method of quantizing an OFDM long training field comprising: defining an objective function as a square of quantization error in frequency summed over data subcarriers; generating a starting search point; using a search algorithm and the starting search point to optimize the objective function and compute a solution; quantizing the solution and using the quantized solution to compute a value of the objective function; in a first iteration, storing the computed value and the quantized solution and repeating the optimization and quantization using the stored solution; and in a subsequent iteration, comparing the computed value to the stored value, and if the computed value is less than the stored value, storing the computed value and the quantized solution and repeating the optimization and quantization using the stored solution, and if the computed value is not less than the stored value, outputting the stored solution.
The method may further comprise repeating the method for each symbol in the OFDM long training field.
The method may further comprise storing the output solutions in a look-up table in an OFDM transmitter module.
The objective function may be defined as a square of quantization error in frequency summed over data subcarriers. In an example, the objective function is:
where k is over the data subcarriers, n is the time index, d(k)=FFT(x(n)), xQ(n) is a quantized representation of the time-domain signal x(n) and dQ(k)=FFT(xQ(n)).
A fourth aspect provides an apparatus for quantizing an OFDM signal, the apparatus comprising: an input for receiving an OFDM signal; a processor; an output for outputting a quantized OFDM signal; and a memory arranged to store executable instructions which when executed cause the processor to: optimize an objective function using a search algorithm to generate a real number solution, the objective function comprising a square of quantization error of the OFDM signal in frequency summed over data subcarriers; round the real number solution to generate a quantized solution; and store the quantized solution.
The memory may be further arranged to store executable instructions which when executed cause the processor to: compute a value of the objective function using the quantized solution; and repeat the method using the quantized solution as a starting point for optimizing the objective function if the computed value is less than a value of the objective function computed in a previous iteration.
The memory may be further arranged to store executable instructions which when executed cause the processor to: discard the quantized solution if the computed value is not less than the value of the objective function computed in the previous iteration; and output the quantized solution from the previous iteration.
The objective function is:
where k is over the data subcarriers, n is the time index, d(k)=FFT(x(n)), xQ(n) is a quantized representation of the time-domain signal x(n) and dQ(k)=FFT(xQ(n)).
The OFDM signal may comprise long training fields.
The methods described herein may be performed by software in machine readable form on a tangible storage medium. Examples of tangible (or non-transitory) storage media include disks, thumb drives, memory etc and do not include propagated signals. The software can be suitable for execution on a parallel processor or a serial processor such that the method steps may be carried out in any suitable order, or simultaneously.
This acknowledges that firmware and software can be valuable, separately tradable commodities. It is intended to encompass software, which runs on or controls “dumb” or standard hardware, to carry out the desired functions. It is also intended to encompass software which “describes” or defines the configuration of hardware, such as HDL (hardware description language) software, as is used for designing silicon chips, or for configuring universal programmable chips, to carry out desired functions.
The preferred features may be combined as appropriate, as would be apparent to a skilled person, and may be combined with any of the aspects of the invention.
Embodiments of the invention will be described, by way of example, with reference to the following drawings, in which:
Common reference numerals are used throughout the figures to indicate similar features.
Embodiments of the present invention are described below by way of example only. These examples represent the best ways of putting the invention into practice that are currently known to the Applicant although they are not the only ways in which this could be achieved. The description sets forth the functions of the example and the sequence of steps for constructing and operating the example. However, the same or equivalent functions and sequences may be accomplished by different examples.
In OFDM, data is modulated on to frequency tones or subcarriers using the IFFT (inverse fast Fourier transform):
Where:
The output from the IFFT, x(n) is generally a real number. A digital implementation of OFDM, however, outputs signals using a fixed number of bits, i.e. signals are quantized. The error signal e(n) in the time domain may be defined to be the difference between x(n) and its quantized representation xQ(n):
e(n)=xQ(n)−x(n) (2)
OFDM uses an FFT (fast Fourier transform) to extract the original data information d(k) from x(n):
The OFDM time-domain signal output from a digital system is quantized xQ(n) and let dQ(k)=FFT(xQ(n)).
The quantization error in frequency may be defined as:
v(k)=dQ(k)−d(k) (4)
And the objective function may be defined (in block 102) as:
Where xQ(n) is quantized and, where appropriate, meets the spectrum mask defined in the relevant standard.
By minimizing the quantization error in the frequency domain (in blocks 102 and 104), the method exploits the fact that there are unused subcarriers in the frequency band. As described above, the IEEE 802.11n standard for an OFDM system defines 52 or 56 subcarriers to carry data for 20 MHz band operation; however, in 20 MHz mode there are 64 frequency subcarriers available within the 20 MHz bandwidth and no data is sent on the unused subcarriers. The method shown in
The method comprises defining an objective function (F(xQ(n))) as a function of the quantization error in frequency (v(k)) summed over data subcarriers only (block 202), as described above with reference to
y0(n)=x(n)+w(n),n=0,1,2, . . . ,N−1
where w(n) is a random, uniformly distributed real number, for example, with numbers in the range [−2, 2]. The search algorithm (e.g. Isqnonlin( ) is then used to optimize the objective function and generates a solution (block 206). Once a solution, yi(n) (where i is the iteration number) is found by the search algorithm (in block 206), it is quantized using rounding to give: yiQ(n) (block 208) and the value of the objective function F(yiQ(n)) is computed (block 210).
In the first iteration (i=1, ‘Yes’ in block 212), there is no previous value of the objective function with which to form a comparison and so the computed value (from block 210) is stored and the quantized solution (from block 208) is used as the starting point (as set in block 216) for a subsequent iteration (blocks 206-210).
In subsequent iterations (i>1, No in block 212), the newly computed value of the objective function F(yiQ(n)) is compared with value computed in the previous iteration (block 218). If F(yiQ(n))<F(yi-1Q (n)) (‘Yes’ in block 218), then the stored computed value is updated (block 214) and a further iteration is performed using the solution from the current iteration, yiQ(n) as the starting point for the next iteration (as set in block 206). If, however, F(yiQ(n))≧F(yi-1Q(n)) (‘No’ in block 218), the process is stopped and the solution from the previous iteration is found to be a solution to the optimization: xQ(n)=yi-1Q(n).
The method may be repeated, each time using a different initial searching point y0(n), as indicated by dotted arrow 20. There may also be an additional stop condition (e.g. within the loop comprising blocks 218, 214, 216 etc) such that the method terminates when additional criteria are met (e.g. a maximum value of i)
Having reached a final solution, the solution may then be stored in a look-up table (block 222), which may be a look-up table in an OFDM transmitter, and the data stored in the table may subsequently be transmitted (block 224).
The method shown in
It will be appreciated that the non-linear least squares optimization described above used the Levenberg-Marquardt search algorithm. This provides just one example of a suitable search algorithm and the method may alternatively use the Trust-Region or the Gauss-Newton search.
The methods described above may be implemented on any OFDM data symbol to be transmitted. In an embodiment, the methods described above may be used to quantize the long training fields (LTF) of an 802.11n OFDM packet. In such an example, the data d(k) is known prior to transmission and the methods described above, and in particular an iterative method as shown in
As described above, the LTF is used by a receiver to make initial estimates on channel and frequency and these estimates are used to demodulate an OFDM packet. The quality of these initial estimates is important in order to achieve good transmitter modulation accuracy and consequently using the methods described herein to improve the LTF improves the transmitter modulation accuracy.
In an example, the Long Training Fields for 20 MHz channel bandwidth high-throughput transmission (HT-LTF) may be optimized using the method shown in
The power spectra of the rounded sequence 304 and the optimized sequence 302 are shown in
Although the examples are described above with reference to a 20 MHz system, the methods are also applicable to 40 MHz systems. The methods may also be applied to other non-WiFi applications of OFDM and to OFDM systems operating under standards other than IEEE 802.11. The methods are also applicable to systems using MIMO (multiple input multiple output), for example, where there is no beamforming applied at the transmitter.
Computing-based device 500 comprises one or more processors 502 which may be microprocessors, controllers or any other suitable type of processors for processing computing executable instructions to control the operation of the device in order to perform quantization using one of the methods described herein. Platform software comprising an operating system 504 or any other suitable platform software may be provided at the computing-based device to enable application software 506, including optimization software 508 to be executed on the device.
The computer executable instructions may be provided using any computer-readable media, such as memory 510. The memory is of any suitable type such as random access memory (RAM), a disk storage device of any type such as a magnetic or optical storage device, a hard disk drive, or a CD, DVD or other disc drive. Flash memory, EPROM or EEPROM may also be used. The memory may also be used to store the quantized solution or data used in computing the quantized solution (e.g. data store 509). Although the memory is shown within the computing-based device 500 it will be appreciated that the storage may be distributed or located remotely and accessed via a network 511 or other communication link (e.g. using communication interface 512).
The computing-based device 500 may also comprise an input/output controller 514 arranged to output display information to a display device 516 which may be separate from or integral to the computing-based device 500. The display information may provide a graphical user interface. The input/output controller 514 may also be arranged to receive and process input from one or more devices, such as a user input device 518 (e.g. a mouse or a keyboard). In an embodiment the display device 516 may also act as the user input device 518 if it is a touch sensitive display device. The input/output controller 514 may also output data to devices other than the display device, e.g. a locally connected printing device (not shown in
The term ‘computer’ is used herein to refer to any device with processing capability such that it can execute instructions. Those skilled in the art will realize that such processing capabilities are incorporated into many different devices and therefore the term ‘computer’ includes PCs, servers, mobile telephones, personal digital assistants and many other devices.
Those skilled in the art will realize that storage devices utilized to store program instructions can be distributed across a network. For example, a remote computer may store an example of the process described as software. A local or terminal computer may access the remote computer and download a part or all of the software to run the program. Alternatively, the local computer may download pieces of the software as needed, or execute some software instructions at the local terminal and some at the remote computer (or computer network). Those skilled in the art will also realize that by utilizing conventional techniques known to those skilled in the art that all, or a portion of the software instructions may be carried out by a dedicated circuit, such as a DSP, programmable logic array, or the like.
Any range or device value given herein may be extended or altered without losing the effect sought, as will be apparent to the skilled person.
It will be understood that the benefits and advantages described above may relate to one embodiment or may relate to several embodiments. The embodiments are not limited to those that solve any or all of the stated problems or those that have any or all of the stated benefits and advantages.
Any reference to an item refers to one or more of those items. The term ‘comprising’ is used herein to mean including the method blocks or elements identified, but that such blocks or elements do not comprise an exclusive list and a method or apparatus may contain additional blocks or elements.
The steps of the methods described herein may be carried out in any suitable order, or simultaneously where appropriate. Additionally, individual blocks may be deleted from any of the methods without departing from the spirit and scope of the subject matter described herein. Aspects of any of the examples described above may be combined with aspects of any of the other examples described to form further examples without losing the effect sought.
It will be understood that the above description of a preferred embodiment is given by way of example only and that various modifications may be made by those skilled in the art. Although various embodiments have been described above with a certain degree of particularity, or with reference to one or more individual embodiments, those skilled in the art could make numerous alterations to the disclosed embodiments without departing from the spirit or scope of this invention.
Number | Date | Country | Kind |
---|---|---|---|
1003011.2 | Feb 2010 | GB | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/GB2010/051859 | 11/9/2010 | WO | 00 | 8/21/2012 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2011/104493 | 9/1/2011 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
7432838 | Muck et al. | Oct 2008 | B2 |
7961802 | Li et al. | Jun 2011 | B2 |
8462646 | Barberis et al. | Jun 2013 | B2 |
8559481 | Sapozhnykov et al. | Oct 2013 | B2 |
20050243938 | Armstrong et al. | Nov 2005 | A1 |
20070171994 | Parker et al. | Jul 2007 | A1 |
20100007543 | Mueck | Jan 2010 | A1 |
20110058626 | Balakrishnan et al. | Mar 2011 | A1 |
20110188616 | Kobayashi et al. | Aug 2011 | A1 |
20110200139 | Jen et al. | Aug 2011 | A1 |
Number | Date | Country |
---|---|---|
2423898 | Sep 2006 | GB |
2004098063 | Nov 2004 | WO |
Entry |
---|
International Search Report mailed Feb. 1, 2011 for PCT Application No. PCT/GB2010/051859. |
International Preliminary Report on Patentability mailed Sep. 7, 2012 for International Application No. PCT/GB2010/051859. |
Number | Date | Country | |
---|---|---|---|
20120314788 A1 | Dec 2012 | US |