US6341298B1 - Signal equalization - Google Patents

Signal equalization Download PDF

Info

Publication number
US6341298B1
US6341298B1 US09/272,649 US27264999A US6341298B1 US 6341298 B1 US6341298 B1 US 6341298B1 US 27264999 A US27264999 A US 27264999A US 6341298 B1 US6341298 B1 US 6341298B1
Authority
US
United States
Prior art keywords
vector
subspace
projection
unit
matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US09/272,649
Inventor
Yishai Ilani
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mineral Lassen LLC
Hanger Solutions LLC
Original Assignee
ECI Telecom Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ECI Telecom Ltd filed Critical ECI Telecom Ltd
Assigned to ECI TELECOM LTD. reassignment ECI TELECOM LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ILANI, YISHAI
Assigned to ILANI, ISHAI reassignment ILANI, ISHAI ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ECI TELECOM LTD.
Application granted granted Critical
Publication of US6341298B1 publication Critical patent/US6341298B1/en
Assigned to ICE 8 WIRELESS LIMITED LIABILITY COMPANY reassignment ICE 8 WIRELESS LIMITED LIABILITY COMPANY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ILANI, ISHAI
Assigned to MINERAL LASSEN LLC reassignment MINERAL LASSEN LLC MERGER (SEE DOCUMENT FOR DETAILS). Assignors: ICE 8 WIRELESS LIMITED LIABILITY COMPANY
Anticipated expiration legal-status Critical
Assigned to HANGER SOLUTIONS, LLC reassignment HANGER SOLUTIONS, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTELLECTUAL VENTURES ASSETS 161 LLC
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03012Arrangements for removing intersymbol interference operating in the time domain
    • H04L25/03019Arrangements for removing intersymbol interference operating in the time domain adaptive, i.e. capable of adjustment during data reception
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L2025/0335Arrangements for removing intersymbol interference characterised by the type of transmission
    • H04L2025/03375Passband transmission
    • H04L2025/03414Multicarrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L2025/03592Adaptation methods
    • H04L2025/03598Algorithms
    • H04L2025/03605Block algorithms

