Orthogonalization and directional filtering

Information

  • Patent Grant
  • 7260506
  • Patent Number
    7,260,506
  • Date Filed
    Wednesday, October 6, 2004
    20 years ago
  • Date Issued
    Tuesday, August 21, 2007
    17 years ago
Abstract
Systems and methods are provided for directionally filtering signals by projecting a received signal onto a subspace substantially orthogonal to selected interfering signals. The received signal typically comprises at least one signal of interest, at least one selected interfering signal, and noise. The received signal may further comprise other signals, including non-selected interfering signals. The projection of the received signal results in substantially no contribution from the selected interference signals on the signal of interest. For example, substantially no residual energy of the selected interference signals remains as an influence on the signal of interest. In one embodiment, a system generates a converted matrix having a substantially orthogonal set of vectors. Each vector may represent one or more selected interfering signals. The vectors may comprise code characteristics of the selected interfering signals. A directional filter uses the matrix to perform the projection. As such, the filter may be configured to selectively “filter out” the interfering signals by suppressing the effects of the signals based on their code characteristics.
Description
BACKGROUND

1. Field of the invention


The invention generally relates to the field of signal processing. More specifically the invention is related to efficient mathematical projection of signals for the purpose of signal filtering.


2. Discussion of the Related Art


Signal processing is the process of altering the characteristics of a signal in a desired way or deriving desired parameters from a signal. It is often used in the recovery of transmitted signals. While various forms of analog and digital signal processing exist, digital signal processing has become increasingly popular due to advances in digital processor technologies and the relative ease in operating with quantized representations of signals. Digital signal filtering, in particular, provides a means to mitigate the effects of undesired signals (e.g., noise and/or interference) to more accurately recover a signal.


Digital signal filtering has long been used to separate desired components of a digital signal from undesired signal components. For example, a digital filter may be used to allow frequency components of a desired signal to pass while substantially blocking the frequency components of an undesired signal. In order to efficiently utilize time and frequency in a communication system, multiple access schemes are used to specify how multiple users or multiple signals may share a specified time and frequency allocation. Spread spectrum techniques may be used to allow multiple users and/or signals to share the same frequency band and time simultaneously. Code division multiple access (“CDMA”) is an example of spread spectrum that assigns a unique code to differentiate each signal and/or user. The codes are typically designed to have minimal cross-correlation to mitigate interference. However, even with a small cross-correlation between codes, CDMA is an interference-limited system. Digital signal filters that only pass or block selected frequency bands of a signal to filter out unwanted frequency bands are not applicable since CDMA signals share the same frequency band.


Examples of CDMA communication system include global positioning systems (“GPS”) and CDMA wireless telephony. The multiple access coding schemes specified by standards thereby provide “channelization,” or channel separability, for the system. In a typical CDMA wireless telephony system, a transmitter may transmit a plurality of signals in the same frequency band by using a combination of spreading codes and/or covering codes. For example, each transmitter may be identified by a unique spreading code or spreading code offset. Moreover, a single transmitter may transmit a plurality of signals sharing the same spreading code, but may distinguish between signals with a unique covering code. Covering codes further encode the signal and provide channelization of the signal. Spreading codes and covering codes are known to those skilled in the art.


While certain signaling implementations such as the coding schemes of CDMA have been useful in efficiently utilizing a given frequency band, these coded signals may still interfere with one another. For example, coded signals may interfere due to similarities in codes and associated signal energy. Lack of orthogonality between these signals results in “leakage” from one signal into another. Examples of this leakage include “co-channel” and “cross-channel” interference. Co-channel interference may include multipath interference from the same transmitter, wherein a transmitted signal takes unique paths that causes one path (e.g., an interfering signal path) and another path (e.g., a selected signal path) to differentially arrive at a receiver, thereby hindering reception of the selected signal path. Cross-channel interference may include interference caused by signal paths of other transmitters hindering the reception of the selected signal path.


Interference can degrade communications because interference may cause a receiver to incorrectly recover transmitted data. Interference may also have other deleterious effects on communications. For example, interference may diminish capacity of a communication system, decrease the region of coverage and/or decrease maximum data rates. For these reasons, a reduction in interference may improve signal processing of selected signals while addressing the aforementioned limitations due to interference.


Certain types of projection techniques have been developed which project a received signal onto a subspace orthogonal to a Signal Of Interest (“SOI”) lies. The signal may be decomposed into a component that lies in the subspace containing the interference and an orthogonal subspace. This projection operation determines the amount of the signal that lies in the direction of the SOI. However, residual energy of the interfering components may lie in the direction of the SOI since the interfering signal and the SOI may not be orthogonal. This residual energy may degrade the recovery of the SOI. Projective methods for interference cancellation of a plurality of signals may include a matrix inverse containing non-independent vectors. In software and hardware implementations, a full matrix inverse may be computationally expensive.


SUMMARY

The systems and methods described and illustrated herein provide for directional filtering of signals by projecting a coded representation of a received signal onto a subspace orthogonal to a signal selected for removal. The received signal comprises the selected signal as well as other signals and noise. A subset of the other signals may be selected for removal. The projection of the received signal results in a reduction of the contributions from the other signals on the selected signal. As such, a reduced amount of residual energy of the other signals in the direction of the SOI remains as an influence on the selected signal.


In one embodiment of the invention, a system generates a matrix having a substantially orthogonal set of vectors. Each vector represents one or more signals. A directional filter uses the matrix to project the received signal onto a subspace orthogonal to a subset of the other signals. For example, the system may generate a projection operator from the matrix, which, when applied to a received signal, substantially cancels the selected interfering signals by projecting the received signal onto a subspace that is orthogonal to the subspace comprising the signals selected for removal. In one embodiment, the vectors comprise code elements of selected signals as inputs to the vectors. As such, the directional filter may be configured to selectively “filter out” signals by suppressing the contributions of the signals (i.e., based on the characteristics of their codes) to the SOI.


The embodiments shown and described herein may be particularly advantageous to systems employing CDMA communications because of CDMA's use of codes to differentiate transmitters and/or channels. However, the invention is not intended to be limited to such systems as other coded signals may enjoy similar advantages.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1
a illustrates an exemplary prior art projection.



FIG. 1
b illustrates a projection in one embodiment of the invention.



FIG. 2 is a block diagram of a system in one embodiment of the invention.



