U.S. patent application number 12/333225 was filed with the patent office on 2009-12-17 for interference mitigation for devices with multiple receivers.
This patent application is currently assigned to Silvus Technologies, Inc.. Invention is credited to Babak Daneshrad, Anish Narendra Shah, Weijun Zhu.
Application Number | 20090312043 12/333225 |
Document ID | / |
Family ID | 41414779 |
Filed Date | 2009-12-17 |
United States Patent
Application |
20090312043 |
Kind Code |
A1 |
Shah; Anish Narendra ; et
al. |
December 17, 2009 |
INTERFERENCE MITIGATION FOR DEVICES WITH MULTIPLE RECEIVERS
Abstract
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.
Inventors: |
Shah; Anish Narendra; (Los
Angeles, CA) ; Zhu; Weijun; (Los Angeles, CA)
; Daneshrad; Babak; (Encino, CA) |
Correspondence
Address: |
KNOBBE MARTENS OLSON & BEAR LLP
2040 MAIN STREET, FOURTEENTH FLOOR
IRVINE
CA
92614
US
|
Assignee: |
Silvus Technologies, Inc.
Los Angeles
CA
|
Family ID: |
41414779 |
Appl. No.: |
12/333225 |
Filed: |
December 11, 2008 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61061575 |
Jun 13, 2008 |
|
|
|
Current U.S.
Class: |
455/501 |
Current CPC
Class: |
H04B 7/0854 20130101;
H04B 1/123 20130101; H04L 25/03006 20130101; H04L 2025/03426
20130101; H04B 1/1027 20130101 |
Class at
Publication: |
455/501 |
International
Class: |
H04B 15/00 20060101
H04B015/00 |
Claims
1. A method of demodulating a received signal in a communication
system, the method comprising: 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.
2. The method of claim 1, wherein the first plurality of waveforms
are received simultaneously on a plurality of antennas.
3. The method of claim 1, wherein the first plurality of waveforms
comprises a noise component and an interference component.
4. The method of claim 1, wherein the second plurality of waveforms
comprises a signal of interest component and the first plurality of
waveforms lacks the signal of interest component.
5. The method of claim 1, wherein the second plurality of waveforms
is received after the first plurality of waveforms.
6. The method of claim 1, wherein the second plurality of waveforms
is received before the first plurality of waveforms.
7. The method of claim 1, wherein estimating the covariance matrix
comprises: generating a plurality of sub-waveforms by partitioning
the first plurality of waveforms in at least one of time or
frequency; generating a plurality of outer products based on the
sub-waveforms; and averaging the plurality of outer products to
generate an estimated covariance matrix.
8. The method of claim 1, wherein determining the spatial filter
comprises: decomposing the estimated covariance matrix into at
least one unitary matrix and at least one diagonal matrix; and
setting at least one column of the at least one unitary matrix to
the all-zero vector.
9. The method of claim 1, wherein determining the spatial filter
comprises determining the square root of the inverse of the
estimated covariance matrix.
10. The method of claim 1, wherein determining the spatial filter
comprises determining the inverse of the estimated covariance
matrix.
11. The method of claim 1, wherein determining the spatial filter
comprises: weighting an identity matrix; generating a diagonally
loaded matrix by adding the weighted identity matrix to the
estimated covariance matrix; and determining the inverse of the
diagonally loading covariance matrix.
12. The method of claim 11, wherein weighting the identity matrix
comprises multiplying the identity matrix by noise power.
13. The method of claim 1, wherein demodulating the at least one
filtered waveform comprises performing orthogonal frequency
division multiplexing (OFDM) demodulation.
14. A system for demodulating a received signal in a communication
system, the system comprising: a plurality of antennas configured
to receive a first plurality of waveforms and a second plurality of
waveforms; a processor operatively connected to the system; a
computer-readable medium encoded with instructions executable by
the processor, the instructions configured to cause the processor
to: estimate a covariance matrix based on the first plurality of
waveforms; determine a spatial filter based on the estimated
covariance matrix; generate at least one filtered waveform by
applying the spatial filter to the second plurality of waveforms;
and demodulate the at least one filtered waveform.
15. The system of claim 14, further comprising a memory configured
to store at least one of the first plurality of waveforms, the
second plurality of waveforms, the estimated covariance matrix, the
spatial filter, the filtered waveform, or the demodulated filtered
waveform.
16. The system of claim 14, wherein the first plurality of
waveforms comprises a noise component and an interference
component.
17. The system of claim 14, wherein the second plurality of
waveforms comprises a signal of interest component and the first
plurality of waveforms lacks the signal of interest component.
18. The system of claim 14, wherein the processor comprises at
least one of a general purpose processor, a digital signal
processor (DSP), an application specific integrated circuit (ASIC),
a field programmable gate array (FPGA), a programmable logic
device, or discrete hardware components.
19. A system for demodulating a received signal in a communication
system, the system comprising: means for receiving a first
plurality of waveforms; means for estimating a covariance matrix
based on the first plurality of waveforms; means for determining a
spatial filter based on the estimated covariance matrix; means for
receiving a second plurality of waveforms; means for generating at
least one filtered waveform by applying the spatial filter to the
second plurality of waveforms; and means for demodulating the at
least one filtered waveform.
20. A programmable storage device comprising code which, when
executed, causes a processor to perform a method of demodulating a
received signal in a communication system, the method comprising:
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
waveformns; and demodulating the at least one filtered waveform.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit under 35 U.S.C.
.sctn.119(e) of U.S. Provisional Application No. 61/061,575,
entitled "Interference mitigation with MIMO-enabled nodes," filed
Jun. 13, 2008, the entire contents of which are incorporated by
reference herein and made part of this specification. This
application is related to U.S. Application No. (Atty Docket:
SLVUS.003A2), entitled "Interference mitigation for devices with
multiple receivers," concurrently filed with this application, the
entire contents of which are also incorporated by reference
herein.
BACKGROUND
[0002] 1. Field
[0003] This disclosure relates generally to communication systems
and, more particularly, to systems and methods for mitigating
interference in a wireless communication system.
[0004] 2. Description of the Related Art
[0005] The goal of a communications system is to transmit
information from one time or place to another time or place.
Accomplishing this goal is made difficult by the presence of other
signals, such as noise and/or interference. Various methods of
communicating in the presence of noise and/or interference have
been developed, including the use of multiple transmitters and/or
multiple receivers at one or more of the communicating devices.
Certain existing communications system standards suffer from
various drawbacks such as, for example, a lack of effective and
constructive methods for compensating for interference or certain
types of noise.
SUMMARY
[0006] One aspect of the development is a method of demodulating a
received signal in a communication system, the method having the
operations of 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.
[0007] Another aspect of the development is a system for
demodulating a received signal in a communication system, the
system having a plurality of antennas configured to receive a first
plurality of waveforms and a second plurality of waveforms, a
processor operatively connected to the system, a computer-readable
medium encoded with instructions executable by the processor, the
instructions configured to cause the processor to estimate a
covariance matrix based on the first plurality of waveforms,
determine a spatial filter based on the estimated covariance
matrix, generate at least one filtered waveform by applying the
spatial filter to the second plurality of waveforms, and demodulate
the at least one filtered waveform.
[0008] Another aspect of the development is a system for
demodulating a received signal in a communication system, the
system having a receiver for receiving a first plurality of
waveforms, an estimator for estimating a covariance matrix based on
the first plurality of waveforms, a microprocessor for determining
a spatial filter based on the estimated covariance matrix, a
receiver for receiving a second plurality of waveforms, a filter
for generating at least one filtered waveform by applying the
spatial filter to the second plurality of waveforms, and a
demodulator for demodulating the at least one filtered
waveform.
[0009] Still another aspect of the development is a programmable
storage device having code which, when executed, causes a processor
to perform a method of demodulating a received signal in a
communication system, the method comprising 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.
[0010] A further aspect of the development includes 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 if a packet was detected during the reception time,
iii) determining if an automatic gain control setting has changed
during the reception time, and iv) estimating a covariance matrix
based on the plurality of waveforms, wherein if it is so determined
that a packet is detected during the reception time or an automatic
gain control setting has changed during the reception time, at
least operations i)-iii) are repeated.
[0011] Another aspect of the development includes an interference
mitigation module in a communication device, the module having an
input configured to obtain a plurality of waveforms, the plurality
of waveforms associated with a reception time, a covariance
estimation module configured to estimate a covariance matrix based
on the plurality of waveforms, a spatial filter module configured
to determine a spatial filter based on the estimated covariance
matrix, and a controller configured to determine if whether a
packet was detected during the reception time or an automatic gain
control setting has changed during the reception time, wherein the
spatial filter module determines a spatial filter when a packet is
not detected during the reception time or an automatic gain control
setting has changed during the reception time.
[0012] Yet another aspect of the development includes a method of
estimating a covariance matrix in a communication system, having
operations of receiving a first packet during a first reception
time, receiving a second packet during a second reception time,
receiving a waveform during an interframe spacing, wherein the
interframe spacing is between the first and second reception time,
and estimating a covariance matrix based on the received
waveform.
[0013] Yet another aspect of the development includes a method of
estimating a covariance matrix in a communication system, the
method comprising receiving a first plurality of waveforms, and
beginning a covariance estimation procedure to generate an
estimated covariance matrix based on the first plurality of
waveforms, wherein beginning the covariance estimation procedure
occurs upon the earlier of a time when an estimation stimulus is
detected or after a first predetermined amount of time is
elapsed.
[0014] Still a further aspect of the development is 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 having i) obtaining a plurality
of waveforms, the plurality of waveforms associated with a
reception time, ii) determining whether a packet was detected
during the reception time, iii) determining whether an automatic
gain control setting has changed during the reception time, and iv)
estimating a covariance matrix based on the plurality of waveforms,
wherein at least operations i)-iii) are repeated when a packet is
detected during the reception time or an automatic gain control
setting has changed during the reception time.
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] FIG. 1 is a block diagram of a wireless communication
network with an interferer.
[0016] FIG. 2 is a flowchart illustrating a method of mitigating
interference in a wireless communication network.
[0017] FIG. 3 is a functional block diagram of a receiver in a
wireless communication network.
[0018] FIG. 4 is a state diagram illustrating a method of
controlling an interference mitigation module.
[0019] FIGS. 5A-5L are plots of the simulated
signal-to-noise-plus-interference ratio (SINR) gain of various
channels using a various interference mitigation methods.
[0020] FIGS. 6A-6F are plots of the simulated packet detection
performance of various channels using a number of interference
mitigation methods.
[0021] FIGS. 7A-7C are plots of the simulated packet detection
performance of various channels in wideband noise using an eigen
nulling interference mitigation method.
[0022] FIGS. 8A-8I are plots of the simulated packet detection
performance on various channels with various numbers of transmitter
antennas.
DETAILED DESCRIPTION
Introduction
[0023] As discussed above, the goal of a communications system is
to transmit information from one time or place to another time or
place. Accomplishing this goal is made difficult by the presence of
other signals, such as noise and/or interference. Various methods
of communicating in the presence of noise and/or interference have
been developed, including the use of multiple transmitters and/or
multiple receivers at one or more of the communicating devices. For
example, IEEE 802.11n is a proposed amendment to the IEEE
802.11-2007 wireless networking standard to significantly improve
network throughput over previous standards, such as 802.11b and
802.11g, by using a multiple-input/multiple-output (MIMO) system.
Certain existing communications system standards suffer from
various drawbacks such as, for example, a lack of effective and
constructive methods for compensating for interference or certain
types of noise.
[0024] Signals received by a communication device can nominally be
decomposed into two components: 1) a signal of interest and 2)
other signals, including noise and interference. The signal of
interest includes information another device is transmitting that
the receiver wishes to receive, often transmitted in the form of
data packets, or simply "packets." The rest of the signal includes
noise or interference. Interference results when other devices
transmit information that the receiver does not wish to receive, or
when a malevolent device (such as a jammer) transmits interfering
signals containing no information.
[0025] FIG. 1 is a block diagram of a wireless communication
network with an interferer (or jammer). The wireless communication
network 100 comprises three communication devices 110, 120, 130 in
data communication with each other over a number of channels 111,
112, 113. When the first device 110, labeled Device A, transmits
information to the second device 120, labeled Device B, over a
wireless channel 112, the second device 120 receives both the
transmitted information and noise. Noise sources in wireless data
communication include, but are not limited to, background
radiation, thermal noise, electronic noise, etc. The second device
120 can also receive a signal from an interferer 140 over another
wireless communication channel 142. The interferer 140 may, for
example, be attempting to transmit information to the third device
130, labeled Device C, be transmitting information within another
wireless communication network, or transmitting a jamming signal to
interfere with the network. Although the interferer 140 may be
transmitting information, from the point of view of the second
device 120, the interferer 140 is a noise source.
[0026] The unlicensed nature of the ISM (Industrial, Scientific,
and Medical) bands have allowed for rapid development of various
wireless communication technologies and standards such as
Bluetooth, which uses the 2450 MHz ISM band, and IEEE 802.11, which
uses the 2450 and 5800 MHz ISM bands. Because communication devices
using the ISM bands must tolerate interference from other
equipment, these bands are typically given over to uses intended
for unlicensed operation, since unlicensed operation typically
needs to be tolerant of interference from other devices anyway.
Interference becomes an issue as devices are allowed to operate in
the same band without pre-determined frequency, temporal, or
spatial planning. There have been several attempts to mitigate this
issue via higher layer protocols. For example, methods involving
cooperative scheduling have been implemented to turn portions of
the random access channel into a controlled access channel. Also,
some work has been done to show that time domain signal processing
can be used to mitigate the effects of narrowband interference.
While these methods may, in certain circumstances, be effective,
they may also be computationally intensive. Each of these methods
has been primarily developed for Single-Input/Single-Output (SISO)
systems, and there has been very little work done to mitigate
interference in receivers with multiple antennas.
[0027] The use of multiple antennas is motivated in part by the
fact that the channel capacity of the resultant channel can scale
linearly with the number of transmitters/receivers.
Multiple-Input/Multiple-Output (MIMO) antenna systems also provide
the user with additional degrees of freedom over traditional single
antenna (SISO) systems to enable optimum transmission and
compensate for in-band interference in scatter rich
environments.
[0028] FIG. 2 is a flowchart illustrating a process 200 for
mitigating interference in a wireless communication network using
multiple antennas. The process 200 for mitigating interference can
be performed, for example, by a receiving device. In block 210, the
process begins by receiving a noise-and-interference signal
comprising at least noise component and an interference component.
It is preferable that the noise-and-interference signal not
comprise a component corresponding to the signal of interest;
however, the scope of the invention is not so-limited. In some
embodiments, the noise-and-interference signal is further processed
to identify the separate noise and/or interference components from
other components. The noise-and-interference signal can be received
on a number of different antennas; therefore, the
noise-and-interference signal can include multiple sub-signals,
each sub-signal corresponding to a single antenna. Reception of the
noise-and-interference signal can be performed prior to the
transmission of the signal of interest by a transmitting device, or
can be received in between transmissions by the transmitting
device.
[0029] In block 220, the covariance matrix of the
noise-and-interference signal is estimated. The
noise-and-interference covariance matrix (R) can be estimated using
a number of suitable methods. For example, the
noise-and-interference signal can be decomposed in time into a
number of shorter sub-signals. The outer product of each of these
sub-signals can then be taken and averaged to form an estimate of
the noise-and-interference covariance matrix (R). In other
embodiments, the noise-and-interference signal can be decomposed in
frequency, e.g., via a suitable transform such as the Fourier
transform. In block 230, a spatial filtering matrix (W) is
computed, or otherwise derived, based on the estimated
noise-and-interference covariance matrix (R). The spatial filtering
matrix (W) is, in some embodiments, a multi-antenna filter. A
number of methods for determining the spatial filtering matrix are
disclosed herein, including eigenvector nullling, noise whitening,
covariance matrix inversion, and covariance matrix inversion with
diagonal loading.
[0030] In block 240, a communication signal is received, the
communication signal including the signal of interest, noise, and
interference. As described above with respect to the
noise-and-interference signal, the communication signal can be
received on a number of antennas, and therefore can include
multiple sub-signals, each sub-signal corresponding to a single
antenna. In other embodiments, the signal of interest, embedded in
noise and interference, is received, before the
noise-and-interference signal. In general, in different embodiments
of the method, the steps performed in the blocks of FIG. 2 can be
performed in different orders. In block 250, the spatial filtering
matrix (W) is applied to the communication signal to produce a
filtered communication signal. Application of the spatial filtering
matrix (W) to the communication signal can be a matrix-vector
multiplication performed by software running in a microprocessor.
Alternatively, application of the spatial filtering matrix can be
accomplished using hardware such as an adaptive filter. Other
suitable techniques for applying the spatial filtering matrix can
be used. The filtered communication signal is then, in block 260,
demodulated and/or decoded according to standard methods.
[0031] In block 270, it is determined if there is more data to be
received. If not, the process 200 ends. If there is more data to be
received, the process moves to block 280, where it is determined
whether the noise-and-interference signal has changed. In some
embodiments, when an analog gain control (AGC) gain has changed, it
is determined that the noise-and-interference signal has changed.
Other methods of determining a change in the noise-and-interference
signal can also be used. When it is determined that the
noise-and-interference signal has changed, the process restarts at
block 210. However, when it is determined that the
noise-and-interference signal is substantially the same, the
process returns to block 240 to receive further communication
signals. Some embodiments of the process lack block 280 and always
return to block 210 when more data is to be received.
Receiver Configuration
[0032] FIG. 3 is a functional block diagram of a receiver having an
interference mitigation module. The receiver 300 can implement the
procedure 200 described above and/or other interference mitigation
procedures. The receiver 300 includes a number of antennas 310.
Without limiting the number, the receiver can have two, three,
four, or more than four antennas. In some embodiments, the antennas
are configured for both reception and transmission of signals,
whereas in other embodiments, the antennas are only configured for
receiving signals. In some embodiments, the receiver 300 can have a
different number of transmitting antennas than receiving antennas.
The antennas are electrically coupled to a preliminary processor
320.
[0033] The receiver includes both a preliminary processor 320 and a
secondary processor 360. The preliminary processor 320 can include
mechanisms for processing received signals prior to interference
mitigation, and the secondary processor 360 typically includes
mechanisms for processing the filtered communication signal. The
preliminary processor 320 can include modules for analog gain
control (AGC), spatial, temporal, or frequency-based filtering,
such as bandpass or halfband filtering, and/or performing a Fourier
or inverse Fourier transform. The secondary processor 360 can
include modules such as a demodulation module, a Fourier transform
or inverse Fourier transform module, a decoder module for decoding
signals coded using an error-corrective code such as a Hamming
code, a convolutional code, a turbo code, or a low-density parity
check (LDPC) code, a deinterleaving module, and a demultiplexer. In
other embodiments, modules which are listed as being associated
with the secondary processor 360 can be included in the preliminary
processor 320.
[0034] The receiver also includes an interference mitigation module
340 which receives data from the preliminary processor 320 over a
data link 330, performs an interference mitigation procedure on the
data received from the preliminary processor 320, and then
transmits the filtered data to the secondary processor 360 over a
data link 350. The interference mitigation module 340 can include a
number of sub-components, as discussed in detail below.
[0035] The receiver can also include a microprocessor 370 and a
memory 380. The microprocessor can be used by any of the other
components, such as the primary processor 320, the interference
mitigation module 340, or the secondary processor 360 to perform
data calculations. As used herein, the term "processor" refers
broadly to any suitable device, logical block, module, circuit, or
combination of elements for executing instructions. The
microprocessor 370 can be any conventional general purpose single-
or multi-chip microprocessor such as a Pentium.RTM. processor,
Pentium II.RTM. processor, Pentium III.RTM. processor, Pentium
IV.RTM. processor, Pentium.RTM. Pro processor, a 8051 processor, a
MIPS.RTM. processor, a Power PC.RTM. processor, or an ALPHA.RTM.
processor. In addition, the processor can be any conventional
special purpose microprocessor such as a digital signal processor.
The various illustrative logical blocks, modules, and circuits
described in connection with the embodiments disclosed herein can
be implemented or performed with a general purpose processor, a
digital signal processor (DSP), an application specific integrated
circuit (ASIC), a field programmable gate array (FPGA) or other
programmable logic device, discrete gate or transistor logic,
discrete hardware components, or any combination thereof designed
to perform the functions described herein. A general purpose
processor, such as microprocessor 370 can be a conventional
microprocessor, but in the alternative, the microprocessor 370 can
be any conventional processor, controller, microcontroller, or
state machine. Microprocessor 370 can also be implemented as a
combination of computing devices, e.g., a combination of a DSP and
a microprocessor, a plurality of microprocessors, one or more
microprocessors in conjunction with a DSP core, or any other such
configuration.
[0036] The memory 380 can also be connected to the other components
of the receiver, such as the preliminary processor 320, the
interference mitigation module 340, the secondary processor 360 and
the microprocessor 370. Memory refers to electronic circuitry that
allows information, typically computer data, to be stored and
retrieved. Memory can refer to external devices or systems, for
example, disk drives or tape drives. Memory can also refer to fast
semiconductor storage (chips), for example, Random Access Memory
(RAM) or various forms of Read Only Memory (ROM), which are
directly connected to the one or more processors of the receiver
300. Other types of memory include bubble memory and core
memory.
[0037] The interference mitigation module 340 comprises a number of
sub-components, including a covariance estimation submodule 342, a
spatial filter submodule 344, and a controller 346. The covariance
estimation submodule 342 and spatial filter submodule 344 both
receive data from the preliminary processor 320 over the data link
330. Both the covariance estimate submodule 342 and the spatial
filter submodule 344 are electrically coupled to the controller 346
which controls the functions of the submodules.
[0038] The covariance estimation submodule 342 receives signals
from the antennas 310 via the preliminary processor 320 and
estimates the covariance of the received signal. As described
above, in one embodiment, the covariance estimation submodule
temporally splits the received signal into a number of sub-signals
and averages the outer product of the sub-signals.
[0039] The spatial filter submodule 344 both generates and applies
a spatial filter to signals received from the antennas via the
preliminary processor 320, such as the communication signal
comprising the signal of interest embedded in noise and
interference. In some embodiments of the receiver 300, the
generation and application of the spatial filter are performed in
separate modules. For example, in one embodiment the generation of
the spatial filter is performed by the microprocessor 380. In other
embodiments, a dedicated spatial filter generation module can be
distinct from a spatial filter application module. Once the
noise-and-interference covariance matrix (R) has been estimated,
e.g., by the covariance estimation submodule 342, there are several
methods that can be used to generate a spatial filtering matrix
(W). Methods disclosed herein include eigenvector nulling, noise
whitening, covariance matrix inversion, and covariance matrix
inversion with diagonal loading. Other methods of generating the
spatial filtering matrix can also be used.
[0040] As mentioned above, there are a number of methods for
generating a spatial filtering matrix (W) based on the estimated
noise-and-interference covariance matrix (R). One such method,
eigenvector nulling (or simply eigen nulling), involves placing a
null in the direction of the strongest eigenmode. One method of
doing this involves taking a eigendecomposition or singular value
decomposition (SVD) of the estimated noise-and-interference
covariance matrix (R) and replacing the strongest eigenvector
corresponding to the largest eigenvalue with the all-zeroes vector.
The singular value decomposition theorem states that any matrix,
such as the estimated noise-and-interference covariance matrix (R),
can be factored as follows:
R=U.SIGMA.V*,
where U and V are unitary matrices, and .SIGMA. is an matrix with
non-negative values along its diagonal. Assuming that R is a
4.times.4 matrix, corresponding to a receiver 300 with four
antennas 310, this can further be written as:
R = U .SIGMA. V * = [ [ u 1 ] [ u 2 ] [ u 3 ] [ u 4 ] ] [ .sigma. 1
.sigma. 2 .sigma. 3 .sigma. 4 ] [ [ v 1 ] [ v 2 ] [ v 3 ] [ v 4 ] ]
* , ##EQU00001##
where u.sub.1, u.sub.2, u.sub.3, and u.sub.4 are eigenvectors, and
.sigma..sub.1, .sigma..sub.2, .sigma..sub.3, and .sigma..sub.4, are
the singular values. The singular values are sorted such that
.sigma..sub.1>.sigma..sub.2>.sigma..sub.3>.sigma..sub.4.
[0041] The spatial filtering matrix (W) can be derived from the
matrix U, by replacing the leftmost column with the all-zeros
vector and conjugating the result. Thus, in some embodiments,
W = [ [ 0 ] [ u 2 ] [ u 3 ] [ u 4 ] ] * . ##EQU00002##
[0042] Eigenvector nulling has shown to be very effective when the
interference power is high. It places a harsh null in the direction
of the strongest eigenmode. However, as the interference power
approaches the noise floor, the harshness of the null may be
detrimental to the performance. This may result from the main lobe
of the strongest eigenmode becoming distorted by the noise. This
may also result in the sidelobes being larger. When the noise power
is within 10 dB of the interference power, the covariance matrix
may be less likely to optimally identify the interference source
with its strongest eigenvector. This may cause suboptimal nulling
and, in some cases, may hinder performance. Heuristic schemes can
be derived to disable interference mitigation using eigenvector
nulling when the interference power is low.
[0043] Another method of interference mitigation is noise
whitening. Noise whitening (or simply whitening) involves using the
square root of the inverse of the estimated noise-and-interference
covariance matrix as the spatial filter. The noise whitening
approach provides an output signal with substantially uncorrelated
noise. A drawback of this approach is that, in some applications,
it can potentially amplify the noise. Preferably, the interference
mitigation method should suppress the interference power more than
it amplifies then noise power.
[0044] Simulations have shown circumstances in which the noise
whitening approach was unable to sufficiently suppress the
interference power, and provided only a marginal improvement when
compared to results with no interference mitigation at all. An
alternative approach is to skip the square root and use the inverse
directly. This method, referred to a covariance matrix inversion
(or nulling), results in a suppression of the interfering signal
which is much higher, with the drawback that the residual noise
will be correlated. Since the residual interference power may in
some circumstances be the limiting factor for performance, the
reduction in its power may be more beneficial than the lack of
whiteness in the noise signal.
[0045] Mathematically, the spatial filter (W) for noise whitening
can be written as follows:
W = [ [ u 1 ] [ u 2 ] [ u 3 ] [ u 4 ] ] [ 1 / .sigma. 1 1 / .sigma.
2 1 / .sigma. 3 1 / .sigma. 4 ] [ [ v 1 ] [ v 2 ] [ v 3 ] [ v 4 ] ]
* ##EQU00003## The spatial filter ( W ) for nulling can be written
as follows : ##EQU00003.2## W = [ [ u 1 ] [ u 2 ] [ u 3 ] [ u 4 ] ]
[ 1 / .sigma. 1 1 / .sigma. 2 1 / .sigma. 3 1 / .sigma. 4 ] [ [ v 1
] [ v 2 ] [ v 3 ] [ v 4 ] ] * . ##EQU00003.3##
[0046] Inadequate estimation of the covariance matrix can lead to
large sidelobes and a distorted mainlobe in the spatial gain
pattern of the receiver 300. In order to mitigate these effects,
diagonal loading can be applied to the estimated
noise-and-interference covariance matrix prior to taking the
inverse as described above. This method has been shown to improve
the stability of the resulting inverse. Diagonal loading involves
adding a value to each diagonal element of the estimated
noise-and-interference covariance matrix. This improves the rank of
the estimated noise-and-interference covariance matrix and the
spatial gain pattern of the inverse that is calculated. One may see
the greatest benefit from this technique when the interference
power is close to the noise power. Diagonal loading reduces the
depth of the nulls that are created. The diagonal loading added to
the estimated noise-and-filter covariance can be based on the noise
power and can be any fraction of or greater than the noise
power.
[0047] Other methods, such as methods based on combinations of the
teachings of the disclosed embodiments, can also be used to
determine the spatial filter (W). The spatial filter (W) can be
based, at least in part, on the estimated noise-and-interference
covariance matrix (R). The spatial filter (W) can also or instead
be based on a different covariance matrix, such as the covariance
matrix of the communication signal or a predetermined
noise-and-interference covariance matrix.
[0048] As stated above, both the covariance estimation submodule
342 and the spatial filter submodule 344 are provided to the
controller 346 which controls the functions of the submodules. The
controller 346 is, in some embodiments, responsible for
coordinating the transmission and reception of data (such as
matrices) between components of the receiver 300. It can also be
responsible for ensuring that the noise-and-interference covariance
matrix is not estimated while the signal of interest is being
transmitted. Finally, the controller 346 may also ensure that the
spatial filtering matrix is not updated while the receiver 300 is
decoding a packet.
[0049] In order to prevent estimation of the covariance matrix
while the signal of interest is in transit, a protocol may be used
that provide times when the channel between two devices is free of
a signal-of-interest component. For example, by guaranteeing an
interframe spacing (IFS), the protocol can ensure that the receiver
300 has enough time to estimate the noise-and-interference
covariance matrix between packets. In some embodiments, a protocol
guarantees an IFS of at least 1 microsecond, about 50 microseconds,
between 10 and 100 microseconds, or another suitable IFS that
provides enough time for covariance matrix estimation to occur. The
controller 346 can also keep track of settings from within the
preliminary processor 320, such as the gain setting of an analog
gain control unit. If the gain changes during an estimation period,
this can be factored into the estimation of the
noise-and-interference covariance matrix. In one embodiment, the
estimation is restarted. In other embodiments, the data is weighted
according to the gain setting at the time of recording, but this is
complicated by the transient dynamics of the analog gain control
unit. While estimating the covariance of the noise-and-interference
signal, key control signals from the receiver 300 can also be
observed, such as a control signal indicating a packet has been
detected.
[0050] In order to have a robust interference mitigation subsystem
another protocol for handling loss of synchronization with the
transmitter has been developed. If the covariance matrix is
estimated while the signal of interest is being transmitted, or if
the covariance estimate is otherwise faulty, the signal of interest
could potentially be removed. To prevent this failure condition, a
timeout period is used as a failsafe mechanism. If no packet is
detected after a given amount of time, the controller 346 can enter
a timeout state. While in this state the controller 346 waits for a
fixed period of time between computing estimates of the
noise-and-interference covariance. The microprocessor 380 can
continue to process the covariance estimates and return filtering
matrices. The controller 380 can continue to operate in timeout
mode until another packet is detected. The amount of time required
to recover from this type of failure depends on the ratio of the
length of the packet (in microseconds) and the length of the
interframe spacing. If the transmission times are chosen randomly
then the probability of n successive failed covariance estimates is
given by the equation below.
P fail = T packet T IFS - T estimation ##EQU00004## P
failed_covariance = P fail n , n = trials ##EQU00004.2## P
succesful_covariance = 1 - P failed_covariance = 1 - P fail n
##EQU00004.3##
[0051] The state diagram of embodiment of a controller 346 that
performs all of these operations is shown in FIG. 4. The oval
states are the states during which the controller 346 allows for
updating of the spatial filtering matrix from the microprocessor
380. The states labeled "Update R" are the states during which the
controller 346 can pass a new matrix to the microprocessor 380.
This state machine ensures the covariance matrix is computed during
interframe spacings without fluctuations from the analog gain
control unit. It also ensures that the spatial filtering matrix is
not updated while a packet is being decoded, e.g., by the secondary
processor 360.
[0052] The controller 346 begins in state 405, in which it waits
for an estimation stimulus. The estimation stimulus is any event
recognizable by the controller 346 to trigger estimation of the
covariance matrix. The estimation stimulus can be derived from a
waveform received on the antennas 310, or the estimation stimulus
can be a control signal from the microprocessor 380. For example,
the event can be the detection of a packet, or the detection of a
packet with specific information in a header thereof.
Alternatively, the event can be the reception of a signal from the
microprocessor 380 indicating that estimation of the covariance
matrix should occur. The microprocessor 380 can determine when to
transmit such a signal based on any of a number of factors, such as
when a packet has been detected or when it is determined that
packets are no longer being detected. Once the stimulus is
detected, the controller 346 moves to state 410 in which it waits a
certain amount of time, such as, for example, a predetermined
amount of time sufficient to ensure the channel is free of a
signal-of-interest component, e.g., at least 1 microsecond, between
about 1 microsecond and about 100 microseconds, 5 microseconds, an
amount of time determined algorithmically, or another suitable
amount of time, before moving to state 415. The controller 346 can
be configured to wait another suitable amount of time before moving
to state 415. In state 415, the controller 346 instructs the
covariance estimation submodule 342 to estimate the
noise-and-interference covariance matrix based on a received
waveform. The waveform can be associated with a reception time,
e.g., the period of time over which the waveform was received on
the antennas 310. Due to finite processing speed, the time at which
the covariance matrix submodule 342 obtains the waveform can be
different from the reception time, which corresponds to when the
waveform is received on the antennas 310. If the controller 346
determines that the analog gain control setting has changed during
the reception time, the controller 346 can reset the current
estimate in state 420 and instruct the covariance estimation
submodule 342 to restart estimation of the noise-and-interference
covariance matrix based on a new waveform with a new reception
time. Similarly, if the controller 346 determines that a packet has
been detected during the reception time, the controller 346 can
reset the current estimate of the covariance matrix in state
430.
[0053] Once the noise-and-interference covariance matrix is
estimated, the controller 346 enters an idle state 425 in which it
waits to detect a packet or to timeout. Due to finite processing
speed, there is a delay between the reception time of the waveform
and when a packet is detected in the waveform. Thus, the controller
waits an appropriate delay or interval before determining that a
packet (or signal of interest component) is not present in the
received waveform on which the covariance matrix estimate is based.
If a packet is detected during idle state 425, the controller
enters a state 430 in which the noise-and-interference covariance
matrix is reset. If the controller 346 times out from state 425, it
enters a state 435 in which it instructs the microprocessor 380 or
the spatial filter module 344 to update the spatial filtering
matrix. Both states 430 and 435 return the controller 346 to the
start state 405.
[0054] If an estimation stimulus is not detected, or if a faulty
estimation occurs, as described above, the controller 346 enters a
state 440 in which it instructs the covariance estimation submodule
342 to estimate the noise-and-interference covariance matrix based
on a received waveform associated with a reception time. As above,
if the controller 346 detects that the analog gain control settings
have changed during the reception time, the controller 346 resets
the current estimate in a reset state 445 and instructs the
covariance estimation submodule 342 to restart estimation of the
noise-and-interference covariance matrix based on a new received
waveform with a new reception time. If the controller 346
determines that a packet has been detected during the reception
time, the controller 346 returns to the start state 405.
[0055] After the noise-and-interference covariance matrix has been
estimated, the controller 346 enters an idle state 450 in which it
waits to detect a packet or timeout. If a packet is detected, the
controller returns to the start state 405. If the controller 346
times out from state 450, it enters a state 455 in which it
instructs the microprocessor 380 or spatial filter module 344 to
update the spatial filtering matrix before changing to a state 460
in which the controller 346 waits an amount of time before
returning to the start state 405.
Simulation and Implementation
[0056] The systems and methods disclosed above can be implemented
using suitable hardware, software, and/or a combination of hardware
and software. A discussion of the results of empirical tests using
the above-discussed systems and methods is now presented.
[0057] A simulation of the systems and methods disclosed herein was
performed using a model of a transmitter compliant with the current
IEEE 802.11n standard, channel models disclosed by the IEEE 802.11
standard, and a model of the receiver as discussed above. The
simulation was performed using MATLAB produced by The MathWorks,
Inc. The transmitted data was randomly generated and encoded with a
rate 1/2 convolutional code (133.sub.8, 171.sub.8). In cases where
the transmission scheme called for more than one spatial stream,
the encoded data was spread across the streams in a systematic
manner to take advantage of spatial diversity.
[0058] The encoded data on each spatial stream was then interleaved
and mapped into a quadrature amplitude modulation (QAM)
constellation. The interleaver depth was matched to the number of
encoded bits that was modulated onto each orthogonal frequency
division multiplex (OFDM) symbol. The constellation used in the
simulation was 16-QAM. Each of these constellation points was used
to modulate 52 data subcarriers in the OFDM system. The modulation
was performed with a 64-point FFT (Fast Fourier Transform), after
which the resulting signal was extended with a 16 sample cyclic
prefix. When added to a OFDM modulation scheme, the cyclic prefix
helps combat the effects of a multipath channel and reduces
inter-carrier interference. The resulting OFDM symbols were then
windowed and concatenated to generate the data payload of the
transmitted packet, which was sampled at 20 MHz.
[0059] In order to test the performance of some of the disclosed
multi-antenna interference mitigation algorithms disclosed above,
simulations were performed in which single tone jammer was randomly
placed in the band of interest. Both the jammer and the transmitted
packet were passed through spatial channels and combined at the
receiver. The resultant signal was subjected to an interference
mitigation algorithm and demodulated and decoded according to
current standards.
[0060] The transmitted signal and the interfering source were
convolved with randomly generated channels. These channels were
modeled after the channels described in the IEEE 802.11 TGn Draft
proposal, in which channels A, B, and D were used. Channel A is a
signal-tap Rayleigh flat fading channel, channel B is a
frequency-selective channel with 15 ns rms delay spread, and
channel D is a frequency-selective channel with 50 ns rms delay
spread. These channels are typical of what would be seen in a home
environment. In some embodiments, the amount of delay spread has a
dramatic affect on the performance of the system.
[0061] The transmitted waveform was an 802.11n compliant OFDM
signal. Thus, it used the same short and long training sequences
for time and frequency synchronization. In the simulation, an HT
(High Throughput) mixed mode packet format was used for all
packets. Channel estimation was done using the HT long training
sequences. The data payload of the packets was 100 bytes.
[0062] A quiet period was inserted before each packet which the
receiver used to estimate the noise-and-interference covariance
matrix (R). The estimation was performed using 1000 samples. Once
the noise-and-interference covariance matrix (R) had been
estimated, various method were used to generate the spatial
filtering matrix (W). The received signal (y.sub.dirty) was
multiplied by spatial filtering matrix (W) to generate the filtered
version of the signal (y.sub.clean=Wy.sub.dirty). The filtered
signal was then passed into a standard-compliant 802.11n receiver.
The decoded data was compared with the transmitted data to
determine if the packet was received correctly. Packet error rate
is calculated based on the output of the receiver.
[0063] As an initial measure of performance, simulations were
performed to investigate the gain in SINR. To perform this
measurement, instead of combining the data signal and the
interference signal, the spatial filtering matrix was applied to
each signal individually. The signal power and interference power
were measured before and after the application of the spatial
filtering matrix. The ratio of these powers was averaged over 1000
trials. The signal-to-interference ratio (SIR) was swept from -20
dB to +15 dB for channels A,B, and D at a signal-to-noise ratio
(SNR) of 10 dB, 15 dB, 20 dB, and 25 dB.
[0064] FIGS. 5A-5L are plots of the simulated
signal-to-noise-plus-interference ratio (SINR) gain of the results.
FIGS. 5A-5C show the results of the simulation using an eigenvector
nulling interference mitigation method for channels A, B, and D.
FIG. 5D-5F show the results of the simulation using a covariance
matrix inversion interference mitigation method using no diagonal
loading for channels A, B, and D. FIGS. 5G-5I show the results of
the simulation using the covariance matrix inversion method with
-10 dB of diagonal loading, and FIGS. 5J-5L show the results of the
simulation using the matrix inversion method with +10 dB of
diagonal loading.
[0065] The results show that the covariance matrix inversion method
without some amount of diagonal loading may cause a decrease in the
SINR when the interference power is low (see, e.g. FIGS. 5D-5L). As
the amount of diagonal loading is increased, a floor develops at
high SIR. This floor may represent the fact that the total SINR is
dominated by the noise power as opposed to the interference power.
In this scenario, the simulations show no appreciable gain in
SINR.
[0066] Another factor in the performance of a communications system
is synchronization. In order to properly decode an OFDM waveform,
the receiver may benefit from synchronizing in time with the OFDM
symbol boundary. Once the receiver is synchronized, it can further
correct for carrier frequency change that could occur due to
frequency offset between the transmitter and receiver local
oscillators. Once it has corrected for these effects, the receiver
can also estimate the channel. The presence of an interfering
signal can have detrimental effect on all of these parameter
estimations. In order to test the performance of some of the
mitigation techniques, a simulation was performed with the lowest
rate modulation, binary phase shift keying (BPSK), with a rate 1/2
code transmitted on a single spatial stream. The simulation
determined if the packet was detected and the header data correctly
decoded.
[0067] FIGS. 6A-6F are plots showing the packet detection
performance of the various methods in channels A, B, and D. FIGS.
6A-6C show the results for channels A, B and D in 10 dB SNR,
whereas FIGS. 6D-6F show the results for the same channels in 15 dB
SNR. The following table is a legend for the curves of FIGS.
6A-6F.
TABLE-US-00001 TABLE 1 Legend for Packet Error Rate Curves N No
interference mitigation S Eigenvector nulling W Covariance matrix
inversion without diagonal loading -10 dB Covariance matrix
inversion with -10 dB diagonal loading 0 dB Covariance matrix
inversion with 0 dB diagonal loading 10 dB Covariance matrix
inversion with 10 dB diagonal loading
[0068] The performance of the covariance matrix inversion based
methods was similar in all channels, but the eigenvector nulling
clearly showed a better preference in non-dispersive channels. The
simulation show that the eigenvector nulling method outperformed
the other methods when the delay spread in the channel was
relatively small.
[0069] Similar multi-antenna interference mitigation methods were
tested in the presence of a wideband interference source. In this
case, the simulation again shows that the channel may have a
significant impact on the performance of the mitigation algorithm.
FIGS. 7A-7C show the results of the simulation for channels A, B,
and D. The performance of the single tap system in channel A, which
is a single-tap Rayleigh flat fading channel, is reasonably good,
however, once the channel becomes more dispersive, the simulations
show that a single spatial tap may not be enough to cancel the
interference. The simulations show that in a non-dispersive
channel, the single spatial tap performs relatively well even at
very low SIR, however, once the channel becomes more dispersive
(see, e.g., FIGS. 7B and 7C) the performance quickly degrades at
lower SIR. The previously mentioned heuristic scheme for disabling
the interference mitigation helps to solve this issue. Again, the
simulations show the harshness of covariance matrix inversion may
be detrimental when the performance of the system is limited by
noise power as opposed to interference power.
[0070] Simulations were also performed to determine the packet
error rate (PER). FIGS. 8A-8I are plots showing the results of a
packet error rate simulation for various channels for a various
number of transmitter antennas at 20 dB SNR. FIGS. 8A-8C show the
results of the PER simulation for channels A, B, and D using 1
transmitter antenna. FIGS. 8D-8F show the results of the PER
simulation for the same channels using 2 transmitter antennas. FIG.
8G-8I show the results of the PER simulation for the same channels
using 3 transmitter antennas.
[0071] The simulations show that the frequency diversity present in
the multipath channel has a beneficial effect on the performance.
They also show that the eigenvector nulling method has a poor
performance in the high SIR region of all plots. This may be due to
the lack of intelligence in the receiver to disable the
interference mitigation when the interference power has dropped
well below the noise floor. The methods examined have similar
performance in the low SIR (-20 dB) region. The performance varies
for each algorithm as the SIR is increased from -20 dB to +40 dB.
The simulations show that the covariance matrix inversion method
has almost no benefit when the interference power is equal to or
less than the noise power. As discussed previously, one drawback of
covariance matrix inversion without diagonal loading is that it can
potentially amplify the noise power. If the noise power is
amplified more than the interfering signal is suppressed, there
should be no distinguishable improvement in performance. The
diagonal loading improves performance in this region by biasing the
noise-and-interference covariance matrix. The simulations show that
as the diagonal loading is increased, the performance in the 0 dB
to 20 dB region is similarly increased. These gains are achievable
with little or no loss in the low SIR region from -20dB to 1 dB.
The simulations also show that when the interference power is
sufficiently below the noise floor, the performance of the
diagonally loaded covariance matrix inversion tracks the
performance of the non-filtered signal, whereas the other methods
actually have performed worse in this region.
[0072] Channel D provides the best performance, possibly due to the
nature of OFDM modulation, rather than the nature of the
interference. Channel D has a 50 ns rms delay spread, which creates
a frequency-selective channel. This frequency diversity is
exploited by the coding and interleaving that is performed over the
data subcarriers. Channel A is a single tap Rayleigh flat fading
channel. Since the simulated OFDM modulation scheme cannot exploit
frequency diversity in this channel, there are more drastic results
when the packet is transmitted through a bad channel. Channel B has
15 ns rms delay spread, so it is not as selective as channel D, but
it does provide some amount of frequency diversity. The increase in
performance is apparent from the y-axis of FIGS. 8A-8C.
[0073] The same simulations were run with 2 and 3 transmit
antennas. The PER curves generally have the same basic shape, with
the main difference being the overall performance (see, e.g., FIGS.
8D-8I).
[0074] Some of the disclosed multi-antenna mitigation schemes can
be implemented on hardware. For example, the hardware can be
combined with a MIMO OFDM cognitive radio testbed, such as, for
example, a cognitive radio testbed developed and available from
Silvus Technologies, Inc. of Los Angeles, Calif. In some
embodiments, the transmitter and receiver on a testbed are
contained in a field-programmable gate array (FPGA), in a
programmable logic device, or in another suitable type of circuit.
An interference mitigation module can be added functionally before
the existing receiver to filter the received signal and mitigate
interference before the existing receiver attempts to decode the
packet.
[0075] The interference mitigation module, similar to the
embodiment shown in FIG. 3, comprised four major logical
components. The first of the four components was a covariance
estimation block for estimating a covariance matrix based on a
received waveform. This was performed as an averaging of the outer
product of the received waveform.
[0076] The second component was responsible for calculation of the
spatial filtering matrix. For practical reasons, this operation was
done on a microprocessor that was attached to the FPGA which
contains the real-time MIMO OFDM transceiver. As this was being
done on a microprocessor, it was done in full-floating point
arithmetic using matrix inversion and SVD decomposition algorithms,
all of which can be written in a computer programming language,
such as, for example C/C++. The third component performed the
matrix-vector multiplication required to apply the spatial filter.
The final component was a controller which executed a finite state
machine similar to that shown in FIG. 4.
[0077] A protocol was developed for passing matrices between the
host and FPGA to prevent data corruption. The typical interval
between passing the covariance matrix to the host and receiving a
spatial filtering matrix back was roughly 1 millisecond. The
matrices were double-buffered within the FPGA to ensure the
interference mitigation subsystem did not attempt to read a matrix
before all of the data had been successfully received from the
microprocessor. A similar protocol was used to ensure data
integrity on the covariance matrices sent to the
microprocessor.
Conclusion
[0078] While the above description has pointed out novel features
of the invention as applied to various embodiments, the skilled
person will understand that various omissions, substitutions, and
changes in the form and details of the device or process
illustrated may be made without departing from the scope of the
invention. Therefore, the scope of the invention is defined by the
appended claims rather than by the foregoing description. All
variations coming within the meaning and range of equivalency of
the claims are embraced within their scope.
* * * * *