Definitions

  • the present invention relates to the transmission and reception of signals, and more particularly, to methods and apparatus for optimizing the equalization of a signal that has been transmitted through a distorting medium.
  • Modern modems, and in particular ADSL modems with a DMT line code generally employ block-based modulation to transmit data across a twisted pair.
  • equalization of the received signal is necessary to ensure that as much of the energy of the overall impulse response as possible is contained in a fixed number of symbol periods, called the cyclic prefix of the system.
  • the equalization process is typically performed in two stages, the initial stage and the steady state. In the initial stage, a predetermined signal is transmitted in order to study the impulse response of the transmission channel and determine the equalizing coefficients. In the steady state, any signal may be transmitted, and the equalization coefficients are applied as a finite impulse response (FIR) filter to the signal received by the receiver.
  • FIR finite impulse response
  • determining the equalization coefficients is less so.
  • Proposed methods for determining the equalizing coefficients in a DMT system are either computationally complex, and therefore require an enormous amount of computer memory and processing time in order to implement them, or they suffer from inaccuracies due to non-optimized algorithms or due to computational roundoff errors that arise when performing operations such as division on a DSP.
  • U.S. Pat. No. 5,461,640 describes a method where the auto-correlations and cross-correlations are computed during the parameter preparation part.
  • U.S. Pat. No. 5,461,640 is disadvantageous in that it presents computational complexities, discussed hereinbelow, that might be avoided during the iterative computation part were another method used during the parameter preparation part.
  • ⁇ tilde over (b) ⁇ the ideal overall response which is equivalent to the overall response ⁇ tilde over (h) ⁇ in the response region, and zero outside the response region
  • ⁇ tilde over (b) ⁇ the filter which is the non-zero portion of the ideal overall response ⁇ tilde over (b) ⁇ .
  • DFE decision feedback equalization
  • R uu is a matrix comprising the auto-correlations of the inputs x k , the outputs of the channel y k , and the cross-correlations between them
  • z is a vector comprising the filter b and the equalizer taps w.
  • the computations that follow require solving an eigenvalue problem for a matrix whose dimensions are (m+v) by (m+v), where m is the number of taps in the equalizer, and v the length of the time region allowed for the response region (in DMT systems v is the cyclic prefix+1). This eigenvalue problem is solved for each possible delay, and after performing the computation for all possible delays the global minimum is chosen.
  • Some straightforward manipulations transform the problem from an (m+v) by (m+v) size eigenvalue problem to a v by v size problem by performing a matrix inversion and multiplication of matrices of sizes m by m and m by v at each stage, and, moreover, by introducing division at each stage.
  • step b) each iteration of step b) requires the formation of two new matrices and the performing of a matrix inversion, usually leading to an enormous number of calculations for each ⁇ tried.
  • the second approach 2 greatly relaxes the computation load by performing only one matrix inversion and solving one maximal eigenvalue problem for each ⁇ .
  • the matrices involved are still quite large, and even after simplification methods are used a matrix inversion of size m by m must be performed at each stage.
  • the present invention seeks to provide novel apparatus and methods for determining equalizer coefficients which overcomes disadvantages of the prior art as discussed above.
  • Other objects and advantages of the invention will become apparent from the description and claims which follow taken together with the appended drawings.
  • the present invention further provides a method which adapts the computations to be performed according to the input data for the equalizing problem.
  • the method includes generating a digital training signal and sending it through a channel, estimating the channel impulse response using the input and received signal and forming an approximation matrix, computing an orthonormal basis for the columns of the approximation matrix, and finding the projection of the vector space generated by this basis on the response region or finding the projection of the response region on the vector space generated by the columns of the approximation matrix.
  • approximation matrix will be used to denote a matrix M, whose product with any vector (x 1 , x 2 , x 3 , . . .
  • T is an approximation to the channel's response to a mT duration input digital signal, where T is the sampling period of the digital signal, and the values of the signal at times T, 2T, . . . , mT, are equal to x 1 , x 2 , x 3 , . . . , x m respectively.
  • response region will be used hereinafter to denote a subspace of R N which coordinates other than in a predefined set of indices, are equal to zero.
  • maximal projection used in conjunction with projection of one subspace of R N upon another subspace of R N will be used hereinafter to denote the maximal scalar product obtained from multiplying two unit vectors, one from each of the two subspaces.
  • the step of determining a unit vector C in the method provided comprises:
  • the step of determining a vector A comprises generating vector A by:
  • the step of determining a unit vector C step in the method provided comprises:
  • the step of determining vector A comprises generating the vector by:
  • the forming matrices step of the method provided includes forming matrices Q and R by using Gram-Schmidt orthogonalization.
  • the forming matrices step of the method provided includes forming matrices Q and R by using QR decomposition.
  • a method for optimizing an equalizer in a data transmission system where the equalizer is used to equalize a signal transmitted through a distorting channel. This method comprises the steps of:
  • a system operative in calculating a vector A from a set comprising at least one pair of subspaces of R N , each of said at least one pair comprises a first subspace and a second subspace of a vector space R N , and a set of maximal projections and their corresponding unit vectors, each of said maximal projection is associated with one of said pair of subspaces, wherein N is the dimension of said vector space, and wherein for each of said pair of subspaces, said first subspace is the column space of a N by m matrix M and said second subspace is a function of a predefined set of indices between 1 and N, comprising:
  • apparatus operative for each of said pair of subspaces for determining a unit vector C in one of said subspaces so that a projection of said unit vector upon another of said vector subspaces is maximal for all unit vectors in said one of said vector subspaces;
  • apparatus for determining a vector A having length m, characterized in that the product of said vector A and matrix M is a unit vector B and the projection of B upon second subspace in the pair corresponding to said selected maximal projection is equal to said selected maximal projection.
  • a system for equalizing a signal transmitted through a distorting channel comprising:
  • a signal receiver operative to receive an output of a known training signal of data bits transmitted through said channel
  • a generator operative to generate a replica of the known training signal
  • an approximation matrix generator operative to generate an approximation matrix M from said output of the known training signal and said replica of said training signal;
  • a generator operative to generate for each delay in a predefined range of delays a pair of a first subspace and a second subspace of a vector space R N , the first subspace is the column space of matrix M and the second subspace being a function of the delay is the subspace of R N whose coordinates other than in a predefined set of that delay are zero, by determining for each of the pair of subspaces a unit vector C in one of the subspaces, where the unit vector C is characterized in that a projection of the unit vector upon another of the vector subspaces is maximal for all unit vectors in one of the vector subspaces;
  • system provided may also include a transmitter operative to transmit the known training signal through the distorting channel.
  • FIG. 1 is a simplified block diagram illustration of a signal equalization system constructed and operative in accordance with a preferred embodiment of the present invention.
  • FIGS. 2A and 2B taken together, are simplified flowchart illustrations of a preferred method of operation of the system of FIG. 1 .
  • the present invention is based on the observation that the energy of the overall channel in any response region is bounded by the projection of the vector space generated by the columns of the approximation matrix upon the response region, and that there exist parameters for which this maximum can be obtained.
  • FIG. 1 is a simplified block diagram illustration of a signal equalization system constructed and operative in accordance with a preferred embodiment of the present invention.
  • FIG. 1 shows a modulator 10 which typically includes a digital signal generator 12 which generates a digital signal and a DAC 14 which performs digital to analog conversion.
  • the modulator 10 transmits the modulated analog signal via a channel 16 to an ADC 18 where the signal is converted from an analog to a digital signal.
  • ADC 18 is preferably connected by a switch 19 to equalizer initialization apparatus 20 and to an equalizer 32 .
  • the switch 19 typically connects ADC 18 to the equalization initialization apparatus 20 which initializes equalizer 32 .
  • the switch 19 is typically set so that the ADC 18 is connected to equalizer 32 .
  • Signals equalized at equalizer 32 are demodulated at a demodulator 34 .
  • the modulator 10 may be reconnected to equalizer initialization apparatus 20 to reinitialize equalizer 32 such as, for example, after a predetermined number or type of transmission errors are detected.
  • Equalizer initialization apparatus 20 typically includes a digital signal generator 21 which is connected to a channel estimator 22 which also receives the digital signal output from ADC 18 during initialization.
  • Channel estimator 22 performs an estimation of the impulse response of the channel 16 and computes the approximation matrix.
  • Orthogonalization apparatus 24 computes an orthonormal basis for the column space of the approximation matrix.
  • a projection generator 26 computes the maximal projection between the column space of the approximation matrix and a subspace of R N , whose coordinates are zero outside a specified region.
  • An optimizer 28 compares the results with previous results and chooses the optimal of all the projections considered.
  • a coordinate converter 30 converts the results to the coordinate system determined by the columns of the approximation matrix.
  • Equalizer initialization apparatus 20 may be implemented using one or more digital signal processor (DSP) chips such as the DSP563xx family manufactured by Motorola, Inc.
  • DSP digital signal processor
  • the number of DSP chips used to implement equalizer initialization apparatus 20 depends primarily upon processing speed considerations.
  • the digital signal generator 12 typically generates a predetermined training signal.
  • the DAC 14 prepares the training signal from the digital signal generator 12 for transmission through channel 16 .
  • the ADC 18 converts the signal into a digitized received signal.
  • the digital signal generator 21 generates a replica of the training signal generated by digital signal generator 12 . Both the received signal and the replica of the training signal are input into channel estimator 22 . Channel estimator 22 generates the required approximation matrix using the received signal and the local replica of the training signal.
  • the approximation matrix is then processed by orthogonalization apparatus 24 where two matrices Q and R are formed, Q with orthonormal columns and R which is upper diagonal.
  • orthogonalization apparatus 24 uses Several known methods to form matrices Q and R, including, but not limited to, QR decomposition and the Gram-Schmidt orthogonalization algorithm.
  • the matrix Q is processed by projection generator 26 where only v rows of Q, denoted Q ⁇ , are considered.
  • a maximal projection is computed by computing a unit vector associated with the maximal eigenvalue of the matrix generated above.
  • the maximal projection is then processed by optimizer 28 where it is compared with previous projections and stored in case the current projection is more optimal than any previously stored projection.
  • the optimal projection and its associated unit vector stored at the optimizer 28 are processed by coordinate converter 30 where they are multiplied by an appropriate matrix to generate control parameters (taps) defining the filter which performs as equalizer 32 .
  • the equalizer 32 may be implemented using an equalizer chip such as the DSP56301 chip manufactured by Motorola, Inc.
  • FIGS. 2A and 2B are simplified flowchart illustrations of a preferred method of operation of the system of FIG. 1, particularly of equalizer initialization apparatus 20 .
  • steps 100 , 110 , 120 , and 130 an estimation of the impulse response of the channel 16 is created, and an approximation matrix M is generated.
  • the algorithm parameters are initialized: The size of the target window v, the number of equalizer taps m, and the length of the impulse response N, are set.
  • a maximal projection, maxp, is initialized to be 0, and variables are assigned for the equalizer taps eq, and for the delay of the system ⁇ 0 .
  • a known training signal of data bits is generated by the digital signal generator 12 , transmitted over the channel 16 , and received by the ADC 18 (step 110 ).
  • a replica of the known training signal is generated by digital signal generator 21 (step 120 ).
  • the relationship between the signal received by ADC 18 and the local replica generated by digital signal generator 21 is used to generate an estimate of the impulse response of the channel, H.
  • This estimate is in turn used to generate by techniques known in the art per se, a matrix M such that for all equalizer taps w, the overall response of the equalized channel will be approximated by the product of matrix and vector, Mw.
  • M is preferably of size N by m, where N is the length of the impulse response, and m, the number of equalizer coefficients. This is done by the channel estimator 22 .
  • the expression Mw may be viewed as a linear combination of the columns of M.
  • the portion of this response which corresponds to any vector subspace V of R N is bounded from above by the projection of the column space of M on that subspace. This may be computed by determining a unit vector in the column space of M where a projection of the unit vector upon V is maximal for all unit vectors in the column space of M.
  • the projection of V on the column space of M may be computed by determining a unit vector in V where a projection of the unit vector upon the column space of M is maximal for all unit vectors in V.
  • the energy of the signal in that region is bounded by the projection of the column space of M on the subspace of R N which is 0 outside a window of size v.
  • This is a symmetric problem that may be solved by computing the projection of the latter subspace on the column space of M.
  • Which computation to perform may be chosen by the minimum of the dimensions of the above subspaces as follows: If v is less than or equal the dimension of the column space of M, then the preferred computation is to compute the projection of the sub vector space of R N which is 0 outside a window of size v on the column space of M. Otherwise, compute the projection of the column space of M on the sub vector space of R N which is 0 outside a window of size v.
  • the natural inclination is to convert to orthonormal bases for each of the subspaces.
  • a processing loop begins at step 150 .
  • step 160 Denoting the v rows of Q from ⁇ +1 to ⁇ +v by Q ⁇ (step 160 ):
  • This may be achieved by computing the unit eigenvector associated with the maximal eigenvalue of the above matrix.
  • the computation of the eigenvector may be carried out for example by using methods known in the art per se such as using the power method algorithm (step 200 ).
  • the unit vector referred above may be identified by its vector of coordinates (in the present example the eigenvector) rather than using the vector itself, once it is clear which basis is associated with the coordinates.
  • Step 200 Compute the maximal eigenvalue of the matrix (step 200 ). This eigenvalue is the norm of the projection between the two subspaces mentioned above. Steps a), b), and c) are typically performed by the projection generator 26 .
  • steps a)-c) are now provided. Since the columns of Q are orthonormal, finding a unit vector in the column space of Q is equivalent to finding a unit vector in R m , since for any unit vector w in R m , Qw is a unit vector in the column space of Q.
  • the vector w is the “vector of coordinates” (or the “coordinate vector”) of Qw, relative to the basis containing the columns of Q as basis elements.
  • a vector can be identified by its vector of coordinates.
  • the non-zero portion of the projection of Qw on the response region defined above is Q ⁇ w, and thus the square of the norm of the projection is w T Q ⁇ T Q ⁇ w.
  • Q ⁇ T Q ⁇ is a symmetric matrix, thus it has an orthonormal basis of eigenvectors with real eigenvalues, thus it is easy to see that the maximal projection will be achieved by a maximal eigenvector of Q ⁇ T Q ⁇ and the square of the norm of the projection will be the maximal eigenvalue.
  • ⁇ tilde over (x) ⁇ is the portion of x, containing the coordinates from ⁇ +1 to ⁇ +v.
  • ⁇ tilde over (x) ⁇ is readily seen to be the vector of coordinates of x relative to the basis of the response region containing standard unit vectors of R N as its elements.
  • the maximal projection may be computed from the maximal unit eigenvector and the associated eigenvalue of the matrix Q ⁇ Q ⁇ T .
  • Step 2 may easily be generalized to a situation where the response region is the subspace of R N whose coordinates are zero outside any predefined set of indices.
  • the predefined set of indices is the set ⁇ 1,3,7 ⁇
  • Q ⁇ may be defined to be the matrix which includes of rows 1,3,7 of Q.
  • the projection of a vector in the column space of Q upon the response region may be written as UU T Qw where w is a unit vector in R m .
  • Step 220 If the present projection is greater than the stored maximal projection maxp, then replace maxp with the present projection, store the current delay ⁇ in ⁇ 0 , and store the associated unit vector (or its vector of coordinates) in eq. (step 220 ). Steps 210 and 220 are typically performed by the optimizer 28 .
  • DFT Discrete Fourier Transform
  • step 4 need only be performed once at the end of the loop where the delay and unit vector corresponding to the global maximal projection are stored. At intermediate steps only the maximal projection, the corresponding coordinate vector, and the delay need be stored.
  • QR decomposition techniques are also well known. QR decomposition is typically carried out in such a manner that initially the R matrix is computed along with a sequence of basic rotators or reflectors from which the matrix Q is assembled. In the present example the construction of the Q matrix may be done by applying the rotators or reflectors to the first m columns of the identity matrix of size N by N, such as is described in Watkins, pp. 136-158.
  • the power method is well known in the art as a method for computing the largest eigenvector of a matrix and is described in Watkins, pp. 210-224 and in U.S. Pat. No. 5,461,640 as well. It should be noted, however, that while computing via the power method one must be careful to avoid overflows or underflows. This may require normalization of the vectors involved at each stage and performing multiplication or division. This multiplication or division may be carried by applying shifts, without affecting the simplicity of the process. Thus, the only place where division is performed is when the eigenvalue is computed from the known eigenvector.
  • FIGS. 2A and 2B need not necessarily be performed in the order shown, and that in fact different implementations of the steps of FIGS. 2A and 2B may be employed to yield similar overall results.
  • any of the software components of the present invention may, if desired, be implemented in ROM (read-only memory) form.
  • the software components may, generally, be implemented in hardware, if desired, using conventional techniques.

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Complex Calculations (AREA)

