A system to perform angle quantization includes a log rom lookup table to provide a log of a real input (10) of a signal and a log of an imaginary input (20) of the signal. A subtractor (100) computes the difference between the log of the real input and the log of the imaginary input to provide a difference (102) equivalent to a division of the inputs, and a rom lookup table (110) determines a phase from the difference.
|
2. A system to perform angle quantization, the system comprising:
a quadrant locator to determine a most significant bit of a real input and an imaginary input of a signal, a first comparator to compare the inputs of the signal, a first swapping device to swap the inputs if the imaginary input is greater than the real input, a normalizer to normalize the inputs, a second swapping device to swap the inputs if quadrant mapping indicates the phase of the signal requires swapping, a log rom lookup table to provide a log of the real input of the signal and the log of the imaginary input of the signal, a second comparator to calculate a difference between the log of the real input and the log of the imaginary input, and a rom lookup table to calculate an antilog and an arc tangent from the comparison.
1. A method of performing angle quantization, the method comprising the steps of:
locating a most significant bit of a real input and an imaginary input of a signal to determine a quadrant location of the signal, comparing the inputs of the signal, swapping the inputs if the imaginary input is greater than the real input, normalizing the inputs, swapping the inputs if quadrant mapping indicates the phase of the signal requires swapping, performing the log mapping of the real input and the imaginary input of the signal by use of a log rom lookup table to provide a log of the real input and a log of the imaginary input, calculating a difference between the log of the real input and the log of the imaginary input, and calculating an antilog and an arctangent from the resulting difference by use of a rom lookup table.
|
The present invention relates generally to a signal demodulator, and more particularly, the present invention relates to a system to perform angle quantization using log division.
Angle Quantization (AQ) is a function that is widely used on many communication hardware demodulators. A basic summary of the field is that plain radio waves of a particular frequency, called carrier waves, are manipulated to carry useful information, such as sound, digital data, or pictures. To do so, a transmitter changes the carrier waves in some way that corresponds to the information, and a receiver has to detect the changes to recover the information. Changing the carrier to put information into the signal is called modulation. Getting the information out at the receiver is called detection or demodulation.
One modulation technique is to transmit the information in the phase of a signal. This is called phase shift keying. Here, an angle quantizer is utilized to examine an incoming signal and determine the phase of that signal. Once the phase has been determined, the desired information can be retrieved or calculated.
Prior art systems utilized electronic circuits to analyze the inputs of a signal to determine its phase. The circuit shown in
Conventional signal demodulators performing angle quantization utilize a ROM lookup table to perform the step of an I/Q division and the arc tangent phase mapping. Because the I/Q division was being performed within the ROM, the sizes of the ROMs become necessarily enormous. The ROM sizes could be measured by 2{circumflex over ( )}(2X-4), where X is the number of phase mapping. It is therefore desirable to reduce the amount of hardware that is required to perform angle quantization as the bit widths increase.
According to a preferred embodiment of the invention, a system to perform angle quantization comprises: a log ROM lookup table to provide a log of a real input of a signal and a log of an imaginary input of the signal, a subtractor to subtract the log of the real input from the log of the imaginary input to provide a division, and a ROM lookup table to calculate a phase of the division.
The following description of preferred embodiments refers to the accompanied drawings, in which:
As shown in
As the signal enters the circuit in
After the MSBs are examined, the signal enters a first comparator 30 to determine whether the real input 10 or the imaginary input 20 is greater. This is a hardware technique to ensure that the larger input is always on the top rail 5. As seen from
After passing through the swapping device 40, the inputs are sent to a normalizer 50. At this point, the larger input, either real 10 or imaginary 20, is always on the top rail 5, and the smaller one is on the bottom rail 6. The reason the larger input is on the top rail 5 is because the normalizer 50 normalizes to two less than the number of bits that it is desired to angle quantize. Thus, the output of the normalizer 50 is X-2. The reason it is two bits less than the original X is because those two bits represent the quadrant location. In other words, the X bit output is comprised of a two bit quadrant and an X-2 bit phase, where the phase of interest is contained in the X-2 bits. The normalizer 50 also functions as a master/slave to drive the desired bits of interest, or those bits that are toggling. For example, if the input bit width entering the normalizer 50 is eight bits, then its output would be six bits. Likewise, the normalizer would select the most significant six bits that are toggling, because these bits are where the relevant information is contained, providing enhanced precision. The six bits that are toggling do not include the MSB that was earlier stripped off. The toggling bits would not necessarily be the first six bits, the middle six bits, or the last six bits, but whatever the existing maximum. This allows the circuit to achieve a higher dynamic range, because the normalizer 50 is picking the bits that are actually toggling, as opposed to just picking a static group.
Table 1 shows three examples of how toggling bits are selected. In these examples, the master numbers represent the numbers having the greater values, and the slave numbers represent the numbers having the lesser values. Also, these values shown are illustrative of an eleven bit AQ where the output is nine bits.
TABLE 1 |
The signal inputs 10 and 20 are then sent to a second swapping device 60 that takes into account the first swapping device 40 and models the division illustrated in FIG. 4. Exclusive OR logic devices 70 and 75 control the swapping device 60. Inputs to the logic devices 70 and 75 are MSB 12, MSB 22, and the output of the comparator 30. The second swapping device 60 also takes into account the quadrant of the incoming signal.
The second swapping device 60 takes into account the first swapping that is needed for the master/slave normalizer, and the quadrant mapping to determine the correct phase of the signal. The rails are swapped in order to determine the correct phase without having knowledge of the quadrant.
Table 2 illustrates how it is determined whether or not to swap the inputs 10 and 20 on the rails 5 and 6. Table 2 Includes all possible combinations of inputs 10 and 20. The sign I column represents the real input 10 and the sign Q column represents the imaginary input 20. In these columns, a 0 represents a positive input and a 1 represents a negative input. The I>Q column represents the output or result from the comparator 30. In this column, a 0 represents a true result, and a 1 represents a false result. The Swap 1 column illustrates when the first swapping device 40 swaps the inputs. Thus, Swap 1 controls the master/slave position. This swapping device 40 is controlled by the output of the comparator 30 (I>Q), where a 1=swap and a 0=do not swap. The Swap 2 column illustrates when the second swapping device 60 swaps the inputs Implementing the Swap 2 determination in hardware is more involved, but is easily accomplished using Kamough mapping. Kamough mapping produces the resulting circuit as shown in FIG. 5. The exclusive OR gates 70 and 75 from
TABLE 2 | ||||
Sign I | Sign Q | I > Q | Swap 1 | Swap 2 |
0 | 0 | 0 | No | No |
0 | 0 | 1 | YES | Yes |
0 | 1 | 0 | No | Yes |
0 | 1 | 1 | Yes | No |
1 | 0 | 0 | No | Yes |
1 | 0 | 1 | Yes | No |
1 | 1 | 0 | No | No |
1 | 1 | 1 | Yes | Yes |
After exiting the swapping device 60, the real component 10 of the signal then enters a log ROM lookup table 80. The imaginary component 20 also exits the swapping device 60 and enters a log ROM lookup table 90. The log ROM lookup tables 80 and 90 function by storing the previously calculated or precomputed logarithmic results for any input into separate addresses. When called upon, the log ROM lookup tables 80 and 90 provide the correct log value according to the address requested. This provides for the log mapping of the inputs. While
Time-sharing of a single ROM lookup table is extremely hardware dependent. It is based solely on the system clock and the speed at which the data is entering the system. For example, because it takes one clock cycle to perform the ROM lookup, when the data changes at the rate of every clock cycle, it is impossible to use the same ROM lookup table for both the I rail 10 and the Q rail 20. However, when the data changes at the rate of every other clock cycle, the data remains constant for two consecutive clock cycles. Therefore, the hardware can be designed to include a single ROM lookup table wherein one clock cycle is used for the I rail 10 and another clock cycle is used for the Q rail 20. While some additional control is necessary, it is smaller than an additional ROM.
The size of the log ROM lookup tables 80 and 90 is quite substantial. Each ROM is 2{circumflex over ( )}(X-2). This is because a precomputed value is stored for all possible inputs that are phase mapped. Therefore, as the bit width increases, the size of the ROM lookup table increases exponentially. For example, for a bit width of 11, the ROM lookup table stores 2{circumflex over ( )}(11-2) values or 512 addresses. If two ROM lookup tables are used as in
Trough simulation, it was determined that the bit widths coming out of the log lookup tables 80 and 90 should each increase by two. This could be increased further to gain additional accuracy, or it could increase by less and trade precision for memory size. This is one of the great advantages of this design, in that it allows a great deal of flexibility to trade phase precision with hardware size.
Table 3 illustrates the relationship between the bit width and the precision of the output. The address input into the ROM represents the value that the log is taken of. The number 21 is the exemplary address used in Table 3. The equation is thus y=log(address) or y=log(21)=1.322219295. This result is represented in binary as 010101001010 Table 3 thus clearly shows an increase in precision of the output as the bit width increase.
TABLE 3 | |||
Bit Width | Value of y (dec) | Binary | |
2 | 1 | 01 | |
3 | 1.5 | 011 | |
4 | 1.25 | 0101 | |
5 | 1.375 | 01011 | |
6 | 1.3125 | 010101 | |
The outputs 82 and 92 of the log ROM lookup tables 80 and 90 enter a subtractor 100 to subtract the log of the real input 10 and the log of the imaginary input 20 to provide a division of the inputs. The subtractor 100 could be a simple summing device that adds the negative of output 82 to output 92. It should also be noted that the subtractor 100 may be viewed as a comparator. In order to assure precision, the output 102 of the subtractor should increase by one because there is often a bit growth of one when adding or subtracting two numbers. For example, the sum of seven plus seven is 14. The binary representation of this summation using four bits is: 0111 (7)+0111 (7)=01110 (14) where the result of fourteen is represented with five bits. Also as a note, subtraction is simply a special case of addition. In both addition and subtraction, the growth bit is always the MSB or sign bit. The bit size increases by one bit because the decimal number fourteen cannot be represented in binary using only four bits, unless the result is rounded and truncated. In these last two steps, the circuit has subtracted the log of the imaginary input from the log of the real input. These steps perform the equivalent of a log division by taking advantage of the mathematical principle that the log of X/Y is equivalent to the log of X minus the log of Y. This concept is therefore providing an external hardware division that greatly reduces the size of the ROM lookup
A perceived drawback to calculating the log division in hardware is that there exists a finite precision resulting from the division, which results in some degradation in accuracy. However, by plotting out the simulation performance, it was discovered that the degradation was minimal. In other words, the bit error rates utilizing the circuit shown in
The output 102 of the subtractor 100 is provided to a ROM lookup table 110. The ROM lookup table 110 then provides the values for the anti log and arc tangent of 102, thus determining the phase angle of the signal. Because the anti log and arc tangent are both mathematical functions, it is easy to map those in the same ROM 110. A simple and still equivalent alternative would be to utilize separate ROMs, one for the anti log and one for the arc tangent.
The resulting number of addresses stored by the phase ROM 110 is 2{circumflex over ( )}(X+1). Thus, the total number of addresses stored by log ROM 80, log ROM 90, and phase ROM 110 is 2{circumflex over ( )}(X-2)+2{circumflex over ( )}(X-2)+2{circumflex over ( )}(X+1). This equation can be reduced to 5*2{circumflex over ( )}(X-1). This design as shown in
As mentioned above, the output of the phase ROM 110 determines the angle within an appropriate quadrant. That quadrant is determined by the output of the offset ROM 120, which has as its inputs the MSBs of the real input 10 and the imaginary input 20. The combination of the output from offset ROM 120 and phase ROM 110 provides the phase of the incoming signal being detected.
The prior art calculated the phase angle by utilizing the circuit shown in FIG. 1. The difference here is that a single ROM lookup table was used to take the real component 210 and the imaginary component 220 to perform the I/Q division and also the arc tangent phase mapping. This brute force method required an enormously large ROM lookup table because as the number of bits that were being phase mapped increased, the size of the ROM doubled. Its size is measured by 2{circumflex over ( )}(2X-4).
So, while the size of the ROM in
A decrease in the total ROM size required by the design shown in
In order to optimize the functionality of the circuit shown in
The BER curves depicted on the graph are considered terminal because they represent a link only from a terminal to a satellite, not a round trip path that would include a link from the satellite back down to a terminal. In other words, the curves represent the angle quantization performance on only one of the paths. The three curves on the left of the graph represent the theoretical curves or ideal curves. As expected, through simulation, the real time curves were a little bit to the right of the ideal curves. Ideally, the real time curves should look exactly like the ideal curves, except shifted to the right as a result of degradation due to the hardware and due to some errors on the signal. These errors may be frequency and timing errors, both of which cause degradation in performance.
The BER curves graphically illustrate the principle that as the signal strength increases, so does the performance, which causes the BER to decrease. That is why the curves go down as the power increases. The lowest BER that could possibly be achieved is 50%, because at that point, you are essentially tossing a coin and guessing that the data is a 0 or a 1. Zooming out on this graph would show that for very low power levels, the BER would level off at 0.5.
As seen in
The invention has been described in terms of several preferred embodiments. It will be appreciated that the invention may otherwise be embodied without departing from the fair scope of the invention defined by the following claims.
Patent | Priority | Assignee | Title |
7248655, | Apr 26 2002 | TOA Corporation | Digital radio receiver |
7460979, | Nov 20 2003 | University of Virginia Patent Foundation | Method and system for enhanced resolution, automatically-calibrated position sensor |
Patent | Priority | Assignee | Title |
4523221, | Jun 07 1983 | RCA LICENSING CORPORATION, TWO INDEPENDENCE WAY, PRINCETON, NJ 08540, A CORP OF DE | TV Receiver circuitry for performing chroma gain, auto-flesh control and the matrixing of I and Q signals to (R-Y), (B-Y) and (G-Y) signals |
4747067, | Oct 14 1986 | Raytheon Company | Apparatus and method for approximating the magnitude of a complex number |
5265128, | Apr 07 1988 | Ascom Zelcom AG | Method and device for the digital transmission of information in short-wave radio networks |
5440267, | Sep 14 1993 | NEC Corporation | Demodulator |
5485407, | Nov 27 1992 | Sony Magnescale Inc. | Interpolation device for scale arrangement |
5524026, | Dec 15 1992 | Fujitsu Limited | Method and apparatus for judging timing phase of modem which is used in data communication |
5786781, | Aug 17 1995 | Fanuc Ltd | Encoder angle data computation method and computation apparatus |
5832041, | Oct 21 1994 | Philips Electronics North America Corporation | 64 QAM signal constellation which is robust in the presence of phase noise and has decoding complexity |
5953311, | Feb 18 1997 | CHARTOLEAUX KG LIMITED LIABILITY COMPANY | Timing synchronization in a receiver employing orthogonal frequency division multiplexing |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Aug 28 2001 | BRADFORD, SHAWN P | TRW Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012146 | /0440 | |
Aug 29 2001 | TRW Inc. | (assignment on the face of the patent) | / | |||
Jan 22 2003 | TRW, INC N K A NORTHROP GRUMMAN SPACE AND MISSION SYSTEMS CORPORATION, AN OHIO CORPORATION | Northrop Grumman Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013751 | /0849 | |
Nov 25 2009 | NORTHROP GRUMMAN CORPORTION | NORTHROP GRUMMAN SPACE & MISSION SYSTEMS CORP | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 023699 | /0551 | |
Dec 10 2009 | NORTHROP GRUMMAN SPACE & MISSION SYSTEMS CORP | Northrop Grumman Systems Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 023915 | /0446 |
Date | Maintenance Fee Events |
Aug 11 2006 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Apr 08 2008 | ASPN: Payor Number Assigned. |
Aug 06 2010 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Aug 07 2014 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Feb 11 2006 | 4 years fee payment window open |
Aug 11 2006 | 6 months grace period start (w surcharge) |
Feb 11 2007 | patent expiry (for year 4) |
Feb 11 2009 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 11 2010 | 8 years fee payment window open |
Aug 11 2010 | 6 months grace period start (w surcharge) |
Feb 11 2011 | patent expiry (for year 8) |
Feb 11 2013 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 11 2014 | 12 years fee payment window open |
Aug 11 2014 | 6 months grace period start (w surcharge) |
Feb 11 2015 | patent expiry (for year 12) |
Feb 11 2017 | 2 years to revive unintentionally abandoned end. (for year 12) |