FIGS. 3
a and 3b illustrate exemplary orthogonal matrix operations in one embodiment of the invention.



FIG. 4 is a block diagram of an exemplary Coded Signal Processing Engine in one embodiment of the invention.



FIG. 5 is a block diagram of the Coded Signal Processing Engine of FIG. 4 configured with a receiver in one exemplary embodiment of the invention.



FIG. 6 is a flow chart illustrating one exemplary methodical embodiment of the invention.



FIG. 7 is a flow chart illustrating another exemplary methodical embodiment of the invention.





DETAILED DESCRIPTION OF THE DRAWINGS

While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and are herein described in detail. It should be understood, however, that it is not intended to limit the invention to the particular form disclosed, but rather, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the claims.



FIG. 1
a illustrates an exemplary prior art projection. CDMA signals may be represented as a vector in a code vector space in which components of each signal are specified by their spreading code, covering code, amplitude, sign and/or phase. For example, a code vector of length N lies in an N-dimensional space. As shown in this figure, a signal S and an SOI (i.e., lying along axis 101) are represented as vectors of varying magnitudes originating from an origin O within the graph defined by orthogonal axes 101 and 102. In this example, the vectors S and the SOI are not orthogonal vectors and have a non-zero cross-correlation. A received signal y typically comprises a plurality of signals and noise. However, for the purposes of this example, the received signal y is illustrated as comprising the signal S and the SOI. The received signal y is thus represented as a vector summation of the S vector and the SOI vector (i.e., y=S+SOI).


A projection of the signal S (labeled as PSOIS) onto the subspace 101 comprising the SOI shows an amount of energy that the signal S directs along axis 101. A projection of the received signal onto the subspace comprising the SOI (labeled as PSOIy=SOI+PSOIS) contains the amount of energy that the signal S contributes in the direction of the SOI. This contribution to the SOI by the signal S may interfere with the recovery of the SOI.



FIG. 1
b illustrates a projection in one embodiment of the invention. As in FIG. 1a, the signal S and the SOI (again lying along axis 101) are represented as vectors of varying magnitudes originating from an origin O within the graph defined by orthogonal axes 101 and 102. The received signal y is a vector sum of the S vector and the SOI vector. Differing from the prior art example, however, the received signal y is projected in a direction substantially orthogonal to the signal S onto a subspace substantially orthogonal to a subspace comprising S. A correlation of the orthogonal projection of y and a reference vector in the direction of the SOI thereby substantially eliminates the contribution of the signal S to the SOI. The projection, in this embodiment, therefore results in recovering a substantial portion of the SOI without the interfering effects of the signal S.


Although illustrated with respect to a single interfering signal (i.e., signal S), those skilled in the art should readily recognize that the embodiment is only exemplary in nature. A received signal may and typically S comprises more than one interfering signal and noise. Accordingly, the invention is not intended to be limited by the embodiment shown and described herein. Rather, the invention should only be limited to the language recited in the claims and their equivalents.



FIG. 2 is a block diagram of system 200 in one embodiment of the invention. In this embodiment, system 200 is configured for computing a portion of a cancellation operator that is used to substantially remove interfering signals from a received signal to improve the processing and recovery of an SOI. System 200, therefore, in essence directionally filters the SOI in code space to diminish the interfering effects of the signals.


System 200 comprises matrix generator 201 and matrix converter 204. Matrix generator 201 is configured for generating a matrix 202 having a plurality of vectors 203. Each vector 203 of matrix 202 comprises elements from one or more signals. The indices denote samples, or chips of the vectors, in time. In one embodiment, the signals are interfering signals that hinder the recovery of the SOI in a CDMA communication system. Matrix converter 204 is communicatively coupled to matrix generator 201 and is configured for generating a substantially orthogonal set of vectors from the vectors 203 of matrix 202 and thus generating a converted matrix comprising a set of vectors that form an orthogonal basis. Matrix converter 204 is also configured for computing a portion of the cancellation operator from a converted matrix 202. An orthogonal basis is known to those skilled in the art.


In one embodiment of the invention, the cancellation operator may be a projection operator that substantially conforms to the following equation where the S matrix is comprised of column vectors s:

Ps=I−S(STS)−1ST,  (Eq. 1)

wherein Ps is an orthogonal projection operator, I is an identity matrix and S is the matrix 202 of signals selected for removal. Matrix converter 204 is configured for essentially computing the (STS)−1 term without performing a full matrix inversion.


In this embodiment, computations are performed upon matrix 202 which simplify the computations for generating the projection operator. For example, certain computations performed upon a generated S matrix 202 can lead to a substantially equivalent S matrix that simplifies calculations of the (STS)−1 term. These computations include an “orthogonalization” of the set of vectors that comprise the S matrix 202.


The vectors 203 of the matrix 202 are not generally orthogonal to one another. Matrix converter 204 “orthogonalizes” the set of vectors comprising matrix 204 via a conversion to a substantially equivalent orthogonal set of vectors. This orthogonalization of the vectors 203 essentially creates a converted matrix 205 with vectors that form an orthogonal basis. An orthogonal basis is known to those skilled in the art. Benefits of such orthogonalization is described in greater detail in FIGS. 3a and 3b.


It should be noted that some prior art methods produce an orthonormal basis, which involves a normalization of the orthogonal set of vectors. This orthonormalization includes a scaling of vectors (i.e., scaled to a unit length). However, such methods are not necessary in the context of directional filtering because the magnitude is not necessary in determining the subspace of the matrix S selected for removal.



FIGS. 3
a and 3b illustrate exemplary orthogonal matrix operations in one embodiment of the invention. First, a matrix S (e.g., matrix 202 as generated by matrix 201, both of FIG. 2) may be represented by the following:

S=[s1:s2: . . . :sn],  (Eq. 2)

wherein s1, . . . , sn are column vectors of the matrix, such as vectors 203 of FIG. 2, and wherein n is an integer equal to the number of vectors s populating the matrix. To orthogonalize a set of vectors, a matrix converter, such as matrix converter 204 of FIG. 2, associates a subset of vectors s in a matrix S with orthogonal vectors u that may be used in orthogonal projection calculations. For example, with s1 equivalent to u1 the matrix converter may project the vector s2 onto a subspace that is substantially orthogonal to the u1 vector to form u2; subsequently the matrix converter may project the vector s3 onto a subspace that is substantially orthogonal to the subspace spanned by the u1 and u2 vectors to form u3; et cetera. As such, the u1, . . . , uj vectors form an orthogonal basis set.


