Interference resistant method for in-situ operational calibration and compensation of gain and phase variations in antenna array receiver RF and analog front-end electronics
11664878 · 2023-05-30
Assignee
Inventors
Cpc classification
H04B7/0865
ELECTRICITY
H04B7/0831
ELECTRICITY
International classification
H04K1/10
ELECTRICITY
Abstract
Systems and methods are described for performing interference-resistant calibration and compensation of radio-frequency (RF) and analog front-end electronics of antenna-array based receivers during active operation. Examples of systems and methods are described herein that may provide interference-resistant calibration maintenance and ongoing compensation for changing gain and phase in receiver front-end electronic components, due to manufacturing tolerances and operational and environmental factors such as variations in temperature, humidity, supply voltage, component aging, connector oxidation, mechanical stresses and vibration, and/or maintenance operations such as sparing and swapping of cables, front-end electronics modules, and/or associated circuitry.
Claims
1. A method comprising: applying at least one calibration signal to at least one of a plurality of antenna paths at a location prior to at least one respective analog front-end electronic component of the at least one of the plurality of antenna paths and after at least one respective antenna of the at least one of the plurality of antenna paths; generating interference-adjusted calibration waveforms based on combining a first plurality of frequency domain data streams generated using sampling signals with at least one second frequency domain data stream generated using the at least one calibration signal; generating calibration weights based on the generated interference-adjusted calibration waveforms; and combining further frequency domain data streams received at the plurality of antenna paths with the calibration weights to reduce variations introduced by the at least one respective analog front-end electronic component of the at least one of the plurality of antenna paths, wherein the variations comprise phase variations, amplitude variations, or combinations thereof.
2. The method of claim 1, wherein the plurality of antenna paths are a first plurality of antenna paths utilizing at least a first plurality of antennas of an antenna array, and the first plurality of frequency domain data streams are generated based on the sampling signals received at a second plurality of antenna paths by a second plurality of antennas of the antenna array.
3. The method of claim 2, wherein the first plurality of frequency domain data streams are based on sampling interference signals received at the second plurality of antenna paths.
4. The method of claim 3, wherein a count of the second plurality of antennas is based on an expected number of interference sources.
5. The method of claim 2, wherein the first plurality of antenna paths and the second plurality of antenna paths comprise respective analog front-end electronic components.
6. The method of claim 2, wherein the calibration weights are for use with the first plurality of antenna paths, the method further comprising: generating interference-adjusted calibration waveforms for the second plurality of antenna paths based at least in part on applying the at least one calibration signal to the the second plurality of antenna paths; and generating calibration weights for use with the second plurality of antenna paths based on the interference-adjusted calibration waveforms for the second plurality of antenna paths.
7. The method of claim 1, wherein the interference-adjusted calibration waveforms are for a subband of the at least one second frequency domain data stream, and wherein the method further comprising generating further interference-adjusted calibration waveforms for other subbands of the at least one second frequency domain data streams.
8. The method of claim 1, wherein combining the at least one second frequency domain data streams with the first plurality of frequency domain data streams comprises weighting the first plurality of frequency domain data streams in accordance with cancellation weights to provide a representation of interference.
9. The method of claim 8, further comprising subtracting the representation of interference from the at least one second frequency domain data streams to provide the interference-adjusted calibration waveforms.
10. The method of claim 8, further comprising calculating the cancellation weights based on a matrix of data from a first plurality of antenna paths and data from a second plurality of antenna paths.
11. The method of claim 10, further comprising calculating the cancellation weights based on calibration residuals from the first plurality of antenna paths.
12. The method of claim 1, further comprising generating multiple snapshots of the interference-adjusted calibration waveforms based on multiple instances of combining the at least one second frequency domain data streams with the first plurality of frequency domain data streams, wherein the generation of the calibration weights based on the interference-adjusted calibration waveforms comprises smoothing the calibration weights over the multiple snapshots.
13. The method of claim 12, further comprising selecting certain snapshots for inclusion in the smoothing based on a quality metric.
14. The method of claim 1, wherein generating calibration weights based on the interference-adjusted calibration waveforms further comprises smoothing the calibration weights over multiple frequency bins.
15. The method of claim 14, further comprising generating sets of interference-adjusted calibration waveforms for multiple subbands, wherein generating the calibration weights based on the interference-adjusted calibration waveforms comprises smoothing the calibration weights over the multiple subbands.
16. A receiver comprising: a plurality of antenna paths with respective antennas and respective electronic components: a calibration source configured to apply at least one calibration signal to at least one of the plurality of antenna paths at a location prior to at least one respective electronic component of the at least one of the plurality of antenna paths and after at least one respective antenna of the at least one of the plurality of antenna paths; and a processor configured to: combine data streams from an interference subset of respective antenna paths generated using sampling signals with at least one data stream from a calibration subset of the respective antenna paths generated using the at least one calibration signal applied to the calibration subset of the respective antenna paths to generate interference-cancelled calibration waveforms; and generate calibration weights based on the interference-cancelled calibration waveforms; and combine further data streams from the calibration subset of the respective antenna paths with the calibration weights to reduce variations introduced by at least one re v electronic component provided in the at least one of the respective antenna paths, wherein the variations comprise phase variations, amplitude variations, or a combination thereof.
17. The receiver of claim 16, further comprising: a calibration switch configured to couple the calibration source to the calibration subset of the respective antenna paths.
18. The receiver of claim 17, wherein the processor is further configured to generate cancellation weights, and wherein the processor is configured to combine the data streams at least in part by weighting the data streams from the interference subset of the respective antenna paths with the cancellation weights.
19. The receiver of claim 18, wherein the processor is further configured to subtract the weighted data streams from the at least one data stream from the calibration subset of the respective data paths.
20. The receiver of claim 16, wherein a count of the interference subset of the respective antenna paths is based on an expected count of interferers in a communication system including the receiver.
21. The receiver of claim 16, wherein the processor is configured to calculate per-snapshot calibration weights, and calculate the calibration weights by smoothing the per-snapshot calibration weights.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION
(6) Certain details are set forth herein to provide an understanding of described embodiments of technology. However, other examples may be practiced without various of these particular details. In some instances, well-known circuits, control signals, timing protocols, and/or software operations have not been shown in detail in order to avoid unnecessarily obscuring the described embodiments. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented here.
(7) Interference-mitigating calibration methods are discussed herein in the context of a growing class of retro-directive wireless networks (e.g., wireless WANs) employing receive-then-transmit STAP beamformers. This technology is gaining adoption, for example in the residential broadband wireless internet market, as a mechanism to provide extensive frequency reuse to the point of dense in-cell spectrum sharing, supporting multiple point-to-multipoint (PtMP) links in a single cell or sector using the same radio frequencies, without experiencing significant interference among the co-channel links. STAP beamformers accomplish this interference mitigation by forming spatial response-pattern dips, called spatial nulls, in the directions-of-arrival of interfering rays arriving at the receiving antenna array. As a result, retro-directive systems, as well as other system types employing STAP beamforming, are highly tolerant to most forms of radio interference including unregulated and often chaotic radio emissions occurring in unlicensed bands. Rightly, these retro-directive systems are now fueling a migration of wireless network services into previously unworkable and very economical unlicensed bands.
(8) A wide range of antenna element types and array constructions may be employed by retrodirective systems. Each antenna element may have a single polarization, or alternatively two feed points that are orthogonally (or quasi-orthogonally) polarized. For example, the orthogonal (or quasi-orthogonal) feed points may be vertical and horizontal polarizations, left-hand-circular and right-hand-circular polarizations, or slant-left and slant-right polarization as examples. Such dual-polarization elements yield independent data streams despite their common physical location on the array, and hence represent two distinct antenna paths for calibration and channel reciprocity purposes. In some examples, an array may include strictly single-polarization antennas, all of one polarization type, or of mixed polarization types. Each antenna may be passive or active. The antennas can be arrayed in a linear array, a two dimensional array or a 3-dimensional array, or in any other arrangement.
(9) STAP beamforming is applied to received antenna array data streams after the latter have been down-converted to baseband and digitized as complex baseband data streams. The STAP beamformer may be viewed as compartmentalized into a weight calculator and a linear combiner. The STAP beamformer weights, as generated by the weight calculator, are applied to the linear combiner, which combines signals as received on the various elements of an antenna array to achieve spatial selectivity. Spatial selectivity is used to enhance the detection and extraction of signals from complex RF environments, to enhance the signal to interference plus noise ratio (SINR), to overcome multipath distortion, and/or to remove detrimental interference via interference cancellation (IC). Subsequently, the same STAP beamformer weights are used in retro-directive systems to transmit during the transmit sub-frame of the TDD frame, which follows the receive sub-frame. The weights may be derived and/or adapted by a variety of methods.
(10) In theory the number of interfering signals that can be nulled by a STAP beamformer increases with the number of antennas. However, the amount of training data and related processing used to adapt the beamformer also grows with the number of antennas. As a rule, the training time-bandwidth product (TBP) of an adaptive beamformer, expressed as a number of independent training samples, should theoretically be at least 4N samples for an N-element antenna array. This is sometimes referred to as the “4N rule.” Because these training samples displace valuable payload data and reduce the effective data (e.g., payload) throughput of the system, the number of antennas employed in retro-directive system arrays tends to be limited to not more than two to three dozen., although other numbers are possible.
(11) Like other modern wireless systems (e.g. Wi-Fi, WIMAX, LTE, 5G-NR), retro-directive systems of interest to this discussion have adopted a form of data modulation termed orthogonal frequency division multiplexing (OFDM) and/or OFDM multiple-access (OFDMA). Under these OFDM formats the frequency domain is divided into a set of equally spaced subcarriers, and the time domain is divided into equally spaced symbols.
(12) The optimum STAP beamformer weights are a function of the channel response(s) of all signals arriving at the array, which in turn is a function of the environment. If the propagation channel varies rapidly in both time and frequency domains, then the optimal solution will also vary rapidly in both domains. Variation in the frequency domain is a consequence of multipath (e.g., the signal bouncing among different objects in the environment) leading to different copies (e.g., multipath rays) of the same signal arriving at the destination at different time delays. The relative delay between the different copies arriving at the receiver/destination creates variations in the frequency response of the propagation channel. The larger the delay spread among the different paths traversed by the signal, the more rapid the variation in the frequency domain (see
(13) To deal with this issue, the frequency band of interest may be broken into smaller beamforming subbands as shown in
(14)
(15) Similarly, the frequency response of receiver front-end RF and analog electronics may vary as a function of frequency (as well as in time), although not as rapidly or widely in general as typical propagation channels. Accordingly, the subband partitioning used for STAP beamforming may also be used for front-end calibration to compensate the comparatively more gradual receiver front-end gain and phase variations. This may bring simplifying advantages for implementation, integration, and testing by allowing the use of a common subband indexing scheme for both.
(16) While the interference immunity of retro-directive systems may be one of their key benefits, it creates a receiver calibration maintenance challenge as the injected calibration signals must compete with that interference, particularly in unlicensed bands. Accordingly there is a need for interference-mitigating receiver calibration methods. An interference-mitigating receiver calibration method as described herein calibrates subsets of N.sub.cal antenna paths at a time (e.g., N.sub.cal=3 antenna paths), while using N.sub.canc complementary antennas (e.g., N.sub.canc=4 antenna paths) to provide samples of the interference as received on the array to a pre-canceller stage that reduces (e.g., cancels) that interference from the former calibration subset prior to the calibration step, where
N.sub.cal+N.sub.canc≤N.sub.ants, (1)
and where N.sub.ants is the number of antennas on the antenna array. In general these antenna subsets should be mutually exclusive but may otherwise be selected arbitrarily without regard to their relative locations on the array. The terminology antenna path generally refers to the entire chain of RF and analog circuitry for which calibration will be provided, for example, starting from the chassis antenna jack and ending after the digitizer stage, and including usually a T/R switch, a bandpass filtering stage, an LNA stage, a tuner stage to accomplish down-conversion to baseband, and a digitizer stage, as well as any additional RF and/or analog circuitry that reside between antenna and digitizer. The calibration subsets can range from a single antenna path at a time (e.g., N.sub.cal=1), to calibrating nearly all antenna paths at a time. The choice is governed by the number of interference sources anticipated, versus the calibration time latency that can be tolerated. The former may be the dominant consideration, as a failure to allocate enough antennas for interference cancellation may impose lower interference handling limits on calibration than needed in some operational scenarios. For example, a typical retro-directive system may employ a number of antenna elements N.sub.ants equal to nominally twice the number of interfering signals anticipated, where the interfering signal count includes the desired signal or signals (since all signals reaching the array are mutually interfering with one-another). This array sizing is dictated by the fact that an antenna array can handle (e.g., support beamformer mitigation or cancelation of) at most (N.sub.ants−1) interfering signals in multipath-free conditions, or down to as low as half that number in heavily dispersive multipath environments. The use of reduced-bandwidth subbands reduces the effective amount of multipath dispersion via a reduction in time resolution, such that rays arriving at slightly different times may coalesce into a single composite effective ray. As a result, subband beamforming may be used to restore much of the (N.sub.ants−1) interference handling upper bound in multipath environments. In addition, the controlled absence of desired (managed network) signals during receiver calibration time-intervals yields a calibration interference budget that is reduced by at least the number of desired signals at a given node, hence reducing the number of antennas needed to represent, and cancel, the remaining unmanaged interfering signals at that node. Since the arrays of a given communication system have been sized for the operational interference-plus-desired signals environment, interference-mitigating calibration may be expected to work with an interference pre-canceller that uses a subset of the full set of array antennas to cancel the non-system (unmanaged) interference that remains during calibration injections.
(17) While N.sub.canc should be made as large as possible to handle the largest possible number of unmanaged interferers, there are offsetting advantages to keeping N.sub.canc significantly smaller than N.sub.ants, as that will allow N.sub.cal to be increased which in turn reduces the time required to update the calibration of all antenna paths. In general, a calibration update of the full array requires N.sub.calCycles=┌N.sub.ants/N.sub.cal┐ calibration sounding (signal injection) cycles, where N.sub.cal antenna paths are sounded at a time, and ┌x┐ signifies rounding up to the nearest integer. As used herein the terms “calibration sounding” and “calibration signal injection” are synonymous. Using an increased value for N.sub.cal causes a reduction in N.sub.calCycles, yielding reduced calibration latency and hence improved calibration agility and accuracy.
(18) An example embodiment of a receiver front-end calibration algorithm for an array-based OFDM system with N.sub.ants antennas and subbands of size N.sub.subcarriers subcarriers each is now described in detail. The general procedure is to obtain ongoing receiver calibration snapshots over which averaging is performed to yield a running estimate of the gain and phase variations in each antenna path of the receiver front-end. The reason for using averaging over multiple snapshots is to accomplish noise reduction via integration across the set of snapshots. Each subband is calibrated separately and independently, but preferably simultaneously with the others on a common calibration-set schedule in order to expedite full-band calibration and simplify system tasking and control, although this is not a requirement for the algorithms described herein. A calibration snapshot may refer to a single data segment containing the injected calibration signal burst in one subband and one TDD frame. Not all TDD frames will necessarily contain calibration snapshots, so a calibration set of K snapshots may span more than K TDD frames.
(19) The calibration snapshot may be embedded within one or more OFDM symbols. For example, M OFDM symbols may be used to meet the 4N.sub.canc TBP training rule (for interference cancellation within the calibration algorithm), providing a calibration snapshot size of N.sub.snapshot=M×N.sub.subcarriers samples. Conversely, in another system the embedded calibration signal burst may occupy just a fraction of an OFDM symbol, e.g., one-half of an OFDM symbol, for example in order to fit within the host system TDD frame structure, or for other reasons. The example embodiment described herein assumes the calibration burst fits within a single OFDM symbol, e.g., N.sub.snapshot=N.sub.subcarriers, and hence constitutes an OFDM calibration symbol.
(20) A block diagram of an example embodiment of a receiver which may implement an interference-mitigating receiver calibration method is shown in
(21) Prior to receiver calibration processing 420, a wideband frequency response of the calibration source, G.sub.calPath 412, may be known (e.g., may be captured in advance prior to operation of the receiver). The known wideband frequency response of the calibration source may be removed from the wideband OFDM FFT output Y.sub.k 408 by the divider 410 (e.g., using Hadamard division across subcarriers), providing wideband calibration processing input X.sub.k 413 at an output of the divider 410. The divider 410 may be implemented using programmable computing hardware (e.g., FPGA or ASIC processors) and/or one or more digital signal processors implementing executable instructions for division (e.g., using software). This yields an effectively white calibration source, that is, one with a flat spectrum having minimal amplitude or phase variation across the operating bandwidth. Alternatively G.sub.calPath may be incorporated into the calibration equations instead (e.g., the divider 410 may not be used in some examples); it is shown removed at this stage in order to reduce the baggage in upcoming descriptions.
(22) The interference-mitigating calibration processor 420 may execute separately and independently on each subband of each of the N.sub.cal antenna paths. The interference canceller 414 reduces (e.g., cancels) interference in each calibration symbol from each of the N.sub.cal current-cycle sounded antenna paths, using data containing the interference as received on the N.sub.canc cancellation antennas. The N.sub.cal interference-cancelled data streams 416 are then presented to the calibration processor 418 that performs ongoing integration across calibration symbols, to produce accurate snapshot k calibration weights W.sub.b,l,k 422 for each subband b and sounded antenna path l. At the end of each snapshot and calibration cycle, all such W.sub.b,l,k calibration weights 422 may be incorporated into wideband calibration weights array W.sub.k 428 for the N.sub.cal antenna paths just completed, shown in
(23) The latest version of the full calibration weight set W.sub.k 428 is applied to the OFDM FFT output Y.sub.k 408 via element-by-element multiplication across subcarriers and antenna paths on each calibration snapshot k, to remove the measured antenna path amplitude and phase variations prior to entering the OFDM receiver subsystem 430. Because typical receiver front-end gain and phase frequency responses change relatively slowly versus time, significant latitude may be allowed in the schedule and manner in which the W.sub.b,l,k calibration weights 422 are incorporated into the wideband full-array calibration weights W.sub.k 428 in most applications, without incurring undue performance losses. For example, each subband b of each antenna path l may be updated as soon as the results become available for the current snapshot k, or a wideband update to antenna path l may be made when all subband results become available for snapshot k, or the update to W.sub.k may be held off until the end of the current N.sub.cal-path calibration cycle, or finally the update to W.sub.k may be held off until the entire array of N.sub.ants antenna paths has undergone a complete wideband update. Other approaches may be used in other applications.
(24) For each subband and antenna path in a given calibration cycle, interference-mitigating receiver calibration processing may proceed as follows. To simplify notation, the subband index b and antenna path index l are omitted going forward. As well, it is assumed that the gains and phases of all antenna path couplers 409 have been measured and factory-programmed into processing software such that the injected calibration signal appears in all digitized antenna paths at a common amplitude and phase (a common factory preset process). The received frequency-domain subband data Y.sub.k 408 during receive calibration snapshots is given by
(25)
where Y.sub.k (N.sub.subcarriers×N.sub.ants) is the subband complex baseband data matrix for calibration snapshot k, “.Math.” denotes element-wise multiplication (e.g., the Hadamard product), s.sub.k is an N.sub.subcarriers×1 constant-modulus complex vector including the subband calibration sequence, where by constant modulus is meant that the complex magnitudes of all elements of s.sub.k are equal to a common value |s|, such that
s.sub.k.Math.s*.sub.k=|s|.sup.2×1.sub.N.sub.
g.sub.calPath is an N.sub.subcarriers×1 complex vector representing the frequency response of the calibration path (e.g., from the calibration signal source to the antenna circuit coupler) which is common to all antenna paths and assumed to be known, g.sub.calSwitch is an N.sub.ants×1 calibration injection aperture vector with ones in positions corresponding to the N.sub.cal antenna paths being injected for calibration and zeros in all other positions, N.sub.i is the total effective number of interfering signals in the subband that can occur in a given snapshot (for example, an interferer having two resolvable multipath rays in the subband would count as two interferers), p.sub.i,k is a Boolean random variable for the i.sup.th interferer toggling between the two values 1 and 0 corresponding to burst interferers turning on and off from snapshot to snapshot, v.sub.i,k is an N.sub.subcarriers×1 complex random vector of the i.sup.th interfering signal waveform on the k.sup.th snapshot, a.sub.i,k is an N.sub.ants×1 complex random vector representing the i.sup.th interfering signal aperture vector (including amplitude scaling) on the k.sup.th snapshot, and where N.sub.k is an additive noise matrix of N.sub.subcarriers×N.sub.ants complex samples for the k.sup.th snapshot. (N.sub.k is a catch-all noise term broadly representing an aggregation of receiver front-end and LNA noise sources, which are colored by the analog front-end gain and phase variations, and ADC noise which is not.) Complex matrix G.sub.rxPath,k (N.sub.subcarriers×N.sub.ants) contains the frequency responses of all antenna paths in the subband, defined as
G.sub.rxPath,k=[g.sub.rxPath,1g.sub.rxPath,2 . . . g.sub.rxPath,N.sub.
where vector [g.sub.rxPath,l].sub.k (N.sub.subcarriers×1) represents the frequency response of antenna path l on snapshot k. Finally, complex matrix W.sub.rxCal,k (N.sub.subcarriers×N.sub.ants) is the sought-after subband equalization matrix, complementary to G.sub.rxPath,k, containing the receive calibration weights whose purpose is to nullify the latter, producing as a goal an all-ones composite set of equalized antenna paths G.sub.rxPath,k.Math.W.sub.rxCal,k=1N.sub.subcarriers×N.sub.ants.
(26) Equation (2) can be simplified without loss of generality, by assuming that interferers are toggled on and off directly by either a.sub.i,k or v.sub.i,k (by toggling either to zero-vectors when needed to represent the off state p.sub.i,k=0), and also by assuming that the calibration path subband frequency response g.sub.calPath has been measured (e.g., at the factory) and removed in advance from all antenna paths via element-wise division of each column of Y.sub.k by the corresponding elements of g.sub.calPath.
G.sub.calPath=[g.sub.calPath,1.sup.Tg.sub.calPath,2.sup.T. . . g.sub.calPath,N.sub.
where N.sub.subbands is the number of subbands spanning the full system bandwidth.
(27) This source pre-whitening allows the substitution g.sub.calPath=[1].sub.N.sub.
(28)
where interference waveform vector v.sub.i,k and noise matrix N.sub.k have been redefined to subsume the g.sub.calPath normalization into their random waveform definitions. Similarly, N.sub.k can be further redefined to subsume W.sub.rxCal,k into its random construct, and the terms v.sub.i,ka.sub.i,k.sup.T can be further redefined to subsume G.sub.rxPath,k.Math.W.sub.rxCal,k into their random constructs, and with these noise and interference redefinitions the received data matrix model further simplifies to the form
(29)
where we have adopted the simplified notation
G.sub.rxPath,k.fwdarw.G.sub.k=[g.sub.1,kg.sub.2,k . . . g.sub.N.sub.
W.sub.rxPath,k.fwdarw.W.sub.k=[w.sub.1,kw.sub.2,k . . . w.sub.N.sub.
(30) The first stage of calibration processing is interference cancellation (414 in
u.sub.l,k=(X.sub.canc,k.sup.HX.sub.canc,k).sup.−1X.sub.canc,ke.sub.l,k (10)
where X.sub.canc,k is the (N.sub.subcarriers×N.sub.canc) submatrix of X.sub.k containing the N.sub.canc columns corresponding to the antennas used for interference sampling, and e.sub.l,k is the interference-contaminated calibration residuals vector in path l
e.sub.l,k=x.sub.l,k−s.sub.k./w.sub.l,k (11)
where “./” denotes element-by-element (e.g., Hadamard) division, and where w.sub.l,k is the latest subband equalization vector (calibration weights) for path l, as defined in (9).
(31) The interference cancellation weight vector u.sub.l,k in (10) is an example using a least-squares (LS) criterion for reducing the interference present in antenna path l. An LS canceller weight vector u.sub.l,k is generally composed of an inverse covariance matrix (X.sub.canc,k.sup.HX.sub.canc,k).sup.−1 of multiple-antenna data containing interference, multiplied by a cross-correlation vector X.sub.canc,k.sup.Hx.sub.l,k of the multiple-antenna data with the data stream x.sub.l,k which is the subject of interference removal (e.g., the path under calibration). However, in the current calibration application, knowledge of the calibration waveform s.sub.k and the latest calibration weights w.sub.l,k may be applied to the cross-correlation calculation to achieve a deeper interference cancellation solution. This may be done by subtracting the known calibration waveform (as pre-distorted by the reciprocal of w.sub.l,k to match the latest estimate of front-end distortion) from x.sub.l,k, thereby better exposing the interference in the path under calibration by removing the bulk of the calibration signal that is “interfering” with that interference. Such a subtraction yields a calibration residuals vector (e.sub.l,k in eqn. 11) that may be used in lieu of x.sub.l,k to produce a more accurate interference cross-correlation vector (as X.sub.canc,k.sup.He.sub.l,k in lieu of X.sub.canc,k.sup.Hx.sub.l,k) for use in the LS copy weights solution (10). An interference-cancelled received calibration sounding vector for snapshot k on path l is then given by
r.sub.l,k=x.sub.l,k−X.sub.canc,ku.sub.l,k. (12)
(32) If more than one OFDM symbol is used in order to meet the 4N.sub.canc TBP training rule, equations (10) and (11) may be modified to utilize duly abutted data matrices X.sub.canc,k and vectors x.sub.l,k, each containing of MN.sub.subcarriers rows, and an equivalent concatenation of multiple calibration sequence vectors s.sub.k, incorporating the M consecutive OFDM symbols used to generate the canceller weights u.sub.l,k in the processed subband. Because this concatenation is utilized only for the interference cancellation, the M associated calibration snapshots will use this same vector u.sub.l, in (12). Subsequent processing to estimate and remove the antenna path frequency response may be performed as usual on an OFDM symbol-by-symbol basis, in which case each OFDM symbol (post interference cancellation) may be treated as an independent calibration snapshot k.
(33) The interference-cancelled received sounding data then enters calibration update processing 418 in
(34)
In (13) the use of a constant modulus sequence for s.sub.k allows the demodulation to be accomplished by element-wise multiplication with its conjugate rather than more computationally costly element-wise division by s.sub.k that would otherwise be required. Each such z.sub.l,k sequence is smoothed over multiple snapshots to enhance the SNR of a running estimate A of antenna path frequency response g.sub.l,k in (8), as
ĝ.sub.l,k=<z.sub.l,k>.sub.k (14)
where the angle bracket notation <z.sub.l,k>.sub.k signifies vector averaging or smoothing of unspecified type over argument k. Numerous averaging methods are applicable, such as sliding windowed averaging over the past K snapshots, non-windowed (e.g., boxcar) averaging, exponential averaging, or other finite impulse-response (FIR) or infinite impulse-response (IR) methods. For example, exponential IIR averaging may be accomplished by computing
ĝ.sub.l,k=αĝ.sub.l,k-1+(1−α)z.sub.l,k (15)
where
(35)
is an averaging constant to achieve an effective averaging over (nominally) K snapshots. After each update, the corresponding subband calibration weights for antenna path l are computed as the element-by-element reciprocal
w.sub.l,k=1/ĝ.sub.l,k. (17)
As each such w.sub.l,k becomes available, it is substituted into W.sub.k in (9).
(36) A prescreening may be applied to prevent entry of interference-contaminated instantaneous frequency response vectors z.sub.l,k into multiple-snapshot smoothing (14) as performed for example by (15). Interference contamination may occur as a result of interference cancellation failures in (12) due for example to interference overload (N.sub.i≥N.sub.canc), which may occur if too many interferers are present and/or if interferers are received in heavy multipath conditions, or due to other causes such as, but not limited to, extremely high interference amplitudes. To this end, a quality metric Q.sub.l,k may be defined in dB for each snapshot of each antenna path l as
Q.sub.l,k=10 log.sub.10(q.sub.l,k.sup.Hq.sub.l,k) (18)
where
q.sub.l,k={tilde over (z)}.sub.l,k−1.sub.N.sub.
and
{tilde over (z)}.sub.l,k=z.sub.l,k.Math.w.sub.l,k. (20)
This example quality metric Q.sub.l,k serves as a spectral flatness (e.g., “whiteness”) metric for the calibrated antenna path, or more precisely as a “oneness” metric, in that it measures the normalized mean-squared deviation of {tilde over (z)}.sub.l,k from an all-ones vector, which perfect calibration would yield for this equalized instantaneous frequency response vector in the mean (e.g., if observed in interference-free and noise-free conditions). Smaller values of Q.sub.l,k (e.g., large negative values in dB) indicate improving quality. Accordingly, a threshold decision function d.sub.l,k may be implemented using Q.sub.l,k as follows:
(37)
where γ is a decision threshold in dB. During snapshots yielding an “Exclude From Smoothing” decision, the last available updated value of ĝ.sub.l,k from (14) and corresponding equalization vector w.sub.l,k from (17) may continue to be used for equalization purposes. Because the calibration signal may be injected at a significant SNR as part of a proper system design, threshold γ may be set to on the order of −10 dB or lower initially, then dropping to lower values on the order of −SNR (dB), plus a margin, after initial convergence. A governing principal for threshold strategies is that normalized mean-squared error in decibels is approximately equal to −SNR (dB) if the latter is greater than 10 dB, with closer correspondence as the SNR increases beyond that point.
(38) The example quality metric in (18) is only one example of a possible quality metric. For example, a simpler quality metric calculation may be constructed by testing just the modulus values of {tilde over (z)}.sub.l,k in (20), by calculating the standard deviation, or alternatively the variance, of the element-wise complex amplitudes of {tilde over (z)}.sub.l,k. As before, the decision rule would draw an “Exclude From Smoothing” decision based on either of the latter calculated statistics exceeding a threshold that would be derived from the calibration signal SNR.
(39) In addition to the snapshot averaging indicated in (14), the ĝ.sub.l,k may also be averaged in frequency, e.g., across subcarriers, in which case an FIR smoother such as a sliding window or boxcar averaging may be more appropriate than IIR averaging, as the latter contains start-up transients that may degrade performance at band edges. As well, an FIR smoother may work best if extra subcarriers are included and sounded for FIR start-up at both subband edges, equal in number to one-half the width in subcarriers of the sliding window. The averaging provided by such an approach would increase noise reduction, hence calibration SNR, at the cost of reduced frequency agility, a strategy that may benefit systems needing rapid calibration updates. The averaging window may be chosen to achieve a needed compromise between calibration SNR enhancement and resultant time-agility, versus frequency agility. This trade-off may include the full range of possibilities extending from no averaging (e.g., single-subcarrier frequency resolution) to full-subband averaging, as needed.
(40) An alternative frequency averaging approach may be to perform FIR smoothing across the subcarriers spanning the merged, wideband calibration weights array W.sub.k 428. This alternative provides both SNR enhancement, as before, but also smoothing across subband boundaries of any subband discontinuities that may be present. Such a smoothed characteristic would be more typical of actual RF and analog component frequency responses. However, caution should be exercised to avoid sacrificing operational merit for cosmetic reasons. For example, in OFDM systems that make subband-based frequency allocations, it may be preferable to favor a more localized subband calibration than to incorporate adjacent subband distortions that do not actually impact the assigned OFDM user or link.
(41) A non-limiting example of parameters that may be used with the described method is as follows
N.sub.ants=8 (22a)
N.sub.cal=2 (22b)
N.sub.canc=6 (22c)
N.sub.subcarriers=52 (22d)
M=1 (22e)
where (22e) indicates that a single OFDM symbol is adequate for all processing given the 8-antenna array (e.g., according to the 4N.sub.canc rule). Similarly, doubling the number of antennas on the array to N.sub.ants=16 may be handled by resetting (22e) to M=2 and leaving all other parameters unchanged.
(42)
(43) Block 502 recites “generate data streams based on received signals.” For example, a number of frequency domain data streams may be generated by sampling signals received at a corresponding number of data paths associated with antennas of an antenna array. By data path is meant an antenna path plus digitizer and specified follow-on digital processing (such as an FFT) during receiver calibration operations. When discussing receiver calibration, antenna path and data path may be used interchangeably. Referring back to
(44) Block 504 recites “generate data streams based on calibration signals.” For example, a number of frequency domain data streams may be generated by applying calibration signals to a number of data paths associated with a number of antennas in an antenna array. Referring to
(45) As described herein, these data streams may allow for the data path electronics-induced modifications to be identified and/or cancelled and/or reduced in other data streams. Further, these data streams may be combined with the interference-related data streams to provide interference-adjusted calibration signals which allow for calibration not only to reduce amplitude and/or phase variation introduced by data path electronics, but also to reduce those variations in the presence of interference.
(46) Note that in the example of
(47) In block 506, data streams of block 504 and 502 may be combined to generate interference-adjusted data streams. The combining may be performed, for example, using one or more processors (e.g., a digital signal processor (DSP), application specific integrated circuit (ASIC), central processing unit (CPU), and/or other software or firmware processing circuitry). Interference-adjusted calibration waveforms may be generated by combining the data streams based on receipt of incident signals on certain antennas in an antenna array and data streams based on calibration signals provided on other data paths associated with other antennas in the antenna array. Referring back to
(48) The cancellation weights may be calculated based on a matrix of data from the antenna paths receiving interfering signals (e.g., the N.sub.canc paths) and data from the antenna paths receiving calibration signals (e.g., the N.sub.cal paths). The calculation may be performed using one or more processors (e.g., one or more DSP processors, ASICs, CPUs, and/or other software or firmware processing circuitry). In some examples, the cancellation weights may be calculated based on calibration residuals from the data paths receiving calibration signals. Calibration residuals may refer to the data streams from the calibration data paths with the known calibration signal removed (e.g., after applying the current inverse calibration weights to the calibration signal to align it with the identified system gain and phase errors in the calibration antenna paths). In some examples, cancellation weights may be updated on each calibration snapshot. While the cancellation weights may be updated on each snapshot, the update may incorporate data from more than one snapshot (e.g., including a previous one or more snapshots).
(49) Note that the cancellation weights may be updated using calibration residuals in some examples. However, the cancellation weights generated as described herein may be used to cancel interference from the calibration data stream (e.g., not the residuals) in some examples. This may achieve a deeper interference cancellation in some examples. However, in some examples the cancellation weights may be updated based on the calibration data streams themselves (e.g., not the residuals).
(50) Using calibration residuals generally refers to using e.sub.l,k in (Equation 11) where the (un)equalized calibration signal s.sub.k./w.sub.l,k has been subtracted from the data of the antenna path under calibration x.sub.l,k, to compute the canceller weights u.sub.l,k in (Equation 10). If the s.sub.k subtraction was not performed first, the interference canceller may be less effective in some examples, because the interference may be masked by the calibration signal s.sub.k. However, in some examples, calibration signal subtraction may not be used, and cancellation weights may be updated based on the calibration signal data (not residuals).
(51) As described herein, the number of antenna paths used to receive interfering signals (e.g., Now) may be selected based on an expected number of interferers in the system in which a receiver is located. For example, the expected number of interferers may refer to an expected number of other transmitters in the environment of the receiver.
(52) In this manner, data streams from a subset of antennas of an antenna array may be used to cancel interference from another subset of the antennas during receiver calibration time-intervals (e.g., calibration snapshots). The calibration and cancellation antennas are non-overlapping in a particular time interval.
(53) In block 508, calibration weights may be generated using the interference-adjusted calibration waveforms provided in block 506. The calibration weights may be generated using one or more processors (e.g., one or more DSP processors, ASICs, CPUs, and/or other software or firmware processing circuitry). Any of a variety of calibration techniques may be used to generate the calibration weights. Typically, the calibration weights may allow for a calculation of per-snapshot gain and/or phase variations versus frequency based on the interference-cancelled antenna path calibration data streams. Generally, ongoing receiver calibration snapshots may be obtained over which averaging is performed to yield a running estimate of the gain and phase variations in each antenna path of the receiver front-end. Note that generally one instantaneous estimate may be generated per snapshot, although multiple snapshots of data may be used to generate the single instantaneous estimate. A calibration snapshot may refer to the interference-adjusted calibration waveforms from a particular time period.
(54) In some examples, multiple snapshots of interference-adjusted calibration waveforms may be generated using multiple instances of combining the calibration data streams with the interference data streams. For example, each snapshot may be from a different time (e.g., consecutive time slots and/or spaced apart time slots). Calibration weights may be calculated for each snapshot. A set of final calibration weights may be calculated by combining the per-snapshot calibration weights—such as by smoothing (e.g., averaging) two or more of the per-snapshot calibration weights. Any of a variety of smoothing techniques may be used including a sliding window average smoother—for example, multiple consecutive and/or spaced snapshots may be averaged to generate final calibration weights. Another example of a smoothing technique is an exponential smoother where individual per-snapshot weights may be weighted in accordance with a distance from the present snapshot, which may be accomplished by weighting a previous average of such calibration weights by an exponential forgetting factor and summing it with an appropriately weighted version of the present snapshot weights. Other finite impulse response (FIR) and/or infinite impulse response (IIR) smoothers may be used in some examples. In some examples, a set number of per-snapshot calibration weights may be combined (e.g., averaged) to arrive at a final set of weights. In some examples, certain snapshots are selected for inclusion in the smoothing based on a quality metric. For example, snapshots containing less reliable data or greater than a threshold deviation from an average may not be used in calculating a final set of calibration weights. Any of a variety of include/exclude functions may be used to identify the snapshots used in calculating the final set of calibration weights—e.g., to determine whether a particular snapshot instantaneous gain and phase vector is included in a smoothing operation. In some examples, the decision may be based on an instantaneous vector quality metric, e.g., how closely the equalized instantaneous (per-snapshot) calibration data matches a known calibration waveform (e.g., s.sub.k). In some examples, the quality metric may be standard deviation, variance, normalized mean-squared error, and/or SNR or SINR estimate of instantaneous vector quality versus known a calibration waveform.
(55) Cancellation and calibration weights may be generated per-subband. For example, a set of calibration weights may be calculated using interference-adjusted calibration waveforms from a particular subband, while another set of calibration weights may be calculated using interference-adjusted calibration waveforms from another subband. In some examples, calibration weights may be calculated based on the interference-adjusted calibration waveforms by smoothing (e.g., averaging) the calibration weights over multiple frequency bins (e.g., multiple subbands). For example, multiple sets of interference-adjusted calibration waveforms may be generated for multiple subbands. Final calibration weights may be generated by smoothing (e.g., averaging) the calibration weights over the multiple subbands. Any of a variety of smoothing functions may be used including, for example, a sliding window average smoother, exponential smoother, and/or other FIR or IIR smoothers.
(56) The calibration weights may be used by one or more receivers to receive (e.g., decode) wireless signals. For example, referring to the example of
(57) For example, during operation, the calibration switch 404 may be opened (e.g., “off”) such that the calibration source 405 is not applied to the N.sub.cal antenna paths. Wireless signals may be received at the N.sub.cal antenna paths (and also the Nan antenna paths) and may be decoded using the calibration weights. Use of the calibration weights allows for removal of phase and/or amplitude variations due to one or more components in the antenna path (e.g., the front end electronics 406).
(58) The method of
(59) Accordingly, a calibration signal may be applied to a different set of antenna paths, and interference-adjusted calibration waveforms may be generated for that different set of antenna paths and used to generate calibration weights.
(60) Examples of systems, receivers, and methods are described herein that may advantageously provide calibration that may include interference cancellation. Generally, two-stage calibration has been described. Interference cancellation may be performed followed by calibration using calibration data which has been wholly and/or partially adjusted to reduce the impact of interference.