Abstract

A method, in a data transmission system, for optimizing an equalizer used to equalize a signal transmitted through a distorting channel, where the method comprises the calculation of a maximal projection from one subspace of a vector space upon another subspace of that vector space. These projections may be carried in either direction, and the preferred direction from which subspace should the projection be carried out, is determined from the dimension of each of the two subspaces.

Description

FIELD OF THE INVENTION
The present invention relates to the transmission and reception of signals, and more particularly, to methods and apparatus for optimizing the equalization of a signal that has been transmitted through a distorting medium.
BACKGROUND OF THE INVENTION
Modern modems, and in particular ADSL modems with a DMT line code, generally employ block-based modulation to transmit data across a twisted pair. In such systems equalization of the received signal is necessary to ensure that as much of the energy of the overall impulse response as possible is contained in a fixed number of symbol periods, called the cyclic prefix of the system. The equalization process is typically performed in two stages, the initial stage and the steady state. In the initial stage, a predetermined signal is transmitted in order to study the impulse response of the transmission channel and determine the equalizing coefficients. In the steady state, any signal may be transmitted, and the equalization coefficients are applied as a finite impulse response (FIR) filter to the signal received by the receiver.
While steady state operation is straightforward, determining the equalization coefficients, also referred to as “equalizing the channel,” is less so. Proposed methods for determining the equalizing coefficients in a DMT system are either computationally complex, and therefore require an enormous amount of computer memory and processing time in order to implement them, or they suffer from inaccuracies due to non-optimized algorithms or due to computational roundoff errors that arise when performing operations such as division on a DSP.
Methods of the prior art generally comprise two major parts:
Preparing the parameters for the algorithm, including computation of auto-correlation and cross-correlation matrices; and
Iteratively performing computations on a certain range of delays in order to find an optimum delay such that the overall signal contained in the corresponding response region will have maximal energy.
Most of the computational effort is generally required for the iterative computations as the preparation is performed only once.
U.S. Pat. No. 5,461,640 describes a method where the auto-correlations and cross-correlations are computed during the parameter preparation part. U.S. Pat. No. 5,461,640 is disadvantageous in that it presents computational complexities, discussed hereinbelow, that might be avoided during the iterative computation part were another method used during the parameter preparation part.
To understand the equalization problem we may denote an input signal xk, an output signal yk, a channel response by h, and equalizer taps w. Thus the overall response of the channel may be expressed as:
{tilde over (h)}=h*w,
We may further denote {tilde over (b)} as the ideal overall response which is equivalent to the overall response {tilde over (h)} in the response region, and zero outside the response region, and denote {tilde over (b)} as the filter which is the non-zero portion of the ideal overall response {tilde over (b)}.
Two prior art approaches are now described.
1. In one approach, methods used for optimization of decision feedback equalization (DFE) are employed, where the equalizer taps w is the forward filter, and the filter b is the feedback filter. The only difference is that in the DMT case b does not have to be monic and causal. That is, the first tap does not have to be constrained to unity. The following algorithm is proposed:
a) Estimate the cross-correlation between the channel input xk, and the channel output yk, and the auto-correlation of the output yk.
b) For delay Δ=Δmin to Δmax for i=1 to v
(i) Constrain the i-th tap of b to be unity
(ii) minimize b ~ - h ~ 2
Figure US06341298-20020122-M00001
 using the DFE minimization techniques.
c) Choose the minimum of all the solutions found.
2. Another approach, such as is described in U.S. Pat. No. 5,461,640, tries to minimize the ratio of the energy in the output of the ideal response filter to the energy in the output of the overall response filter that is outside the response region. This is accomplished by applying a constraint of the form:
∥b∥ 2=1,
where b has a length v, and minimizing
z T R uu z
where Ruu is a matrix comprising the auto-correlations of the inputs xk, the outputs of the channel yk, and the cross-correlations between them, and z is a vector comprising the filter b and the equalizer taps w. The computations that follow require solving an eigenvalue problem for a matrix whose dimensions are (m+v) by (m+v), where m is the number of taps in the equalizer, and v the length of the time region allowed for the response region (in DMT systems v is the cyclic prefix+1). This eigenvalue problem is solved for each possible delay, and after performing the computation for all possible delays the global minimum is chosen.
Some straightforward manipulations transform the problem from an (m+v) by (m+v) size eigenvalue problem to a v by v size problem by performing a matrix inversion and multiplication of matrices of sizes m by m and m by v at each stage, and, moreover, by introducing division at each stage.
In the first approach 1) described above, each iteration of step b) requires the formation of two new matrices and the performing of a matrix inversion, usually leading to an enormous number of calculations for each Δ tried.
The second approach 2) greatly relaxes the computation load by performing only one matrix inversion and solving one maximal eigenvalue problem for each Δ. However, as stated above, the matrices involved are still quite large, and even after simplification methods are used a matrix inversion of size m by m must be performed at each stage. The formation of a v by v size matrix at each step involves computations with larger size m by m matrices if v<=m, and an eigenvalue problem of size v by v (or perhaps a generalized eigenvalue problem) must be solved, which is very inefficient where v>m.
Relevant methods useful in equalization are discussed in “Fundamentals of Matrix Computations” by D. S. Watkins, John Wiley & Sons, 1991.
U.S. Pat. No. 5,285,474 is also believed to be representative of the art.
The disclosures of all U.S. Patents and publications mentioned in this specification and of U.S. patents and publications cited therein are hereby incorporated by reference.
SUMMARY OF THE INVENTION
The present invention seeks to provide novel apparatus and methods for determining equalizer coefficients which overcomes disadvantages of the prior art as discussed above. Other objects and advantages of the invention will become apparent from the description and claims which follow taken together with the appended drawings.
In accordance with the present invention there is provided a method for calculating a vector A from a set comprising at least one pair of subspaces of RN wherein N is the dimension of said vector space, each of the at least one pair comprises a first subspace and a second subspace of the vector space RN, and a set of maximal projections and their corresponding unit vectors, each of said maximal projections is associated with one of the pairs of subspaces, wherein for each of the pairs of subspaces the first subspace is the column space of a N by m matrix M and the second subspace is a function of a predefined set of indices between 1 and N, comprising:
for each of the pairs of subspaces:
determining a unit vector C in one of said subspaces so that a projection of the unit vector upon another of the vector subspaces is maximal for all unit vectors in one of the vector subspaces;
applying a predefined optimizing function to the set of maximal projections and unit vectors, thereby selecting a maximal projection and its corresponding unit vector and pair of first and second subspaces;
determining a vector A having length m, so that the product of vector A and matrix M is a unit vector B and the projection of B upon second subspace in the pair corresponding to said selected maximal projection is equal to the selected maximal projection.
The present invention further provides a method which adapts the computations to be performed according to the input data for the equalizing problem. The method includes generating a digital training signal and sending it through a channel, estimating the channel impulse response using the input and received signal and forming an approximation matrix, computing an orthonormal basis for the columns of the approximation matrix, and finding the projection of the vector space generated by this basis on the response region or finding the projection of the response region on the vector space generated by the columns of the approximation matrix. As will be used hereinafter the term approximation matrix will be used to denote a matrix M, whose product with any vector (x1, x2, x3, . . . , xm)T of length m, is an approximation to the channel's response to a mT duration input digital signal, where T is the sampling period of the digital signal, and the values of the signal at times T, 2T, . . . , mT, are equal to x1, x2, x3, . . . , xm respectively.
The term “response region” will be used hereinafter to denote a subspace of RN which coordinates other than in a predefined set of indices, are equal to zero. Typically, the predefined set of indices will comprise v=cyclic prefix+1 consecutive integers.
The term “maximal projection” used in conjunction with projection of one subspace of RN upon another subspace of RN will be used hereinafter to denote the maximal scalar product obtained from multiplying two unit vectors, one from each of the two subspaces.
Choosing which projection to perform depends on the dimensions of the vector spaces involved. Thus, when v<=m, computations for an eigenvalue problem of size v by v are performed, and where v>m, computations for an eigenvalue problem of size m by m are performed. The methods of the present invention are suited to be implemented either by a programmable DSP, a dedicated ASIC, or a general purpose computer. Finally, a set of equalizer coefficients is generated.
In accordance with a preferred embodiment of the present invention, the step of determining a unit vector C in the method provided, comprises:
forming matrices Q and R from an orthonormal basis to the column space of said matrix M wherein Q has the same dimensions as M, wherein the columns of Q are orthonormal, and wherein either of Q=MR and QR=M are true;
generating the unit vector C in the first subspace, wherein the unit vector is associated with a maximal projection upon the second subspace; and
determining the maximum projection from the unit vector C.
More preferably, in the method provided, the step of determining a vector A comprises generating vector A by:
determining a vector of coordinates of the unit vector C associated with a basis which elements are equal to the columns of Q; and
multiplying the vector of coordinates of the unit vector C by the matrix R where Q=MR and by R−1 where QR=M.
According to another embodiment of the present invention, the step of determining a unit vector C step in the method provided, comprises:
forming matrices Q and R from an orthonormal basis to the column space of said matrix M wherein Q has the same dimensions as M, wherein the columns of Q are orthonormal, and wherein either of Q=MR and QR=M are true;
generating said unit vector C in said second subspace, second subspace being the subspace of RN whose coordinate values other than in said predefined set of indices are zero, wherein said unit vector is associated with a maximal projection upon said first subspace; and
determining said maximum projection from said unit vector C.
More preferably, the step of determining vector A comprises generating the vector by:
determining a vector of coordinates of the unit vector C associated with a standard basis of said second subspace; and
multiplying the vector of coordinates of the unit vector C by RQΔ T where Q=MR and by R−1QΔ T where QR=M, where QΔ is a matrix comprising rows of Q corresponding to the predefined set of indices and normalizing the result thus obtained to a unit vector.
Additionally in accordance with a preferred embodiment of the present invention the forming matrices step of the method provided, includes forming matrices Q and R by using Gram-Schmidt orthogonalization.
Moreover in accordance with yet another preferred embodiment of the present invention the forming matrices step of the method provided, includes forming matrices Q and R by using QR decomposition.
According to another aspect of present invention, there is provided a method for optimizing an equalizer in a data transmission system, where the equalizer is used to equalize a signal transmitted through a distorting channel. This method comprises the steps of:
transmitting a known training signal through the distorting channel;
generating a replica of the known training signal;
generating an N by m approximation matrix M from the output of the transmitted signal and the replica of the known training signal;
for each delay in a predefined range of delays:
generating a pair of a first subspace and a second subspace of a vector space RN, the first subspace is the column space of said matrix M and the second subspace being a function of said delay is the subspace of RN whose coordinates other than in a predefined set of that delay are zero, comprising:
for each of the pair of subspaces:
determining a unit vector C in one of said subspaces so that a projection of the unit vector upon another of said vector subspaces is maximal for all unit vectors in one of the vector subspaces;
applying a predefined optimizing function to the set of maximal projections and unit vectors, thereby selecting a maximal projection and its corresponding unit vector and pair of first and second subspaces;
determining a vector A having length m, characterized in that its product with matrix M is a unit vector B and the projection of B upon the second subspace in the pair corresponding to the selected maximal projection is equal to the selected maximal projection; and
setting vector A or any scalar multiplication thereof, to be the vector of equalizer coefficients, thereby optimizing the equalizer.
According to still another aspect of the present invention there is provided a system operative in calculating a vector A from a set comprising at least one pair of subspaces of RN, each of said at least one pair comprises a first subspace and a second subspace of a vector space RN, and a set of maximal projections and their corresponding unit vectors, each of said maximal projection is associated with one of said pair of subspaces, wherein N is the dimension of said vector space, and wherein for each of said pair of subspaces, said first subspace is the column space of a N by m matrix M and said second subspace is a function of a predefined set of indices between 1 and N, comprising:
apparatus operative for each of said pair of subspaces for determining a unit vector C in one of said subspaces so that a projection of said unit vector upon another of said vector subspaces is maximal for all unit vectors in said one of said vector subspaces;
apparatus for applying a predefined optimizing function to said set of maximal projections and unit vectors, thereby selecting a maximal projection and its corresponding unit vector and pair of first and second subspaces; and
apparatus for determining a vector A having length m, characterized in that the product of said vector A and matrix M is a unit vector B and the projection of B upon second subspace in the pair corresponding to said selected maximal projection is equal to said selected maximal projection.
By a preferred embodiment of the invention, there is provided a system for equalizing a signal transmitted through a distorting channel and comprising:
a signal receiver operative to receive an output of a known training signal of data bits transmitted through said channel;
a generator operative to generate a replica of the known training signal;
an approximation matrix generator operative to generate an approximation matrix M from said output of the known training signal and said replica of said training signal;
a generator operative to generate for each delay in a predefined range of delays a pair of a first subspace and a second subspace of a vector space RN, the first subspace is the column space of matrix M and the second subspace being a function of the delay is the subspace of RN whose coordinates other than in a predefined set of that delay are zero, by determining for each of the pair of subspaces a unit vector C in one of the subspaces, where the unit vector C is characterized in that a projection of the unit vector upon another of the vector subspaces is maximal for all unit vectors in one of the vector subspaces;
apparatus for applying a predefined optimizing function to the set of maximal projections and unit vectors, thereby selecting a maximal projection and its corresponding unit vector and pair of first and second subspaces;
apparatus for determining a vector A having length m, so that its product with matrix M is a unit vector B and the projection of B upon second subspace in the pair corresponding to the selected maximal projection is equal to the selected maximal projection; and
apparatus for setting vector A to be the vector of equalizer coefficients, thereby optimizing the equalizing of the signal transmitted through said distorting channel.
Furthermore, the system provided may also include a transmitter operative to transmit the known training signal through the distorting channel.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will be understood and appreciated from the following detailed description, taken in conjunction with the drawings in which:
FIG. 1 is a simplified block diagram illustration of a signal equalization system constructed and operative in accordance with a preferred embodiment of the present invention; and
FIGS. 2A and 2B, taken together, are simplified flowchart illustrations of a preferred method of operation of the system of FIG. 1.
DETAILED DESCRIPTION OF THE INVENTION
The present invention is based on the observation that the energy of the overall channel in any response region is bounded by the projection of the vector space generated by the columns of the approximation matrix upon the response region, and that there exist parameters for which this maximum can be obtained.
Reference is now made to FIG. 1 which is a simplified block diagram illustration of a signal equalization system constructed and operative in accordance with a preferred embodiment of the present invention. FIG. 1 shows a modulator 10 which typically includes a digital signal generator 12 which generates a digital signal and a DAC 14 which performs digital to analog conversion. The modulator 10 transmits the modulated analog signal via a channel 16 to an ADC 18 where the signal is converted from an analog to a digital signal. ADC 18 is preferably connected by a switch 19 to equalizer initialization apparatus 20 and to an equalizer 32. During initialization, the switch 19 typically connects ADC 18 to the equalization initialization apparatus 20 which initializes equalizer 32. Once the equalizer 32 has been initialized, the switch 19 is typically set so that the ADC 18 is connected to equalizer 32. Signals equalized at equalizer 32 are demodulated at a demodulator 34. At anytime during operation of the signal equalization system shown in FIG. 1, the modulator 10 may be reconnected to equalizer initialization apparatus 20 to reinitialize equalizer 32 such as, for example, after a predetermined number or type of transmission errors are detected.
Equalizer initialization apparatus 20 typically includes a digital signal generator 21 which is connected to a channel estimator 22 which also receives the digital signal output from ADC 18 during initialization. Channel estimator 22 performs an estimation of the impulse response of the channel 16 and computes the approximation matrix. Orthogonalization apparatus 24 computes an orthonormal basis for the column space of the approximation matrix. A projection generator 26 computes the maximal projection between the column space of the approximation matrix and a subspace of RN, whose coordinates are zero outside a specified region. An optimizer 28 compares the results with previous results and chooses the optimal of all the projections considered. A coordinate converter 30 converts the results to the coordinate system determined by the columns of the approximation matrix.
Equalizer initialization apparatus 20 may be implemented using one or more digital signal processor (DSP) chips such as the DSP563xx family manufactured by Motorola, Inc. The number of DSP chips used to implement equalizer initialization apparatus 20 depends primarily upon processing speed considerations.
The operation of the system of FIG. 1 is now described in greater detail. The digital signal generator 12 typically generates a predetermined training signal. The DAC 14 prepares the training signal from the digital signal generator 12 for transmission through channel 16. Once the channel output signal is received, the ADC 18 converts the signal into a digitized received signal.
The digital signal generator 21 generates a replica of the training signal generated by digital signal generator 12. Both the received signal and the replica of the training signal are input into channel estimator 22. Channel estimator 22 generates the required approximation matrix using the received signal and the local replica of the training signal.
The approximation matrix is then processed by orthogonalization apparatus 24 where two matrices Q and R are formed, Q with orthonormal columns and R which is upper diagonal. Several known methods may be used to form matrices Q and R, including, but not limited to, QR decomposition and the Gram-Schmidt orthogonalization algorithm.
The matrix Q is processed by projection generator 26 where only v rows of Q, denoted QΔ, are considered. A square matrix QΔ TQΔ is generated if v>=m, where m denotes the number of columns of Q, or a square matrix QΔQΔ T is generated if v<m. A maximal projection is computed by computing a unit vector associated with the maximal eigenvalue of the matrix generated above.
The maximal projection is then processed by optimizer 28 where it is compared with previous projections and stored in case the current projection is more optimal than any previously stored projection.
Finally, the optimal projection and its associated unit vector stored at the optimizer 28 are processed by coordinate converter 30 where they are multiplied by an appropriate matrix to generate control parameters (taps) defining the filter which performs as equalizer 32.
The equalizer 32 may be implemented using an equalizer chip such as the DSP56301 chip manufactured by Motorola, Inc.
The system of FIG. 1 is now described in greater detail with additional reference to FIGS. 2A and 2B which, taken together, are simplified flowchart illustrations of a preferred method of operation of the system of FIG. 1, particularly of equalizer initialization apparatus 20.
In steps 100, 110, 120, and 130 an estimation of the impulse response of the channel 16 is created, and an approximation matrix M is generated.
At 100 the algorithm parameters are initialized: The size of the target window v, the number of equalizer taps m, and the length of the impulse response N, are set. A maximal projection, maxp, is initialized to be 0, and variables are assigned for the equalizer taps eq, and for the delay of the system Δ0.
A known training signal of data bits is generated by the digital signal generator 12, transmitted over the channel 16, and received by the ADC 18 (step 110). A replica of the known training signal is generated by digital signal generator 21 (step 120).
The relationship between the signal received by ADC 18 and the local replica generated by digital signal generator 21 is used to generate an estimate of the impulse response of the channel, H. This estimate is in turn used to generate by techniques known in the art per se, a matrix M such that for all equalizer taps w, the overall response of the equalized channel will be approximated by the product of matrix and vector, Mw. An example of such a procedure when the input signal x comprises independent standard gausian distributed samples, is that the approximation is made by substituting the cross-correlation matrix Rx,y for M (step 130). M is preferably of size N by m, where N is the length of the impulse response, and m, the number of equalizer coefficients. This is done by the channel estimator 22.
The expression Mw may be viewed as a linear combination of the columns of M. The portion of this response which corresponds to any vector subspace V of RN is bounded from above by the projection of the column space of M on that subspace. This may be computed by determining a unit vector in the column space of M where a projection of the unit vector upon V is maximal for all unit vectors in the column space of M. Alternatively, the projection of V on the column space of M may be computed by determining a unit vector in V where a projection of the unit vector upon the column space of M is maximal for all unit vectors in V.
In particular, regarding the subspace which includes the samples d+1 to d+v, the energy of the signal in that region is bounded by the projection of the column space of M on the subspace of RN which is 0 outside a window of size v. This is a symmetric problem that may be solved by computing the projection of the latter subspace on the column space of M. Which computation to perform may be chosen by the minimum of the dimensions of the above subspaces as follows: If v is less than or equal the dimension of the column space of M, then the preferred computation is to compute the projection of the sub vector space of RN which is 0 outside a window of size v on the column space of M. Otherwise, compute the projection of the column space of M on the sub vector space of RN which is 0 outside a window of size v.
Viewing the problem as a projection of vector spaces, the natural inclination is to convert to orthonormal bases for each of the subspaces. Thus, after generating the approximation matrix corresponding to the impulse response of the channel, the following steps may be performed:
1. Generate an orthonormal basis for the columns of the approximation matrix M (step 140) using any known method. This may be done for example by applying the Gram-Schmidt algorithm, or by performing a QR decomposition of the approximation matrix, but in the case of QR decomposition the computation is limited to the first m columns of Q. Step 140 is typically performed by the orthogonalization generator 24. Two matrices Q and R are generated where the columns of Q are orthonormal, the matrix R is upper diagonal, and they satisfy either Q=MR (typical for Gram Schmidt algorithm), or M=QR (typical for QR decomposition).
Several known approaches may be used to perform either the Gram-Schmidt algorithm or the QR decomposition. While detailed explanations of the application of the Gram-Schmidt algorithm and QR decomposition are presented hereinbelow by way of example, it is appreciated that any of several well known variants to these algorithms may be used and still remain within the spirit and scope of the present invention.
2. A processing loop begins at step 150. The calculation extends from the minimal delay to be considered (denoted dmin) to the maximal delay to be considered (denoted dam). If v<=m, then for every delay Δ compute the projection of the response region Δ+1 to Δ+v on the column space of Q (which is the same as the column space of M). If v>m, then compute the projection of the column space of Q on the response region Δ+1 to Δ+v. It is appreciated that the two projections are equivalent.
Denoting the v rows of Q from Δ+1 to Δ+v by QΔ (step 160):
a) If v<=m, generate the matrix QΔQΔ T (step 180), otherwise generate the matrix QΔ TQΔ (step 190).
b) Generate the unit vector associated with the maximal projection of all unit vectors in one of the above subspaces upon the other (the projection of the response region Δ+1 to Δ+v upon the column space of Q in case v<=m, or the projection of the column space of Q upon the response region Δ+1 to Δ+v in case v>m). This may be achieved by computing the unit eigenvector associated with the maximal eigenvalue of the above matrix. The computation of the eigenvector may be carried out for example by using methods known in the art per se such as using the power method algorithm (step 200). As should be understood by the man skilled in the art, the unit vector referred above may be identified by its vector of coordinates (in the present example the eigenvector) rather than using the vector itself, once it is clear which basis is associated with the coordinates.
c) Compute the maximal eigenvalue of the matrix (step 200). This eigenvalue is the norm of the projection between the two subspaces mentioned above. Steps a), b), and c) are typically performed by the projection generator 26.
An explanation of steps a)-c) is now provided. Since the columns of Q are orthonormal, finding a unit vector in the column space of Q is equivalent to finding a unit vector in Rm, since for any unit vector w in Rm, Qw is a unit vector in the column space of Q. The vector w is the “vector of coordinates” (or the “coordinate vector”) of Qw, relative to the basis containing the columns of Q as basis elements. As known in the art, once a basis is determined, a vector can be identified by its vector of coordinates. The non-zero portion of the projection of Qw on the response region defined above is QΔw, and thus the square of the norm of the projection is wTQΔ TQΔw. QΔ TQΔ is a symmetric matrix, thus it has an orthonormal basis of eigenvectors with real eigenvalues, thus it is easy to see that the maximal projection will be achieved by a maximal eigenvector of QΔ TQΔ and the square of the norm of the projection will be the maximal eigenvalue.
Alternatively, one may choose a unit vector x in the response region and compute its projection upon the column space of Q. The vector of coordinates of the projection of x upon the column space of Q, (the scalar products between x and the columns of Q), will be given by QΔ T{tilde over (x)}, where {tilde over (x)} is the portion of x, containing the coordinates from Δ+1 to Δ+v. {tilde over (x)} is readily seen to be the vector of coordinates of x relative to the basis of the response region containing standard unit vectors of RN as its elements. (i.e the first basis element is a unit vector of RN having 1 in the Δ+1 coordinate and the last basis element is a unit vector of RN having 1 in the Δ+v coordinate). Given the above explanation it is easy to see that the maximal projection may be computed from the maximal unit eigenvector and the associated eigenvalue of the matrix QΔQΔ T.
Step 2 may easily be generalized to a situation where the response region is the subspace of RN whose coordinates are zero outside any predefined set of indices. For example, if the predefined set of indices is the set {1,3,7}, then QΔ may be defined to be the matrix which includes of rows 1,3,7 of Q.
In greater generality, for every matrix in U in RN comprising orthonormal columns, the projection from RN to the column space of U is given by UUT. In case of the above response region it is easy to see that an orthonormal matrix U whose column space is the response region is a matrix comprising v standard unit vectors of RN, wherein the first column has 1 in coordinate Δ+1, and 0 otherwise and the last column has 1 in coordinate Δ+v, and 0 otherwise.
The projection of a vector in the column space of Q upon the response region may be written as UUTQw where w is a unit vector in Rm. The square norm of such the projection is wTQTUUTUUTQw=wTQTUUTQw. To find a maximal projection we must thus find a maximal eigenvalue of QTUUTQ. It is easily seen that in our case QTU=QΔ T, and UTQ=QΔ, thus in order to find the maximal projection from the column space of Q upon the response region we must find the maximal eigenvalue of QΔ TQΔ, and similarly in order to find the maximal projection of the response region upon the column space of Q, the maximal eigenvalue of UTQQTU=QΔQΔ T must be computed.
The complexity of the computation varies between the cases v<=m and v>m, as is now explained.
In the case where v<=m, generating QΔQΔ T requires approximately mv2 operations for Δ=dmin, and passing from Δ to Δ+1 requires an additional mv operations. This is because the elements of QΔQΔ T are scalar products of the rows of QΔ, and when shifting from Δ to Δ+1 a new row is introduced for which v new scalar products must be computed, each of them requiring approximately m operations.
In the case where v>m, computing QΔ TQΔ requires approximately m2v operations for Δ=dmin, but passing from Δ to Δ+1 only requires an additional m2 operations. This is because the elements of QΔ TQΔ are scalar product of the columns of QΔ, and when shifting from Δ to Δ+1 a new row is introduced. Thus, in every column only two changes were made, and, therefore, each element needs two operations to fix its value. This is done for m2 elements.
3. Perform a control loop operation to determine the necessity in replacing parameters maxp, Δ0, and eq.
One example of such simple control loop is the following:
Compare the maximal projection with the maximal projection from previous delays, maxp (step 210).
If the present projection is greater than the stored maximal projection maxp, then replace maxp with the present projection, store the current delay Δ in Δ0, and store the associated unit vector (or its vector of coordinates) in eq. (step 220). Steps 210 and 220 are typically performed by the optimizer 28.
Another example of a control loop which might be applicable is to evaluate the Discrete Fourier Transform (DFT) of the unit vector associated with the maximal projection, compute its logarithm over a predefined range, take the sum of the absolute values of the logarithms, multiply by the maximal projection and compare the result with the same operations performed on the stored parameters, and then decide whether these parameters are to be changed.
4. After finding the optimal projection the results are sent to the coordinate converter 30, where the equalization coefficients are computed by first computing QΔ 0 Teq→eq if v<=m. (step 250), and then performing Req→eq (step 260) for Δ0, and eq. This is true where the matrices Q,R,M generated by orthogonalization apparatus 24 satisfy the equation Q=MR (as might be the case where the Gram-Schmidt algorithm is used). If the matrices Q,R,M generated by orthogonalization apparatus 24 satisfy M=QR (as might be the case where QR decomposition is used) then R−1eq→eq should be performed at step 260 instead of Req→eq.
It is appreciated that step 4 need only be performed once at the end of the loop where the delay and unit vector corresponding to the global maximal projection are stored. At intermediate steps only the maximal projection, the corresponding coordinate vector, and the delay need be stored.
The Gram-Schmidt orthogonalization algorithm is well known in the art, and its variants are fully described in many basic textbooks on linear algebra such as in Watkins, pp. 167-182. Purely by way of example one variant of the algorithm is now described.
Given a matrix A of order n by m, compute a matrix Q of the same order and an upper diagonal matrix R such that the columns of Q are orthonormal, and AR=Q as follows:
1. Initialize Q=A and R=Imxm.
2. for ii=1 to m
normalize the iith column of Q.
multiply the iith column of R by the normalization factor.
3. for j=ii+1 to m
compute the scalar product α, of the iith column of Q and the jth column of Q
subtract α times the iith columns of Q from the jth column of Q.
subtract α times the iith columns of R from the jth column of R.
QR decomposition techniques are also well known. QR decomposition is typically carried out in such a manner that initially the R matrix is computed along with a sequence of basic rotators or reflectors from which the matrix Q is assembled. In the present example the construction of the Q matrix may be done by applying the rotators or reflectors to the first m columns of the identity matrix of size N by N, such as is described in Watkins, pp. 136-158.
A description of an application of QR decomposition is now presented by way of example. Given a matrix A of order n by m and assumed to have full rank, compute a matrix Q of the same order and an upper diagonal matrix R such that the columns of Q are orthonormal, and A=QR.
1. Let x denote the first column of A.
Find a vector y where all coordinates are 0 except for the first, and a reflector matrix Q1 such that Q1x=y.
2. Apply Q1 to A to form a matrix (denoted A1), whose first column is zero except for the first row.
3. Next, ignore the first row and first column of A1 and, by abuse of notation, continue to denote the reduced matrix by A1, and repeat the same process (i.e. steps 1 and 2) for the reduced matrix A1, to obtain a matrix A2 and a reflector Q2. The matrix A2 is of order n−2 by m−2, and the reflector Q2 acts on Rn−1.
4. Extend Q2 to a reflector acting on Rn by acting as the identity on the first coordinate of Rn and, by abuse of notation, continue to denote the new reflector by Q2.
5. Repeat the process (steps 1-4) m times and obtain a sequence of reflectors Q1, Q2, . . . , Qm, such that QmQm−1 . . . Q1A=R, where the first m rows of R form an upper diagonal matrix R1, and the last n−m rows of R are 0.
5. Apply Q1Q2 . . . Qm from the left to the first m columns of the n by n identity matrix denoted by In,m, and obtain Q. A preferred way to carry out this computation is to compute first Bm=QmIn,m, next compute Bm−1=Qm−1Bm, etc. down to Q=B1=Q1B2.
6. By abuse of notation denote by R the first m rows of R and obtain the result.
The power method is well known in the art as a method for computing the largest eigenvector of a matrix and is described in Watkins, pp. 210-224 and in U.S. Pat. No. 5,461,640 as well. It should be noted, however, that while computing via the power method one must be careful to avoid overflows or underflows. This may require normalization of the vectors involved at each stage and performing multiplication or division. This multiplication or division may be carried by applying shifts, without affecting the simplicity of the process. Thus, the only place where division is performed is when the eigenvalue is computed from the known eigenvector.
It is appreciated that the steps of FIGS. 2A and 2B need not necessarily be performed in the order shown, and that in fact different implementations of the steps of FIGS. 2A and 2B may be employed to yield similar overall results.
It is appreciated that any of the software components of the present invention may, if desired, be implemented in ROM (read-only memory) form. The software components may, generally, be implemented in hardware, if desired, using conventional techniques.
It is appreciated that various features of the invention which are, for clarity, described in the contexts of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features of the invention which are, for brevity, described in the context of a single embodiment may also be provided separately or in any suitable subcombination.
It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention is defined only by the claims that follow:

Claims (23)

We claim:
1. A method for calculating a vector A from a set comprising at least one pair of subspaces of RN wherein N is the dimension of said vector space, each of said at least one pair comprises a first subspace and a second sub space of the vector space RN, and a set of maximal projections and their corresponding unit vectors, each of said maximal projections is associated with one of said pairs of subspaces, wherein for each of said pairs of subspaces said first subspace is the column space of a N by m matrix M and said second subspace is a function of a predefined set of indices between 1 and N, comprising:
for each of said pairs of subspaces:
determining a unit vector C in one of said subspaces so that a projection of
said unit vector upon another of said vector subspaces is maximal for all unit
vectors in said one of said vector subspaces;
applying a predefined optimizing function to said set of maximal projections and unit vectors, thereby selecting a maximal projection and its corresponding unit vector and pair of first and second subspaces;
determining a vector A having length m, so that the product of said vector A and matrix M is a unit vector B and the projection of B upon second subspace in the pair corresponding to said selected maximal projection is equal to said selected maximal projection.
2. A method according to claim 1 wherein said determining a unit vector C step comprises:
forming matrices Q and R from an orthonormal basis to the column space of said matrix M wherein Q has the same dimensions as M, wherein the columns of Q are orthonormal, and wherein either of Q=MR and QR=M are true;
generating said unit vector C in said first subspace, wherein said unit vector is associated with a maximal projection upon said second subspace; and
determining said maximum projection from said unit vector C.
3. A method according to claim 2, wherein said determining a vector A step comprises generating said vector A by:
determining a vector of coordinates of said unit vector C associated with a basis which elements are equal to the columns of Q; and
multiplying said vector of coordinates of said unit vector C by said matrix R where Q=MR and by R−1 where QR=M.
4. A method according to claim 2 wherein said forming matrices step comprises forming matrices Q and R using Gram-Schmidt orthogonalization.
5. A method according to claim 2 wherein said forming matrices step comprises forming matrices Q and R using QR decomposition.
6. A method according to claim 1 wherein said function of predefined indices is being equal to zero for coordinates other than in said set of indices.
7. A method according to claim 1, wherein said determining a unit vector C step comprises:
forming matrices Q and R from an orthonormal basis to the column space of said matrix M wherein Q has the same dimensions as M, wherein the columns of Q are orthonormal, and wherein either of Q=MR and QR=M are true;
generating said unit vector C in said second subspace, said second subspace being the subspace of RN whose coordinate values other than in said predefined set of indices are zero, wherein said unit vector is associated with a maximal projection upon said first subspace; and
determining said maximum projection from said unit vector C.
8. A method according to claim 7, wherein said determining a vector A step comprises generating said vector A by:
determining a vector of coordinates of said unit vector C associated with a standard basis of said second subspace; and
multiplying said vector of coordinates of said unit vector C by RQΔ T where Q=MR and by R−1QΔ T where QR=M, where QΔ is a matrix comprising rows of Q corresponding to said predefined set of indices and normalizing the result thus obtained to a unit vector.
9. A method, in a data transmission system, for optimizing an equalizer, said equalizer used to equalize a signal transmitted through a distorting channel, comprising the steps of:
transmitting a known training signal through said channel;
generating a replica of said training signal;
generating an N by m approximation matrix M from the output of said transmitted signal and said replica of said training signal;
for each delay in a predefined range of delays:
generating a pair of a first subspace and a second subspace of a vector space RN, said first subspace is the column space of said matrix M and said second subspace being a function of said delay is the subspace of RN whose coordinates other than in a predefined set of that delay are zero, comprising:
for each of said pair of subspaces:
determining a unit vector C in one of said subspaces so that a projection of said unit vector upon another of said vector subspaces is maximal for all unit vectors in said one of said vector subspaces;
applying a predefined optimizing function to said set of maximal projections and unit vectors, thereby selecting a maximal projection and its corresponding unit vector and pair of first and second subspaces;
determining a vector A having length m, characterized in that the product of said vector A and matrix M is a unit vector B and the projection of B upon second subspace in the pair corresponding to said selected maximal projection is equal to said selected maximal projection; and
setting vector A or any scalar multiplication thereof, to be the vector of equalizer coefficients, thereby optimizing said equalizer.
10. A method according to claim 9, wherein the determining of said unit vector C comprises the determination of its coordinate vector by:
forming matrices Q and R from an orthonormal basis to the column space of said matrix M wherein Q has the same dimensions as M, wherein the columns of Q are orthonormal, and wherein either of Q=MR and QR=M are true;
generating a coordinate vector of said unit vector C where C being a unit vector in said first subspace, wherein said coordinate vector is associated with a basis which elements are equal to the columns of Q and wherein said coordinate vector is associated with a maximal projection of said first subspace upon said second subspace; and
determining said maximum projection from said coordinate vector.
11. A method according to claim 10, wherein said determining a vector A step comprises generating said vector A by multiplying said coordinate vector by said matrix R where Q=MR and by R−1 where QR=M.
12. A method according to claim 9, wherein the determining of said unit vector C comprises the determination of its coordinate vector by:
forming matrices Q and R from an orthonormal basis to the column space of said matrix M wherein Q has the same dimensions as M, wherein the columns of Q are orthonormal, and wherein either of Q=MR and QR=M are true;
generating a coordinate vector of said unit vector C where C being a unit vector in said second subspace, wherein said coordinate vector is associated with a standard basis of said second subspace, and wherein said coordinate vector is associated with a maximal projection of said second subspace upon said first subspace; and
determining said maximum projection from said coordinate vector.
13. A method according to claim 12, wherein said determining a vector A step comprises generating said vector A by multiplying said coordinate vector by RQΔ T where Q=MR and by R−1QΔ T where QR=M, where QΔ is a matrix comprising rows of Q corresponding to said predefined set of indices and normalizing the result thus obtained to a unit vector.
14. A system for equalizing a signal transmitted through a distorting channel and comprising:
a signal receiver operative to receive an output of a known training signal of data bits transmitted through said channel;
a generator operative to generate a replica of the known training signal;
an approximation matrix generator operative to generate an approximation matrix M from said output of the known training signal and said replica of said training signal;
a generator operative to generate for each delay in a predefined range of delays a pair of a first subspace and a second subspace of a vector space RN, said first subspace is the column space of said matrix M and said second subspace being a function of said delay is the subspace of RN whose coordinates other than in a predefined set of that delay are zero, by determining for each of said pair of subspaces a unit vector C in one of said subspaces, where said unit vector C is characterized in that a projection of said unit vector upon another of said vector subspaces is maximal for all unit vectors in said one of said vector subspaces;
apparatus for applying a predefined optimizing function to said set of maximal projections and unit vectors, thereby selecting a maximal projection and its corresponding unit vector and pair of first and second subspaces;
apparatus for determining a vector A having length m, so that the product of said vector A and matrix M is a unit vector B and the projection of B upon second subspace in the pair corresponding to said selected maximal projection is equal to said selected maximal projection; and
apparatus for setting vector A to be the vector of equalizer coefficients, thereby optimizing the equalization of said signal transmitted through said distorting channel.
15. A system according to claim 14, wherein said generator is operative to determine the coordinate vector of said unit vector C by:
forming matrices Q and R from an orthonormal basis to the column space of said matrix M wherein Q has the same dimensions as M, wherein the columns of Q are orthonormal, and wherein either of Q=MR and QR=M are true;
generating a coordinate vector of said unit vector C where C being a unit vector in said first subspace, wherein said coordinate vector is associated with a basis which elements are equal to the columns of Q and wherein said coordinate vector is associated with a maximal projection of said first subspace upon said second subspace; and
determining said maximum projection from said coordinate vector.
16. A system according to claim 15, wherein said generator is operative in generating said vector A by multiplying said coordinates vector by said matrix R where Q=MR and by R−1 where QR=M.
17. A system according to claim 15 wherein said forming matrices step comprises forming matrices Q and R using Gram-Schmidt orthogonalization.
18. A system according to claim 15 wherein said forming matrices step comprises forming matrices Q and R using QR decomposition.
19. A system according to claim 14, wherein said generator is operative to determine the coordinate vector of said unit vector C by:
forming matrices Q and R from an orthonormal basis to the column space of said matrix M wherein Q has the same dimensions as M, wherein the columns of Q are orthonormal, and wherein either of Q=MR and QR=M are true;
generating a coordinate vector of said unit vector C where C being a unit vector in said second subspace, wherein said coordinate vector is associated with a standard basis of said second subspace, and wherein said coordinate vector is associated with a maximal projection of said second subspace upon said first subspace; and
determining said maximum projection from said coordinate vector.
20. A system according to claim 19, wherein said generator is operative in generating said vector A by multiplying said coordinate vector by RQΔ T where Q=MR and by R−1QΔ T where QR=M where QΔ is a matrix comprising rows of Q corresponding to said predefined set and normalizing the result thus obtained to a unit vector.
21. A system operative in calculating a vector A from a set comprising at least one pair of subspaces of RN, each of said at least one pair comprises a first subspace and a second subspace of a vector space RN, and a set of maximal projections and their corresponding unit vectors, each of said maximal projection is associated with one of said pair of subspaces, wherein N is the dimension of said vector space, and wherein for each of said pair of subspaces, said first subspace is the column space of a N by m matrix M and said second subspace is a function of a predefined set of indices between 1 and N, comprising:
apparatus operative for each of said pair of subspaces for determining a unit vector C in one of said subspaces so that a projection of said unit vector upon another of said vector subspaces is maximal for all unit vectors in said one of said vector subspaces;
apparatus for applying a predefined optimizing function to said set of maximal projections and unit vectors, thereby selecting a maximal projection and its corresponding unit vector and pair of first and second subspaces; and
apparatus for determining a vector A having length m, characterized in that the product of said vector A and matrix M is a unit vector B and the projection of B upon second subspace in the pair corresponding to said selected maximal projection is equal to said selected maximal projection.
22. A method substantially as described and exemplified herein with reference to the drawings.
23. A system substantially as described herein with reference to the drawings.
US09/272,649 1998-03-22 1999-03-18 Signal equalization Expired - Lifetime US6341298B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IL12378298A IL123782A (en) 1998-03-22 1998-03-22 Signal equalization
IL123782 1998-03-22