Orthogonalization of the set of vectors s may therefore be computed as follows:

u1=s1  (Eq. 3a)
u2=s2−Pu1s2  (Eq. 3b)
u3=s3−Pu1s3−Pu2s3,  (Eq. 3c)

wherein the u vectors are orthogonal vectors. This orthogonalization computation is performed for all vectors s1, . . . , sn of the matrix S. Based on the structure of the orthogonalization, vector sn in the matrix S may be computed as follows:

un=sn−Pu1sn− . . . −Pun-1sn  (Eq. 3d)

An equivalent and more compact form of equation Eq. 3d is given as follows:











u
_

n

=



s
_

n

-




j
=
1


n
-
1





P


u
_

j






s
_

n








(

Eq
.




4

)








The orthogonalization computation can therefore be equivalently written as:

u1=s1  (Eq. 4a)
u2=s2−u1(u1T·u1)−1u1Ts2  (Eq. 4b)
u3=s3−u1(u1T·u1)−1u1Ts3−u2(u2T·u2)−1u2Ts3.  (Eq. 4c)
un=sn−u1(u1T·u1)−1u1Tsn−. . . −uj-1(un-1T·un-1)−1un-1Tsn,  (Eq. 4d)

Similarly, an equivalent and more compact form of equation Eq. 4d is given as follows:











u
_

n

=



s
_

n

-




j
=
1


n
-
1








u
_

j



(



u
_

j
T




u
_

j


)



-
1





u
_

j
T





s
_

n

.








(

Eq
.




5

)







The term(ujTuj)−1 of Eq. 5 can be reused for all subsequent u vector orthogonalization computations with an index greater than j for a particular vector y. For example, it is readily observable that the term (u1T·u1)−1 is used in each of equations Eq. 4b and Eq. 4c. Accordingly, as more vectors s populate the interference matrix S, more of the terms (ujTuj)−1 can be reused. For the jth u vector (j−1) of the (uTu)−1 terms may be re-used.


Once the vectors s of the matrix S have been orthogonalized with the substantially equivalent orthogonal set of vectors u, the matrix S can be represented by the matrix U comprised of orthogonalized u vectors as follows:

U=[u1:u2: . . . :un].  (Eq. 6)

The projection operator of Eq. 1 may therefore be represented as

PU=I−U(UTU)−1UT,  (Eq. 7)

wherein PU is the projection operator constructed from the matrix U.


Orthogonal vectors have zero cross-correlation. Since the vectors s have been converted to a set of substantially orthogonal u vectors, the correlation of any two vectors in the set will be negligible, as is known to those skilled in the art. The computation of the UTU term of Eq. 7 therefore produces a substantially diagonal matrix illustrated in FIG. 3a. Once the diagonal matrix of FIG. 3a is computed, an inversion of the resulting term is performed by inverting the scalars along the diagonal. For example, with the (ujTuj) terms denoted as σj for simplicity, the inverse of the UTU term comprises the inverse of the σ terms (i.e., 1/σj) along the diagonal and substantially zero terms elsewhere as illustrated in FIG. 3b. Computational performance of the projection operator improves because calculation of a full matrix inverse is not required and the number of operations is significantly reduced.


In comparison, prior art orthonormalization methods utilize a computationally expensive square root calculation in the normalization procedure. For example, when a vector s is normalized, the magnitude of that vector is typically computed according to the well-known Euclidean norm, which employs a square root computation. The orthogonalization of the present invention does not employ such normalization of vectors and eliminates the need for square root computations.


While one exemplary preferred embodiment has been shown and described herein, the invention is not to be limited to the preferred embodiment. Additionally, those skilled in the art should readily recognize that the operations described herein may be implemented in a variety of ways. For example, a matrix converter that performs the orthogonalization process described herein may be implemented in hardware, software, firmware or various combinations thereof. Moreover, the matrix generator may also be implemented in hardware, software, firmware or various combinations thereof. Examples of such hardware may include Application Specific Integrated Circuits (“ASIC”), Field Programmable Gate Arrays (“FPGA”), general-purpose processors, Digital Signal Processors (“DSPs”), and/or other circuitry. Examples of software and firmware include Java, C, C++, Matlab, Verilog, VHDL and/or processor specific machine and assembly languages. Accordingly, the invention should only be limited by the language recited in the claims and their equivalents.


Computer programs (i.e., software and/or firmware) implementing the method of this invention will commonly be distributed to users on a distribution medium such as a SIM card, a USB memory interface, or other computer-readable memory adapted for interfacing with a consumer wireless terminal. Similarly, computer programs may be distributed to users via wired or wireless network interfaces. From there, they will often be copied to a hard disk or a similar intermediate storage medium. When the programs are to be run, they will be loaded either from their distribution medium or their intermediate storage medium into the execution memory of the wireless terminal, configuring an onboard digital computer system (e.g. a microprocessor) to act in accordance with the method of this invention. All these operations are well known to those skilled in the art of computer systems.


The term “computer-readable medium” encompasses distribution media, intermediate storage media, execution memory of a computer, and any other medium or device capable of storing for later reading by a digital computer system a computer program implementing the method of this invention.


Various digital computer system configurations can be employed to perform the method embodiments of this invention, and to the extent that a particular system configuration is capable of performing the method embodiments of this invention, it is equivalent to the representative system embodiments of the invention disclosed herein, and within the scope and spirit of this invention.


Once digital computer systems are programmed to perform particular functions pursuant to instructions from program software that implements the method embodiments of this invention, such digital computer systems in effect become special-purpose computers particular to the method embodiments of this invention. The techniques necessary for this programming are well known to those skilled in the art of computer systems.



FIG. 4 is a block diagram of exemplary Coded Signal Processing Engine (“CSPE”) 300 in one embodiment of the invention. In this embodiment, CSPE 300 substantially cancels a plurality of interfering signals from a received signal y by applying a cancellation operator via applicator 305 to an input signal. The input signal may be the received signal y, an interference canceled signal (i.e., the received signal y with the interfering signals substantially removed), an on time pseudo noise (“PN”) reference code or an interference canceled on time PN reference code. The term, “on time,” as used herein refers to a particular timing alignment for a PN code. Such a timing alignment may correspond to code tracking of a selected signal by a processing finger in a receiver.


Application of the cancellation operator to either the received signal y or the interference-canceled signal may result in substantially removing the interfering signals from the input signal. Similarly, the application of the cancellation operator to PN reference codes may result in the substantial removal of the interfering signals.


In this embodiment, CSPE 300 comprises matrix generator 201 of FIG. 2, which is configured for receiving vector inputs such as interfering signals and associated phase estimates for such signals. For example, a selection of interfering signals may be input to matrix generator 201 to generate vectors 203 of matrix 202. Each vector 203 may comprise elements of one or more interferers. These interferers may be interfering signal path and/or channel combinations of CDMA signals. The phase estimates for a given signal path may be imposed on the vectors to provide improved cancellation. Other optional values, such as amplitude and/or sign information of the signals, may be imposed on the vectors as well.


CSPE 300 also comprises matrix converter 301 communicatively coupled to matrix generator 201. Matrix converter 301 is configured for receiving matrix 202 and for converting matrix 202 by generating a substantially orthogonal set of vectors from vectors 203 to form a substantially, directionally equivalent matrix. For example, matrix converter 301 may receive an S matrix of Eq. 2 and convert that matrix into an orthogonal matrix U by orthogonalizing the vectors of the S matrix. From the converted matrix, matrix converter 301 computes a portion of the cancellation operator. More specifically, matrix converter 301 computes the (UTU)−1 matrix term of Eq. 7 to generate the substantially diagonal matrix illustrated in FIG. 3b (i.e., without performing a full matrix inversion of the matrix S).


In this embodiment, matrix converter 301 comprises a storage unit 303 which is configured for storing computed values of (ujTuj)−1 which, as described in FIG. 3, may be reused for the generation of subsequent uj's of the matrix U. Examples of storage unit 303 include memory on: an ASIC, FPGA or DSP; a computer memory; registers; memory units; data structures; storage media (e.g., computer disks) and various combinations thereof. Additionally, matrix converter 301 comprises comparator 302 for enabling computation of the orthogonal matrix U where the matrix S is a “singular” or “ill-conditioned” matrix, as known to those skilled in the art. For example, when two vectors s in a matrix S are substantially dependent, orthogonalization of the set of vectors s into the set of vectors u creates an instance in which one of diagonal terms m in the matrix tends to zero. Inverting such a matrix therefore produces a number that may be unreasonable in terms of calculation. However, it is possible that two or more vectors may be substantially dependent and, as such, create an element 1/σ that is exceptionally large in the (UTU)−1 computation. Those skilled in the art understand the mathematical implications of dependent vectors.


To compensate for ill-conditioned matrices, comparator 302 compares each of the calculated σj terms to a predetermined threshold. If a σj term is below the threshold, the orthogonalization calculation for the particular vector s used to compute the σj term is discontinued and the vector s is removed from the calculation. This comparison operation may prevent the creation of substantially large terms in the computation of (UTU)−1 and ill-conditioning of the resulting matrix. If, however, a σj term is above the threshold, the orthogonalization for the vector s used to compute that σj term is continued and stored with storage unit 303 for potential reuse.


Once the portion of the cancellation operator is computed by matrix converter 301, the computed portion and the matrix U are transferred to processor 304 for the computation of the cancellation operator. For example, with the (UTU)−1 term already computed by matrix converter 301, processor 304 may compute the projection operator PU of Eq. 7.


Applicator 305 applies the cancellation operator to the input signal to substantially remove selected components from the input signal. For example, the application of the cancellation operator to the input signal may perform the function of a directional filter in which any signals that lie in the direction of the subspace formed by the plurality of u vectors are substantially filtered out. The computed cancellation operator is used to project a received signal onto a subspace orthogonal to the subspace spanned by the u vectors as described in FIG. 1. Accordingly, the cancellation operator based on projection techniques may selectively “filter out” interfering signals by suppressing the effects of signals that point in the direction of the selected interfering signals. This selective filtering of applicator 305 may therefore provide an interference-canceled signal with the selected interfering signals substantially canceled.


While one exemplary preferred embodiment has been shown in described herein, those skilled in the art should readily recognize that the invention is not intended to be limited to the preferred embodiment. For example, CSPE 300 may comprise a plurality of matrix generator/matrix converter combinations each providing orthogonal matrices and computed portions of cancellation operators to a processor for the generation of a plurality of cancellation operators. Additionally, a plurality of applicators may reside within CSPE 300 each configured for applying a particular cancellation operator to a particular input signal to provide a plurality of interference canceled signals output from CSPE 300.


Those skilled in the art should also readily recognize that the operations described herein may be implemented in a variety of ways. For example, a processor that uses a computed portion of the cancellation operator and the matrix U to generate the cancellation operator and/or the applicator that applies that cancellation operator may be implemented in hardware, software, firmware or various combinations thereof. Examples of such hardware may include Application Specific Integrated Circuits (“ASICs”), Field Programmable Gate Arrays (“FPGAs”), general-purpose processors, Digital Signal Processors (“DSPs”), and/or other circuitry. Examples of software and firmware include Java, C, C++, Matlab, Verilog, VHDL and/or processor specific machine and assembly languages. For at least these reasons, the invention should only be limited by the language recited by the claims and their equivalents.



FIG. 5 is a block diagram of CSPE 300 of FIG. 4 configured with receiver 402 in one exemplary embodiment of the invention. In this embodiment, receiver 402 comprises antenna 401, analog to digital (“A/D”) converter 403 and receiver circuitry 404. Antenna 402 is configured for receiving a radio signal that comprises a selected signal and at least one interfering signal. For example, a received radio signal typically comprises a plurality of signals with one of those signals being selected for processing. The remaining signals may be considered interference. A/D converter 403 converts the radio signal to a digital signal so that the selected signal may be digitally processed by receiver circuitry 404.


CSPE 300 is configured for receiving a digital signal and substantially canceling interfering signals from the digital signal. Accordingly, CSPE 300 can be configured with receiver 402 to substantially canceling interfering signals from the digital signal of the receiver. CSPE 300 may either be configured within receiver 402 or externally to receiver 402 for receiving the digital signal. Once received, CSPE 300 may generate a substantially interference canceled signal by applying a cancellation operator, as described herein above, to the digital signal. CSPE 300 may then transfer the signal to receiver circuitry 404 through a communicative coupling such that the receiver circuitry may process the interference-canceled signal (i.e., the selected signal without the substantially degrading effects of the interfering signals). For example, once received from CSPE 300, receiver circuitry 404 may track and demodulate the interference-canceled signal. In one embodiment, receiver circuitry 404 comprises a rake receiver having a plurality of processing fingers. Each processing finger may independently track and demodulate an interference-canceled signal. Rake receivers and processing fingers are known to those skilled in the art.



