Conventional methods of modulating data for transmission via Wideband Code Division Multiple Access (WCDMA) communications often require extensive computational logic. This computational logic uses registers that generate high peak and average current. This peak and average current may generate radio frequency noise, which causes poor transmission quality and throughput. The radio frequency noise also translates into high development costs associated with correcting such issues. Furthermore, these registers require a large amount of die area, which can be expensive.
The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent the work is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
This summary is provided to introduce subject matter that is further described below in the Detailed Description and Drawings. Accordingly, this Summary should not be considered to describe essential features nor used to limit the scope of the claimed subject matter.
In one embodiment, a system is described that includes a digital-to-analog converter, a pulse-shape lookup-table, and an indexed pulse-shape-generator configured to receive an I or Q value, retrieve a pulse-shape coefficient from the pulse-shape lookup-table, create a time-shifted sample of a shaped pulse based on the I or Q value and the pulse-shape coefficient, and provide the time-shifted sample to the digital-to-analog converter.
In another embodiment a method is described that comprises receiving an I or Q value, generating a time-shifted sample of a shaped pulse based on the I or Q value, and providing the time-shifted sample to a digital-to-analog converter.
The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different instances in the description and the figures indicate similar or identical items.
Operating environment 100 receives I value 102 and Q value 104 and processes these values using modulator 106, converter 108, and transmission processor 110. By so doing, operating environment 100 transforms I and Q values into a transmittable signal.
In the embodiment illustrated in
These time-shifted samples may then be converted into analog signals by converter 108, here illustrated with I values converted by I digital-to-analog converter (IDAC) 120 and Q values by Q digital-to-analog converter (QDAC) 122. Once converted into analog signals, transmission processor 110 may further process these analog signals for use in WCDMA communications. To do so, transmission processor 110 includes mixers 124 and 126, a local oscillator (LO) 128, a quadrature circuit 130, and a combiner 132, though other structures and manners may also or instead by used. These operate to provide a transmittable signal 134.
Ways in which modulator 106 processes I and Q values, as well as operations of converter 108 and transmission processor 110, are described in greater detail below.
For example, consider a non-limiting, detailed embodiment for illustrative purposes in which I value 102 and Q value 104 are received by phase corrector 112 at a rate of 3.84 million I and Q values per second. Here I value 102 and Q value 104 are the product of phase-shift-keying (PSK). PSK maps binary data to In-phase Quadrature-phase (IQ) constellation symbols. An IQ constellation symbol is a plot of an In-phase (I) value along a horizontal axis and a Quadrature-phase (Q) value along a vertical axis.
Continuing this detailed example, phase corrector 112 rotates I value 102 and Q value 104 by increments of ten degrees in order to correct for phase distortion. The phase distortion is caused by a conventional analog power-amplifier (not shown), which induces a phase shift. Phase shifts for different power amplifications can be calibrated ahead of time and rotations necessary for correcting each phase shift may be pre-determined and stored. For example, through calibration, it can be pre-determined that a power amplification of X decibels will result in a phase shift of Y degrees. It can then be pre-determined that rotating I value 102 and Q value 104 by Z degrees will correct the phase shift.
To provide still greater detail, consider an example detailed embodiment of modulator 106 illustrated in
Phase corrector 112 includes I-and-Q-value buffer 306 and polar-to-rectangular lookup-table (LUT) 308. Buffer 306 receives I value 102 and Q value 104. Polar-to-rectangular LUT 308 includes degrees of rotation for correcting a phase shift and corresponding correction I and Q values. To minimize the die area used by the table, symmetry is exploited. Polar-to-rectangular LUT 308 includes I and Q values for zero, ten, twenty, thirty, and forty degrees. Phase corrector 112 can determine I and Q values for all other degrees of rotation by inversion or by swapping I with Q. For example, 320 (−40) degrees has I and Q values identical to forty degrees when Q is inverted and 100 degrees has I and Q values identical to ten degrees when I and Q are swapped and the swapped I is inverted (i.e. for ten degrees I=COS(π/18), Q=SIN(π/18); for 100 degrees I=−SIN(π/18)=COS(10π/18), Q=COS(π/18)=SIN(10π/18)).
Phase corrector 112 determines that a given power amplification will result in a phase shift and determines a degree of rotation required to correct the phase shift. Phase corrector 112 then retrieves correction I and Q values from polar-to-rectangular LUT 308 that correspond to the degree of rotation required. Phase corrector 112 uses the correction I and Q values to rotate I value 102 and Q value 104 by the degree of rotation. The following is the equation for determining a phase-corrected (rotated) I value:
Inew=I*A−Q*B
The following is the equation for determining a phase-corrected (rotated) Q value:
Qnew=Q*A+I*B
I represents I value 102, Q represents Q value 104, A represents the correction I value, B represents the correction Q value, Inew represents the phase-corrected I value, and Qnew represents the phase-corrected Q value. In this embodiment, four multiplications and two summations are performed for a given rotation. Because the correction I and Q values corresponding to the degrees of rotation are computed ahead of time, they do not have to be computed at runtime from the degrees of rotation. This reduces the amount of computational logic and thus peak and average current are reduced as well as die area usage.
As shown in
Continuing this detailed example, I indexed-pulse-shape-generator 116 receives the phase-corrected gain-modified I value from gain modifier 114 at a rate of 3.84 million values per second. I indexed-pulse-shape-generator 116 generates a pulse shape for the phase-corrected gain-modified I value and oversamples by a factor of 16.25 per value. I indexed-pulse-shape-generator 116 may also implement a timing advance or retardation, which shifts the pulse samples for all nine I values forward or backwards in time by one quarter of a value time. A value time is the time between incoming I or Q values. In this embodiment the value time is one, divided by 3.84 million seconds. Each I value 102 persists for nine value times and thus pulses for nine I values 102 overlap. Each pulse has 146.25 samples (e.g., three pulses have 146 samples for every pulse that has 147 samples). For each sample, the sample of eight other I-value pulses are added to create a final I-signal sample that is passed on to I digital-to-analog converter (IDAC) 120 at a rate of 62.4 million samples per second. Q indexed-pulse-shape-generator 118 operates similarly to I indexed-pulse-shape-generator 116, though operating on Q values 104 instead of I values 102 and creating Q-signal samples that are communicated to Q digital-to-analog converter (QDAC) 122.
I indexed-pulse-shape-generator 116 includes I-value buffer 314, pulse-shape lookup-table (LUT) 316, and LUT index-counter 318. I-value buffer 314 receives the phase-corrected gain-modified I value from gain modifier 114. I-value buffer 314 contains the nine previously received phase-corrected gain-modified I values. When the phase-corrected gain-modified I value is received from gain modifier 114, I indexed-pulse-shape-generator 116 shifts the nine previously received phase-corrected gain-modified I values so that the oldest I value is discarded from I-value buffer 314 and the phase-corrected gain-modified I value is shifted into I-value buffer 314. Effectively 1 indexed-pulse-shape-generator 116 treats I-value buffer 314 as a queue. Pulse-shape LUT 316 contains, in this example, 1170 pulse-shape coefficients that when multiplied by an I value will generate the first half of a root-raised-cosine-shaped pulse for the I value. The first half is stored since the second half is symmetrical and can be generated by moving through pulse-shape LUT 316 in reverse order. Using this embodiment of modulator 106 shown in
I indexed-pulse-shape-generator 116 handles the oversampling of 16.25 by oversampling at 260 samples per value time and under-sampling by sixteen samples per value time. I indexed-pulse-shape-generator 116 initializes LUT index-counter 318 with a value of zero and increments counter 318 by sixteen. When a resulting index value is over 260 the resulting index value is reduced by 260 and I-value buffer 314 is shifted to get a new I value. Thus, every new I value starts with an index value of zero, four, eight, or twelve, which explains the 0.25 of the 16.25 oversample rate. Note that I values starting with an index of four, eight, or twelve will have one less sample for that value time than those starting with an index of zero.
At each sampling, the value in LUT index-counter 318 is used to find a pulse-shape coefficient within pulse-shape LUT 316 for each of the nine I values in I-value buffer 314. Note that each of the found coefficients are 260 increments from each other in LUT 316. For example, the index values used to lookup coefficients when the value in counter 318 is zero are: 0, 260, 520, 780, 1040, 1039, 779, 519, and 259. These index values assume that index values range from zero to 1209 for LUT 316. LUT 316 may also be segmented into nine segments to allow for simultaneous access by each of nine lookup operations corresponding to each I value. The nine segments are from indices 0-129, 134-259, 260-389, 390-519, 520-649, 650-779, 780-909, 910-1039, and 1040-1169. Here the timing advance and retardation are accomplished by incrementing or decrementing counter 318 by sixty five (¼ of 260 and thus ¼ of a value time).
Q indexed-pulse-shape-generator 118 operates similarly to I indexed-pulse-shape-generator 116. Q indexed-pulse-shape-generator 118 operates on Q values 104 instead of I values 102. Q indexed-pulse-shape-generator 118 includes a Q-value buffer 320, a pulse-shape lookup-table (LUT) 322, and a LUT index-counter 324, which Q indexed-pulse-shape-generator 118 uses to generate pulse shapes for Q values 104 instead of I values 102.
At this point these example operations of modulator 106 are complete. Continuing this detailed example, however, converter 108, using IDAC 120 and QDAC 122, receives final I-signal samples from 1 indexed-pulse-shape-generator 116 and final Q-signal samples from Q indexed-pulse-shape-generator 118, respectively. IDAC 120 and QDAC 122 output analog I and Q signals, also respectively.
Note that here conversion to analog is complete, though processing for transmission can be performed, such as by transmission processor 110. Transmission processor 110 receives, at mixers 124 and 126, I and Q analog signals, respectively. Local oscillator (LO) 128 provides a frequency signal for transmission. Quadrature circuit 130 provides a ninety-degree phase shift. This phase shift causes the frequency signal output to mixer 124 to be ninety degrees out of phase with the frequency signal provided to mixer 126. Mixers 124 and 126 mix the analog I and Q signals with the frequency signals provided by quadrature circuit 130 to create up-converted I and Q signals. The up-converted I and Q signals are output to combiner 132. Combiner 132 combines the up-converted I and Q signals into a transmittable signal 134. Transmittable signal 134 may be transmitted as is or may be further modified (e.g., amplified).
Note that one or more of the entities shown in
At 402, an I or Q value is received. The I or Q value may have been amplified and corrected for phase distortion. At 404, a time-shifted sample of a shaped pulse based on the I or Q value is generated. At 406, the time-shifted sample is provided to a digital-to-analog converter.
By way of example, consider application of method 400 to the operating environment illustrated in
In some embodiments, phase corrector 112 uses a polar-to-rectangular lookup-table (LUT), such as polar-to-rectangular LUT 308 of
Modulator 106, through gain modifier 114, receives the non-amplified phase-corrected I or Q value from phase corrector 112. Gain modifier 114 determines a gain coefficient using a gain lookup-table (LUT), such as gain LUT 312 of
At 402, the I or Q value is received by I indexed-pulse-shape-generator 116 or Q indexed-pulse-shape-generator 118, respectively. I or Q indexed-pulse-shape-generator (116 or 118) generates a time-shifted sample of a shaped pulse based on the I or Q value (102 or 104). I or Q indexed-pulse-shape-generator (116 or 118) may use a pulse-shape lookup-table (LUT), such as pulse shape LUT 316 or 322 of
In some embodiments the time-shifted sample is combined with other time-shifted samples prior to being provided to a digital-to-analog converter at 406. I or Q indexed-pulse-shape-generator (116 or 118) combines the time-shifted sample with time-shifted samples of eight other I or Q values (102 or 104). In this example, an I or Q value persists in I or Q value buffers 314 or 320 for nine total value-times (the rate of repeating 402). I or Q indexed-pulse-shape-generator (116 or 118) generates different parts of a pulse for each I or Q value. As I or Q indexed-pulse-shape-generator (116 or 118) receives new I or Q values at 402, the oldest I or Q values are discarded. By the time I or Q indexed-pulse-shape-generator (116 or 118) has shifted an I or Q value through buffers 314 or 320 a fully shaped pulse has been generated for that I or Q value. I or Q indexed-pulse-shape-generator (116 or 118) repeats 404 and 406 at a rate that is 16.25 times faster than 402 is repeated. At each instance of 404 a single sample of each I or Q value's shaped pulse is generated. These single samples are combined prior to 406.
At 406 I or Q indexed-pulse-shape-generator (116 or 118) provides the time-shifted sample, possibly within a combination of samples, to I digital-to-analog-converter (IDAC) 120 or Q digital-to-analog-converter (QDAC) 122. IDAC or QDAC (120 or 122) then converts received samples into an analog signal.
One or more of the techniques described above can be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Generally, the techniques can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment containing both hardware and software components. In one implementation, the methods are implemented in software, which includes but is not limited to firmware, resident software, microcode, etc. Furthermore, the methods can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system.
For the purposes of this description, a computer-usable or computer-readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be a non-transitory electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
Although the subject matter has been described in language specific to structural features and/or methodological techniques and/or acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features, techniques, or acts described above, including orders in which they are performed.
This application claims priority to U.S. Provisional Patent Application Ser. No. 61/173,897 filed Apr. 29, 2009, the disclosure of which is incorporated by reference herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4449190 | Flanagan et al. | May 1984 | A |
5245704 | Weber et al. | Sep 1993 | A |
5623474 | Oshio et al. | Apr 1997 | A |
5778029 | Kaufmann | Jul 1998 | A |
6031628 | Jacob et al. | Feb 2000 | A |
6255906 | Eidson et al. | Jul 2001 | B1 |
6266517 | Fitzpatrick et al. | Jul 2001 | B1 |
6275685 | Wessel et al. | Aug 2001 | B1 |
6639944 | De Haan et al. | Oct 2003 | B1 |
6667659 | Stengel et al. | Dec 2003 | B2 |
6731406 | Ganapathy et al. | May 2004 | B1 |
6912249 | Haartsen | Jun 2005 | B2 |
6950469 | Karczewicz et al. | Sep 2005 | B2 |
6983026 | Pinckley et al. | Jan 2006 | B2 |
7023941 | Rey et al. | Apr 2006 | B1 |
7262722 | Jahanghir et al. | Aug 2007 | B1 |
7362818 | Smith et al. | Apr 2008 | B1 |
7418057 | Shako et al. | Aug 2008 | B2 |
7447274 | Shako et al. | Nov 2008 | B2 |
7450641 | Sun et al. | Nov 2008 | B2 |
7466762 | Shako et al. | Dec 2008 | B2 |
7599431 | Anderson et al. | Oct 2009 | B1 |
7675886 | Agrawal et al. | Mar 2010 | B2 |
7702020 | Gallant et al. | Apr 2010 | B2 |
7706475 | Kopikare et al. | Apr 2010 | B1 |
7782973 | Kim et al. | Aug 2010 | B2 |
7822147 | Huang et al. | Oct 2010 | B2 |
8014737 | Pratt et al. | Sep 2011 | B2 |
8160150 | Moore | Apr 2012 | B2 |
8498342 | Sha et al. | Jul 2013 | |
20020067773 | Jackson et al. | Jun 2002 | A1 |
20020072346 | Kato et al. | Jun 2002 | A1 |
20030164736 | Stengel et al. | Sep 2003 | A1 |
20030179831 | Gupta et al. | Sep 2003 | A1 |
20040090909 | Khlat | May 2004 | A1 |
20040232984 | Meade et al. | Nov 2004 | A1 |
20050018519 | Nii | Jan 2005 | A1 |
20050213661 | Xiang et al. | Sep 2005 | A1 |
20050231292 | Akahori et al. | Oct 2005 | A1 |
20050243946 | Chung et al. | Nov 2005 | A1 |
20060126962 | Sun | Jun 2006 | A1 |
20060174236 | Stein et al. | Aug 2006 | A1 |
20060227895 | Booth et al. | Oct 2006 | A1 |
20070025448 | Cha et al. | Feb 2007 | A1 |
20070086528 | Mauchly et al. | Apr 2007 | A1 |
20070118791 | Hepler et al. | May 2007 | A1 |
20070135065 | Leffel et al. | Jun 2007 | A1 |
20070241812 | Yang et al. | Oct 2007 | A1 |
20080031376 | Ban | Feb 2008 | A1 |
20080049709 | Pan et al. | Feb 2008 | A1 |
20080074289 | Sauder et al. | Mar 2008 | A1 |
20080094280 | Fenton | Apr 2008 | A1 |
20080219373 | Zhang et al. | Sep 2008 | A1 |
20080270344 | Yurick et al. | Oct 2008 | A1 |
20090003472 | Dent | Jan 2009 | A1 |
20090097533 | Lakkis | Apr 2009 | A1 |
20090103622 | Tripathi et al. | Apr 2009 | A1 |
20090181622 | Hardacker | Jul 2009 | A1 |
20090213946 | Dick et al. | Aug 2009 | A1 |
20090257526 | Wang et al. | Oct 2009 | A1 |
20090310704 | Jethanandani et al. | Dec 2009 | A1 |
20100035554 | Ba et al. | Feb 2010 | A1 |
20100135257 | Higuchi et al. | Jun 2010 | A1 |
20100239034 | Lee et al. | Sep 2010 | A1 |
20110013730 | Mansson et al. | Jan 2011 | A1 |
Entry |
---|
“Final Office Action”, U.S. Appl. No. 12/397,057, (Apr. 27, 2012), 11 pages. |
“Non-Final Office Action”, U.S. Appl. No. 12/269,744, (Feb. 16, 2012), 14 pages. |
“Non-Final Office Action”, U.S. Appl. No. 12/511,629, (Apr. 13, 2012), 6 pages. |
“Final Office Action”, U.S. Appl. No. 12/510,716, (Jun. 28, 2012), 10 pages. |
“Non-Final Office Action”, U.S. Appl. No. 12/253,078, (Jun. 8, 2012), 18 pages. |
“Non-Final Office Action”, U.S. Appl. No. 12/397,057, (Aug. 1, 2012), 10 pages. |
“Non-Final Office Action”, U.S. Appl. No. 12/574,879, (Jun. 4, 2012), 11 pages. |
“Non-Final Office Action”, U.S. Appl. No. 12/269,744, (Aug. 18, 2011), 10 pages. |
“Restriction Requirement”, U.S. Appl. No. 12/269,744, (Jun. 22, 2011), 6 pages. |
Mujtaba, Syed A., “TGn Sync Proposal Technical Specification”, IEEE 802.11-04 / Wireless LANs, (May 2005), pp. 1-131. |
Zhang, Hongyuan et al., “U.S. Appl. No. 12/098,222”, (Apr. 4, 2008), 78 pages. |
“Non-Final Office Action”, U.S. Appl. No. 12/397,057, (Nov. 9, 2011), 7 pages. |
“Non-Final Office Action”, U.S. Appl. No. 12/510,716, (Nov. 8, 2011), 8 pages. |
“Non-Final Office Action”, U.S. Appl. No. 12/511,606, (Jan. 4, 2012), 6 pages. |
“Final Office Action”, U.S. Appl. No. 12/397,057, Feb. 1, 2013, 13 pages. |
“Final Office Action”, U.S. Appl. No. 12/574,879, Nov. 20, 2012, 13 pages. |
“Final Office Action”, U.S. Appl. No. 12/269,744, Sep. 19, 2012, 13 pages. |
“Final Office Action”, U.S. Appl. No. 12/511,629, Dec. 7, 2012, 7 pages. |
“Final Office Action”, U.S. Appl. No. 12/511,606, Sep. 13, 2012, 8 pages. |
“Final Office Action”, U.S. Appl. No. 12/253,078, Feb. 13, 2013, 21 pages. |
“Non-Final Office Action”, U.S. Appl. No. 12/574,879, Apr. 23, 2013, 13 pages. |
“Notice of Allowance”, U.S. Appl. No. 12/269,744, Apr. 10, 2013, 11 pages. |
“Notice of Allowance”, U.S. Appl. No. 12/511,629, Mar. 28, 2013, 7 pages. |
“Non-Final Office Action”, U.S. Appl. No. 13/182,004, May 21, 2013, 9 pages. |
“Notice of Allowance”, U.S. Appl. No. 12/397,057, May 15, 2013, 7 pages. |
“Supplemental Notice of Allowance”, U.S. Appl. No. 12/269,744, May 20, 2013, 8 pages. |
“Supplemental Notice of Allowance”, U.S. Appl. No. 12/269,744, Jul. 1, 2013, 8 pages. |
Number | Date | Country | |
---|---|---|---|
61173897 | Apr 2009 | US |