Publications (1)

Publication Number Publication Date
US6341298B1 true US6341298B1 (en) 2002-01-22

Family

ID=11071358

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/272,649 Expired - Lifetime US6341298B1 (en) 1998-03-22 1999-03-18 Signal equalization

Country Status (3)

Country Link
US (1) US6341298B1 (en)
EP (1) EP0946025A3 (en)
IL (1) IL123782A (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020141437A1 (en) * 2000-12-28 2002-10-03 Raimund Meyer Method for interference suppression for TDMA -and/or FDMA transmission
US20020152253A1 (en) * 2000-08-29 2002-10-17 Ricks David Charles System and method for adaptive filtering
WO2003105431A1 (en) * 2002-06-07 2003-12-18 Tokyo Electron Limited A method and system for providing a time equalizer for multiline transmission in communication systems
US20040151266A1 (en) * 2002-10-25 2004-08-05 Seema Sud Adaptive filtering in the presence of multipath
US20050021577A1 (en) * 2003-05-27 2005-01-27 Nagabhushana Prabhu Applied estimation of eigenvectors and eigenvalues
US20060265214A1 (en) * 2000-10-13 2006-11-23 Science Applications International Corp. System and method for linear prediction
US20070297499A1 (en) * 2006-06-21 2007-12-27 Acorn Technologies, Inc. Efficient channel shortening in communication systems
US7849185B1 (en) 2006-01-10 2010-12-07 Raytheon Company System and method for attacker attribution in a network security system
US7895649B1 (en) 2003-04-04 2011-02-22 Raytheon Company Dynamic rule generation for an enterprise intrusion detection system
US7950058B1 (en) 2005-09-01 2011-05-24 Raytheon Company System and method for collaborative information security correlation in low bandwidth environments
US8082286B1 (en) 2002-04-22 2011-12-20 Science Applications International Corporation Method and system for soft-weighting a reiterative adaptive signal processor
US8224761B1 (en) 2005-09-01 2012-07-17 Raytheon Company System and method for interactive correlation rule design in a network security system
US8572733B1 (en) 2005-07-06 2013-10-29 Raytheon Company System and method for active data collection in a network security system
US8811156B1 (en) * 2006-11-14 2014-08-19 Raytheon Company Compressing n-dimensional data

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10018133B4 (en) 2000-04-12 2006-12-07 Siemens Ag Method and device for transmitting information using a multi-carrier frequency signal
US6711219B2 (en) * 2000-12-04 2004-03-23 Tensorcomm, Incorporated Interference cancellation in a signal

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5285474A (en) 1992-06-12 1994-02-08 The Board Of Trustees Of The Leland Stanford, Junior University Method for equalizing a multicarrier signal in a multicarrier communication system
US5319586A (en) * 1989-12-28 1994-06-07 Texas Instruments Incorporated Methods for using a processor array to perform matrix calculations
US5461640A (en) 1994-06-03 1995-10-24 Texas Instruments Incorporated Method and system for optimizing an equalizer in a data transmission system
US5870432A (en) * 1995-10-11 1999-02-09 Alcatel N. V. Method for transmission line impulse response equalization and a device to perform this method
US6002716A (en) * 1996-04-12 1999-12-14 U.S. Philips Corporation Equalizer with extended channel estimation for a receiver in a digital transmission system
US6151358A (en) * 1999-08-11 2000-11-21 Motorola, Inc. Method and apparatus, and computer program for producing filter coefficients for equalizers

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414699A (en) * 1993-09-27 1995-05-09 Motorola, Inc. Method and apparatus for receiving and decoding communication signals in a CDMA receiver using partial de-correlation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319586A (en) * 1989-12-28 1994-06-07 Texas Instruments Incorporated Methods for using a processor array to perform matrix calculations
US5285474A (en) 1992-06-12 1994-02-08 The Board Of Trustees Of The Leland Stanford, Junior University Method for equalizing a multicarrier signal in a multicarrier communication system
US5461640A (en) 1994-06-03 1995-10-24 Texas Instruments Incorporated Method and system for optimizing an equalizer in a data transmission system
US5870432A (en) * 1995-10-11 1999-02-09 Alcatel N. V. Method for transmission line impulse response equalization and a device to perform this method
US6002716A (en) * 1996-04-12 1999-12-14 U.S. Philips Corporation Equalizer with extended channel estimation for a receiver in a digital transmission system
US6151358A (en) * 1999-08-11 2000-11-21 Motorola, Inc. Method and apparatus, and computer program for producing filter coefficients for equalizers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Fundamentals of Matrix Computations", by D.S. Watkins, John Wiley & Sons, 1991, pp. 136-159, 166-183, 210-225.

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120657B2 (en) * 2000-08-29 2006-10-10 Science Applications International Corporation System and method for adaptive filtering
US20020152253A1 (en) * 2000-08-29 2002-10-17 Ricks David Charles System and method for adaptive filtering
US7426463B2 (en) 2000-10-13 2008-09-16 Science Applications International Corporation System and method for linear prediction
US20060265214A1 (en) * 2000-10-13 2006-11-23 Science Applications International Corp. System and method for linear prediction
US7215726B2 (en) * 2000-12-28 2007-05-08 Com-Research Gmbh Method for interference suppression for TDMA -and/or FDMA transmission
US20020141437A1 (en) * 2000-12-28 2002-10-03 Raimund Meyer Method for interference suppression for TDMA -and/or FDMA transmission
US8082286B1 (en) 2002-04-22 2011-12-20 Science Applications International Corporation Method and system for soft-weighting a reiterative adaptive signal processor
US20110206108A1 (en) * 2002-06-07 2011-08-25 Michail Tsatsanis Method and system for providing a time equalizer for multiline transmission in communication systems
WO2003105431A1 (en) * 2002-06-07 2003-12-18 Tokyo Electron Limited A method and system for providing a time equalizer for multiline transmission in communication systems
US8139658B2 (en) 2002-06-07 2012-03-20 Tokyo Electron Limited Method and system for providing a time equalizer for multiline transmission in communication systems
US20040151266A1 (en) * 2002-10-25 2004-08-05 Seema Sud Adaptive filtering in the presence of multipath
US7415065B2 (en) 2002-10-25 2008-08-19 Science Applications International Corporation Adaptive filtering in the presence of multipath
US7895649B1 (en) 2003-04-04 2011-02-22 Raytheon Company Dynamic rule generation for an enterprise intrusion detection system
US20050021577A1 (en) * 2003-05-27 2005-01-27 Nagabhushana Prabhu Applied estimation of eigenvectors and eigenvalues
US8572733B1 (en) 2005-07-06 2013-10-29 Raytheon Company System and method for active data collection in a network security system
US7950058B1 (en) 2005-09-01 2011-05-24 Raytheon Company System and method for collaborative information security correlation in low bandwidth environments
US8224761B1 (en) 2005-09-01 2012-07-17 Raytheon Company System and method for interactive correlation rule design in a network security system
US7849185B1 (en) 2006-01-10 2010-12-07 Raytheon Company System and method for attacker attribution in a network security system
US20070297499A1 (en) * 2006-06-21 2007-12-27 Acorn Technologies, Inc. Efficient channel shortening in communication systems
US7639738B2 (en) 2006-06-21 2009-12-29 Acorn Technologies, Inc. Efficient channel shortening in communication systems
US8811156B1 (en) * 2006-11-14 2014-08-19 Raytheon Company Compressing n-dimensional data

Also Published As

Publication number Publication date
EP0946025A2 (en) 1999-09-29
IL123782A (en) 2001-05-20
IL123782A0 (en) 1998-10-30
EP0946025A3 (en) 2002-04-24

Similar Documents

Publication Publication Date Title
US6341298B1 (en) Signal equalization
US5048060A (en) Digital signal receiving circuit with means for controlling a baud rate sampling phase by a power of sampled signals
US5461640A (en) Method and system for optimizing an equalizer in a data transmission system
RU2521489C2 (en) Efficient filter weight computation for mimo system
US6151358A (en) Method and apparatus, and computer program for producing filter coefficients for equalizers
CN111279337A (en) Lattice reduction in orthogonal time-frequency space modulation
US8891607B2 (en) Feed forward equalizer tap weight adaptation based on channel estimation
JP4462946B2 (en) Method and system for processing sample signals
CN108833312B (en) Time-varying sparse underwater acoustic channel estimation method based on delay-Doppler domain
US4097807A (en) Automatic equalizing method and system
US7327810B2 (en) Efficient conjugate gradient based channel estimator
CN113162665B (en) Pre-coding method based on deep learning channel prediction
US5272726A (en) Blind type sequence estimator for use in communications system
US20090122853A1 (en) Channel tracking methods for subspace equalizers
JP4524119B2 (en) Signal processing method and system using vector output from scalar data
US6873279B2 (en) Adaptive decision slicer
CN1977504B (en) Method for calculating filter coefficients for an equaliser in a communication receiver using hermitian optimisation
US8165231B2 (en) Wireless communications apparatus
CN114641972A (en) Method for estimating transmitted symbol vector in overload communication channel
JPS643370B2 (en)
US20020027953A1 (en) Low-complexity blind equalizer
US5440594A (en) Method and apparatus for joint optimization of transmitted pulse shape and receiver timing in digital systems
JP2001036436A (en) Device used in receiver
US8165246B1 (en) Training sequence for low latency LMS implementation
US6757339B1 (en) Minimum mean-squared error block-decision feedback sequence estimation in digital communication systems

Legal Events

Date Code Title Description
AS Assignment

Owner name: ECI TELECOM LTD., ISRAEL

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ILANI, YISHAI;REEL/FRAME:009847/0371

Effective date: 19990310

AS Assignment

Owner name: ILANI, ISHAI, ISRAEL

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ECI TELECOM LTD.;REEL/FRAME:012436/0964

Effective date: 20010307

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAT HOLDER CLAIMS SMALL ENTITY STATUS, ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: LTOS); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: ICE 8 WIRELESS LIMITED LIABILITY COMPANY, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ILANI, ISHAI;REEL/FRAME:019767/0062

Effective date: 20061008

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: MINERAL LASSEN LLC, NEVADA

Free format text: MERGER;ASSIGNOR:ICE 8 WIRELESS LIMITED LIABILITY COMPANY;REEL/FRAME:036545/0235

Effective date: 20150811

AS Assignment

Owner name: HANGER SOLUTIONS, LLC, GEORGIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTELLECTUAL VENTURES ASSETS 161 LLC;REEL/FRAME:052159/0509

Effective date: 20191206