DETERMINING LO LEAKAGE AND QUADRATURE ERROR PARAMETERS OF AN RF FRONT END
20230163798 · 2023-05-25
Inventors
Cpc classification
International classification
Abstract
The present disclosure provides a method and a system to estimate LO leakage and quadrature error parameters for a transmitter RF front end, such as a direct up-conversion transmitter RF front end, in a joint fashion. The proposed method utilizes a PN sequence inserted at the transmitter baseband. At the observation receiver side, an RX accumulator is implemented to sum receiver signals to take advantage of a despreading gain using the same PN sequence from transmitter side. Through the despreading process, the receiver-transmitter channel may be estimated and used to extract the quadrature error parameters. The estimated channel may also be used to eliminate user data interference presented within the RX accumulator output, which may further be used to compute the LO leakage.
Claims
1. A method to be implemented by an in-phase and quadrature phase (I/O) based transceiver front end, the method comprising: receiving a transmitter signal, wherein the transmitter signal is based on a user data signal and a pseudo-noise sequence; receiving a receiver signal, wherein the receiver signal is based on the user data signal and the pseudo-noise sequence; obtaining a despreaded transmitter signal using the pseudo-noise sequence; and obtaining a despreaded receiver signal using the pseudo-noise sequence.
2. The method according to claim 1, further comprising: accumulating one or more transmitter signals and one or more receiver signals to obtain an accumulated transmitter signal and an accumulated receiver signal; despreading the accumulated transmitter signal using the pseudo-noise sequence to obtain the despreaded transmitter signal; and despreading the accumulated receiver signal using the pseudo-noise sequence to obtain the despreaded receiver signal.
3. The method according to claim 2, further comprising: synchronizing the transmitter signal before accumulating and despreading the transmitter signal; synchronizing the pseudo-noise sequence before despreading the transmitter signal and the receiver signal; and synchronizing the receiver signal before accumulating and despreading the receiver signal.
4. The method according to claim 3, wherein the transmitter signal is synchronized using one or more integer delay values, and wherein the receiver signal is synchronized using one or more fractional delay values.
5. The method according to claim 1, further comprising: determining one or more local oscillator leakage parameters of the I/O based transceiver front end based on the transmitter signal, the despreaded transmitter signal, the receiver signal and the despreaded receiver signal; and determining one or more quadrature error parameters of the I/O based transceiver front end based on the despreaded transmitter signal and the despreaded receiver signal.
6. The method according to claim 5, further comprising: determining channel characteristics of a transmission channel between a transmitter radio frequency front end of the I/O based transceiver front end and an observation receiver based on the despreaded transmitter signal and the despreaded receiver signal.
7. The method according to claim 6, further comprising implementing the transmitter radio frequency front end, the transmission channel and the observation receiver as software models in the I/O based transceiver front end.
8. The method according to claim 6, further comprising: canceling interference based on the transmitter signal, the receiver signal and the channel characteristics; and determining the one or more local oscillator leakage parameters based on the channel characteristics and a result of the canceling of the interference.
9. The method according to claim 6, further comprising: determining the one or more quadrature error parameters based on the channel characteristics.
10. The method according to claim 6, further comprising: generating a scaling factor; and generating a scaled pseudo-noise sequence using the scaling factor, wherein the transmitter signal and the receiver signal are based on the scaled pseudo-noise sequence, and wherein the channel characteristics are determined further based on the scaling factor.
11. The method according to claim 1, further comprising: generating the pseudo-noise sequence; modulating the pseudo-noise sequence according to a binary phase-shift keying standard to obtain a modulated pseudo-noise sequence; scaling the modulated pseudo-noise sequence to obtain a scaled pseudo-noise sequence; and adding the scaled pseudo-noise sequence to the user data signal to obtain the transmitter signal.
12. A radio frequency integrated circuit, comprising: a software controlled digital circuit including a pseudo-noise generator for generating a pseudo-noise sequence and one or more adder modules for adding the pseudo-noise sequence or a derivative of the pseudo-noise sequence to an in-phase and quadrature phase (I/O) based user data signal; and a further digital circuit including an accumulator module to receive a transmitter signal and a receiver signal, wherein the receiver signal is based on the I/O based user data signal and wherein the receiver signal is based on the I/O based user data signal, wherein the further digital circuit further includes one or more despreader modules to despread the transmitter signal and the receiver signal using the pseudo-noise sequence to obtain a despreaded transmitter signal and a despreaded receiver signal.
13. The radio frequency integrated circuit according to claim 12, further comprising: a firmware comprising first software code which, when executed by one or more processors, generates channel characteristics of a transmission channel between a transmitter radio frequency front end and an observation receiver using the despreaded transmitter signal and the despreaded receiver signal as inputs.
14. The radio frequency integrated circuit according to claim 13, wherein the transmitter radio frequency front end, the transmission channel and the observation receiver are implemented as system properties simulating the transmitter radio frequency front end, the transmission channel and the observation receiver.
15. The radio frequency integrated circuit according to claim 13, wherein the firmware comprises second software code which, when executed by the one or more processors, generates a user data cancelation result using the transmitter signal, the receiver signal and the channel characteristics as inputs, and wherein the firmware comprises third software code which, when executed by the one or more processors, generates one or more local oscillator leakage parameters using the channel characteristics and the user data cancelation result as inputs.
16. The radio frequency integrated circuit according to claim 13, wherein the firmware further comprises fourth software code which, when executed by the one or more processors, generates one or more quadrature error parameters using the channel characteristics as input.
17. A method for generating local oscillator leakage parameters and quadrature error parameters, the method comprising: generating a pseudo-noise sequence; inserting the pseudo-noise sequence or a derivative of the pseudo-noise sequence into a user data signal to obtain a transmitter signal; obtaining a despreaded transmitter signal from the transmitter signal using the pseudo-noise sequence; receiving an observation receiver signal, the observation receiver signal being based on the transmitter signal; obtaining a despreaded receiver signal from the observation receiver signal using the pseudo-noise sequence; and determining the local oscillator leakage parameters and the quadrature error parameters based on the transmitter signal, the despreaded transmitter signal, the observation receiver signal and the despreaded received signal.
18. The method according to claim 17, wherein the determining of the quadrature error parameters comprises: estimating channel characteristics based on the despreaded receiver signal and the despreaded transmitter signal; and extracting the quadrature error parameters using the estimated channel characteristics.
19. The method according to claim 17, wherein the determining of the local oscillator leakage parameters comprises: estimating channel characteristics based on the despreaded receiver signal and the despreaded transmitter signal; eliminating user data interference based on the observation receiver signal, the transmitter signal and the channel characteristics; and computing the local oscillator leakage parameters based on an outcome of the eliminating of the user data interference and the channel characteristics.
20. The method according to claim 17, further comprising: generating the receiver signal using models of one or more of a transmitter radio frequency front end, a transmission channel, and an observation receiver.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] To provide a more complete understanding of the present disclosure and features and advantages thereof, reference is made to the following description, taken in conjunction with the accompanying figures, wherein like reference numerals represent like parts, in which:
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
DESCRIPTION OF EXAMPLE EMBODIMENTS OF THE DISCLOSURE
Overview
[0022] The systems, methods and devices of this disclosure each have several innovative aspects, no single one of which is solely responsible for all of the desirable attributes disclosed herein. Details of one or more implementations of the subject matter described herein are set forth below and the accompanying drawings.
[0023] Integrating a transceiver RF front end into a radio frequency integrated circuit (RFIC) is popular nowadays. One of the preferred RF front end architectures is based on direct conversion, also known as zero-intermediate frequency (zero-IF). A direct conversion transceiver based on a direct conversion front end architecture may suffer from LO leakage. If not corrected, transmit LO leakage can produce unwanted emissions within the desired transmission, potentially compromising system performance. Furthermore, a direct conversion front end architecture may suffer from quadrature errors, the latter also known as I/Q imbalances.
[0024] To understand the problem of LO leakage, reference is made to
[0025] Because of parasitic capacitances within the silicon die and bond-wire to bond-wire coupling, the signal that is applied to the LO port of the RF mixer may also couple directly to the RF output. As shown in the example of
[0026] In a real-IF architecture where only one sideband is to be transmitted, it may be possible to resolve LO leakage by using RF filtering. In contrast, in a zero-IF architecture where both sidebands are to be transmitted, the LO leakage is typically added at the center of the modulated spectrum of the desired output and presents a more difficult challenge. Conventional filtering is no longer an option, because any filtering that would remove the LO leakage would typically also remove portions of the wanted transmission.
[0027] To understand the problem of quadrature errors, reference is made to
[0028] Processing of the I and Q signals may result in I and Q signals that are unequal in amplitude or not separated by exactly 90°. For example, the gain of the I path may be greater than that of the Q path; this could be caused by a DAC 102a, 102b gain mismatch, low-pass filter insertion loss, mismatch, or gain imbalance inside the IQ modulator. A gain imbalance may result in the I multiplier at the RF mixer 108a to be larger than the Q multiplier at the RF mixer 108b, or vice versa. This typically results in a degraded signal integrity at the receiver because the receiver is expecting a perfectly balance between the I and Q signals. Moreover, in IQ modulators, the 90° phase split of the LO is typically achieved using either a polyphase filter or a divide-by-two flip-flop circuit. In either circuit, the 90° phase split or quadrature typically includes imperfections. The IQ gain imbalance and the phase imperfections, jointly referred to as quadrature errors, may result in incorrect reconstruction of the signal and bit decisions in the receiver.
[0029] It is noted that this disclosure is not limited to transceivers processing two bit streams, such as traffic_I and traffic_Q in the example of
[0030] LO leakage and quadrature errors may thus be introduced in the part of the RF transceiver denoted 120 in
[0031]
[0032] As will be further described below, the U.sub.I and U.sub.O signals may be modified by a modulated PN sequence, e.g., modulated PN-I for the U.sub.I signal and modulated PN-Q for the U.sub.Q signal. Herein, PN, also known as pseudorandom noise, is a signal similar to noise which satisfies one or more standard tests for statistical randomness. A PN sequence typically includes a deterministic sequence of pulses or binary zeros and ones that repeats itself after a predefined period.
[0033] Furthermore, the U.sub.I and U.sub.O signals may be modified by a direct current (DC) correction signal, e.g., DC-I correction for the U.sub.I signal and DC-Q correction for the U.sub.Q signal. The resulting signals are denoted u.sub.I(n) and u.sub.Q(n).
[0034] Contribution of LO leakage is shown in
[0035] With reference to the model shown in
[0036] In the model of
[0037] The composite channel H between y.sub.k(n) and x.sub.k(n) may be denoted by a 2×2 real matrix H, where
With reference to
[0038] The RX-TX relation may be modeled as follows:
y.sub.k(n)=H*x.sub.k(n)+w.sub.k(n), (formula 2) [0039] in which w.sub.k(n) may be 2×1 additive white Gaussian noise vector at the receiver whose distribution follows w.sub.k(n)˜N(0,g.sub.w*I.sub.2).
[0040] Formulas 1 and 2 will be further used in the description below.
[0041] The signals u.sub.I(n) and u.sub.Q(n) representing the signals at the TX prior to LO leakage errors and quadrature errors may be fed to a TX accumulator for further analysis, denoted by the symbol {circle around (1)} in
[0042] The U.sub.I and U.sub.Q signals may be multiplied by a PN sequence that has a much higher bit rate than the original data rate. The PN sequence is then also known as a PN spreading sequence. The resulting transmitted signal may resemble bandlimited white noise. This noise-like signal may be used to reconstruct the original data at the receiving end, e.g., by multiplying the signal by the same PN sequence. This process, known as despreading, may mathematically be a correlation of the transmitted PN sequence with the PN sequence that the receiver already knows the transmitter is using. After the despreading, a signal-to-noise ratio may approximately be increased by a spreading factor, which is the ratio of the spreading-sequence rate to the data rate.
[0043] The present disclosure provides a method and a system to estimate LO leakage and quadrature error parameters for a transmitter RF front end, such as a direct up-conversion transmitter RF front end, advantageously in a joint fashion. The proposed method utilizes a PN sequence inserted at the transmitter baseband, such as the modulated PN-I and modulated PN-Q sequences shown in
[0044] Advantages of the proposed method and system include: 1) the added PN sequence may have zero DC mean added to the user data, hence it is suitable for systems which carry information on DC; 2) it allows simultaneous estimation of quadrature error and LO leakage using the same set of data captures to reduce data capture length and speed up estimation time—this is critical in, e.g., fast frequency hopping environments; and 3) it allows the added PN sequence power to be very low with long PN sequences providing large spreading/despreading gain.
[0045] As will be appreciated by one skilled in the art, aspects of the present disclosure may be embodied in various manners (e.g., as a method, a system, a computer program product, or a computer-readable storage medium). Accordingly, aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Functions described in this disclosure may be implemented as an algorithm executed by one or more hardware processing units, e.g., one or more microprocessors of one or more computers. In various embodiments, different steps and portions of the steps of each of the methods described herein may be performed by different processing units. Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer-readable medium(s), preferably non-transitory, having computer-readable program code embodied, e.g., stored, thereon.
[0046] The following detailed description presents various descriptions of specific certain embodiments. However, the innovations described herein can be embodied in a multitude of different ways, for example, as defined and covered by the claims and/or select examples. In the following description, reference is made to the drawings, where like reference numerals can indicate identical or functionally similar elements. It will be understood that elements illustrated in the drawings are not necessarily drawn to scale. Moreover, it will be understood that certain embodiments can include more elements than illustrated in a drawing and/or a subset of the elements illustrated in a drawing. Further, some embodiments can incorporate any suitable combination of features from two or more drawings.
[0047] The following disclosure describes various illustrative embodiments and examples for implementing the features and functionality of the present disclosure. While particular components, arrangements, and/or features are described below in connection with various example embodiments, these are merely examples used to simplify the present disclosure and are not intended to be limiting. It will of course be appreciated that in the development of any actual embodiment, numerous implementation-specific decisions must be made to achieve the developer's specific goals, including compliance with system, business, and/or legal constraints, which may vary from one implementation to another. Moreover, it will be appreciated that, while such a development effort might be complex and time-consuming, it would nevertheless be a routine undertaking for those of ordinary skill in the art having the benefit of this disclosure.
[0048] In the present disclosure, if used, the terms “substantially,” “approximately,” “about,” etc., may be used to generally refer to being within +/− 20% of a target value, e.g., within +/−10% of a target value, based on the context of a particular value as described herein or as known in the art. For the purposes of the present disclosure, the phrase “A and/or B” or notation “A/B” means (A), (B), or (A and B). For the purposes of the present disclosure, the phrase “A, B, and/or C” or notation “A/B/C” mean (A), (B), (C), (A and B), (A and C), (B and C), or (A, B, and C).
[0049] Other features and advantages of the disclosure will be apparent from the following description and the claims.
Example Transceiver Front End
[0050]
[0051] In some embodiments the transceiver front end 400 may operate in a calibration mode, wherein the LO leakage and quadrature errors may be determined without actually transmitting signals to a receiver. After calibration, the transceiver front end 400 may be set to an operational mode, wherein signals are transmitted to a receiver.
[0052] The transceiver front end 400 may include a PN sequence injection and signal generation module 420. The PN sequence injection and generation module 420 may be configured to receive user data d.sub.k(n), which may include a correction factor dcCorr. In
[0053] The transceiver front end 400 may include a TX RF front end module 440. The TX RF front end module 440 may be configured to receive the u.sub.k(n) signals from the PN sequence injection and signal generation module 420. The TX RF front end module 440 may introduce LO leakage signals to the u.sub.k(n) signals. The TX RF front end module 440 transmits the signals to one or more observation receivers 442. The TX RF front end module 440 will be further described in
[0054] The transceiver front end 400 may include one or more observation receivers 442, which represent one or more receivers of the signal transmitted by the TX RF front end 440. The observation receivers 442 may be configured to provide the received signals y.sub.k(n) to the observation module 460 for further processing.
[0055] When transmitting the signals to a receiver, quadrature errors may be introduced to the signals. In
[0056] The transceiver front end 400 may include an observation module 460. The observation module 460 may be configured to receive the u.sub.k(n) signals and a raw PN sequence PN.sub.raw(n) from the PN sequence injection and signal generation module 420. The observation module 460 may further be configured to receive the y.sub.k(n) signals from the observation receivers 442. The observation module 460 may use integer delay values del.sub.int and fractional delay values del.sub.frac, e.g., received from the analysis module 480 for signal synchronization purposes. Based on the various input signals, the observation module 460 may generate accumulated user signals t.sub.k from the received u.sub.k(n) signals, despreaded accumulated user signals ϕ.sub.k from the received u.sub.k(n) signals, accumulated receiver signals r.sub.k from the received y.sub.k(n) signals and despreaded accumulated receiver signals r.sub.k,despr from the received y.sub.k(n) signals. The t.sub.k, ϕ.sub.k, r.sub.k and r.sub.k,despr signals may be output to the analysis module 480 for further processing. The observation module 460 will be further described in
[0057] The transceiver front end 400 may further include an analysis module 480. The analysis module 480 may be configured to generate the scaling factors θ.sub.k for use by the PN sequence injection and signal generation module 420. The analysis module 480 may be configured to generate integer delay values del.sub.int and fractional delay values del.sub.frac for use by the observation module 460. The analysis module 480 may be configured to analyze the t.sub.k, ϕ.sub.k, r.sub.k and r.sub.k,despr signals obtained from the observation module 460 and based on the outcome of this analysis, calculate LO leakage and quadrature error parameters for the transceiver front end 400. The analysis module 480 will be further described in
Example PN Sequence Injection and Signal Generation Module
[0058]
[0059] The PN sequence injection and signal generation module 420 may include a PN generator 422 for generating the raw PN sequence PN.sub.raw(n). A binary phase-shift keying (BPSK) modulator may generate a PN(n) sequence according to the standard BPSK modulation scheme. The PN(n) sequence and the scaling factors θ.sub.k may be fed to in-phase and quadrature scaling modules 426 to generate scaled PN(n) sequences PN(n)θ.sub.k,I and PN(n)θ.sub.k,Q for each of the I and Q signal paths. Adders 428 may add the thus obtained scaled PN(n)θ.sub.k,I and PN(n)θ.sub.k,Q to the user data d.sub.k(n), possibly including a dcCorr component, to obtain the u.sub.k,I(n) and u.sub.k,Q(n) signals for the I and Q signal paths.
[0060] The PN sequence injection and signal generation module 420 may be implemented as a software controlled hardware module or a digital circuit. Alternatively, the PN sequence injection and signal generation module 420 may be implemented in software.
Example TX Front End Module
[0061]
[0062] The TX RF front end module 440 may include a baseband LO leakage model, which may be used, e.g., in a calibration mode, to add LO leakage signals to the input signals to generate the x.sub.k,I(n) and x.sub.k,Q(n) signals. The TX RF front end module 440 may further include a quadrature error model 446, which may be used, e.g., in a calibration mode, to add quadrature errors to the x.sub.k,I(n) and x.sub.k,Q(n) signals before transmission of the signals to the observation receivers 442.
[0063] When the transceiver front end is not operating in a calibration mode, the TX RF front end module may be configured to operate as an analog TX RF front end 440′ as shown in
[0064] In some embodiments, the configurations of
Example Observation Module
[0065]
[0066] The observation module 460 may include a first first-in-first-out (FIFO) buffer 462 for receiving the u.sub.k,I(n) and u.sub.k,Q(n) signals from the PN sequence injection and signal generation module 420. The observation module 460 may further include a second FIFO buffer 464 for receiving the PN.sub.raw(n) signals from the PN sequence injection and signal generation module 420. Signal synchronization may be applied by FIFOs 462, 464 using the del.sub.int values received from the analysis module 480. The first FIFO may output the received u.sub.k(n) signals, i.e., for both I and Q signal paths, to an accumulator module 470. A delayed version of the u.sub.k(n) signals may be input, together with the u.sub.k(n) signals, to a despreader 466 to obtain despreaded u.sub.despread,k(n) signals. The PN.sub.raw(n) signals from the second FIFO 464 may be used in the despreading operation. The u.sub.despread,k(n) signals may be input to the accumulator module 470.
[0067] The y.sub.k(n) signals received from the observation receivers 442 may be received by an interpolator module 468, which may use the del.sub.frac values from the analysis module to synchronize the received signals. In, e.g., a calibration mode, the y.sub.k(n) signals may be received by processing the u.sub.k(n) signals through a model of the TX RF front end 440 and transmission channel H, as described above. The interpolator module 468 may output the y.sub.k(n) signals, i.e., for both I and Q signal paths, to the accumulator module 470. A delayed version of the y.sub.k(n) signals may be input, together with the y.sub.k(n) signals, to a despreader 466 to obtain despreaded y.sub.despread,k(n) signals. The PN.sub.raw(n) signals from the second FIFO 464 may be used in this despreading operation. The y.sub.despread,k(n) signals may be input to the accumulator module 470.
[0068] The accumulator module 470 may accumulate the received signals and output the thus obtained t.sub.k, ϕ.sub.k, r.sub.k and r.sub.k,despr signals to the analysis module 480 for further processing. The accumulator module 470 will be further described in
[0069] The observation module 460 may be implemented in hardware. The accumulators may be implemented as a digital circuit. Alternatively, the accumulators may be implemented in software.
Example Accumulator Module
[0070] The accumulator module 470 may be implemented in various manners. One example is shown in
[0071] The accumulators may be implemented as complex accumulators, e.g., one for the transmitter side data and one for the observation receiver side data.
Example Analysis Module
[0072]
[0073] The analysis module 480 may include a PN scaling generator module 481 for generating the scaling factors θ.sub.k,I and θ.sub.k,Q. The scaling factors O.sub.k,I and O.sub.k,Q may be output to the PN sequence injection and signal generation module 420. The analysis module 480 may include a programmable integer delay module 482 and a programmable fractional delay module 483 for generating the del.sub.int and del.sub.frac values, respectively.
[0074] A channel estimation module 484 may be configured to receive the ϕ.sub.k and r.sub.k,despr signals from the observation module 460. The channel estimation module 484 may be configured to determine the characteristics of the composite channel Ĥ based on the received ϕ.sub.k and r.sub.k,despr signals.
[0075] The thus obtained channel characteristics Ĥ may be input to a user data cancelation module 485. The user data cancelation module 485 may further receive the t.sub.k and r.sub.k signals from the observation module 460. The user data cancelation module 485 may be configured to cancel interference and generate r.sub.LOL,k based on the received t.sub.k and r.sub.k signals and channel characteristics Ĥ.
[0076] A LO leakage estimation module 486 may estimate the LO leakage in the transceiver front end based on the channel characteristics Ĥ obtained from the channel estimation module 484 and the r.sub.LOL,k obtained from the user data cancelation module 485.
[0077] A quadrature error calculation module 487 may calculate the quadrature error in the transceiver front end based on the channel characteristics Ĥ obtained from the channel estimation module 484.
[0078] Thus, the LO leakage and quadrature error parameters may be estimated simultaneously by the analysis module 480. The obtained LO leakage and quadrature error parameters may be used to configure the transceiver front end 400 to compensate for LO leakage and quadrature errors.
[0079] In an example embodiment, the calculated LO leakage may be used to update dcCorr to compensate LO leakage. For quadrature error correction, the calculated quadrature error may be used to drive an actuator before LO leakage correction (not shown in
[0080] The analysis module 480 may be implemented in firmware, e.g., a firmware of the transceiver front end 400.
Signal Injection and Solver Modeling
[0081] In the following sections, signal injection and solver modeling for obtaining the LO leakage and quadrature errors parameters will be explained in more detail. Reference will be made to elements shown in
Signal Injection and Solver Modeling—Injection of PN Sequence to the Transmitter
[0082] In the kth transmission block's nth sample, a PN generator module, e.g., the PN generator 422, may generate PN.sub.raw(n). Then PN.sub.raw(n) may be fed into a BPSK modulator, e.g., BPSK modulator 424, to generate PN sequence PN(n)∈{−1,1}, according to standard BPSK modulation, i.e.,
[0083] PN(n) may be fed into in-phase and quadrature scaling modules, e.g., in-phase and quadrature scaling modules 428, to obtain appropriate scaling. Specifically, the scalers for I and Q may be written into a vector form:
[0084] Herein, g.sub.PN is a magnitude of the PN sequence which may be selected to be small enough compared to the user data, such that it does not affect the transmit signal quality.
[0085] Note θ.sub.k may be selected other than the values specified in formula 4, such that [θ.sub.0, θ.sub.1, . . . , θ.sub.K−1][θ.sub.0, θ.sub.1, . . . , θ.sub.K−1].sup.T is a rank two matrix and has a small condition number.
[0086] The output from the in-phase and quad scaling modules may be written into a vector form as PN(n)θ.sub.k. The PN(n)θ.sub.k may be summed with user data d.sub.k(n) on the data path and fed into the transmitter front end, e.g., TX RF front end 440, and a loopback bridge for feeding into the observation module 460. Thus, the following signal is obtained:
u.sub.k(n)=d.sub.k(n)+θ.sub.k*PN(n)+dcCorr, (formula 5) [0087] where d.sub.k(n) is the user data of the nth sample of the kth block. Note the additional term of dcCorr may also be added to the right-hand side of formula 5, which represents the LO leakage correct values added to the data path.
[0088] LO leakage may be added to the u.sub.k(n) at the TX front end, generating the transmit data x.sub.k(n), i.e., x.sub.k(n)=u.sub.k(n)+LOL. Herein, LOL=[LOL.sub.i, LOL.sub.q].sup.T is the LO leakage and is assumed to be a constant across K transmit blocks.
Signal Injection and Solver Modeling—Signal at the Observation Receiver
[0089] Then x.sub.k(n) may be fed into the loopback bridge for feeding into the observation module 460. According to the models introduced in
y.sub.k.sup.δ(n)=H*(d.sub.k(n−δ)+N*θ.sub.k*PN(n−δ)+dcCorr+LOL)+w.sub.k(n), n=0, 1, . . . , N−1. (formula 6)
[0090] Note that a delay term δ may be added to the equation which denotes the delay between received signal and transmit signal. H is a composite channel which contains quadrature error parameters as in formula 1.
Signal Injection and Solver Modeling—LO Leakage and Quadrature Error Solvers
Compute the Channel
[0091] The delay between RX from TX signals, δ, may have an integer part and fractional part. The integer and fractional delays may be calculated in advance by a loopback path delay measurement module, which is not in the scope of this disclosure, and may be provided, e.g., by the programmable integer delay module 482 and the programmable fractional delay module 483. The integer delay may compensated at the TX FIFO, such as FIFOs 462 and 464; the fractional delay may be compensated using an RX interpolator, such as interpolator module 468. These two operations may be equivalent to remove the delay and result in a RX signal of:
y.sub.k(n)=H*(d.sub.k(n)+N*θ.sub.k*PN(n)+dcCorr+LOL)+w.sub.k(n), n=0, 1, . . . , N−1. (formula 7)
[0092] After collecting all N samples for the kth block, these samples may be combined at the RX correlator after multiplying the same PN sequence PN(n) at the despreader, such as despreader 466, according to the below equation:
r.sub.k,despreaded=Σ.sub.n=0, . . . , N−1y.sub.despread,k(n)Σ.sub.n=0, . . . , N−1(y.sub.k(n)*PN(n)) (formula 8)
[0093] Herein, y.sub.despread,k(n)PN(n)*y.sub.k(n). The right-hand side of formula 8 can be rearranged into the following form by noting that PN(n).sup.2=1:
[0094] The second and third terms of the right-hand side of formula 9 may be suppressed due to the despreading process, which results in a simplified formula for the kth block:
r.sub.k,despreaded=H*ϕ.sub.k. (formula 10) [0095] where ϕ.sub.kN*θ.sub.k+Σ.sub.n=0, . . . , N−1(d.sub.k(n)+dcCorr)*PN(n).
[0096] All r.sub.k,despreaded, (k=0, . . . , K−1) may be combined into a matrix form as at a module of channel estimation, such as channel estimation module 484, as:
R=H*Σ. (formula 11)
[0097] Herein, R[r.sub.0,despreaded, r.sub.1,despreaded, . . . , r.sub.K−1,despreaded], and Σ
[ϕ.sub.0, ϕ.sub.1, . . . , ϕ.sub.ϕK−1]. ϕ.sub.k may be provided by the TX accumulator, such as TX accumulator #1, through a despreading process. Recall transmit signal in formula 5. TX accumulator may output: Σ.sub.n=0, 1, . . . Nu.sub.despread,k(n)=Σ.sub.n=0,1, . . . NPN(n)*(d.sub.k(n)+θ.sub.k*PN(n)+dcCorr)
(ϕ.sub.k, where u.sub.despread,k(n)
PN(n)*u.sub.k(n). H may then be solved in the channel estimation module, such as channel estimation module 484, using:
[0098] Note that the matrix inverse can be avoided by carefully selected parameters. An example is that to have K=2 blocks of data transmitted and θ.sub.0=[g.sub.PN,0].sup.T and θ.sub.1=[0,g.sub.PN].sup.T. In this example, the channel estimator can simply output
if the term of Σ.sub.n=0, . . . , N−1(d.sub.k(n)+dcCorr)*PN(n) is ignored due to large despreading gain.
Compute the Quadrature Parameters
[0099] The channel estimator Ĥ may be fed into a module of quadrature error estimator, such as quadrature error calculation module 487, which may calculate the quadrature error parameters according to the below equations:
User Data Cancelation
[0100] The receiver accumulator, such as RX accumulator #1, may also output the sum of the received samples of the kth block without despreading, which yields the below equation:
[0101] The first term of right-hand side of formula 15 is the desired term to calculate LOL. r.sub.k, k=0, 1, . . . K−1 may be fed into a user data cancelation module, such as user data cancelation module 485, to eliminate the interference caused by user data.
[0102] Besides r.sub.k, the TX accumulator may also output t.sub.k, the sum of the samples of kth block of the TX data, to the user data cancelation module, such as user data cancelation module 485, i.e.,
t.sub.k=Σ.sub.n=0, . . . , N−1d.sub.k(n)+dcCorr+θ.sub.k*PN(n). (formula 16)
[0103] The user data cancelation module may cancel the interference and generate r.sub.LOL,k:
[0104] LO Leakage Computation
[0105] r.sub.LOL,k may be fed to an LO leakage estimation module, such as LO leakage estimation module 486. In the LO leakage estimation module, r.sub.LOL,k may be summed together across all K blocks, which yields the next equation:
Σ.sub.k=0, . . . , K−1r.sub.LOL,k=N*K*H*LOL+H*Σ.sub.n=0, . . . , N−1,k=0, . . . , K−1(w.sub.k(n)). (formula 18)
[0106] The second term of formula 18 may be ignored due to large N*K. Then the LO leakage may be computed as:
LOL=1/(N*K)*H.sup.−1*Σ.sub.k=0, . . . , K−1r.sub.LOL,k (formula 19)
Example Method for Determining LO Leakage and Quadrature Error Parameters
[0107]
[0108] In step 502 a PN sequence may be generated. The PN sequence is, e.g., generated by PN generator 422 as shown in
Determining Quadrature Error Parameters
[0109]
Computing LO Leakage Parameters
[0110]
Example Data Processing System
[0111]
[0112] As shown in
[0113] In some embodiments, the processor 802 can execute software or an algorithm to perform the activities as discussed in the present disclosure, in particular activities related to configuring and/or operating one or more I/O based transceiver front ends as described herein. The processor 802 may include any combination of hardware, software, or firmware providing programmable logic, including by way of non-limiting example a microprocessor, a digital signal processor (DSP), a field-programmable gate array (FPGA), a programmable logic array (PLA), an application specific integrated circuit (IC) (ASIC), or a virtual machine processor. The processor 802 may be communicatively coupled to the memory element 804, for example in a direct-memory access (DMA) configuration, so that the processor 802 may read from or write to the memory elements 804.
[0114] In general, the memory elements 804 may include any suitable volatile or non-volatile memory technology, including double data rate (DDR) random access memory (RAM), synchronous RAM (SRAM), dynamic RAM (DRAM), flash, read-only memory (ROM), optical media, virtual memory regions, magnetic or tape memory, or any other suitable technology. Unless specified otherwise, any of the memory elements discussed herein should be construed as being encompassed within the broad term “memory.” The information being measured, processed, tracked or sent to or from any of the components of the data processing system 800 could be provided in any database, register, control list, cache, or storage structure, all of which can be referenced at any suitable timeframe. Any such storage options may be included within the broad term “memory” as used herein. Similarly, any of the potential processing elements, modules, and machines described herein should be construed as being encompassed within the broad term “processor.” Elements shown in the present figures can also include suitable interfaces for receiving, transmitting, and/or otherwise communicating data or information in a network environment so that they can communicate with, e.g., the data processing system 800.
[0115] In certain example implementations, mechanisms operating transceiver front ends as outlined herein may be implemented by logic encoded in one or more tangible media, which may be inclusive of non-transitory media, e.g., embedded logic provided in an ASIC, in DSP instructions, software (potentially inclusive of object code and source code) to be executed by a processor, or other similar machine, etc. In some of these instances, memory elements, such as the memory elements 804 shown in
[0116] The memory elements 804 may include one or more physical memory devices such as, for example, local memory 808 and one or more bulk storage devices 810. The local memory may refer to RAM or other non-persistent memory device(s) generally used during actual execution of the program code. A bulk storage device may be implemented as a hard drive or other persistent data storage device. The processing system 800 may also include one or more cache memories (not shown) that provide temporary storage of at least some program code in order to reduce the number of times program code must be retrieved from the bulk storage device 810 during execution.
[0117] As shown in
[0118] Input/output (I/O) devices depicted as an input device 812 and an output device 814, optionally, can be coupled to the data processing system. Examples of input devices may include, but are not limited to, a keyboard, a pointing device such as a mouse, or the like. Examples of output devices may include, but are not limited to, a monitor or a display, speakers, or the like. In some embodiments, the output device 814 may be any type of screen display, such as plasma display, liquid crystal display (LCD), organic light emitting diode (OLED) display, electroluminescent (EL) display, or any other indicator, such as a dial, barometer, or LEDs. In some implementations, the system may include a driver (not shown) for the output device 814. Input and/or output devices 812, 814 may be coupled to the data processing system either directly or through intervening I/O controllers.
[0119] In an embodiment, the input and the output devices may be implemented as a combined input/output device (illustrated in
[0120] A network adapter 816 may also, optionally, be coupled to the data processing system to enable it to become coupled to other systems, computer systems, remote network devices, and/or remote storage devices through intervening private or public networks. The network adapter may comprise a data receiver for receiving data that is transmitted by said systems, devices and/or networks to the data processing system 800, and a data transmitter for transmitting data from the data processing system 800 to said systems, devices and/or networks. Modems, cable modems, and Ethernet cards are examples of different types of network adapter that may be used with the data processing system 800.
Select Examples
[0121] The following paragraphs provide various examples of the embodiments disclosed herein.
[0122] Example 1 provides a method in an in-phase and quadrature phase (I/O) based transceiver front end. The method may include receiving, e.g., in an observation module if the transceiver front end, a transmitter signal. The transmitter signal may be based on a user data signal and a PN sequence. The method may further include receiving, e.g., in the observation module, a receiver signal comprising the user data signal and the PN sequence. The receiver signal may be based on the user data signal and the PN sequence. The receiver signal is typically based on the transmitter signal. For example, the receiver signal may be the transmitter signal after being transmitted and as received at a receiver. The method may further include receiving, e.g., in the observation module, the PN sequence. The method may further include obtaining, e.g., in the observation module, a despreaded transmitter signal using the PN sequence. The method may further include obtaining, e.g., in the observation module, a despreaded receiver signal using the PN sequence.
[0123] Example 2 provides a method according to example 1, wherein the method may further include accumulating, e.g., in an accumulator module of the observation module, the transmitter signal and the receiver signal. The method may further include despreading, e.g., in a first despreader of the observation module, the transmitter signal using the PN sequence to obtain the despreaded transmitter signal. The method may further include despreading, e.g., in a second despreader of the observation module, the receiver signal using the PN sequence to obtain the despreaded receiver signal.
[0124] Example 3 provides a method according to example 2, wherein the method may further include synchronizing, e.g., in a first FIFO buffer of the observation module, the received transmitter signal before being provided to the accumulator module and the first despreader. The method may further include synchronizing, e.g., in a second FIFO buffer of the observation module, the PN sequence before being provided to the first despreader and the second despreader. The method may further include synchronizing, e.g., in an interpolator module of the observation module, the received receiver signal before being provided to the accumulator module and the second despreader.
[0125] Example 4 provides a method according to example 3, wherein performing synchronizations, e.g., by the first FIFO buffer and the second FIFO buffer, using one or more integer delay values, e.g., received from an analysis module of the transceiver front end, and wherein performing, e.g., by the interpolator module, synchronization using one or more fractional delay values, e.g., received from the analysis module.
[0126] Example 5 provides a method according to example 1, wherein the method may further include receiving, e.g., in an analysis module of the transceiver front end, the transmitter signal, the despreaded transmitter signal, the receiver signal and the despreaded receiver signal, e.g., from the observation module. The method may further include determining, e.g., in the analysis module, one or more LO leakage parameters of the transceiver front end, based on the transmitter signal, the despreaded transmitter signal, the receiver signal and the despreaded receiver signal. The method may further include determining, e.g., in the analysis module, one or more quadrature error parameters of the transceiver front end, based on the despreaded transmitter signal and the despreaded receiver signal.
[0127] Example 6 provides a method according to example 5, wherein the method may further include receiving, e.g., in a channel estimation module of the analysis module, the despreaded transmitter signal and the despreaded receiver signal from the observation module. The channel estimation module may determine channel characteristics of the transmission channel between a transmitter RF front end of the transceiver front end and an observation receiver, based on the despreaded transmitter signal and the despreaded receiver signal.
[0128] Example 7 provides a method according to example 6, wherein implementing a transmitter RF front end, a transmission channel and an observation receiver as a software model in the transceiver front end.
[0129] Example 8 provides a method according to example 6, wherein the method may further include receiving, e.g., in a user data cancelation module of the analysis module, the transmitter signal and the receiver signal, e.g., from the observation module. The method may further include canceling interference, e.g., in the user data cancelation module, based on the transmitter signal, the receiver signal and the channel characteristics, e.g., as determined by the channel estimation module. The method may further include determining, e.g., in a LO leakage estimation module of the analysis module, the one or more LO leakage parameters, based on the channel characteristics, e.g., as determined by the channel estimation module, and a result of the canceling of the interference.
[0130] Example 9 provides a method according to example 6, wherein the method may further include determining, e.g., in a quadrature error calculation module of the analysis module, the one or more quadrature error parameters, based on the channel characteristics, e.g., as determined by the channel estimation module.
[0131] Example 10 provides a method according to example 6, wherein the method may further include generating, e.g., in a PN scaling generator module, a scaling factor. The PN sequence in the transmitter signal and in the receiver signal may have been multiplied by the scaling factor. The determining of the channel characteristics may further be based on the scaling factor, e.g., as received from the scaling generator module.
[0132] Example 11 provides a method according to example 1, wherein the method may further include generating, e.g., in a PN generator of a PN sequence injection and signal generation module, the PN sequence. The method may further include modulating, e.g., in a BPSK modulator of the PN sequence injection and signal generation module, the PN sequence according to a BPSK standard and obtaining a modulated PN sequence. The method may further include scaling, e.g., in an in-phase and quadrature scaling module of the PN sequence injection and signal generation module, the modulated PN sequence to obtain a scaled PN sequence. The method may further include adding, e.g., in one or more adder modules of the PN sequence injection and signal generation module, the scaled PN sequence to the user data signal to obtain the transmitter signal.
[0133] Example 12 provides a RFIC. The RFIC may be a part of an in-phase and quadrature phase (I/O) based transceiver front end. The RFIC may include a software controlled digital circuit including a PN generator for generating a PN sequence and one or more adder modules for adding the PN sequence or a derivative of the PN sequence to an in-phase and quadrature phase (I/O) based user data signal. The RFIC may further include a further digital circuit including an accumulator module to receive a transmitter signal and a receiver signal, the further digital circuit further including one or more despreader module to despread the transmitter signal and the receiver signal using the PN sequence to obtain a despreaded transmitter signal and a despreaded receiver signal.
[0134] Example 13 provides a RFIC according to example 12, wherein the RFIC may further include firmware comprising software code which, when executed by one or more processors, generates and outputs channel characteristics of a transmission channel between a transmitter RF front end and an observation receiver, using the despreaded transmitter signal and the despreaded receiver signal as inputs.
[0135] Example 14 provides a RFIC according to example 13, wherein the transmitter RF front end, the transmission channel and the observation receiver may be implemented as system properties simulating the transmitter RF front end, the transmission channel and the observation receiver.
[0136] Example 15 provides a RFIC according to example 13, wherein the firmware may further include software code which, when executed by the one or more processors, generates and outputs one or more LO leakage parameters, using the channel characteristics and a user data cancelation result as inputs, wherein the user data cancelation result is obtained by software code which, when executed by the one or more processors, generates and outputs the data cancelation result using the transmitter signal, the receiver signal and the channel characteristics as inputs.
[0137] Example 16 provides a RFIC according to example 13, wherein the firmware may further include software code which, when executed by the one or more processors, generates and outputs one or more quadrature error parameters, using the channel characteristics as input.
[0138] Example 17 provides a method for generating LO leakage parameters and quadrature error parameters. The method may include generating a PN sequence. The method may further include inserting the PN sequence or a derivative of the PN sequence into a user data signal to obtain a transmitter signal. The method may further include receiving the transmitter signal. The method may further include obtaining a despreaded transmitter signal from the transmitter signal using a same PN sequence. The method may further include receiving an observation receiver signal, the observation receiver signal being based on the transceiver signal. The method may further include obtaining a despreaded receiver signal from the receiver signal using the same PN sequence. The method may further include determining the LO leakage parameters and the quadrature error parameters based on the transmitter signal, the despreaded transmitter signal, the observation receiver signal and the despreaded received signal.
[0139] Example 18 provides a method according to example 17, wherein the determining of the quadrature error parameters may include: estimating channel characteristics based on the despreaded receiver signal and the despreaded transmitter signal; and extracting quadrature error parameters using the estimated channel characteristics.
[0140] Example 19 provides a method according to example 17, wherein the determining of the LO leakage parameters may include estimating channel characteristics based on the despreaded receiver signal and the despreaded transmitter signal. The determining of the LO leakage parameters may further include eliminating user data interference based on the received observation receiver signal and received transmitter signal, and using the estimated channel characteristics. The determining of the LO leakage parameters may further include computing the LO leakage parameters based on the eliminated user data interference and the estimated channel characteristics.
[0141] Example 20 provides a method according to example 17, wherein the method may further include generating the receiver signal using a model of a transmitter RF front end, a transmission channel and an observation receiver.
[0142] Example 21 provides an in-phase and quadrature phase (I/O) based transceiver front end. The transceiver front end may include an observation module. The observation module may be to receive a transmitter signal comprising a user data signal and a PN sequence. The observation module may further be to receive a receiver signal comprising the user data signal and the PN sequence. The observation module may further be to receive the PN sequence. The observation module may further be to obtain a despreaded transmitter signal using the PN sequence. The observation module may further be to obtain a despreaded receiver signal using the PN sequence.
[0143] Example 22 provides a transceiver front end according to example 21, wherein the observation module may include an accumulator module to receive and accumulate the transmitter signal and the receiver signal. The observation module may further include a first despreader to despread the transmitter signal using the PN sequence to obtain the despreaded transmitter signal. The observation module may further include a second despreader to despread the receiver signal using the PN sequence to obtain the despreaded receiver signal.
[0144] Example 23 provides a transceiver front end according to example 22, wherein the observation module may further include a first FIFO buffer to synchronize the received transmitter signal before being provided to the accumulator module and the first despreader. The observation module may further include a second FIFO buffer to synchronize the PN sequence before being provided to the first despreader and the second despreader. The observation module may further include an interpolator module to synchronize the received receiver signal before being provided to the accumulator module and the second despreader.
[0145] Example 24 provides a transceiver front end according to example 23, wherein the first FIFO buffer and the second FIFO buffer may be to perform synchronizations using one or more integer delay values received from an analysis module of the transceiver front end. The interpolator module may be to perform synchronization using one or more fractional delay values received from the analysis module.
[0146] Example 25 provides a transceiver front end according to example 21, wherein the transceiver front end may further include an analysis module. The analysis module may be to receive the transmitter signal, the despreaded transmitter signal, the receiver signal and the despreaded receiver signal from the observation module. The analysis module may further be to determine one or more LO leakage parameters of the transceiver front end, based on the transmitter signal, the despreaded transmitter signal, the receiver signal and the despreaded receiver signal. The analysis module may further be to determine one or more quadrature error parameters of the transceiver front end, based on the despreaded transmitter signal and the despreaded receiver signal.
[0147] Example 26 provides a transceiver front end according to example 25, wherein the analysis module may include a channel estimation module to receive the despreaded transmitter signal and the despreaded receiver signal from the observation module. The channel estimation module may be to determine channel characteristics of the transmission channel between a transmitter RF front end of the transceiver front end and an observation receiver, based on the despreaded transmitter signal and the despreaded receiver signal.
[0148] Example 27 provides a transceiver front end according to example 26, wherein the transmitter RF front end, the transmission channel and the observation receiver may be implemented as a software model in the transceiver front end.
[0149] Example 28 provides a transceiver front end according to example 26, wherein the analysis module may further include a user data cancelation module to receive the transmitter signal and the receiver signal from the observation module. The user data cancelation module may be to cancel interference, based on the transmitter signal, the receiver signal and the channel characteristics determined by the channel estimation module. The analysis module may further include a LO leakage estimation module to determine the one or more LO leakage parameters, based on the channel characteristics determined by the channel estimation module and an output from the user data cancelation module.
[0150] Example 29 provides a transceiver front end according to example 26, wherein the analysis module may further include a quadrature error calculation module to determine the one or more quadrature error parameters, based on the channel characteristics determined by the channel estimation module.
[0151] Example 30 provides a transceiver front end according to example 26, wherein the transceiver front end may further include a PN scaling generator module to generate a scaling factor. The PN sequence in the transmitter signal and in the receiver signal may have been multiplied by the scaling factor. The channel estimation module may be to determine the channel characteristics further based on the scaling factor received from the scaling generator module.
[0152] Example 31 provides a transceiver front end according to example 31, wherein the transceiver front end may further include a PN sequence injection and signal generation module. The PN sequence injection and signal generation module may include a PN generator to generate the PN sequence. The PN sequence injection and signal generation module may further include a BPSK modulator to modulate the PN sequence according to a BPSK standard and obtain a modulated PN sequence. The PN sequence injection and signal generation module may further include an in-phase and quadrature scaling modules to scale the modulated PN sequence to obtain a scaled PN sequence. The PN sequence injection and signal generation module may further include one or more adder modules to add the scaled PN sequence to the user data signal to obtain the transmitter signal.
Other Implementation Notes, Variations, and Applications
[0153] It is to be understood that not necessarily all objects or advantages may be achieved in accordance with any particular embodiment described herein. Thus, for example, those skilled in the art will recognize that certain embodiments may be configured to operate in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other objects or advantages as may be taught or suggested herein.
[0154] It is also imperative to note that all of the specifications, dimensions, and relationships outlined herein (e.g., the number of modules/systems, logic operations, etc.) have only been offered for purposes of example and teaching only. Such information may be varied considerably without departing from the spirit of the present disclosure, or the scope of the appended claims. The specifications apply only to some non-limiting examples and, accordingly, they should be construed as such. In the foregoing description, example embodiments have been described with reference to particular arrangements of components. Various modifications and changes may be made to such embodiments without departing from the scope of the appended claims. The description and drawings are, accordingly, to be regarded in an illustrative rather than in a restrictive sense.
[0155] Note that with the numerous examples provided herein, interaction may be described in terms of two, three, four or more components. However, this has been done for purposes of clarity and example only. It should be appreciated that the system can be consolidated in any suitable manner. Along similar design alternatives, any of the illustrated components, modules, and elements of the drawings may be combined in various possible configurations, all of which are clearly within the broad scope of the present disclosure.
[0156] Note that in the present description, references to various features (e.g., elements, structures, modules, components, steps, operations, characteristics, etc.) included in “one embodiment”, “example embodiment”, “an embodiment”, “another embodiment”, “some embodiments”, “various embodiments”, “other embodiments”, “alternative embodiment”, and the like are intended to mean that any such features are included in one or more embodiments of the present disclosure, but may or may not necessarily be combined in the same embodiments.
[0157] Numerous other changes, substitutions, variations, alterations, and modifications may be ascertained to one skilled in the art and it is intended that the present disclosure encompass all such changes, substitutions, variations, alterations, and modifications as falling within the scope of the appended claims. Note that all optional features of the systems and methods described above may also be implemented with respect to the methods or systems described herein and specifics in the examples may be used anywhere in one or more embodiments.