FIG. 6 is flow chart 500 illustrating one exemplary methodical embodiment of the invention. In this embodiment, vectors s are generated in element 501. For example, interfering signals may be chosen as vector inputs to a matrix S, such as matrix 202 of FIG. 2. The set of s vectors are then orthogonalized in element 502 to substantially remove contributions that are in the direction of previous vectors and to generate a matrix U comprising orthogonal vectors.


During computation of the orthogonal vectors u, values for uj may be computed and compared to a threshold value in element 503 to detect substantially dependent vectors. As described herein above, the computed values of σj are (ujTuj). For example, if the inner product of the vector u does not exceed the threshold value in element 504, the corresponding s vector is removed in element 505 from the orthogonalization procedure. The process of flow chart 500 then returns to element 502 to orthogonalize another vector s. If, however, the inner product does exceed the threshold value, the vector s is retained for the computation of the vector u associated with that s vector and the value σ is stored for potential reuse, in element 506.


Upon storage of the σj value in element 506, the vector uj is used in the construction of the matrix U, in element 507. Once the vector is used, a determination as to whether the s vector of element 501 was the last vector within the matrix S, in element 508. If more vectors s remain, the process returns to element 502 to continue to orthogonalize vectors of the S matrix. If, however, element 508 determines that the s vector was the last vector of the matrix S, orthogonalization of the matrix S to produce the matrix U comprising orthogonal vectors u is complete and a portion of the cancellation operator is correspondingly computed in element 509. The portion of the cancellation operator may be computed according to the (UTU)−1 term as described in FIGS. 3 and 4. Again, this orthogonalization process may compute this (UTU)−1 term without a full inversion of the matrix U.


The portion of the cancellation operator as well as the orthogonal matrix U may be used to compute the remainder of the cancellation operator in element 510. In one embodiment, the cancellation operator is a projection operator generated according to Eq. 5. Once the cancellation operator is computed, it may be applied to an input signal to substantially cancel interfering components of the input signal, in element 511. The input signal may again be a received signal y, an interference canceled y signal, an on time reference code or an interference canceled on time reference code. Accordingly, the cancellation operator may be used to substantially remove interfering signals from the input signal through the application of the cancellation operator to the input signal, as described above herein.



FIG. 7 is flow chart 600 illustrating one exemplary methodical embodiment of the invention. In this embodiment, a signal is received and digitized, in elements 601 and 602. For example, receiver 402 of FIG. 5 may be configured to receive a radio signal comprising a signal selected for processing and a plurality of interfering signals. The receiver may convert that radio signal to a digital signal for subsequent digital processing of the selected signal. Once the signal is converted to a digital signal, the signal may be transferred to a CSPE, such as CSPE 300 of FIG. 4.


The CSPE may be configured for performing the method of flowchart 500 of FIG. 6. Accordingly, the CSPE may generate vectors from the digital signal according to element 501 of FIG. 6. Once the CSPE completes flowchart 500 by applying the cancellation operator to an input signal (e.g., the digital signal) in element 511, the CSPE may transfer the resultant interference canceled signal to the receiver for further processing, such as tracking and demodulation of the interference canceled signal. For example, the CSPE may apply the cancellation operator to the digital signal to substantially cancel the interfering signals from the digital signal and thereby generate an interference-canceled signal. This interference canceled signal comprises the signal selected for processing and may be tracked and/or demodulated by the receiver with improved SNR because the degrading effects of the interfering signals have been substantially removed.


The embodiments described herein may substantially reduce interference caused by undesired signals and improve signal processing of the desired signal. For example, poor signal quality due to interference may deleteriously affect recovery of the transmitted signal, (e.g., via the processes of acquisition, tracking and/or demodulation of selected signals). A reduction of interference may, therefore, improve receiver performance and thereby reduce errors. In regards to such benefits, the embodiments herein may advantageously require use within a CDMA communication system (e.g., CDMA telephony systems). Improved processing within a CDMA telephony system may be exploited in terms of increased system capacity, transmit power reduction, system coverage and/or data rates. However, those skilled in the art should readily recognize that the above embodiments should not be limited to any particular type of signaling. For example, the embodiments disclosed herein may be advantageous to systems employing CDMA (e.g., such as cdmaOne, cdma2000, 1×RTT, cdma 1×EV-DO, cdma 1×EV-DV and cdma2000 3×), WCDMA, Broadband CDMA, Universal Mobile Telephone System (“UMTS”) and/or GPS signals.


Additionally, it should be noted that the above embodiments of the invention may be implemented in a variety of ways. For example, the above embodiments may be implemented in software, firmware, hardware or various combinations thereof. Those skilled in the art are familiar with software, firmware, hardware and their various combinations. To illustrate, those skilled in the art may choose to implement certain aspects of the invention in hardware using ASIC chips, DSPs and/or other circuitry. Still, some aspects of the invention may be implemented through combinations of software using Verilog, VHDL, Java, C, C++, Matlab, and/or processor specific machine and assembly languages. Accordingly, those skilled in the art should readily recognize that such implementations are a matter of design choice and that the invention should not be limited to any particular implementation.


While the invention has been illustrated and described in detail in the drawings and foregoing description, such illustration and description is to be considered as exemplary and not restrictive in character. Accordingly, it should be understood that only the preferred embodiment and minor variants thereof have been shown and described and that all changes and modifications that come within the spirit of the invention are desired to be protected.

Claims
  • 1. A system configured for processing a received signal comprising a signal of interest and at least one interferer, the system comprising: a matrix generator configured for generating a matrix having a plurality of vectors, wherein each of the plurality of vectors comprises elements from the at least one interferer; anda matrix converter communicatively coupled to the matrix generator, wherein the matrix converter is configured for generating a substantially orthogonal vector set from the plurality of vectors to convert the matrix for producing a converted matrix and for computing a portion of a cancellation operator from the converted matrix, the cancellation operator configurable for operating on the received signal to produce an interference-cancelled signal having a reduced contribution from the at least one interferer.
  • 2. The system of claim 1, wherein the portion of the cancellation operator computed by the matrix converter comprises the form: (UTU)−1,
  • 3. The system of claim 2, wherein the cancellation operator comprises the form: PU⊥=I−U(UTU)−1UT,
  • 4. The system of claim 1, wherein the matrix converter comprises a comparator configured for selecting at least one of the plurality of vectors having vector-derived values within the portion of the cancellation operator exceeding a threshold value, the matrix converter producing a plurality of selected vectors, wherein the matrix converter is further configured for generating the substantially orthogonal vector set from the plurality of selected vectors.
  • 5. The system of claim 1, wherein the substantially orthogonal vector set is generated according to the form:
  • 6. The system of claim 5, wherein the matrix generator comprises a storage unit configured for storing computed values of ujTuj.
  • 7. The system of claim 5, wherein the computed values of ujTuj are used to generate values of the portion of the cancellation operator according to: σj=(ujTuj)−1,
  • 8. The system of claim 7, wherein the values of σj are compared to a threshold to determine use of the vectors uj in construction of the converted matrix.
  • 9. A processing engine adapted for use in a receiver configured for processing a received signal comprising a signal of interest and at least one interferer, the processing engine comprising: a matrix generator configured for generating a matrix having a plurality of vectors, wherein each of the plurality of vectors comprises elements from the at least one interferer;a matrix converter communicatively coupled to the matrix generator, wherein the matrix converter is configured for generating a substantially orthogonal vector set from the plurality of vectors to generate a converted matrix and for computing a portion of a cancellation operator from the converted matrix; anda processor configured for processing the portion of the cancellation operator to generate the cancellation operator, the cancellation operator configurable for operating on the received signal to produce an interference-cancelled signal having a reduced contribution from the at least one interferer.
  • 10. The processing engine of claim 9, wherein the portion of the cancellation operator computed by the matrix converter comprises the form: (UTU)−1,
  • 11. The processing engine of claim 10, wherein the cancellation operator comprises the form: PU⊥=I−U(UTU)−1UT,
  • 12. The processing engine of claim 9, further comprising an applicator configured for applying the cancellation operator to an input signal to substantially cancel the at least one interferer.
  • 13. The processing engine of claim 9, wherein the matrix converter comprises a comparator configured for selecting at least one vector having vector-derived values within the portion of the cancellation operator exceeding a threshold value, the comparator producing a plurality of selected vectors, wherein the matrix converter is further configured for generating the substantially orthogonal vector set from said plurality of vectors.
  • 14. The processing engine of claim 9, wherein the substantially orthogonal vector set is generated according to the form:
  • 15. The processing engine of claim 14, wherein the matrix generator comprises a storage unit configured for storing computed values of ujTuj.
  • 16. The processing engine of claim 14, wherein the computed values of ujTuj are used to generate values of the portion of the cancellation operator according to: σj=(ujTuj)−1,
  • 17. The processing engine of claim 16, wherein the values of σj are compared to a threshold to determine use of the vectors Uj in construction of the converted matrix.
  • 18. The processing engine of claim 9, wherein the receiver is configurable with at least one of a base station and a handset.
  • 19. A method for processing a received signal, comprising: providing for generating a plurality of vectors such that each of the plurality of vectors comprises elements from one or more interferers in the received signal;providing for generating a substantially orthogonal vector set from the plurality of vectors;providing for computing a portion of a cancellation operator in response to generating the substantially orthogonal vector set; andproviding for using the portion of the cancellation operator to compute the cancellation operator, the cancellation operator configurable for operating on the received signal to produce an interference-cancelled signal having a reduced contribution from the one or more interferers.
  • 20. The method of claim 19, further comprising providing for substantially canceling the one or more interferers using the cancellation operator.
  • 21. The method of claim 20, wherein providing for substantially canceling comprises providing for applying the cancellation operator to an input signal to substantially cancel the one or more interferers comprised therewith.
  • 22. The method of claim 19, wherein providing for computing comprises providing for computing the portion of the cancellation operator according to the form: (UTU)−1,
  • 23. The method of claim 22, further comprising providing for computing the cancellation operator according to the form: PU⊥=I−U(UTU)−1UT,
  • 24. The method of claim 19, further comprising providing for detecting vector-derived values exceeding a threshold value within the portion of the cancellation operator.
  • 25. The method of claim 24, further comprising providing for selecting at least one of the plurality of vectors having vector-derived values that exceed the threshold value for producing a plurality of selected vectors, and providing for generating the substantially orthogonal vector set from said plurality of selected vectors.
  • 26. The method of claim 19, wherein providing for generating the substantially orthogonal vector set comprises providing for generating a vector un by removing components of a vector sn that lie in a direction of vectors u1, . . . , un-1, wherein n is an integer greater than 1.
  • 27. The method of claim 26, wherein providing for generating the substantially orthogonal vector set comprises providing for generating the substantially orthogonal vector set according to the form:
  • 28. The method of claim 27, further comprising providing for storing computed values of ujTuj.
  • 29. The method of claim 27, further comprising: providing for computing the values of σ wherein computed values of σ comprise the form σj=(ujTuj)−1, wherein σj is one of the values of the portion of the cancellation operator; andproviding for storing the computed values of σ.
  • 30. The method of claim 29, further comprising providing for comparing the values of σj to a threshold value to determine use of the vectors uj in construction of the portion of the cancellation operator.
  • 31. A system configured for processing a received signal comprising a signal of interest and at least one interferer, the system comprising: means for generating a plurality of vectors such that each of the plurality of vectors comprises elements from the at least one interferer;means for generating a substantially orthogonal vector set from the plurality of vectors;means for generating a matrix from said substantially orthogonal vector set;means for computing a portion of a cancellation operator in response to generating the substantially orthogonal vector set; andmeans for using the portion of the cancellation operator to compute the cancellation operator, the cancellation operator configurable for operating on the received signal to produce an interference-cancelled signal having a reduced contribution from the at least one interferer.
  • 32. The system of claim 31, further comprising means for substantially canceling the at least one interferer using the cancellation operator.
  • 33. The system of claim 32, wherein the means for substantially canceling comprises means for applying the cancellation operator to an input signal to substantially cancel the at least one interferer comprised therewith.
  • 34. The system of claim 31, wherein the means for computing comprises means for computing the portion of the cancellation operator according to the form: (UTU)−1,
  • 35. The system of claim 34, further comprising means for computing the cancellation operator according to the form: PU⊥=I−U(UTU)−1UT,
  • 36. The system of claim 31, further comprising means for detecting vector-derived values exceeding a threshold value while computing the portion of the cancellation operator.
  • 37. The system of claim 36, further comprising means for selecting a plurality of the plurality of vectors having vector-derived values that exceed the threshold value for producing a plurality of selected vectors, and means for generating the substantially orthogonal vector set from said plurality of selected vectors.
  • 38. The system of claim 37, wherein the vector-derived values comprise the form σj=(ujTuj)−1, wherein σj is one of the values of the portion of the cancellation operator and wherein uj is one vector of the orthogonal vector set.
  • 39. The system of claim 38, wherein the values of σj are compared to the threshold value to determine use of the vectors uj in construction of the portion of the cancellation operator.
  • 40. The system of claim 31, wherein the means for generating the substantially orthogonal vector set comprises means for generating a vector un by removing components of a vector sn that lie in a direction of vectors u1, . . . , un-1, wherein n is an integer greater than 1.
  • 41. The system of claim 40, wherein the means for generating the substantially orthogonal vector set comprises means for generating the substantially orthogonal vector set according to the form:
  • 42. The system of claim 41, further comprising means for storing computed values of ujTuj.
  • 43. The system of claim 41, further comprising means for storing computed values of σj, wherein σj=(ujTuj)31 1.
  • 44. A system configured for processing a received signal comprising a signal of interest and at least one interfering signal, the system comprising: a matrix having a substantially orthogonal vector set comprising a plurality of vectors, the substantially orthogonal vector set being generated according to the form:
  • 45. The system of claim 44, further comprising a matrix converter configured for computing a portion of a cancellation operator according to the form: (UTU)−1,
  • 46. The system of claim 45, wherein the cancellation operator comprises the form: PU⊥=I−U(UTU)−1UT,
  • 47. The system of claim 44, wherein the matrix generator comprises a storage unit configured for storing computed values of UjTuj.
  • 48. The system of claim 44, wherein the computed values of ujTuj are used to generate values of the portion of the cancellation operator according to: σj=(ujTuj),
  • 49. A method for cancelling at least one interfering signal in a received signal, comprising: providing for generating a substantially orthogonal set of vectors according to the form:
  • 50. The method of claim 49, further comprising providing for computing a portion of a cancellation operator according to the form: (UTU)−1,
  • 51. The method of claim 50, further comprising providing for computing the cancellation operator according to the form: PU⊥=I−U(UTU)−1UT,
  • 52. The method of claim 49, further comprising providing for storing computed values of ujTuj.
  • 53. The method of claim 49, further comprising: providing for generating values of the portion of the cancellation operator from ujTujaccording to: σj=(ujTuj)−1,
  • 54. The method of claim 53, further comprising providing for comparing the values of σj to a threshold to determine use of the vectors uj in construction of a converted matrix.
  • 55. A receiver, comprising: an antenna configured for receiving a radio signal, wherein the radio signal comprises a selected signal and one or more interfering signals;an analog to digital converter configured for converting the radio signal to a digital signal;a processing engine configured for substantially canceling said one or more interfering signals in the digital signal, the processing engine comprising a matrix generator configured for generating a matrix having a plurality of vectors, wherein each of the plurality of vectors comprises elements from at least one of said one or more interfering signals,a matrix converter communicatively coupled to the matrix generator, wherein the matrix converter is configured for generating a substantially orthogonal vector set from the plurality of vectors to convert the matrix to produce a converted matrix and for computing a portion of a cancellation operator from the converted matrix,a processor configured for generating the cancellation operator from the converted matrix and the portion of the cancellation operator, andan applicator configured for applying the cancellation operator to the digital signal to substantially cancel said one or more interfering signals and to generate an interference-canceled signal; andreceiver circuitry communicatively coupled to the processing engine and configured for the processing the interference-canceled signal.
  • 56. The receiver of claim 55, further comprising a matrix converter configured for computing a portion of a cancellation operator according to the form: (UTU)−1,
  • 57. The receiver of claim 45, wherein the cancellation operator comprises the form: PU⊥=I−U(UTU)−1UT,
  • 58. The receiver of claim 55, wherein the substantially orthogonal vector set is generated according to the form:
  • 59. The receiver of claim 58, wherein the matrix generator comprises a storage unit configured for storing computed values of ujTuj.
  • 60. The receiver of claim 58, wherein the computed values of ujTuj are used to generate values of the portion of the cancellation operator according to: σj=(ujTuj),
  • 61. A digital computer system programmed to perform the method of claim 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 49, 50, 51, or 54.
  • 62. A computer-readable medium storing a computer program implementing the method of claim 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 49, 50, 51, or 54.
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of commonly owned and U.S. patent application Ser. No. 09/988,219 (filed Nov. 19, 2001 now U.S. Pat. No. 6,856,945; the “219 application”), which is hereby incorporated by reference.

US Referenced Citations (144)
Number Name Date Kind
3742201 Groginsky Jun 1973 A
4088955 Baghdady May 1978 A
4309769 Taylor, Jr. Jan 1982 A
4359738 Lewis Nov 1982 A
4601046 Halpern Jul 1986 A
4665401 Garrard et al. May 1987 A
4670885 Parl et al. Jun 1987 A
4713794 Byington et al. Dec 1987 A
4780885 Paul et al. Oct 1988 A
4856025 Takai Aug 1989 A
4893316 Janc et al. Jan 1990 A
4922506 McCallister et al. May 1990 A
4933639 Barker Jun 1990 A
4965732 Roy, III et al. Oct 1990 A
5017929 Tsuda May 1991 A
5099493 Zeger et al. Mar 1992 A
5105435 Stilwell Apr 1992 A
5109390 Gilhousen et al. Apr 1992 A
5119401 Tsujimoto Jun 1992 A
5136296 Roettger et al. Aug 1992 A
5151919 Dent Sep 1992 A
5218359 Minamisono Jun 1993 A
5218619 Dent Jun 1993 A
5220687 Ichikawa et al. Jun 1993 A
5224122 Bruckert Jun 1993 A
5237586 Bottomley Aug 1993 A
5263191 Dickerson Nov 1993 A
5280472 Gilhousen et al. Jan 1994 A
5305349 Dent Apr 1994 A
5325394 Bruckert Jun 1994 A
5343493 Karimullah Aug 1994 A
5343496 Honig et al. Aug 1994 A
5347535 Karasawa et al. Sep 1994 A
5353302 Bi Oct 1994 A
5377183 Dent Dec 1994 A
5386202 Cochran et al. Jan 1995 A
5390207 Fenton et al. Feb 1995 A
5394110 Mizoguchi Feb 1995 A
5396256 Chiba et al. Mar 1995 A
5437055 Wheatley, III Jul 1995 A
5440265 Cochran et al. Aug 1995 A
5448600 Lucas Sep 1995 A
5481570 Winters Jan 1996 A
5506865 Weaver, Jr. Apr 1996 A
5513176 Dean et al. Apr 1996 A
5533011 Dean et al. Jul 1996 A
5553098 Cochran et al. Sep 1996 A
5602833 Zehavi Feb 1997 A
5644592 Divsalar Jul 1997 A
5736964 Ghosh et al. Apr 1998 A
5787130 Kotzin et al. Jul 1998 A
5844521 Stephens et al. Dec 1998 A
5859613 Otto Jan 1999 A
5872540 Casabona Feb 1999 A
5872776 Yang Feb 1999 A
5894500 Bruckert et al. Apr 1999 A
5926761 Reed et al. Jul 1999 A
5930229 Yoshida et al. Jul 1999 A
5953369 Suzuki Sep 1999 A
5978413 Bender Nov 1999 A
5995499 Hottinen et al. Nov 1999 A
6002727 Uesugi Dec 1999 A
6014373 Schilling et al. Jan 2000 A
6018317 Dogan et al. Jan 2000 A
6032056 Reudink Feb 2000 A
6088383 Suzuki et al. Jul 2000 A
6101385 Monte et al. Aug 2000 A
6104712 Robert et al. Aug 2000 A
6115409 Upadhyay et al. Sep 2000 A
6127973 Choi et al. Oct 2000 A
6131013 Bergstrom et al. Oct 2000 A
6137788 Sawahashi et al. Oct 2000 A
6141332 Lavaen Oct 2000 A
6154443 Huang et al. Nov 2000 A
6157685 Tanaka et al. Dec 2000 A
6157842 Kaisson et al. Dec 2000 A
6157847 Buehrer et al. Dec 2000 A
6163696 Bi et al. Dec 2000 A
6166690 Lin et al. Dec 2000 A
6172969 Kawakami et al. Jan 2001 B1
6175587 Madhow et al. Jan 2001 B1
6192067 Toda et al. Feb 2001 B1
6201799 Huang et al. Mar 2001 B1
6215812 Young et al. Apr 2001 B1
6219376 Zhodzishsky et al. Apr 2001 B1
6222828 Ohlson et al. Apr 2001 B1
6230180 Mohamed May 2001 B1
6233229 Ranta et al. May 2001 B1
6233459 Sullivan et al. May 2001 B1
6240124 Wiedeman et al. May 2001 B1
6252535 Kober et al. Jun 2001 B1
6256336 Rademacher et al. Jul 2001 B1
6259688 Schilling et al. Jul 2001 B1
6263208 Chang et al. Jul 2001 B1
6266529 Chheda Jul 2001 B1
6275186 Kong Aug 2001 B1
6278726 Mesecher et al. Aug 2001 B1
6282231 Norman et al. Aug 2001 B1
6282233 Yoshida Aug 2001 B1
6285316 Nir et al. Sep 2001 B1
6285319 Rose Sep 2001 B1
6285861 Bonaccorso et al. Sep 2001 B1
6301289 Bejjani et al. Oct 2001 B1
6304618 Hafeez et al. Oct 2001 B1
6308072 Labedz et al. Oct 2001 B1
6310704 Dogan et al. Oct 2001 B1
6317453 Chang Nov 2001 B1
6321090 Soliman Nov 2001 B1
6324159 Mennekens et al. Nov 2001 B1
6327471 Song Dec 2001 B1
6330460 Wong et al. Dec 2001 B1
6333947 van Heeswyk et al. Dec 2001 B1
6351235 Stilp Feb 2002 B1
6351642 Corbett et al. Feb 2002 B1
6359874 Dent Mar 2002 B1
6362760 Kober et al. Mar 2002 B2
6363104 Bottomley Mar 2002 B1
6377636 Paulraj et al. Apr 2002 B1
6380879 Kober et al. Apr 2002 B2
6385264 Terasawa May 2002 B1
6396804 Odenwalder May 2002 B2
6404760 Holtzman et al. Jun 2002 B1
6430216 Kober et al. Aug 2002 B1
6459693 Park et al. Oct 2002 B1
6501788 Wang Dec 2002 B1
6515980 Bottomley Feb 2003 B1
6570909 Kansakoski May 2003 B1
6574270 Madkour et al. Jun 2003 B1
6580771 Kenney Jun 2003 B2
6584115 Suzuki Jun 2003 B1
6590888 Ohshima Jul 2003 B1
6680727 Butler Jan 2004 B2
6798737 Dabak Sep 2004 B1
6801565 Bottomley Oct 2004 B1
20010003443 Velazquez et al. Jun 2001 A1
20010020912 Naruse et al. Sep 2001 A1
20010021646 Antonucci et al. Sep 2001 A1
20010046266 Rakib et al. Nov 2001 A1
20020001299 Petch et al. Jan 2002 A1
20020051433 Affes et al. May 2002 A1
20020172173 Schilling et al. Nov 2002 A1
20020176488 Kober et al. Nov 2002 A1
20030053526 Reznik Mar 2003 A1
20040136445 Olson et al. Jul 2004 A1
Foreign Referenced Citations (8)
Number Date Country
4201439 Jul 1993 DE
4326843 Feb 1995 DE
4343959 Jun 1995 DE
0558910 Jan 1993 EP
0610989 Jan 1994 EP
2280575 Feb 1995 GB
2000-13360 Jan 2000 JP
WO9312590 Jun 1995 WO
Related Publications (1)
Number Date Country
20050075845 A1 Apr 2005 US
Continuation in Parts (1)
Number Date Country
Parent 09988219 Nov 2001 US
Child 10959618 US