US20230368808A1 - Receive path in-phase and quadrature imbalance correction using circuit noise - Google Patents
Receive path in-phase and quadrature imbalance correction using circuit noise Download PDFInfo
- Publication number
- US20230368808A1 US20230368808A1 US18/320,211 US202318320211A US2023368808A1 US 20230368808 A1 US20230368808 A1 US 20230368808A1 US 202318320211 A US202318320211 A US 202318320211A US 2023368808 A1 US2023368808 A1 US 2023368808A1
- Authority
- US
- United States
- Prior art keywords
- noise
- branch
- determined
- estimate
- receive path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012937 correction Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 claims description 33
- 230000003595 spectral effect Effects 0.000 description 51
- 238000012545 processing Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 14
- 230000001419 dependent effect Effects 0.000 description 13
- 230000014509 gene expression Effects 0.000 description 13
- 230000015654 memory Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 7
- 238000001914 filtration Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/32—Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
- H04L27/34—Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
- H04L27/38—Demodulator circuits; Receiver circuits
- H04L27/3845—Demodulator circuits; Receiver circuits using non - coherent demodulation, i.e. not using a phase synchronous carrier
- H04L27/3854—Demodulator circuits; Receiver circuits using non - coherent demodulation, i.e. not using a phase synchronous carrier using a non - coherent carrier, including systems with baseband correction for phase or frequency offset
- H04L27/3863—Compensation for quadrature error in the received signal
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
- G10L21/0232—Processing in the frequency domain
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/18—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/32—Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
- H04L27/34—Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
- H04L27/38—Demodulator circuits; Receiver circuits
- H04L27/3845—Demodulator circuits; Receiver circuits using non - coherent demodulation, i.e. not using a phase synchronous carrier
- H04L27/3854—Demodulator circuits; Receiver circuits using non - coherent demodulation, i.e. not using a phase synchronous carrier using a non - coherent carrier, including systems with baseband correction for phase or frequency offset
- H04L27/3872—Compensation for phase rotation in the demodulated signal
Definitions
- the implementations discussed in the present disclosure relate to receive path in-phase and quadrature imbalance correction using circuit noise.
- Quadrature-based signals are commonly used in signal processing and signal communication (e.g., wireless communications) to transmit and carry data.
- a quadrature-based modulation scheme may incorporate a first signal and a corresponding second signal that has substantially the same frequency as the first signal but that is offset from the first signal with a 90 degree phase shift.
- Example operations may include determining a first noise estimate of noise that propagates along a receive path of a device.
- the operations may further include determining a second noise estimate of the noise and determining a cross-relationship estimate with respect to the noise.
- the operations may include adjusting one or more correction filters configured to correct for imbalances between a first branch and a second branch of the receive path. The adjusting may be based on the first noise estimate, the second noise estimate, and the cross-relationship estimate.
- FIG. 1 illustrates a block diagram of selected components of an example receiver system configured to adjust for imbalances between branches of a receive path;
- FIG. 2 A illustrates an example signal processing system configured to adjust for imbalances between branches of a receive path
- FIG. 2 B illustrates another example signal processing system configured to adjust for imbalances between branches of a receive path
- FIG. 3 A illustrates another example signal processing system configured to adjust for imbalances between branches of a receive path
- FIG. 3 B illustrates another example signal processing system configured to adjust for imbalances between branches of a receive path
- FIG. 4 is a flowchart of an example method of adjusting for imbalances between branches of a receive path.
- FIG. 5 illustrates a block diagram of an example computing system that may be used to perform or direct performance of one or more operations described according to at least one implementation of the present disclosure.
- Implementations described herein may generally include systems and methods related to processing quadrature phase signals. Signals with substantially the same frequency but that have a phase difference between each other that is one-fourth or approximately one-fourth of the periods of the signals (i.e., a phase difference of 90 degrees or approximately 90 degrees) may be referred to herein as “quadrature-phase,” “quadrature-type,” quadrature-based,” or “quadrature signals.”
- a first quadrature signal may be referred to as an in-phase (I) signal (“I-signal”) and a corresponding second quadrature signal with the 90-degree phase offset may be referred to as a quadrature-phase (Q) signal (“Q-signal”).
- I and Q signals may include such signals in any applicable state, such as the I and Q signal components modulated and combined onto a carrier signal, analog baseband I and Q signals, or digital baseband I and Q signals.
- quadrature signals may be used to communicate data.
- the I-signal and the Q-signal may carry first data and second data, respectively, and may be combined and modulated using any suitable quadrature-based modulation scheme, such as Quadrature Amplitude Modulation (QAM), Quadrature Phase Shift Keying (QPSK), or the like.
- QAM Quadrature Amplitude Modulation
- QPSK Quadrature Phase Shift Keying
- the combined quadrature signal transmitted via a carrier signal may be received at a receive path of a receiver system of a device.
- the receive path may include components that may pull the baseband I-signal and the baseband Q-signal from the received signal.
- the baseband I-signal may propagate along an I-signal branch (“I branch”) of the receive path and the baseband Q-signal may propagate along a separate Q-signal branch (“Q branch”) of the receive path.
- I branch I-signal branch
- Q branch Q-signal branch
- the components used to obtain the baseband I and Q signals from the received signal and differences between the I branch and the Q branch may create imbalances between the I branch and the Q branch, which may create imbalances between the baseband I and Q signals.
- a mixer configured to obtain the baseband I and Q signals may have a phase mismatch that may cause the baseband I and Q signals to have imbalances. Further, the differences between the I and Q branches may cause propagation delays between the baseband I and Q signals, which may contribute to the imbalances between the baseband I and Q signals. Additionally or alternatively, the I and Q branches may have frequency dependent gain and/or phase mismatches, which may also contribute to the imbalances. The imbalances may degrade the signal quality.
- digital circuitry of the receive path may include one or more correction filters that may be configured to adjust the baseband I and Q signals to help correct for the imbalances.
- the parameters of the correction filters may be set during a calibration of the associated chips prior to distribution of the associated chips for use.
- the imbalances may vary or change over time according to different operating conditions such as temperature, amount of use, etc. Therefore, the initial calibration settings of the correction filter parameters may be such that imbalance correction may degrade during certain operating conditions.
- the calibration of the correction filters prior to distribution often uses a training signal generated by specialized lab equipment via a somewhat time consuming process. Therefore, the initial calibration may add an increased cost to the development and distribution of associated chips.
- run-time calibration of correction filters may be performed based on receiver circuit noise that propagates along a receive path of a device.
- the run-time calibration may accordingly adjust the correction filters based on current operating conditions, which may improve the run-time performance of the correction filters.
- FIG. 1 illustrates a block diagram of selected components of an example receiver system 100 (“system 100 ”) configured to adjust for imbalances between branches of a receive path.
- the system 100 may be configured according to one or more implementations of the present disclosure.
- the system 100 may be included in any suitable device configured to perform wireless communications and/or coupled to any suitable network.
- the system 100 may be included in a device that may operate as an access point of a wireless network, which may include any suitable system or device that may establish the wireless network and/or communicatively couple the wireless network with another network.
- the access point(s) may include a gateway, a repeater, a mesh node, and/or other suitable access point that wirelessly couples the other devices of the wireless network to each other and/or to another network (e.g., the Internet and/or a core network via a bridge, a backhaul link, a base station, and/or other suitable devices or connections).
- another network e.g., the Internet and/or a core network via a bridge, a backhaul link, a base station, and/or other suitable devices or connections.
- the device may operate as a node of the wireless network.
- a node of the wireless network may generally include any device that has the capability to wirelessly connect to an access point of the wireless network according to any suitable wireless standard of the wireless network (e.g., the 802.11 standards, cellular communication standards, etc.).
- the node(s) may include a desktop computer, a laptop computer, a tablet computer, a mobile phone, a smartphone, a personal digital assistant (PDA), a smart television, or any other suitable device.
- PDA personal digital assistant
- the device may be configured to operate in any number of different types of environments.
- the environment or environments in which the device may be configured to operate may include, individually or any suitable combination thereof, a home environment, an Internet of Things (IoT) environment, a vehicle environment, or any other suitable environment that may include or incorporate a wireless network to facilitate the communication of data between devices.
- IoT Internet of Things
- vehicle environment or any other suitable environment that may include or incorporate a wireless network to facilitate the communication of data between devices.
- the network to which the device may be communicatively coupled may include any suitable network that may be established to communicate data between devices.
- the network may include a wireless local area network (LAN) and/or a wireless telecommunications network.
- the network may include or be configured to include a cellular network (e.g., 4G, 5G, LTE, network), a wireless fidelity network (e.g., 802.11 WI-FI® network), a BLUETOOTH® network, a Z-WAVE® network, an INSTEON® network, an ENOCEAN® network, a ZIGBEE® network, network, etc.
- the network may be communicatively coupled to or included in another network such as a wide area network (WAN) (e.g., the Internet) and/or any other suitable interconnected data paths across which multiple devices may communicate.
- WAN wide area network
- the system 100 may include an antenna 106 , a receive path 102 , and digital circuitry 104 .
- the antenna 106 may be configured to receive wireless signals (e.g., modulated electromagnetic waves) and to convert the received wireless signals into corresponding analog electrical signals (referred to as “analog signals”), which may propagate along the receive path 102 .
- wireless signals e.g., modulated electromagnetic waves
- analog signals referred to as “analog signals”
- the receive path 102 may include pre-mixer components 108 that may receive signals produced by the antenna 106 .
- the pre-mixer components 108 may include a band-pass filter and/or a low noise amplifier in some implementations.
- the band-pass filter may be configured to pass signal components and noise in the band of interest associated with the received wireless signals (e.g., the carrier frequency band) and remove out-of-band noise.
- the low-noise amplifier (LNA) may be configured to amplify signals filtered by the band-pass filter.
- the pre-mixer components 108 may also produce noise (e.g., thermal noise) that may propagate through the receiver path 102 .
- the receive path 102 may include a mixer 110 configured to receive the filtered and/or amplified signals and noise produced by the pre-mixer components 108 .
- the mixer 110 may be configured to obtain the baseband I-signal from a corresponding analog signal by multiplying (e.g., via a first multiplier 112 a ) the analog signal by a first reference signal that has substantially the same frequency as the carrier signal.
- the mixer 110 may also be configured to obtain the baseband Q-signal from the analog signal by multiplying (e.g., via a second multiplier 112 b ) the analog signal by a second reference signal that is substantially the same as the first reference signal but with a 90-degree offset.
- the mixer 110 may also include an oscillator 114 , which may include any suitable device, system, or apparatus configured to produce the first reference signal and the second reference signal.
- the oscillator 114 may be configured to generate the first reference signal as represented by 2 cos (2 ⁇ f c t) in which f c is the carrier frequency.
- the oscillator 114 may be configured to generate the second reference signal as represented by ⁇ 2 sin (2 ⁇ f c t) such that the first reference signal and the second reference signal are offset by 90 degrees.
- the oscillator 114 may be such that the phase offset between the first reference signal and the second reference signal may not be exactly 90 degrees.
- phase mismatch This deviation from the 90 degree offset may be referred to as “phase mismatch” of the mixer 110 and may be represented by “ ⁇ ”, which represents the amount that the offset is off from 90 degrees.
- ⁇ represents the amount that the offset is off from 90 degrees.
- a phase mismatch in which ⁇ equals “5” may be a result of the phase offset of the first reference signal and the second reference signal being 95 degrees instead of 90 degrees.
- the phase mismatch of the mixer 110 may contribute to the imbalances between the baseband I and Q signals.
- the receive path 102 may include a first branch 120 a and a second branch 120 b .
- the first branch 120 a may be configured for the baseband I-signal and the second branch 120 b may be configured for the baseband Q-signal.
- the first branch 120 a may include the first multiplier 112 a and may receive signals output by the multiplier 112 a (e.g., the baseband I-signal).
- the second branch 120 b may include the second multiplier 112 b and may receive signals output by the multiplier 112 b (e.g., the baseband Q-signal).
- first noise e.g., thermal noise
- second noise e.g., thermal noise
- the first branch 120 a may include first branch components 114 a that may be configured to perform one or more operations.
- the operations of the first branch components 114 a may include filtering and/or amplifying of signals and/or noise that propagate along the first branch 120 a .
- the second branch 120 b may similarly include second branch components 114 b that may be configured to perform similar or analogous filtering and/or amplifying operations.
- the first branch 112 a and the second branch 112 b may have one or more differences that may cause imbalances between the baseband I-signals and the baseband Q-signals.
- the propagation paths of the first branch 112 a and 112 b may not be the exact same lengths. This may cause a delay miss-match between the two branches. Further the two branches might not have exactly the same gain, which may create a gain imbalance between them.
- the operations performed by the first branch components 114 a may not be exactly the same as the operations performed by the second branch components 114 b .
- the differences between the first branch 112 a and the second branch 112 b may be such that the respective transfer functions of the branches 112 may differ.
- the difference in the transfer functions may be represented by a ratio between the respective transfer functions.
- a first transfer function of the first branch 120 a may be denoted as G1( ⁇ ) and a second transfer function of the second branch 120 b may be denoted as G2( ⁇ ).
- the branch imbalance between the first branch 120 a and the second branch 120 b (“ (f)”) may be represented by the following expression (1):
- the branch imbalance may alternatively be expressed by having the first transfer function divided by the second transfer function.
- the first transfer function and the second transfer function would be equal such that (f) would be equal to one. Therefore, the more that (f) approaches zero or infinity (depending on which ratio is used) the greater the branch imbalance.
- the first branch 120 a may include a first analog to digital converter (ADC) 116 a and the second branch 120 b may include a second ADC 116 b .
- the first ADC 116 a may digitize the signals and first noise that are output by the first branch components 114 a and the second ADC 116 b may digitize the signals and second noise that are output by the second branch components 114 b.
- the digital circuitry 104 may be configured to process the digital signals (e.g. digital baseband I-signals) and/or digitized first noise output by the first ADC 116 a . Additionally or alternatively, the digital circuitry 104 may be configured to process the digital signals (e.g. digital baseband Q-signals) and/or digitized second noise output by the second ADC 116 b.
- the digital circuitry 104 may be configured to direct operations related to the reception and processing of the signals and noise.
- One or more elements of the digital circuitry 104 may be hardware that is custom designed to perform one or more of the receiver operations. Additionally or alternatively, one or more of the elements of the digital circuitry 104 may include a computing system that is programmed to perform certain operations using computer-executable instructions. One or more elements of the computing system 502 of FIG. 5 may be included in or part of the digital circuitry 104 in some implementations.
- the digital circuitry 104 may be configured to determine a first noise estimate of the first noise and of the second noise of the first receive path 120 a and the second receive path 120 b , respectively. Further, the digital circuitry 104 may be configured to determine a cross-relationship estimate with respect to the first noise and the second noise. The digital circuitry 104 may also include one or more correction filters configured to perform compensation operations to help compensate for the phase mismatch and/or branch imbalance. The digital circuitry 104 may be configured to adjust the one or more correction filters based on the first noise estimate, the second noise estimate, and the cross-relationship estimate.
- system 100 may be configured to perform any number of other operations than those explicitly described.
- FIG. 2 A illustrates an example signal processing system 200 a (“system 200 a ”) configured to adjust for imbalances between branches of a receive path, according to one or more implementations of the present disclosure.
- the system 200 a may be part of digital circuitry of a receiver system.
- the system 200 a may be included in the digital circuitry 104 of FIG. 1 .
- the system 200 a may be included in or implemented as a computing system, such as the computing system 502 described below with respect to FIG. 5 .
- the system 200 a may include a Fourier transform module 202 , a spectral density module 204 , an adjustment module 206 a , and a correction filter module 208 .
- One or more of the modules of FIG. 2 A and of FIGS. 2 B, 3 A, and 3 B discussed further below may include code and routines configured to enable a computing system to perform one or more of the operations described therewith. Additionally or alternatively, one or more of the modules may be implemented using hardware including any number of processors, microprocessors (e.g., to perform or control performance of one or more operations), field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs) or any suitable combination of two or more thereof.
- processors e.g., to perform or control performance of one or more operations
- FPGAs field-programmable gate arrays
- ASICs application-specific integrated circuits
- one or more of the modules may be implemented using a combination of hardware and software.
- operations described as being performed by a particular module may include operations that the particular module may direct a corresponding system (e.g., a corresponding computing system) to perform.
- the delineating between the different modules is to facilitate explanation of concepts described in the present disclosure and is not limiting.
- one or more of the modules may be configured to perform more, fewer, and/or different operations than those described such that the modules may be combined or delineated differently than as described.
- the Fourier transform module 202 (“FT module 202 ”) may be configured to perform a Fourier transform on received signals and/or noise.
- the FT module 202 may be configured to receive first noise that propagates along a first branch of a receive path, such as the first noise that propagates along the first branch 120 a of FIG. 1 .
- the digitized first noise as received by the FT module 202 is represented in FIG. 2 A by “z 1 ( n )”, in which “n” is the time-domain sample of the first noise.
- the FT module 202 may also be configured to perform a Fourier transform (e.g., a Fast Fourier Transform) on the first noise to represent the first noise in the frequency domain.
- a Fourier transform e.g., a Fast Fourier Transform
- the digitized first noise in the frequency domain as output by the FT module 202 is represented in FIG. 2 A by “z 1 ( k )”, in which “k” is the frequency-domain sample of the first noise.
- the FT module 202 may be configured to similarly receive and perform the Fourier transform with respect to second noise that propagates along a second branch of the receive path, such as the second noise that propagates along the second branch 120 b of FIG. 1 .
- the digitized second noise as received by the FT module 202 is represented in FIG. 2 A by “z 2 ( n )”, in which “n” is the time-domain sample of the second noise.
- the digitized second noise in the frequency domain as output by the FT module 202 is represented in FIG. 2 A by “z 2 ( k )”, in which “k” is the frequency-domain sample of the second noise.
- the spectral density module 204 may be configured to determine, as a first noise estimate of the first noise, a first spectral density of the first noise (“ ⁇ z1 ”) (e.g., using the first noise z 1 ( k ) output by the FT module 202 ).
- the spectral density module 204 may also be configured to determine, as a second noise estimate of the second noise, a second spectral density of the second noise (“ ⁇ z2 ”) (e.g., using the second noise z 2 ( k ) output by the FT module 202 ).
- the spectral density module 204 may be configured to determine, as part of determining a cross-relationship estimate between the first noise and the second noise, a cross-spectral density between the first noise and the second noise (“ ⁇ z1z2 ”) (e.g., using the first noise z 1 ( k ) and the second noise z 2 ( k )).
- the determined first spectral density, the determined second spectral density, and/or the determined cross-spectral density may be estimates of the first spectral density, the second spectral density, and/or the cross-spectral density, respectively.
- the spectral density module 204 may be configured to estimate the first spectral density, the second spectral density, and the cross-spectral density using any suitable technique.
- the spectral density module 204 may be configured to estimate the first spectral density based on comparisons of the first noise at different times (e.g., based on comparisons between different samples of the first noise obtained at different points in time) according to any suitable technique.
- the second spectral density may be similarly obtained.
- the spectral density module 204 may be configured to estimate the spectral density by first measuring the auto-correlation of the first and second noise samples and the cross-correlation of the first and second noise samples for different lags and then perform Fourier transform on the auto-correlation and cross-correlation functions to calculate the spectral density.
- the cross-spectral density may be obtained based on different samples of the first noise and the second noise at different points in time according to any suitable technique.
- the number of samples used in estimating the different spectral densities may be based on various implementation and design decisions such as accuracy and speed of estimating the spectral densities. For example, the fewer the samples used, the faster the estimates may be determined, but the accuracy may be reduced, and vice versa.
- the adjustment module 206 a may be configured to determine a phase mismatch “ ⁇ circumflex over ( ⁇ ) ⁇ ” based on the determined spectral densities in some implementations.
- the determined phase mismatch “ ⁇ circumflex over ( ⁇ ) ⁇ ” may be an estimate of the phase mismatch “ ⁇ ” described above with respect to FIG. 1 .
- the adjustment module 206 a may be configured to determine the phase mismatch “ ⁇ circumflex over ( ⁇ ) ⁇ ” based on the spectral densities “ ⁇ z1 ”, “ ⁇ z2 ”, and “ ⁇ z1z2 ” according to the following expression (2):
- ⁇ ⁇ arcsin ⁇ ( 1 ⁇ " ⁇ [LeftBracketingBar]” K ⁇ " ⁇ [RightBracketingBar]" ⁇ ⁇ f k ⁇ K ⁇ S ⁇ z 1 ⁇ z 2 ( f k ) S ⁇ z 1 ( f k ) ⁇ S ⁇ z 2 ( f k ) ) ( 2 )
- “ ” is a symmetric set of tones in the passband of the filters of the first and second branches that corresponds to the tones of the samples used to determine the spectral densities. Additionally, in expression (2) “f k ” represents the individual tones of “ ”. The set “ ” is a design parameter and depending on the considered application its size and placements of its tones may be adjusted to improve estimation the phase mismatch.
- the adjustment module 206 a may be configured to determine a branch imbalance between the first branch and the second branch.
- the determined branch imbalance may include a frequency dependent branch imbalance and/or a frequency independent branch imbalance (also referred to as a DC branch imbalance).
- the adjustment module 206 a may be configured to determine an estimate of a frequency independent branch imbalance “ ⁇ circumflex over ( ⁇ ) ⁇ DC ” based on the determined first spectral density “ ⁇ z1 ” and the determined second spectral density “ ⁇ z2 ”. For example, the adjustment module 206 a may determine “ ⁇ circumflex over ( ⁇ ) ⁇ DC ” according to the following expression (3):
- the adjustment module 206 a may also be configured to determine a frequency dependent branch imbalance “ ⁇ circumflex over ( ⁇ ) ⁇ (f k )” based on the determined phase mismatch “ ⁇ circumflex over ( ⁇ ) ⁇ ” and the determined cross-spectral density “ ⁇ z1z2 ”. Further, the adjustment module 206 a may be configured to determine the frequency dependent branch imbalance “ ⁇ circumflex over ( ⁇ ) ⁇ (f k )” based on the determined first spectral density “ ⁇ z1 ” or the determined second spectral density “ ⁇ z2 ”. The determined frequency dependent branch imbalance “ ⁇ circumflex over ( ⁇ ) ⁇ (f k )” may be an estimate of the branch imbalance “ ” described above with respect to FIG. 1 .
- the adjustment module 206 a may be configured to determine the frequency dependent branch imbalance “ ⁇ circumflex over ( ⁇ ) ⁇ (f k )” based on the determined phase mismatch “ ⁇ circumflex over ( ⁇ ) ⁇ ” and the spectral densities “ ⁇ z1 ” and “ ⁇ z1z2 ” according to the following expression (4):
- ⁇ ⁇ ( f k ) S ⁇ z 1 ⁇ z 2 * ( f k ) S ⁇ z 1 ( f k ) ⁇ sin ⁇ ( ⁇ ⁇ ) ( 4 )
- the adjustment module 206 a may be configured to determine the frequency dependent branch imbalance “ ⁇ circumflex over ( ⁇ ) ⁇ (f k )” for each of the tones “f k ” based on the determined phase mismatch “ ⁇ circumflex over ( ⁇ ) ⁇ ” and the spectral densities “ ⁇ z2 ” and “ ⁇ z1z2 ” according to the following expression (5):
- ⁇ ⁇ ( f k ) sin ⁇ ( ⁇ ⁇ ) ⁇ S ⁇ z 1 ⁇ z 2 * ( f k ) S ⁇ z 2 ( f k ) ( 5 )
- the adjustment module 206 a may also be configured to adjust the correction filter module 208 based on the determined phase mismatch “ ⁇ circumflex over ( ⁇ ) ⁇ ” and the determined branch imbalances “ ⁇ circumflex over ( ⁇ ) ⁇ DC ” and “ ⁇ circumflex over ( ⁇ ) ⁇ (f k )”.
- the adjustment module 206 a may be configured to adjust, using any suitable technique, one or more of correction filters of the correction filter module 208 such that the correction filter module 208 at least partially remove the determined phase mismatch “ ⁇ circumflex over ( ⁇ ) ⁇ ” and the determined branch imbalances “ ⁇ circumflex over ( ⁇ ) ⁇ DC ” and/or “ ⁇ circumflex over ( ⁇ ) ⁇ (f k )” from signals (e.g., I-signals and Q-signals) and/or noise received at the correction filter module 208 .
- signals e.g., I-signals and Q-signals
- the one or more correction filters may be configured as Finite Impulse Response (FIR) filters in some implementations and adjusting of the correction filter module 208 may include adjusting one or more of the taps.
- the number of taps may vary depending on the implementation in which more taps may provide more accurate correction.
- the adjusting of the taps based on the determined phase mismatch “ ⁇ circumflex over ( ⁇ ) ⁇ ” and the determined branch imbalances “ ⁇ circumflex over ( ⁇ ) ⁇ DC ” and “ ⁇ circumflex over ( ⁇ ) ⁇ (f k )” may be performed according to any suitable technique.
- the correction filter module 208 may include one or more correction filters that may be configured to receive signals and/or noise from the first branch and the second branch of the receive path.
- the one or more correction filters may be configured to perform one or more operations on the received signals and/or noise based on input received from the adjustment module 208 that may help correct for the phase mismatch and/or the branch imbalance.
- FIG. 2 B illustrates an example signal processing system 200 b (“system 200 b ”) that is a variation of the signal processing system 200 a in that the system 200 b may be configured to adaptively adjust the correction filter module 208 based on a determined first spectral density “ ⁇ x1 ”, a determined second spectral density “ ⁇ x2 ”, and a determined cross-spectral density “ ⁇ x1x2 ”.
- the FT module 202 may be configured to receive a first output “x 1 ( n )” and a second output “x 2 ( n )” that may be output by the correction filter module 208 .
- the first output “x 1 ( n )” may be what is left of the digitized first noise “z 1 ( n )” after the correction filter module 208 applies filtering to “z 1 ( n )”.
- the second output “x 2 ( n )” may be what is left of the digitized second noise “z 2 ( n )” after the correction filter module 208 applies filtering to “z 2 ( n )”.
- the FT module 202 may accordingly transform “x 1 ( n )” and “x 2 ( n )” into the frequency domain as “x 1 ( k )” and “x 2 ( k )”.
- the spectral density module 204 may receive “x 1 ( k )” and “x 2 ( k )” and may output the first spectral density “ ⁇ x1 ” of “x 1 ( k )”, the second spectral density “ ⁇ x2 ” of “x 2 ( k )”, and the cross-spectral density “ ⁇ x1x2 ” with respect to “x 1 ( k )” and “x 2 ( k )”.
- an adjustment module 206 b of FIG. 2 B may be configured to iteratively adjust the correction filter module 208 based on comparisons between the determined first spectral density “ ⁇ x1 ” the determined second spectral density “ ⁇ x2 ”, and the determined cross-spectral density “ ⁇ x1x2 ”.
- the adjustment module 206 b may determine a first difference between the determined first spectral density “ ⁇ x1 ” and the determined second spectral density “ ⁇ x2 ”.
- the determined first spectral density “ ⁇ x1 ” and the determined second spectral density “ ⁇ x2 ” may be the same or very close to the same such that the difference between the two would be at or very near zero. Therefore, using any suitable adjustment technique, the adjustment module 206 b may adjust the filter module 208 to attempt to reduce the difference between the determined first spectral density “ ⁇ x1 ” and the determined second spectral density “ ⁇ x2 ”.
- the adjustment module 206 b may analyze the determined cross-spectral density “ ⁇ x1x2 ”. In a scenario in which there is little or no branch imbalance and/or phase mismatch, the determined cross-spectral density “ ⁇ x1x2 ” may also be at or near zero. Therefore, using any suitable adjustment technique, the adjustment module 206 b may adjust the filter module 208 to attempt to move the determined cross-spectral density “ ⁇ x1x2 ” toward zero.
- the adjustment module 206 b may determine a second difference between the determined first spectral density “ ⁇ x1 ” and the determined second spectral density “ ⁇ x2 ”. The adjustment module 206 b may compare the first difference against the second difference to determine whether the second difference is larger or smaller than the first difference to determine whether the first adjustment iteration improved or worsened the imbalance and/or phase mismatch. Using any suitable technique, the adjustment module 206 b may be configured to make one or more adjustments to the correction filter 208 based on whether the second difference is larger or smaller than the first difference.
- the iterative adjustment in some implementations may be based on calculating a gradient function that provides the direction of the correction filters adjustment to simultaneously drive the difference between “ ⁇ x1 ” and “ ⁇ x2 ” and the magnitude of “ ⁇ x1x2 ” toward zero.
- the adjustment module 206 b may compare the determined cross-spectral density “ ⁇ x1x2 ” obtained with respect to the first adjustment iteration against the determined cross-spectral density “ ⁇ x1x2 ” obtained with respect to the second adjustment iteration. Based on a comparison between the two determined cross-spectral densities “ ⁇ x1x2 ”, the adjustment module 206 b may determine whether the first adjustment iteration moved the determined cross-spectral density “ ⁇ x1x2 ” closer to or further from zero. Using any suitable technique, the adjustment module 206 b may be configured to make one or more adjustments to the correction filter 208 based on whether the determined cross-spectral density “ ⁇ x1x2 ” closer to or further from zero.
- the adjustment module 206 b may be configured to continue to make additional iterative adjustments until the determined cross-spectral density “ ⁇ x1x2 ” satisfies a first particular threshold and/or until the difference between the determined first spectral density “ ⁇ x1 ” and the determined second spectral density “ ⁇ x2 ” satisfies a second particular threshold.
- the first particular threshold and the second particular threshold may be the same or different. Further, the first particular threshold and the second particular threshold may vary depending on tolerances associated with different implementations.
- the systems 200 a and 200 b may accordingly be configured to use noise to calibrate correction filters such that imbalances between I-signals and corresponding Q-signals may be reduced. Modifications, additions, or omissions may be made to the systems 200 a and 200 b without departing from the scope of the present disclosure.
- the delineating between the modules is to facilitate explanation of concepts described in the present disclosure and is not limiting.
- one or more of the modules may be configured to perform more, fewer, and/or different operations than those described.
- FIG. 3 A illustrates an example signal processing system 300 a (“system 300 a ”) configured to adjust for imbalances between branches of a receive path, according to one or more implementations of the present disclosure.
- the system 300 a may be part of digital circuitry of a receiver system.
- the system 300 a may be included in the digital circuitry 104 of FIG. 1 .
- the system 300 a may be included in or implemented as a computing system, such as the computing system 502 described below with respect to FIG. 5 .
- the system 300 a may include a correlation module 304 , an adjustment module 306 a , and a correction filter module 308 .
- the correlation module 304 may be configured to receive first noise that propagates along a first branch of a receive path, such as the first noise that propagates along the first branch 120 a of FIG. 1 .
- the correlation module 304 may also be configured to receive second noise that propagates along a second branch of the receive path, such as the second noise that propagates along the second branch 102 b of FIG. 1 .
- the digitized first noise as received by the correlation module 304 is represented in FIG. 3 A by “z 1 ( n )”, and the digitized second noise as received by the correlation module 304 is represented in FIG. 3 A by “z 2 ( n )” in which “n” is the time-domain sample of the first noise.
- the correlation module 304 may be configured to determine, as a first noise estimate of the first noise, a first autocorrelation of the first noise (“ ⁇ circumflex over (R) ⁇ z1 ”) (e.g., using the first noise z 1 ( n )).
- the correlation module 304 may also be configured to determine, as a second noise estimate of the second noise, a second autocorrelation of the second noise (“ ⁇ circumflex over (R) ⁇ z2 ”) (e.g., using the second noise z 2 ( n )).
- the correlation module 304 may be configured to determine, as part of determining a cross-relationship estimate between the first noise and the second noise, a cross-correlation between the first noise and the second noise (“ ⁇ circumflex over (R) ⁇ z1z2 ”) (e.g., using the first noise z 1 ( n ) and the second noise z 2 (n)).
- the determined first autocorrelation, the determined second autocorrelation, and/or the determined cross-correlation may be estimates of the first autocorrelation, the second autocorrelation, and/or the cross-correlation, respectively.
- the correlation module 304 may be configured to estimate the first autocorrelation, the second autocorrelation, and the cross-correlation using any suitable technique.
- the correlation module 204 may be configured to estimate the first autocorrelation based on comparisons of the first noise at different times (e.g., based on comparisons between different samples of the first noise obtained at different points in time) according to any suitable technique.
- the second autocorrelation may be similarly obtained.
- the cross-correlation may be obtained based on different samples of the first noise and the second noise at different points in time according to any suitable technique.
- the number of samples used in estimating the different correlations may be based on various implementation and design decisions such as accuracy and speed of estimating the correlations.
- the adjustment module 306 a may be configured to determine a phase mismatch “ ⁇ circumflex over ( ⁇ ) ⁇ ” based on the determined correlations.
- the determined phase mismatch “ ⁇ circumflex over ( ⁇ ) ⁇ ” may be an estimate of the phase mismatch “ ⁇ ” described above with respect to FIG. 1 .
- the adjustment module 306 a may be configured to determine the phase mismatch “ ⁇ circumflex over ( ⁇ ) ⁇ ” based on the correlations “ ⁇ circumflex over (R) ⁇ z1 ”, “ ⁇ circumflex over (R) ⁇ z2 ”, and “ ⁇ circumflex over (R) ⁇ z1z2 ” according to the following expression (6):
- ⁇ ⁇ arcsin ⁇ ( R z 1 ⁇ z 2 ( 0 ) R z 1 ( 0 ) ⁇ R z 2 ( 0 ) ) ( 6 )
- the adjustment module 306 a may be configured to determine a branch imbalance between the first branch and the second branch.
- the determined branch imbalance may include a frequency dependent branch imbalance and/or a frequency independent branch imbalance (also referred to as a DC branch imbalance).
- the adjustment module 306 a may be configured to determine an estimate of a frequency independent branch imbalance “ ⁇ circumflex over ( ⁇ ) ⁇ DC ” based on the determined first autocorrelation “ ⁇ circumflex over (R) ⁇ z1 ” and the determined second autocorrelation “ ⁇ circumflex over (R) ⁇ z2 ”. For example, the adjustment module 306 a may determine “ ⁇ circumflex over ( ⁇ ) ⁇ DC ” according to the following expression (7):
- the adjustment module 306 a may also be configured to determine a frequency dependent branch imbalance “ ⁇ circumflex over ( ⁇ ) ⁇ (f k )” based on the determined phase mismatch “ ⁇ circumflex over ( ⁇ ) ⁇ ” and a determined cross-spectral density “ ⁇ z1z2 ”. Further, the adjustment module 306 a may be configured to determine the frequency dependent branch imbalance “ ⁇ circumflex over ( ⁇ ) ⁇ (f k )” based on a determined first spectral density “ ⁇ z1 ” or a determined second spectral density “ ⁇ z2 ”. The determined frequency dependent branch imbalance “ ⁇ circumflex over ( ⁇ ) ⁇ (f k )” may be an estimate of the branch imbalance “ ” described above with respect to FIG. 1 .
- the adjustment module 306 a may be configured to determine the frequency dependent branch imbalance “ ⁇ circumflex over ( ⁇ ) ⁇ (f k )” according to expression (4) or expression (5) as discussed above with respect to FIG. 2 A in some implementations.
- the adjustment module 306 a may be configured to adjust the correction filter module 308 based on the determined branch imbalances “ ⁇ circumflex over ( ⁇ ) ⁇ DC ” and “ ⁇ circumflex over ( ⁇ ) ⁇ (f k )” and the determined phase mismatch “ ⁇ circumflex over ( ⁇ ) ⁇ ” such as described above with respect to the adjustment module 206 a adjusting the filter module 208 of FIG. 2 A .
- the adjustment module 306 a may be configured to determine the cross-spectral density “ ⁇ z1z2 ” by performing a Fourier transform on the determined cross-correlation “ ⁇ circumflex over (R) ⁇ z1z2 ”.
- the adjustment module 306 a may also be configured to determine the first spectral density “ ⁇ z1 ” by performing a Fourier transform on the determined first autocorrelation “ ⁇ circumflex over (R) ⁇ z1 ” and the adjustment module 306 a may be configured to determine the second spectral density “ ⁇ z2 ” by performing a Fourier transform on the determined second autocorrelation “ ⁇ circumflex over (R) ⁇ z2 ”.
- the correction filter module 308 may be analogous to the correction filter module 208 of FIGS. 2 A and 2 B and may include and adjust one or more correction filters that may be configured to perform one or more operations on the received signals and/or noise based on the determined phase mismatch “ ⁇ circumflex over ( ⁇ ) ⁇ ” and the determined branch imbalances “ ⁇ circumflex over ( ⁇ ) ⁇ DC ” and “ ⁇ circumflex over ( ⁇ ) ⁇ (f k )”.
- FIG. 3 B illustrates an example signal processing system 300 b (“system 300 b ”) that is a variation of the signal processing system 300 a in that the system 300 b may be configured to adaptively adjust the correction filter module 308 based on a determined first autocorrelation “ ⁇ circumflex over (R) ⁇ x1 ”, a determined second autocorrelation “ ⁇ circumflex over (R) ⁇ x2 ”, and a determined cross-correlation “ ⁇ circumflex over (R) ⁇ x1x2 ”.
- the correlation module 304 may be configured to receive a first output “x 1 ( n )” and a second output “x 2 ( n )” that may be output by the correction filter module 308 .
- the first output “x 1 ( n )” may be what is left of the digitized first noise “z 1 ( n )” after the correction filter module 308 applies filtering to “z 1 ( n )”.
- the second output “x 2 ( n )” may be what is left of the digitized second noise “z 2 ( n )” after the correction filter module 308 applies filtering to “z 2 ( n )”.
- the correlation module 304 may receive “x 1 ( n )” and “x 2 ( n )” and may output the first autocorrelation ⁇ circumflex over (R) ⁇ x1 of “x 1 ( n )”, the second autocorrelation “ ⁇ circumflex over (R) ⁇ x2 ” of “x 2 ( n )”, and the cross-correlation “ ⁇ circumflex over (R) ⁇ x1x2 ” with respect to “x 1 ( n )” and “x 2 ( n )”.
- an adjustment module 306 b may be configured to adaptively adjust the correction filter module 308 via an iterative process using the determined first autocorrelation “ ⁇ circumflex over (R) ⁇ z1 ”, the determined second autocorrelation “ ⁇ circumflex over (R) ⁇ z2 ”, and the determined cross-correlation correlation “ ⁇ circumflex over (R) ⁇ z1z2 ”.
- the adaptive adjustment may be analogous to that described above with respect to the adjustment module 206 b of FIG. 2 B .
- the systems 300 a and 300 b may accordingly be configured to use noise to calibrate correction filters such that imbalances between I-signals and corresponding Q-signals may be reduced. Modifications, additions, or omissions may be made to the systems 300 a and 300 b without departing from the scope of the present disclosure.
- FIG. 4 is a flowchart of an example method 400 of adjusting for imbalances between branches of a receive path, according to at least one implementation described in the present disclosure.
- the method 400 may be performed by any suitable system, apparatus, or device.
- one or more operations of the method 400 may be performed by one or more of the devices of FIG. 1 , by the system 200 a of FIG. 2 A , by the system 200 b of FIG. 2 B , by the system 300 a of FIG. 3 A , and/or by the system 300 b of FIG. 3 B .
- one or more of the operations may be performed or directed for performance by a computing system, such as the computing system 502 of FIG. 5 .
- the steps and operations associated with one or more of the blocks of the method 400 may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the particular implementation.
- a first noise estimate of noise that propagates along a receive path of a device may be determined.
- the noise may include first noise that propagates along a first branch of the receive path and second noise that propagates along a second branch of the receive path, such as described above.
- the first noise estimate may be of the first noise and may be determined according to any of the techniques described above.
- a second noise estimate of the noise may be determined.
- the second noise estimate may be of the second noise and may be determined according to one or more of the techniques described above.
- a cross-relationship estimate with respect to the noise may be determined.
- the cross-relationship estimate may be determined with respect to the first noise and the second noise according to one or more of the techniques described above.
- one or more correction filters configured to correct for imbalances associated with the first branch and the second branch of the receive path may be adjusted.
- the adjustment may be based on the first noise estimate, the second noise estimate, and the cross-relationship estimate according to one or more of the techniques described above in some implementations.
- FIG. 5 illustrates a block diagram of an example computing system 502 that may be used to perform or direct performance of one or more operations described according to at least one implementation of the present disclosure.
- the computing system 502 may be included in the digital circuitry 104 of FIG. 1 , the system 200 a of FIG. 2 A , the system 200 b of FIG. 2 B , the system 300 a of FIG. 3 A , and/or the system 300 b of FIG. 3 B in some implementations. Additionally or alternatively, the computing system 502 may include the one or more of the modules of FIGS. 2 A, 2 B, 3 A, and 3 B , respectively and/or one or more of the modules of FIGS. 2 and 3 may be configured as the computing system 502 .
- the computing system 502 may include a processor 550 , a memory 552 , and a data storage 554 .
- the processor 550 , the memory 552 , and the data storage 554 may be communicatively coupled.
- the processor 550 may include any suitable special-purpose or general-purpose computer, computing entity, or processing device including various computer hardware or software modules and may be configured to execute instructions stored on any applicable computer-readable storage media.
- the processor 550 may include a microprocessor, a microcontroller, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a Field-Programmable Gate Array (FPGA), or any other digital or analog circuitry configured to interpret and/or to execute computer-executable instructions and/or to process data.
- DSP digital signal processor
- ASIC application-specific integrated circuit
- FPGA Field-Programmable Gate Array
- the processor 550 may include any number of processors configured to, individually or collectively, perform or direct performance of any number of operations described in the present disclosure.
- the processor 550 may be configured to interpret and/or execute computer-executable instructions and/or process data stored in the memory 552 , the data storage 554 , or the memory 552 and the data storage 554 . In some implementations, the processor 550 may fetch computer-executable instructions from the data storage 554 and load the computer-executable instructions in the memory 552 . After the computer-executable instructions are loaded into memory 552 , the processor 550 may execute the computer-executable instructions.
- the memory 552 and the data storage 554 may include computer-readable storage media for carrying or having computer-executable instructions or data structures stored thereon.
- Such computer-readable storage media may include any available media that may be accessed by a general-purpose or special-purpose computer, such as the processor 550 .
- Such computer-readable storage media may include tangible or non-transitory computer-readable storage media including Random Access Memory (RAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Compact Disc Read-Only Memory (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory devices (e.g., solid state memory devices), or any other storage medium which may be used to carry or store particular program code in the form of computer-executable instructions or data structures and which may be accessed by a general-purpose or special-purpose computer. Combinations of the above may also be included within the scope of computer-readable storage media.
- Computer-executable instructions may include, for example, instructions and data configured to cause the processor 550 to perform a certain operation or group of operations.
- the computing system 502 may include any number of other components that may not be explicitly illustrated or described. Additionally or alternatively, the computing system 502 may include fewer components. For example, the computing system 502 may omit the memory 552 and/or the data storage 554 in some implementations.
- the subject technology of the present invention is illustrated, for example, according to various aspects described below.
- Various examples of aspects of the subject technology are described as numbered examples (1, 2, 3, etc.) for convenience. These are provided as examples and do not limit the subject technology.
- the aspects of the various implementations described herein may be omitted, substituted for aspects of other implementations, or combined with aspects of other implementations unless context dictates otherwise.
- one or more aspects of example 1 below may be omitted, substituted for one or more aspects of another example (e.g., example 2) or examples, or combined with aspects of another example.
- the following is a non-limiting summary of some example implementations presented herein.
- An example method may include determining a first noise estimate of first noise that propagates along a first branch of a receive path of a device; determining a second noise estimate of second noise that propagates along a second branch of the receive path; determining a cross-relationship estimate between the first noise and the second noise; and adjusting, based on the first noise estimate, the second noise estimate, and the cross-relationship estimate, one or more correction filters configured to correct for imbalances associated with the first branch and the second branch of the receive path.
- An example system may include hardware configured to perform operations including: determining a first noise estimate of noise that propagates along a receive path of a device; determining a second noise estimate of the noise; determining a cross-relationship estimate with respect to the noise; and adjusting, based on the first noise estimate, the second noise estimate, and the cross-relationship estimate, one or more correction filters configured to correct for imbalances between a first branch and a second branch of the receive path.
- Another example may include one or more non-transitory computer-readable storage media having instructions stored thereon that, in response to being executed by one or more processors, cause a system to perform operations including: determining a first noise estimate of noise that propagates along a receive path of a device; determining a second noise estimate of the noise; determining a cross-relationship estimate with respect to the noise; determining a phase mismatch of a mixer of the receive path based on the first noise estimate, the second noise estimate, and the cross-relationship estimate; determining a branch imbalance (e.g., frequency independent and/or frequency dependent) between a first branch and a second branch of the receive path based on the determined phase mismatch; and adjusting, based on the determined phase mismatch and the determined branch imbalance, one or more correction filters configured to correct for imbalances between the first branch and the second branch.
- a branch imbalance e.g., frequency independent and/or frequency dependent
- Example implementations may also relate to an apparatus for performing the operations herein.
- This apparatus may be specially constructed for the required purposes, or it may include one or more general-purpose computers selectively activated or reconfigured by one or more computer programs.
- Such computer programs may be stored in a computer readable medium, such as a computer-readable storage medium or a computer-readable signal medium.
- Computer-executable instructions may include, for example, instructions and data which cause a general-purpose computer, special-purpose computer, or special-purpose processing device (e.g., one or more processors) to perform or control performance of a certain function or group of functions.
- An example apparatus can include a Wireless Access Point (WAP) or a station and incorporating a VLSI processor and program code to support.
- An example transceiver couples via an integral modem to one of a cable, fiber or digital subscriber backbone connection to the Internet to support wireless communications, e.g. IEEE 802.11 compliant communications, on a Wireless Local Area Network (WLAN).
- the WiFi stage includes a baseband stage, and the analog front end (AFE) and Radio Frequency (RF) stages.
- AFE analog front end
- RF Radio Frequency
- the baseband portion wireless communications transmitted to or received from each user/client/station are processed.
- the AFE and RF portion handles the upconversion on each of transmit paths of wireless transmissions initiated in the baseband.
- the RF portion also handles the downconversion of the signals received on the receive paths and passes them for further processing to the baseband.
- An example apparatus can be a multiple-input multiple-output (MIMO) apparatus supporting as many as N ⁇ N discrete communication streams over N antennas.
- MIMO apparatus signal processing units can be implemented as N ⁇ N.
- the value of N can be 4, 6, 8, 12, 16, etc.
- Extended MIMO operation enables the use of up to 2N antennae in communication with another similarly equipped wireless system. It should be noted that extended MIMO systems can communicate with other wireless systems even if the systems do not have the same number of antennae, but some of the antennae of one of the stations might not be utilized, reducing optimal performance.
- Channel State Information (CSI) from any of the devices described herein can be extracted independent of changes related to channel state parameters and used for spatial diagnosis services of the network such as motion detection, proximity detection, and localization which can be utilized in, for example, WLAN diagnosis, home security, health care monitoring, smart home utility control, elder care, automotive tracking and monitoring, home or mobile entertainment, automotive infotainment, and the like.
- CSI Channel State Information
- phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.” This interpretation of the phrase “A or B” is still applicable even though the term “A and/or B” may be used at times to include the possibilities of “A” or “B” or “A and B.”
- first,” “second,” “third,” etc. are not necessarily used herein to connote a specific order or number of elements.
- the terms “first,” “second,” “third,” etc. are used to distinguish between different elements as generic identifiers. Absence a showing that the terms “first,” “second,” “third,” etc., connote a specific order, these terms should not be understood to connote a specific order. Furthermore, absence a showing that the terms first,” “second,” “third,” etc., connote a specific number of elements, these terms should not be understood to connote a specific number of elements.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Quality & Reliability (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Noise Elimination (AREA)
Abstract
Description
- This application is a continuation of U.S. patent application Ser. No. 17/317,137, filed May 11, 2021, titled RECEIVE PATH IN-PHASE AND QUADRATURE IMBALANCE CORRECTION USING CIRCUIT NOISE, which claims priority to Russian Patent Application No. 2020130229, filed Sep. 14, 2020, titled RECEIVE PATH IN-PHASE AND QUADRATURE IMBALANCE CORRECTION USING CIRCUIT NOISE, all of which are incorporated herein by reference in their entireties.
- The implementations discussed in the present disclosure relate to receive path in-phase and quadrature imbalance correction using circuit noise.
- Unless otherwise indicated in the present disclosure, the materials described in the present disclosure are not prior art to the claims in the present application and are not admitted as being prior art by inclusion in this background section.
- Quadrature-based signals are commonly used in signal processing and signal communication (e.g., wireless communications) to transmit and carry data. In many applications, a quadrature-based modulation scheme may incorporate a first signal and a corresponding second signal that has substantially the same frequency as the first signal but that is offset from the first signal with a 90 degree phase shift.
- The subject matter claimed in the present disclosure is not limited to implementations that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one example technology area where some implementations described in the present disclosure may be practiced.
- Example operations may include determining a first noise estimate of noise that propagates along a receive path of a device. The operations may further include determining a second noise estimate of the noise and determining a cross-relationship estimate with respect to the noise. In addition, the operations may include adjusting one or more correction filters configured to correct for imbalances between a first branch and a second branch of the receive path. The adjusting may be based on the first noise estimate, the second noise estimate, and the cross-relationship estimate.
- Example implementations will be described and explained with additional specificity and detail using the accompanying drawings in which:
-
FIG. 1 illustrates a block diagram of selected components of an example receiver system configured to adjust for imbalances between branches of a receive path; -
FIG. 2A illustrates an example signal processing system configured to adjust for imbalances between branches of a receive path; -
FIG. 2B illustrates another example signal processing system configured to adjust for imbalances between branches of a receive path; -
FIG. 3A illustrates another example signal processing system configured to adjust for imbalances between branches of a receive path; -
FIG. 3B illustrates another example signal processing system configured to adjust for imbalances between branches of a receive path; -
FIG. 4 is a flowchart of an example method of adjusting for imbalances between branches of a receive path; and -
FIG. 5 illustrates a block diagram of an example computing system that may be used to perform or direct performance of one or more operations described according to at least one implementation of the present disclosure. - Implementations described herein may generally include systems and methods related to processing quadrature phase signals. Signals with substantially the same frequency but that have a phase difference between each other that is one-fourth or approximately one-fourth of the periods of the signals (i.e., a phase difference of 90 degrees or approximately 90 degrees) may be referred to herein as “quadrature-phase,” “quadrature-type,” quadrature-based,” or “quadrature signals.” In many applications, a first quadrature signal may be referred to as an in-phase (I) signal (“I-signal”) and a corresponding second quadrature signal with the 90-degree phase offset may be referred to as a quadrature-phase (Q) signal (“Q-signal”). In the present disclosure, general reference to the I and Q signals may include such signals in any applicable state, such as the I and Q signal components modulated and combined onto a carrier signal, analog baseband I and Q signals, or digital baseband I and Q signals.
- In some signal processing, quadrature signals may be used to communicate data. For example, the I-signal and the Q-signal may carry first data and second data, respectively, and may be combined and modulated using any suitable quadrature-based modulation scheme, such as Quadrature Amplitude Modulation (QAM), Quadrature Phase Shift Keying (QPSK), or the like.
- In wireless communication that utilizes quadrature signals, the combined quadrature signal transmitted via a carrier signal may be received at a receive path of a receiver system of a device. The receive path may include components that may pull the baseband I-signal and the baseband Q-signal from the received signal. The baseband I-signal may propagate along an I-signal branch (“I branch”) of the receive path and the baseband Q-signal may propagate along a separate Q-signal branch (“Q branch”) of the receive path. In some instances, the components used to obtain the baseband I and Q signals from the received signal and differences between the I branch and the Q branch may create imbalances between the I branch and the Q branch, which may create imbalances between the baseband I and Q signals. For example, as detailed further below, a mixer configured to obtain the baseband I and Q signals may have a phase mismatch that may cause the baseband I and Q signals to have imbalances. Further, the differences between the I and Q branches may cause propagation delays between the baseband I and Q signals, which may contribute to the imbalances between the baseband I and Q signals. Additionally or alternatively, the I and Q branches may have frequency dependent gain and/or phase mismatches, which may also contribute to the imbalances. The imbalances may degrade the signal quality.
- In some implementations, digital circuitry of the receive path may include one or more correction filters that may be configured to adjust the baseband I and Q signals to help correct for the imbalances. Additionally or alternatively, the parameters of the correction filters may be set during a calibration of the associated chips prior to distribution of the associated chips for use. However, the imbalances may vary or change over time according to different operating conditions such as temperature, amount of use, etc. Therefore, the initial calibration settings of the correction filter parameters may be such that imbalance correction may degrade during certain operating conditions. Further, the calibration of the correction filters prior to distribution often uses a training signal generated by specialized lab equipment via a somewhat time consuming process. Therefore, the initial calibration may add an increased cost to the development and distribution of associated chips.
- According to one or more implementations of the present disclosure and as explained in detail below, run-time calibration of correction filters may be performed based on receiver circuit noise that propagates along a receive path of a device. The run-time calibration may accordingly adjust the correction filters based on current operating conditions, which may improve the run-time performance of the correction filters.
- These and other implementations of the present disclosure are explained with reference to the accompanying figures. It is to be understood that the figures are diagrammatic and schematic representations of such example implementations, and are not limiting, nor are they necessarily drawn to scale. In the figures, features with like numbers indicate like structure and function unless described otherwise.
-
FIG. 1 illustrates a block diagram of selected components of an example receiver system 100 (“system 100”) configured to adjust for imbalances between branches of a receive path. Thesystem 100 may be configured according to one or more implementations of the present disclosure. Thesystem 100 may be included in any suitable device configured to perform wireless communications and/or coupled to any suitable network. For example, thesystem 100 may be included in a device that may operate as an access point of a wireless network, which may include any suitable system or device that may establish the wireless network and/or communicatively couple the wireless network with another network. By way of the example, the access point(s) may include a gateway, a repeater, a mesh node, and/or other suitable access point that wirelessly couples the other devices of the wireless network to each other and/or to another network (e.g., the Internet and/or a core network via a bridge, a backhaul link, a base station, and/or other suitable devices or connections). - Additionally or alternatively, the device may operate as a node of the wireless network. For example, a node of the wireless network may generally include any device that has the capability to wirelessly connect to an access point of the wireless network according to any suitable wireless standard of the wireless network (e.g., the 802.11 standards, cellular communication standards, etc.). By way of example, the node(s) may include a desktop computer, a laptop computer, a tablet computer, a mobile phone, a smartphone, a personal digital assistant (PDA), a smart television, or any other suitable device.
- The device may be configured to operate in any number of different types of environments. For example, the environment or environments in which the device may be configured to operate may include, individually or any suitable combination thereof, a home environment, an Internet of Things (IoT) environment, a vehicle environment, or any other suitable environment that may include or incorporate a wireless network to facilitate the communication of data between devices.
- The network to which the device may be communicatively coupled may include any suitable network that may be established to communicate data between devices. For example, the network may include a wireless local area network (LAN) and/or a wireless telecommunications network. For instance, the network may include or be configured to include a cellular network (e.g., 4G, 5G, LTE, network), a wireless fidelity network (e.g., 802.11 WI-FI® network), a BLUETOOTH® network, a Z-WAVE® network, an INSTEON® network, an ENOCEAN® network, a ZIGBEE® network, network, etc. In some implementations, the network may be communicatively coupled to or included in another network such as a wide area network (WAN) (e.g., the Internet) and/or any other suitable interconnected data paths across which multiple devices may communicate.
- The
system 100 may include anantenna 106, a receivepath 102, anddigital circuitry 104. Theantenna 106 may be configured to receive wireless signals (e.g., modulated electromagnetic waves) and to convert the received wireless signals into corresponding analog electrical signals (referred to as “analog signals”), which may propagate along the receivepath 102. - In some implementations, the receive
path 102 may includepre-mixer components 108 that may receive signals produced by theantenna 106. Thepre-mixer components 108 may include a band-pass filter and/or a low noise amplifier in some implementations. For example, the band-pass filter may be configured to pass signal components and noise in the band of interest associated with the received wireless signals (e.g., the carrier frequency band) and remove out-of-band noise. The low-noise amplifier (LNA) may be configured to amplify signals filtered by the band-pass filter. In some embodiments, thepre-mixer components 108 may also produce noise (e.g., thermal noise) that may propagate through thereceiver path 102. - The receive
path 102 may include amixer 110 configured to receive the filtered and/or amplified signals and noise produced by thepre-mixer components 108. Themixer 110 may be configured to obtain the baseband I-signal from a corresponding analog signal by multiplying (e.g., via afirst multiplier 112 a) the analog signal by a first reference signal that has substantially the same frequency as the carrier signal. Themixer 110 may also be configured to obtain the baseband Q-signal from the analog signal by multiplying (e.g., via asecond multiplier 112 b) the analog signal by a second reference signal that is substantially the same as the first reference signal but with a 90-degree offset. - The
mixer 110 may also include an oscillator 114, which may include any suitable device, system, or apparatus configured to produce the first reference signal and the second reference signal. For example, the oscillator 114 may be configured to generate the first reference signal as represented by 2 cos (2πfct) in which fc is the carrier frequency. Further, the oscillator 114 may be configured to generate the second reference signal as represented by −2 sin (2πfct) such that the first reference signal and the second reference signal are offset by 90 degrees. However, the oscillator 114 may be such that the phase offset between the first reference signal and the second reference signal may not be exactly 90 degrees. This deviation from the 90 degree offset may be referred to as “phase mismatch” of themixer 110 and may be represented by “ϕ”, which represents the amount that the offset is off from 90 degrees. For example, a phase mismatch in which ϕ equals “5” may be a result of the phase offset of the first reference signal and the second reference signal being 95 degrees instead of 90 degrees. The phase mismatch of themixer 110 may contribute to the imbalances between the baseband I and Q signals. - The receive
path 102 may include afirst branch 120 a and asecond branch 120 b. Thefirst branch 120 a may be configured for the baseband I-signal and thesecond branch 120 b may be configured for the baseband Q-signal. For example, thefirst branch 120 a may include thefirst multiplier 112 a and may receive signals output by themultiplier 112 a (e.g., the baseband I-signal). Thesecond branch 120 b may include thesecond multiplier 112 b and may receive signals output by themultiplier 112 b (e.g., the baseband Q-signal). In addition, first noise (e.g., thermal noise) may be present within thefirst branch 120 a in which the first noise may be produced by one or more components of the receivepath 102. Similarly, second noise (e.g., thermal noise) may be present within thesecond branch 120 b. - The
first branch 120 a may includefirst branch components 114 a that may be configured to perform one or more operations. The operations of thefirst branch components 114 a may include filtering and/or amplifying of signals and/or noise that propagate along thefirst branch 120 a. Thesecond branch 120 b may similarly includesecond branch components 114 b that may be configured to perform similar or analogous filtering and/or amplifying operations. - The
first branch 112 a and thesecond branch 112 b may have one or more differences that may cause imbalances between the baseband I-signals and the baseband Q-signals. For example, the propagation paths of thefirst branch first branch components 114 a may not be exactly the same as the operations performed by thesecond branch components 114 b. The differences between thefirst branch 112 a and thesecond branch 112 b may be such that the respective transfer functions of the branches 112 may differ. - The difference in the transfer functions may be represented by a ratio between the respective transfer functions. For example, a first transfer function of the
first branch 120 a may be denoted as G1(ƒ) and a second transfer function of thesecond branch 120 b may be denoted as G2(ƒ). The branch imbalance between thefirst branch 120 a and thesecond branch 120 b (“(f)”) may be represented by the following expression (1): -
- The above expression is merely an example, for instance, the branch imbalance may alternatively be expressed by having the first transfer function divided by the second transfer function. In a scenario with no branch imbalance, the first transfer function and the second transfer function would be equal such that (f) would be equal to one. Therefore, the more that (f) approaches zero or infinity (depending on which ratio is used) the greater the branch imbalance.
- The
first branch 120 a may include a first analog to digital converter (ADC) 116 a and thesecond branch 120 b may include asecond ADC 116 b. Thefirst ADC 116 a may digitize the signals and first noise that are output by thefirst branch components 114 a and thesecond ADC 116 b may digitize the signals and second noise that are output by thesecond branch components 114 b. - The
digital circuitry 104 may be configured to process the digital signals (e.g. digital baseband I-signals) and/or digitized first noise output by thefirst ADC 116 a. Additionally or alternatively, thedigital circuitry 104 may be configured to process the digital signals (e.g. digital baseband Q-signals) and/or digitized second noise output by thesecond ADC 116 b. - Additionally or alternatively, the
digital circuitry 104 may be configured to direct operations related to the reception and processing of the signals and noise. One or more elements of thedigital circuitry 104 may be hardware that is custom designed to perform one or more of the receiver operations. Additionally or alternatively, one or more of the elements of thedigital circuitry 104 may include a computing system that is programmed to perform certain operations using computer-executable instructions. One or more elements of thecomputing system 502 ofFIG. 5 may be included in or part of thedigital circuitry 104 in some implementations. - As detailed below, the
digital circuitry 104 may be configured to determine a first noise estimate of the first noise and of the second noise of the first receivepath 120 a and the second receivepath 120 b, respectively. Further, thedigital circuitry 104 may be configured to determine a cross-relationship estimate with respect to the first noise and the second noise. Thedigital circuitry 104 may also include one or more correction filters configured to perform compensation operations to help compensate for the phase mismatch and/or branch imbalance. Thedigital circuitry 104 may be configured to adjust the one or more correction filters based on the first noise estimate, the second noise estimate, and the cross-relationship estimate. - Modifications, additions, or omissions may be made to the
system 100 without departing from the scope of the present disclosure. For example, thesystem 100 may be configured to perform any number of other operations than those explicitly described. -
FIG. 2A illustrates an examplesignal processing system 200 a (“system 200 a”) configured to adjust for imbalances between branches of a receive path, according to one or more implementations of the present disclosure. Thesystem 200 a may be part of digital circuitry of a receiver system. For example, thesystem 200 a may be included in thedigital circuitry 104 ofFIG. 1 . Moreover, thesystem 200 a may be included in or implemented as a computing system, such as thecomputing system 502 described below with respect toFIG. 5 . - The
system 200 a may include aFourier transform module 202, aspectral density module 204, an adjustment module 206 a, and acorrection filter module 208. One or more of the modules ofFIG. 2A and ofFIGS. 2B, 3A, and 3B discussed further below may include code and routines configured to enable a computing system to perform one or more of the operations described therewith. Additionally or alternatively, one or more of the modules may be implemented using hardware including any number of processors, microprocessors (e.g., to perform or control performance of one or more operations), field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs) or any suitable combination of two or more thereof. Alternatively or additionally, one or more of the modules may be implemented using a combination of hardware and software. In the present disclosure, operations described as being performed by a particular module may include operations that the particular module may direct a corresponding system (e.g., a corresponding computing system) to perform. Further, the delineating between the different modules is to facilitate explanation of concepts described in the present disclosure and is not limiting. Further, one or more of the modules may be configured to perform more, fewer, and/or different operations than those described such that the modules may be combined or delineated differently than as described. - The Fourier transform module 202 (“
FT module 202”) may be configured to perform a Fourier transform on received signals and/or noise. For example, theFT module 202 may be configured to receive first noise that propagates along a first branch of a receive path, such as the first noise that propagates along thefirst branch 120 a ofFIG. 1 . The digitized first noise as received by theFT module 202 is represented inFIG. 2A by “z1(n)”, in which “n” is the time-domain sample of the first noise. - The
FT module 202 may also be configured to perform a Fourier transform (e.g., a Fast Fourier Transform) on the first noise to represent the first noise in the frequency domain. The digitized first noise in the frequency domain as output by theFT module 202 is represented inFIG. 2A by “z1(k)”, in which “k” is the frequency-domain sample of the first noise. - The
FT module 202 may be configured to similarly receive and perform the Fourier transform with respect to second noise that propagates along a second branch of the receive path, such as the second noise that propagates along thesecond branch 120 b ofFIG. 1 . The digitized second noise as received by theFT module 202 is represented inFIG. 2A by “z2(n)”, in which “n” is the time-domain sample of the second noise. The digitized second noise in the frequency domain as output by theFT module 202 is represented inFIG. 2A by “z2(k)”, in which “k” is the frequency-domain sample of the second noise. - The
spectral density module 204 may be configured to determine, as a first noise estimate of the first noise, a first spectral density of the first noise (“Ŝz1”) (e.g., using the first noise z1(k) output by the FT module 202). Thespectral density module 204 may also be configured to determine, as a second noise estimate of the second noise, a second spectral density of the second noise (“Ŝz2”) (e.g., using the second noise z2(k) output by the FT module 202). Additionally, thespectral density module 204 may be configured to determine, as part of determining a cross-relationship estimate between the first noise and the second noise, a cross-spectral density between the first noise and the second noise (“Ŝz1z2”) (e.g., using the first noise z1(k) and the second noise z2(k)). - In some implementations, the determined first spectral density, the determined second spectral density, and/or the determined cross-spectral density, may be estimates of the first spectral density, the second spectral density, and/or the cross-spectral density, respectively. In some implementations, the
spectral density module 204 may be configured to estimate the first spectral density, the second spectral density, and the cross-spectral density using any suitable technique. For example, thespectral density module 204 may be configured to estimate the first spectral density based on comparisons of the first noise at different times (e.g., based on comparisons between different samples of the first noise obtained at different points in time) according to any suitable technique. The second spectral density may be similarly obtained. For example, thespectral density module 204 may be configured to estimate the spectral density by first measuring the auto-correlation of the first and second noise samples and the cross-correlation of the first and second noise samples for different lags and then perform Fourier transform on the auto-correlation and cross-correlation functions to calculate the spectral density. Further, the cross-spectral density may be obtained based on different samples of the first noise and the second noise at different points in time according to any suitable technique. The number of samples used in estimating the different spectral densities may be based on various implementation and design decisions such as accuracy and speed of estimating the spectral densities. For example, the fewer the samples used, the faster the estimates may be determined, but the accuracy may be reduced, and vice versa. - The adjustment module 206 a may be configured to determine a phase mismatch “{circumflex over (ϕ)}” based on the determined spectral densities in some implementations. The determined phase mismatch “{circumflex over (ϕ)}” may be an estimate of the phase mismatch “ϕ” described above with respect to
FIG. 1 . - By way of example, in some implementations, the adjustment module 206 a may be configured to determine the phase mismatch “{circumflex over (ϕ)}” based on the spectral densities “Ŝz1”, “Ŝz2”, and “Ŝz1z2” according to the following expression (2):
-
- In expression (2), “” is a symmetric set of tones in the passband of the filters of the first and second branches that corresponds to the tones of the samples used to determine the spectral densities. Additionally, in expression (2) “fk” represents the individual tones of “”. The set “” is a design parameter and depending on the considered application its size and placements of its tones may be adjusted to improve estimation the phase mismatch.
- In some implementations, the adjustment module 206 a may be configured to determine a branch imbalance between the first branch and the second branch. The determined branch imbalance may include a frequency dependent branch imbalance and/or a frequency independent branch imbalance (also referred to as a DC branch imbalance).
- In some implementations, the adjustment module 206 a may be configured to determine an estimate of a frequency independent branch imbalance “{circumflex over (γ)}DC” based on the determined first spectral density “Ŝz1” and the determined second spectral density “Ŝz2”. For example, the adjustment module 206 a may determine “{circumflex over (γ)}DC” according to the following expression (3):
-
- Additionally or alternatively, the adjustment module 206 a may also be configured to determine a frequency dependent branch imbalance “{circumflex over (Γ)}(fk)” based on the determined phase mismatch “{circumflex over (ϕ)}” and the determined cross-spectral density “Ŝz1z2”. Further, the adjustment module 206 a may be configured to determine the frequency dependent branch imbalance “{circumflex over (Γ)}(fk)” based on the determined first spectral density “Ŝz1” or the determined second spectral density “Ŝz2”. The determined frequency dependent branch imbalance “{circumflex over (Γ)}(fk)” may be an estimate of the branch imbalance “” described above with respect to
FIG. 1 . - As another example, in some implementations, the adjustment module 206 a may be configured to determine the frequency dependent branch imbalance “{circumflex over (Γ)}(fk)” based on the determined phase mismatch “{circumflex over (ϕ)}” and the spectral densities “Ŝz1” and “Ŝz1z2” according to the following expression (4):
-
- As another example, the adjustment module 206 a may be configured to determine the frequency dependent branch imbalance “{circumflex over (Γ)}(fk)” for each of the tones “fk” based on the determined phase mismatch “{circumflex over (ϕ)}” and the spectral densities “Ŝz2” and “Ŝz1z2” according to the following expression (5):
-
- In expressions (4) and (5) “Ŝ*z
1 z2 (fk)”, represents the complex conjugate of the cross-spectral density “Ŝz1z2”. - In some implementations, the adjustment module 206 a may also be configured to adjust the
correction filter module 208 based on the determined phase mismatch “{circumflex over (ϕ)}” and the determined branch imbalances “{circumflex over (γ)}DC” and “{circumflex over (Γ)}(fk)”. For example, the adjustment module 206 a may be configured to adjust, using any suitable technique, one or more of correction filters of thecorrection filter module 208 such that thecorrection filter module 208 at least partially remove the determined phase mismatch “{circumflex over (ϕ)}” and the determined branch imbalances “{circumflex over (γ)}DC” and/or “{circumflex over (Γ)}(fk)” from signals (e.g., I-signals and Q-signals) and/or noise received at thecorrection filter module 208. - For instance, the one or more correction filters may be configured as Finite Impulse Response (FIR) filters in some implementations and adjusting of the
correction filter module 208 may include adjusting one or more of the taps. The number of taps may vary depending on the implementation in which more taps may provide more accurate correction. The adjusting of the taps based on the determined phase mismatch “{circumflex over (ϕ)}” and the determined branch imbalances “{circumflex over (γ)}DC” and “{circumflex over (Γ)}(fk)” may be performed according to any suitable technique. - The
correction filter module 208 may include one or more correction filters that may be configured to receive signals and/or noise from the first branch and the second branch of the receive path. The one or more correction filters may be configured to perform one or more operations on the received signals and/or noise based on input received from theadjustment module 208 that may help correct for the phase mismatch and/or the branch imbalance. -
FIG. 2B illustrates an examplesignal processing system 200 b (“system 200 b”) that is a variation of thesignal processing system 200 a in that thesystem 200 b may be configured to adaptively adjust thecorrection filter module 208 based on a determined first spectral density “Ŝx1”, a determined second spectral density “Ŝx2”, and a determined cross-spectral density “Ŝx1x2”. For example, in the adaptive configuration, theFT module 202 may be configured to receive a first output “x1(n)” and a second output “x2(n)” that may be output by thecorrection filter module 208. The first output “x1(n)” may be what is left of the digitized first noise “z1(n)” after thecorrection filter module 208 applies filtering to “z1(n)”. Similarly, the second output “x2(n)” may be what is left of the digitized second noise “z2(n)” after thecorrection filter module 208 applies filtering to “z2(n)”. TheFT module 202 may accordingly transform “x1(n)” and “x2(n)” into the frequency domain as “x1(k)” and “x2(k)”. Thespectral density module 204 may receive “x1(k)” and “x2(k)” and may output the first spectral density “Ŝx1” of “x1(k)”, the second spectral density “Ŝx2” of “x2(k)”, and the cross-spectral density “Ŝx1x2” with respect to “x1(k)” and “x2(k)”. - Rather than determine the phase mismatch “{circumflex over (ϕ)}” and the branch imbalances “{circumflex over (γ)}DC” and “{circumflex over (Γ)}(fk)”, such as performed by the adjustment module 206 a of
FIG. 2A , an adjustment module 206 b ofFIG. 2B may be configured to iteratively adjust thecorrection filter module 208 based on comparisons between the determined first spectral density “Ŝx1” the determined second spectral density “Ŝx2”, and the determined cross-spectral density “Ŝx1x2”. - For instance, during a first adjustment iteration, the adjustment module 206 b may determine a first difference between the determined first spectral density “Ŝx1” and the determined second spectral density “Ŝx2”. In a scenario in which there is little or no branch imbalance and/or phase mismatch, the determined first spectral density “Ŝx1” and the determined second spectral density “Ŝx2” may be the same or very close to the same such that the difference between the two would be at or very near zero. Therefore, using any suitable adjustment technique, the adjustment module 206 b may adjust the
filter module 208 to attempt to reduce the difference between the determined first spectral density “Ŝx1” and the determined second spectral density “Ŝx2”. - Additionally, during the first adjustment iteration, the adjustment module 206 b may analyze the determined cross-spectral density “Ŝx1x2”. In a scenario in which there is little or no branch imbalance and/or phase mismatch, the determined cross-spectral density “Ŝx1x2” may also be at or near zero. Therefore, using any suitable adjustment technique, the adjustment module 206 b may adjust the
filter module 208 to attempt to move the determined cross-spectral density “Ŝx1x2” toward zero. - During a second adjustment iteration that follows the first iteration, the adjustment module 206 b may determine a second difference between the determined first spectral density “Ŝx1” and the determined second spectral density “Ŝx2”. The adjustment module 206 b may compare the first difference against the second difference to determine whether the second difference is larger or smaller than the first difference to determine whether the first adjustment iteration improved or worsened the imbalance and/or phase mismatch. Using any suitable technique, the adjustment module 206 b may be configured to make one or more adjustments to the
correction filter 208 based on whether the second difference is larger or smaller than the first difference. - The iterative adjustment in some implementations may be based on calculating a gradient function that provides the direction of the correction filters adjustment to simultaneously drive the difference between “Ŝx1” and “Ŝx2” and the magnitude of “Ŝx1x2” toward zero.
- In these or other implementations, the adjustment module 206 b may compare the determined cross-spectral density “Ŝx1x2” obtained with respect to the first adjustment iteration against the determined cross-spectral density “Ŝx1x2” obtained with respect to the second adjustment iteration. Based on a comparison between the two determined cross-spectral densities “Ŝx1x2”, the adjustment module 206 b may determine whether the first adjustment iteration moved the determined cross-spectral density “Ŝx1x2” closer to or further from zero. Using any suitable technique, the adjustment module 206 b may be configured to make one or more adjustments to the
correction filter 208 based on whether the determined cross-spectral density “Ŝx1x2” closer to or further from zero. In these or other implementations, the adjustment module 206 b may be configured to continue to make additional iterative adjustments until the determined cross-spectral density “Ŝx1x2” satisfies a first particular threshold and/or until the difference between the determined first spectral density “Ŝx1” and the determined second spectral density “Ŝx2” satisfies a second particular threshold. The first particular threshold and the second particular threshold may be the same or different. Further, the first particular threshold and the second particular threshold may vary depending on tolerances associated with different implementations. - The
systems systems -
FIG. 3A illustrates an examplesignal processing system 300 a (“system 300 a”) configured to adjust for imbalances between branches of a receive path, according to one or more implementations of the present disclosure. Thesystem 300 a may be part of digital circuitry of a receiver system. For example, thesystem 300 a may be included in thedigital circuitry 104 ofFIG. 1 . Moreover, thesystem 300 a may be included in or implemented as a computing system, such as thecomputing system 502 described below with respect toFIG. 5 . Thesystem 300 a may include acorrelation module 304, an adjustment module 306 a, and acorrection filter module 308. - The
correlation module 304 may be configured to receive first noise that propagates along a first branch of a receive path, such as the first noise that propagates along thefirst branch 120 a ofFIG. 1 . Thecorrelation module 304 may also be configured to receive second noise that propagates along a second branch of the receive path, such as the second noise that propagates along the second branch 102 b ofFIG. 1 . The digitized first noise as received by thecorrelation module 304 is represented inFIG. 3A by “z1(n)”, and the digitized second noise as received by thecorrelation module 304 is represented inFIG. 3A by “z2(n)” in which “n” is the time-domain sample of the first noise. - The
correlation module 304 may be configured to determine, as a first noise estimate of the first noise, a first autocorrelation of the first noise (“{circumflex over (R)}z1”) (e.g., using the first noise z1(n)). Thecorrelation module 304 may also be configured to determine, as a second noise estimate of the second noise, a second autocorrelation of the second noise (“{circumflex over (R)}z2”) (e.g., using the second noise z2(n)). Additionally, thecorrelation module 304 may be configured to determine, as part of determining a cross-relationship estimate between the first noise and the second noise, a cross-correlation between the first noise and the second noise (“{circumflex over (R)}z1z2”) (e.g., using the first noise z1(n) and the second noise z2(n)). - In some implementations, the determined first autocorrelation, the determined second autocorrelation, and/or the determined cross-correlation, may be estimates of the first autocorrelation, the second autocorrelation, and/or the cross-correlation, respectively. In some implementations, the
correlation module 304 may be configured to estimate the first autocorrelation, the second autocorrelation, and the cross-correlation using any suitable technique. For example, thecorrelation module 204 may be configured to estimate the first autocorrelation based on comparisons of the first noise at different times (e.g., based on comparisons between different samples of the first noise obtained at different points in time) according to any suitable technique. The second autocorrelation may be similarly obtained. Further, the cross-correlation may be obtained based on different samples of the first noise and the second noise at different points in time according to any suitable technique. The number of samples used in estimating the different correlations may be based on various implementation and design decisions such as accuracy and speed of estimating the correlations. - In some implementations, the adjustment module 306 a may be configured to determine a phase mismatch “{circumflex over (ϕ)}” based on the determined correlations. The determined phase mismatch “{circumflex over (ϕ)}” may be an estimate of the phase mismatch “ϕ” described above with respect to
FIG. 1 . - By way of example, in some implementations, the adjustment module 306 a may be configured to determine the phase mismatch “{circumflex over (ϕ)}” based on the correlations “{circumflex over (R)}z1”, “{circumflex over (R)}z2”, and “{circumflex over (R)}z1z2” according to the following expression (6):
-
- In some implementations, the adjustment module 306 a may be configured to determine a branch imbalance between the first branch and the second branch. The determined branch imbalance may include a frequency dependent branch imbalance and/or a frequency independent branch imbalance (also referred to as a DC branch imbalance).
- In some implementations, the adjustment module 306 a may be configured to determine an estimate of a frequency independent branch imbalance “{circumflex over (γ)}DC” based on the determined first autocorrelation “{circumflex over (R)}z1” and the determined second autocorrelation “{circumflex over (R)}z2”. For example, the adjustment module 306 a may determine “{circumflex over (γ)}DC” according to the following expression (7):
-
- The adjustment module 306 a may also be configured to determine a frequency dependent branch imbalance “{circumflex over (Γ)}(fk)” based on the determined phase mismatch “{circumflex over (ϕ)}” and a determined cross-spectral density “Ŝz1z2”. Further, the adjustment module 306 a may be configured to determine the frequency dependent branch imbalance “{circumflex over (Γ)}(fk)” based on a determined first spectral density “Ŝz1” or a determined second spectral density “Ŝz2”. The determined frequency dependent branch imbalance “{circumflex over (Γ)}(fk)” may be an estimate of the branch imbalance “” described above with respect to
FIG. 1 . The adjustment module 306 a may be configured to determine the frequency dependent branch imbalance “{circumflex over (Γ)}(fk)” according to expression (4) or expression (5) as discussed above with respect toFIG. 2A in some implementations. The adjustment module 306 a may be configured to adjust thecorrection filter module 308 based on the determined branch imbalances “{circumflex over (γ)}DC” and “{circumflex over (Γ)}(fk)” and the determined phase mismatch “{circumflex over (ϕ)}” such as described above with respect to the adjustment module 206 a adjusting thefilter module 208 ofFIG. 2A . - The adjustment module 306 a may be configured to determine the cross-spectral density “Ŝz1z2” by performing a Fourier transform on the determined cross-correlation “{circumflex over (R)}z1z2”. The adjustment module 306 a may also be configured to determine the first spectral density “Ŝz1” by performing a Fourier transform on the determined first autocorrelation “{circumflex over (R)}z1” and the adjustment module 306 a may be configured to determine the second spectral density “Ŝz2” by performing a Fourier transform on the determined second autocorrelation “{circumflex over (R)}z2”.
- The
correction filter module 308 may be analogous to thecorrection filter module 208 ofFIGS. 2A and 2B and may include and adjust one or more correction filters that may be configured to perform one or more operations on the received signals and/or noise based on the determined phase mismatch “{circumflex over (ϕ)}” and the determined branch imbalances “{circumflex over (γ)}DC” and “{circumflex over (Γ)}(fk)”. -
FIG. 3B illustrates an examplesignal processing system 300 b (“system 300 b”) that is a variation of thesignal processing system 300 a in that thesystem 300 b may be configured to adaptively adjust thecorrection filter module 308 based on a determined first autocorrelation “{circumflex over (R)}x1”, a determined second autocorrelation “{circumflex over (R)}x2”, and a determined cross-correlation “{circumflex over (R)}x1x2”. For example, in the adaptive configuration, thecorrelation module 304 may be configured to receive a first output “x1(n)” and a second output “x2(n)” that may be output by thecorrection filter module 308. The first output “x1(n)” may be what is left of the digitized first noise “z1(n)” after thecorrection filter module 308 applies filtering to “z1(n)”. Similarly, the second output “x2(n)” may be what is left of the digitized second noise “z2(n)” after thecorrection filter module 308 applies filtering to “z2(n)”. Thecorrelation module 304 may receive “x1(n)” and “x2(n)” and may output the first autocorrelation {circumflex over (R)}x1 of “x1(n)”, the second autocorrelation “{circumflex over (R)}x2” of “x2(n)”, and the cross-correlation “{circumflex over (R)}x1x2” with respect to “x1(n)” and “x2(n)”. - In some implementations, an adjustment module 306 b may be configured to adaptively adjust the
correction filter module 308 via an iterative process using the determined first autocorrelation “{circumflex over (R)}z1”, the determined second autocorrelation “{circumflex over (R)}z2”, and the determined cross-correlation correlation “{circumflex over (R)}z1z2”. The adaptive adjustment may be analogous to that described above with respect to the adjustment module 206 b ofFIG. 2B . - The
systems systems -
FIG. 4 is a flowchart of anexample method 400 of adjusting for imbalances between branches of a receive path, according to at least one implementation described in the present disclosure. Themethod 400 may be performed by any suitable system, apparatus, or device. For example, one or more operations of themethod 400 may be performed by one or more of the devices ofFIG. 1 , by thesystem 200 a ofFIG. 2A , by thesystem 200 b ofFIG. 2B , by thesystem 300 a ofFIG. 3A , and/or by thesystem 300 b ofFIG. 3B . Additionally or alternatively, one or more of the operations may be performed or directed for performance by a computing system, such as thecomputing system 502 ofFIG. 5 . Although illustrated with discrete blocks, the steps and operations associated with one or more of the blocks of themethod 400 may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the particular implementation. - At
block 402, a first noise estimate of noise that propagates along a receive path of a device may be determined. The noise may include first noise that propagates along a first branch of the receive path and second noise that propagates along a second branch of the receive path, such as described above. In some implementations, the first noise estimate may be of the first noise and may be determined according to any of the techniques described above. - At
block 404, a second noise estimate of the noise may be determined. In some implementations, the second noise estimate may be of the second noise and may be determined according to one or more of the techniques described above. - At
block 406, a cross-relationship estimate with respect to the noise may be determined. For example, in some implementations, the cross-relationship estimate may be determined with respect to the first noise and the second noise according to one or more of the techniques described above. - At block 408, one or more correction filters configured to correct for imbalances associated with the first branch and the second branch of the receive path may be adjusted. The adjustment may be based on the first noise estimate, the second noise estimate, and the cross-relationship estimate according to one or more of the techniques described above in some implementations.
- Modifications may be made to the
method 400 without departing from the scope of the present disclosure. For example, in some implementations, some of the operations of themethod 400 may be in a different order than described. Further, additional operations may be included in themethod 400 or one or more operations may be omitted. -
FIG. 5 illustrates a block diagram of anexample computing system 502 that may be used to perform or direct performance of one or more operations described according to at least one implementation of the present disclosure. Thecomputing system 502 may be included in thedigital circuitry 104 ofFIG. 1 , thesystem 200 a ofFIG. 2A , thesystem 200 b ofFIG. 2B , thesystem 300 a ofFIG. 3A , and/or thesystem 300 b ofFIG. 3B in some implementations. Additionally or alternatively, thecomputing system 502 may include the one or more of the modules ofFIGS. 2A, 2B, 3A, and 3B , respectively and/or one or more of the modules of FIGS. 2 and 3 may be configured as thecomputing system 502. Thecomputing system 502 may include aprocessor 550, amemory 552, and adata storage 554. Theprocessor 550, thememory 552, and thedata storage 554 may be communicatively coupled. - In general, the
processor 550 may include any suitable special-purpose or general-purpose computer, computing entity, or processing device including various computer hardware or software modules and may be configured to execute instructions stored on any applicable computer-readable storage media. For example, theprocessor 550 may include a microprocessor, a microcontroller, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a Field-Programmable Gate Array (FPGA), or any other digital or analog circuitry configured to interpret and/or to execute computer-executable instructions and/or to process data. Although illustrated as a single processor inFIG. 5 , theprocessor 550 may include any number of processors configured to, individually or collectively, perform or direct performance of any number of operations described in the present disclosure. - In some implementations, the
processor 550 may be configured to interpret and/or execute computer-executable instructions and/or process data stored in thememory 552, thedata storage 554, or thememory 552 and thedata storage 554. In some implementations, theprocessor 550 may fetch computer-executable instructions from thedata storage 554 and load the computer-executable instructions in thememory 552. After the computer-executable instructions are loaded intomemory 552, theprocessor 550 may execute the computer-executable instructions. - The
memory 552 and thedata storage 554 may include computer-readable storage media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable storage media may include any available media that may be accessed by a general-purpose or special-purpose computer, such as theprocessor 550. By way of example, and not limitation, such computer-readable storage media may include tangible or non-transitory computer-readable storage media including Random Access Memory (RAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Compact Disc Read-Only Memory (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory devices (e.g., solid state memory devices), or any other storage medium which may be used to carry or store particular program code in the form of computer-executable instructions or data structures and which may be accessed by a general-purpose or special-purpose computer. Combinations of the above may also be included within the scope of computer-readable storage media. Computer-executable instructions may include, for example, instructions and data configured to cause theprocessor 550 to perform a certain operation or group of operations. - Modifications may be made to the
computing system 502 without departing from the scope of the present disclosure. For example, in some implementations, thecomputing system 502 may include any number of other components that may not be explicitly illustrated or described. Additionally or alternatively, thecomputing system 502 may include fewer components. For example, thecomputing system 502 may omit thememory 552 and/or thedata storage 554 in some implementations. - The subject technology of the present invention is illustrated, for example, according to various aspects described below. Various examples of aspects of the subject technology are described as numbered examples (1, 2, 3, etc.) for convenience. These are provided as examples and do not limit the subject technology. The aspects of the various implementations described herein may be omitted, substituted for aspects of other implementations, or combined with aspects of other implementations unless context dictates otherwise. For example, one or more aspects of example 1 below may be omitted, substituted for one or more aspects of another example (e.g., example 2) or examples, or combined with aspects of another example. The following is a non-limiting summary of some example implementations presented herein.
- An example method may include determining a first noise estimate of first noise that propagates along a first branch of a receive path of a device; determining a second noise estimate of second noise that propagates along a second branch of the receive path; determining a cross-relationship estimate between the first noise and the second noise; and adjusting, based on the first noise estimate, the second noise estimate, and the cross-relationship estimate, one or more correction filters configured to correct for imbalances associated with the first branch and the second branch of the receive path.
- An example system may include hardware configured to perform operations including: determining a first noise estimate of noise that propagates along a receive path of a device; determining a second noise estimate of the noise; determining a cross-relationship estimate with respect to the noise; and adjusting, based on the first noise estimate, the second noise estimate, and the cross-relationship estimate, one or more correction filters configured to correct for imbalances between a first branch and a second branch of the receive path.
- Another example may include one or more non-transitory computer-readable storage media having instructions stored thereon that, in response to being executed by one or more processors, cause a system to perform operations including: determining a first noise estimate of noise that propagates along a receive path of a device; determining a second noise estimate of the noise; determining a cross-relationship estimate with respect to the noise; determining a phase mismatch of a mixer of the receive path based on the first noise estimate, the second noise estimate, and the cross-relationship estimate; determining a branch imbalance (e.g., frequency independent and/or frequency dependent) between a first branch and a second branch of the receive path based on the determined phase mismatch; and adjusting, based on the determined phase mismatch and the determined branch imbalance, one or more correction filters configured to correct for imbalances between the first branch and the second branch.
- Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations within a computer. These algorithmic descriptions and symbolic representations are the means used by those skilled in the data processing arts to convey the essence of their innovations to others skilled in the art. An algorithm is a series of configured operations leading to a desired end state or result. In example implementations, the operations carried out require physical manipulations of tangible quantities for achieving a tangible result.
- Unless specifically stated otherwise, as apparent from the discussion, it is appreciated that throughout the description, discussions utilizing terms such as detecting, determining, analyzing, identifying, scanning or the like, can include the actions and processes of a computer system or other information processing device that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system's memories or registers or other information storage, transmission or display devices.
- Example implementations may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may include one or more general-purpose computers selectively activated or reconfigured by one or more computer programs. Such computer programs may be stored in a computer readable medium, such as a computer-readable storage medium or a computer-readable signal medium. Computer-executable instructions may include, for example, instructions and data which cause a general-purpose computer, special-purpose computer, or special-purpose processing device (e.g., one or more processors) to perform or control performance of a certain function or group of functions.
- Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter configured in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
- An example apparatus can include a Wireless Access Point (WAP) or a station and incorporating a VLSI processor and program code to support. An example transceiver couples via an integral modem to one of a cable, fiber or digital subscriber backbone connection to the Internet to support wireless communications, e.g. IEEE 802.11 compliant communications, on a Wireless Local Area Network (WLAN). The WiFi stage includes a baseband stage, and the analog front end (AFE) and Radio Frequency (RF) stages. In the baseband portion wireless communications transmitted to or received from each user/client/station are processed. The AFE and RF portion handles the upconversion on each of transmit paths of wireless transmissions initiated in the baseband. The RF portion also handles the downconversion of the signals received on the receive paths and passes them for further processing to the baseband.
- An example apparatus can be a multiple-input multiple-output (MIMO) apparatus supporting as many as N×N discrete communication streams over N antennas. In an example the MIMO apparatus signal processing units can be implemented as N×N. In various implementations, the value of N can be 4, 6, 8, 12, 16, etc. Extended MIMO operation enables the use of up to 2N antennae in communication with another similarly equipped wireless system. It should be noted that extended MIMO systems can communicate with other wireless systems even if the systems do not have the same number of antennae, but some of the antennae of one of the stations might not be utilized, reducing optimal performance.
- Channel State Information (CSI) from any of the devices described herein can be extracted independent of changes related to channel state parameters and used for spatial diagnosis services of the network such as motion detection, proximity detection, and localization which can be utilized in, for example, WLAN diagnosis, home security, health care monitoring, smart home utility control, elder care, automotive tracking and monitoring, home or mobile entertainment, automotive infotainment, and the like.
- Unless specific arrangements described herein are mutually exclusive with one another, the various implementations described herein can be combined in whole or in part to enhance system functionality and/or to produce complementary functions. Likewise, aspects of the implementations may be implemented in standalone arrangements. Thus, the above description has been given by way of example only and modification in detail may be made within the scope of the present invention.
- With respect to the use of substantially any plural or singular terms herein, translating from the plural to the singular or from the singular to the plural may be performed as is appropriate to the context or application. The various singular/plural permutations may be expressly set forth herein for sake of clarity. A reference to an element in the singular is not intended to mean “one and only one” unless specifically stated, but rather “one or more.” Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the above description.
- In general, terms used herein, and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc.). Furthermore, in those instances where a convention analogous to “at least one of A, B, or C, etc.” or “at least one of A, B, and C, etc.” is used such a construction is intended to generally have a disjunctive interpretation (e.g., “a system having at least one of A, B, or C” or “a system having at least one of A, B, and C” would include but not be limited to systems that include A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B, and C together, etc.). Also, a phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to include one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.” This interpretation of the phrase “A or B” is still applicable even though the term “A and/or B” may be used at times to include the possibilities of “A” or “B” or “A and B.”
- Additionally, the use of the terms “first,” “second,” “third,” etc., are not necessarily used herein to connote a specific order or number of elements. Generally, the terms “first,” “second,” “third,” etc., are used to distinguish between different elements as generic identifiers. Absence a showing that the terms “first,” “second,” “third,” etc., connote a specific order, these terms should not be understood to connote a specific order. Furthermore, absence a showing that the terms first,” “second,” “third,” etc., connote a specific number of elements, these terms should not be understood to connote a specific number of elements.
- The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described implementations are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/320,211 US20230368808A1 (en) | 2020-09-14 | 2023-05-19 | Receive path in-phase and quadrature imbalance correction using circuit noise |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2020130229 | 2020-09-14 | ||
RU2020130229 | 2020-09-14 | ||
US17/317,137 US11688410B2 (en) | 2020-09-14 | 2021-05-11 | Receive path in-phase and quadrature imbalance correction using circuit noise |
US18/320,211 US20230368808A1 (en) | 2020-09-14 | 2023-05-19 | Receive path in-phase and quadrature imbalance correction using circuit noise |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/317,137 Continuation US11688410B2 (en) | 2020-09-14 | 2021-05-11 | Receive path in-phase and quadrature imbalance correction using circuit noise |
Publications (1)
Publication Number | Publication Date |
---|---|
US20230368808A1 true US20230368808A1 (en) | 2023-11-16 |
Family
ID=80627001
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/317,137 Active 2041-06-09 US11688410B2 (en) | 2020-09-14 | 2021-05-11 | Receive path in-phase and quadrature imbalance correction using circuit noise |
US18/320,211 Pending US20230368808A1 (en) | 2020-09-14 | 2023-05-19 | Receive path in-phase and quadrature imbalance correction using circuit noise |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/317,137 Active 2041-06-09 US11688410B2 (en) | 2020-09-14 | 2021-05-11 | Receive path in-phase and quadrature imbalance correction using circuit noise |
Country Status (1)
Country | Link |
---|---|
US (2) | US11688410B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114826845B (en) * | 2022-05-30 | 2024-05-03 | 上海星思半导体有限责任公司 | IQ imbalance estimation method and device and related equipment |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120328053A1 (en) * | 2011-06-27 | 2012-12-27 | Cisco Technology, Inc. | Orthogonal Frequency Division Multiplexed (OFDM) Demodulator Imbalance Estimation |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI264193B (en) * | 2005-03-04 | 2006-10-11 | Mediatek Inc | Apparatus and method for compensating IQ imbalance in OFDM system with carrier frequency offset |
US7277040B2 (en) * | 2005-07-01 | 2007-10-02 | Dsp Group Inc. | Analog to digital converter with ping-pong architecture |
KR20100063654A (en) * | 2008-12-03 | 2010-06-11 | 한국전자통신연구원 | Apparatus and method for signal receiving of wireless communication systems using multiple antenna |
US20110013724A1 (en) * | 2009-04-24 | 2011-01-20 | Qualcomm Incorporated | I/q imbalance estimation and compensation for a transmitter and a receiver |
CN101815056B (en) | 2010-03-05 | 2012-09-05 | 华为技术有限公司 | IQ unbalanced calibration method and equipment of baseband signals in wireless communication receiving machine |
US8331506B2 (en) | 2010-03-12 | 2012-12-11 | Telefonaktiebolaget L M Ericsson (Publ) | Frequency-dependent IQ imbalance estimation |
US8964875B2 (en) * | 2013-06-10 | 2015-02-24 | Mstar Semiconductor, Inc. | Adaptive IQ imbalance estimation |
US9871688B2 (en) * | 2015-09-29 | 2018-01-16 | Intel IP Corporation | Frequency-selective quadrature baseband coupling cancellation |
US10484108B1 (en) * | 2018-06-13 | 2019-11-19 | Futurewei Technologies, Inc. | Transmitter image calibration using phase shift estimation |
-
2021
- 2021-05-11 US US17/317,137 patent/US11688410B2/en active Active
-
2023
- 2023-05-19 US US18/320,211 patent/US20230368808A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120328053A1 (en) * | 2011-06-27 | 2012-12-27 | Cisco Technology, Inc. | Orthogonal Frequency Division Multiplexed (OFDM) Demodulator Imbalance Estimation |
Non-Patent Citations (1)
Title |
---|
Machine translation of JP-2021158442-A (Year: 2021) * |
Also Published As
Publication number | Publication date |
---|---|
US20220084536A1 (en) | 2022-03-17 |
US11688410B2 (en) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101690120B1 (en) | Adaptive radio-frequency interference cancelling device and method, and receiver | |
US9621337B2 (en) | Adaptive I/O mismatch calibration | |
US10243719B2 (en) | Self-interference cancellation for MIMO radios | |
US8971465B2 (en) | Receiver-side estimation of and compensation for signal impairments | |
US11533113B2 (en) | Transmitter image calibration using phase shift estimation | |
US8583064B2 (en) | Receiver for estimating and compensating for in-phase/quadrature mismatch | |
US20060198475A1 (en) | Apparatus and method for compensating iq imbalance in ofdm system with carrier frequency offset | |
US20170126465A1 (en) | Method and apparatus for low-complexity frequency dependent iq imbalance compensation | |
US9614700B2 (en) | Techniques for channel estimation in millimeter-wave communication systems | |
US8712356B2 (en) | Apparatus and method for phase synchronization in radio frequency transmitters | |
US8755459B2 (en) | Methods and apparatuses for interference cancellation with frequency error compensation for equalizer adaptation | |
US20230368808A1 (en) | Receive path in-phase and quadrature imbalance correction using circuit noise | |
US9001877B2 (en) | Signal processing for diversity combining radio receiver | |
US20110206105A1 (en) | Method for determining hybrid domain compensation parameters for analog loss in ofdm communication systems and compensating for the same | |
CN104125180A (en) | Method for eliminating self-interferences of cascade time-frequency domain and polarization domain processing during full-duplex communication | |
US7865202B2 (en) | Method and system for I/Q branch equalization in OFDM systems | |
JP2002330112A (en) | Ofdm digital signal repeater | |
EP3151500B1 (en) | Frequency-selective quadrature baseband coupling cancellation | |
CN103684567A (en) | Diversity combining method for radio communication system receiver and apparatus | |
US20170325101A1 (en) | Method and apparatus for real-time self-monitoring of multi-carrier transmission quality | |
CN103765785B (en) | Combination receive device, the system and method for wireless communication signals | |
US10069670B2 (en) | Transmission and reception circuit, transceiver, and method of correcting time difference of signal | |
EP3967007B1 (en) | Electronic device including transceiver for calibrating i/q imbalance in millimeter wave communication system and method of operating same | |
Tanaka et al. | Two step timing synchronization scheme for OFDM signal in general purpose processor based software defined radio receiver | |
KR20100026963A (en) | Method and system fof i/q branch equalization in ofdm systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SEMICONDUCTOR COMPONENTS INDUSTRIES, LLC, ARIZONA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HOSHYAR, REZA;DEHGHAN, HOSSEIN;AGRAWAL, ABHISHEK KUMAR;AND OTHERS;SIGNING DATES FROM 20200914 TO 20210429;REEL/FRAME:063693/0111 Owner name: MAXLINEAR, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SEMICONDUCTOR COMPONENTS INDUSTRIES, LLC;REEL/FRAME:063698/0261 Effective date: 20230502 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |