Interference mitigation for devices with multiple receivers
Methods and systems for mitigating interference or estimating a covariance matrix in a communication system are disclosed. In some embodiments, a method of demodulating a received signal in a communication system includes receiving a first plurality of waveforms, estimating a covariance matrix based on the first plurality of waveforms, determining a spatial filter based on the estimated covariance matrix, receiving a second plurality of waveforms, generating at least one filtered waveform by applying the spatial filter to the second plurality of waveforms, and demodulating the at least one filtered waveform.
1. A method of estimating a covariance matrix in a communication system, the method comprising:
i) obtaining a plurality of waveforms, the plurality of waveforms associated with a reception time;
ii) determining whether a packet is detected during the reception time;
iii) determining whether an automatic gain control setting changes during the reception time;
iv) estimating a covariance matrix based on the plurality of waveforms; and
v) determining a spatial filter based on the estimated covariance matrix after it is determined that a packet is not detected during the reception time and after it is determined that an automatic gain control setting has not changed during the reception time, wherein said determining a spatial filter based on the estimated covariance matrix is performed after operations ii) and iii),
wherein when it is so determined that a packet is detected during the reception time or an automatic gain control setting changes during the reception time, at least operations i)-iii) are repeated.
2. The method of claim 1 , wherein when it is so determined that a packet is detected during the reception time or an automatic gain control setting changes during the reception time, at least operations i)-iv) are repeated.
3. The method of claim 1 , wherein operation iv) is performed prior to at least one of operation ii) or operation iii).
4. The method of claim 1 , wherein determining whether a packet is detected during the reception time comprises determining whether a control signal is received between a time when the plurality of waveforms is obtained and a later time after the covariance matrix is estimated.
5. The method of claim 4 , further comprising determining an interval based on latency between reception of a first sample of a packet and detection of the packet, wherein the reception time comprises a period of time after the covariance matrix is estimated not less than the interval.
6. The method of claim 1 , further comprising:
v) determining a spatial filter based on an inverse of the estimated covariance matrix; and
vi) mitigating interference in a second plurality of waveforms by applying the spatial filter to the second plurality of waveforms.
7. The method of claim 6 , wherein the spatial filter is the inverse of the estimated covariance matrix.
8. The method of claim 6 , wherein the spatial filter is a square root of the inverse of the estimated covariance matrix.
9. A programmable storage device comprising code which, when executed, causes a processor to perform a method of estimating a covariance matrix in a communication system, the method comprising:
i) obtaining a plurality of waveforms, the plurality of waveforms associated with a reception time;
ii) determining whether a packet is detected during the reception time;
iii) determining whether an automatic gain control setting changes during the reception time;
iv) estimating a covariance matrix based on the plurality of waveforms; and
v) determining a spatial filter based on the estimated covariance matrix after it is determined that a packet is not detected during the reception time and after it is determined that an automatic am control setting has not changed during the reception time, wherein said determining a spatial filter based on the estimated covariance matrix is performed after operations ii) and iii),
wherein when it is so determined that a packet is detected during the reception time or an automatic gain control setting changes during the reception time, at least operations i)-iii) are repeated.
10. The programmable storage device of claim 9 , further comprising code which, when executed, causes a processor to mitigate interference in a second plurality of waveforms by applying a spatial filter based on an inverse of the covariance matrix.
11. A method of estimating a covariance matrix, the method comprising:
receiving a first plurality of waveforms, including at least one packet;
estimating a first covariance matrix based on the first plurality of waveforms;
determining that a predetermined amount of time has elapsed in which no packets have been detected;
after determining that the predetermined amount of time has elapsed, receiving a second plurality of waveforms; and
estimating a second covariance matrix based on the second plurality of waveforms, wherein estimating a second covariance matrix comprises deriving a covariance matrix based on at least one prior estimated covariance matrix.
12. The method of claim 11 , further comprising periodically estimating a covariance matrix until another packet is detected, after determining that the predetermined amount of time has elapsed.
13. The method of claim 12 , wherein periodically estimating a covariance matrix causes the estimated covariance matrix to converge towards an estimate of interference and noise without a signal of interest.
14. The method of claim 11 , further comprising mitigating interference in a third plurality of waveforms by applying a spatial filter based on an inverse of at least one of the first covariance matrix or the second covariance matrix.
15. A method of estimating a covariance matrix in a communication system, the method comprising:
i) obtaining a plurality of waveforms, the plurality of waveforms associated with a reception time;
ii) determining whether a packet is detected during the reception time;
iii) determining whether an automatic gain control setting changes during the reception time;
iv) estimating a covariance matrix based on the plurality of waveforms, wherein when it is so determined that a packet is detected during the reception time or an automatic gain control setting changes during the reception time, at least operations i)-iii) are repeated;
v) determining a spatial filter based on an inverse of the estimated covariance matrix; and
vi) mitigating interference in a second plurality of waveforms by applying the spatial filter to the second plurality of waveforms, said spatial filter is the inverse of the estimated covariance matrix.
16. A method of estimating a covariance matrix in a communication system, the method comprising:
i) obtaining a plurality of waveforms, the plurality of waveforms associated with a reception time;
ii) determining whether a packet is detected during the reception time;
iii) determining whether an automatic gain control setting changes during the reception time;
iv) estimating a covariance matrix based on the plurality of waveforms, wherein when it is so determined that a packet is detected during the reception time or an automatic gain control setting changes during the reception time, at least operations i)-iii) are repeated;
v) determining a spatial filter based on an inverse of the estimated covariance matrix; and
vi) mitigating interference in a second plurality of waveforms by applying the spatial filter to the second plurality of waveforms, said spatial filter is the inverse of the estimated covariance matrix, said spatial filter is a square root of the inverse of the estimated covariance matrix.
17. A method of estimating a covariance matrix, the method comprising:
receiving a first plurality of waveforms, including at least one packet;
estimating a first covariance matrix based on the first plurality of waveforms;
determining that a predetermined amount of time has elapsed in which no packets have been detected;
after determining that the predetermined amount of time has elapsed, receiving a second plurality of waveforms;
estimating a second covariance matrix based on the second plurality of waveforms; and
periodically estimating a covariance matrix until another packet is detected, after determining that the predetermined amount of time has elapsed; wherein periodically estimating a covariance matrix causes the estimated covariance matrix to converge towards an estimate of interference and noise without a signal of interest.