Claims
- 1. A method performed by a computer for filtering interference and noise of an asynchronous wireless signal comprising the steps of:
receiving an asynchronous data vector including a spreading code; using the received asynchronous data vector, updating weight coefficients of an adaptive filter without prior knowledge of synchronization of synchronization of the spreading code; using the updated weight coefficients information to determine synchronization of the spreading code; and demodulating the output of the filter using the determined synchronization of the spreading code for obtaining a filtered data vector.
- 2. The method of claim 1, further comprising the step of dividing the data vector represented by x[i] into two channels x1[i] and d1[i] using a transformation T1 on x[i], represented by T1x[i], wherein the transformed data vector x[i] does not contain information about a designated sender's spreading code s1, and d1[i] contains primarily only information about the spreading code s1 and residual data from correlation of s1 and x[i].
- 3. The method of claim 2, wherein the transformation T1 is defined by
- 4. The method of claim 1, wherein the step of determining synchronization comprises the steps of:
computing î, the time occurrence of the information data bit, from the equation; 129&LeftBracketingBar;Re{y[i^]}&RightBracketingBar;=maxk∈{0,1, … , NS-1}&LeftBracketingBar;Re{y[i-k]}&RightBracketingBar;,(30c)where y[i]=w[i]†x[i] is filtered output from a likelihood ratio test at clock time i detecting sequentially maximum of all likelihood tests in the set Y[i] given byY[i]={¦Re{y[i]}¦, . . . , Re{y[i−NS+1]}¦},where N is number of chips in the spreading code and S is number of samples per chip time.
- 5. The method of claim 1, wherein the step of updating weight coefficients comprises the steps of:
computing maximum likelihood estimator for Rx[i] 130R^x[i]=1L∑m=1Lx(m)[i]x(m)*[i]=1LX0[i]X0t[i]. wherein, x(m)[i] is an observation vector at a sampling time iTs of the mth symbol, L is approximate independent samples of the observation vector x(m)[i] for the initial acquisition of detector parameters, and the data is given in matrix form byX0[i]Δ[x(1)[i], . . . , x(L)[i]];computing 131R^x1[i]=B1R^x1[i]B1t=1LB1X0[i]X0t[i]B1t andr^x1d1=B1R^x[i]s1=1LB1X0[i]X0t[i]s1computing 132wGSCt[i]=rx1d1t[i]Rx1-1[i];(29)estimating 133b^1=sgn((u1t-wGSCt[i^]B1)x[i^]).(35)wherein 134u1t-wGSCt[i]B1(30a) is a weight vetor; and computing 135y[i]=(u1t-wGSCt[i]B1)x[i].(30b)
- 6. The method of claim 1, wherein the step of updating weight coefficients further comprises the steps of:
applying X0[i]Δ[x(1)[i], . . . , x(L)[i]], wherein L is number of independent samples of an observation vector x(m)[i] and s1 is a designated sender's spreading code; applying 136u^1=s1&LeftDoubleBracketingBar;s1&RightDoubleBracketingBar;;applying 137B^1=I-u^ju^jt;for j=1 to (M−1), computing dj and xj 138djt[i]Δ__[d^j(1)[i],… ,d^j(L)[i]]=u^jt[i]Xj-1[i],Xj[i]Δ__[xj(1)[i],… ,xj(L)[i]]=B^j[i]Xj-1[i];computing (j+1)th stage basis vector, 139r^xjdj[i]=1L∑m=1Lxj(m)[i]dj(m)[i]*=1LXj[i]dj[i]δ^j+1[i]=&LeftDoubleBracketingBar;r^xjdj[i]&RightDoubleBracketingBar;u^j+1[i]=r^xjdj[i]δ^j+1[i];computing (j+1)th blocking matrix {circumflex over (B)}j+1{circumflex over (B)}j+1[i]=I−ûj+1[i]ûj+1†[i];computing 140dM(m)[i] and setting it equal to 141∈M(m)[i]applying 142dMt[i]Δ__[d^M(1)[i],… ,d^M(L)[i]]=eMt[i]=u^Mt[i]XM-1[i];σ^dM2[i]=1L∑m=1L&LeftBracketingBar;d^M(m)[i]&RightBracketingBar;2=ξ^M[i],ω^M[i]=ξ^M-1[i]δ^M[i];for j=(M−1) to 2, estimating variance of dj[i]143σ^dj2[i]=1L∑m=1L&LeftBracketingBar;d^j(m)[i]&RightBracketingBar;2;estimating variance of ∈j144ξ^j[i]Δ__σ^∈j2[i]=σ^dj2[i]-ξ^j+1-1[i]δ^j+12[i]; and computing jth scalar Wiener filter {circumflex over (ω)}j[i]145ω^j[i]=δ^j[i]ξ^j[i].
- 7. The method of claim 1, wherein the step of updating weight coefficients further comprises the steps of:
applying X0[i]Δ[i]x(1)[i], . . . , x(L)[i],wherein L is number of independent samples of an observation vector x(m)[i] and s1 is a designated sender's spreading code; applying 146u^1=s1&LeftDoubleBracketingBar;s1&RightDoubleBracketingBar; and x0[i]=x[i]; for j=1 to (M−1), computing dj and xj 147dj[i]=u^jt[i]xj-1[i] xj[i]=xj−1[i]−ûj[i]dj[i]148djt[i]=Δ[d^j(1)[i],… ,d^j(L)[i]]=u^jt[i]Xj-1[i],Xj[i]=Δ[xj(1)[i],… ,xj(L)[i]]=Xj-1[i]-u^j[i]djt[i];computing (j+1)th stage basis vector, 149r^xidj[i]=1L∑m=1L xj(m)[i]dj(m)[i]*=1LXj[i]dj[i]δ^j+1[i]=&LeftDoubleBracketingBar;r^xjdj[i]&RightDoubleBracketingBar;u^j+1[i]=r^xjdj[i]δ^j+1[i];computing 150dM(m)[i] and setting it equal to 151ϵM(m)[i]applying 152dMt[i]=Δ[d^M(1)[i],,d^M(L)[i]]=eMt[i]=u^Mt[i]XM-1[i];σ^dM2[i]=1L∑m=1L &LeftBracketingBar;d^M(m)[i]&RightBracketingBar;2=ξ^M[i],ω^M[i]=ξ^M-1[i]δ^M[i];for j=(M−1) to 2, estimating variance of 153dj[i],σ^dj2[i]=1L∑m=1L &LeftBracketingBar;d^j(m)[i]&RightBracketingBar;2;estimating variance of 154ϵj,ξ^j[i]=Δσ^ϵj2[i]=σ^dj2[i]-ξ^j+1-1[i]δ^j+12[i]; and computing jth scalar Wiener filter by 155ω^j[i],ω^j[i]=δ^j[i]ξ^j[i].
- 8. The method of claim 1, wherein the steps of updating weight coefficients and using the updated weight coefficients further comprises the steps of:
for k=1 to n, applying 156rx0d0(k)[i]=s1,u^1(k)[i]=s1&LeftDoubleBracketingBar;s1&RightDoubleBracketingBar;, and {circumflex over (δ)}1(k)[i]=¦s1¦, wherein 157x0(k)[i] is the received data vector, s1 is a designated sender's spreading code, and k is kth clock time, where k=1is the first time the data is observed; for j=1 to (M−1), applying 158dj(k)[i]=u^j(k)[i]txj-1(k)[i],andxj(k)[i]=xj-1(k)[i]-u^j(k)[i]dj(k)[i];computing (j+1)th stage basis vector, 159r^xjdj(k)[i]=(1-α)r^xjdj(k-1)[i]+xj(k)[i]dj(k)[i]*,160δ^j+1(k)[i]=&LeftDoubleBracketingBar;r^xjdj(k-1)[i]&RightDoubleBracketingBar;,u^j+1(k)[i]=r^xjdj(k)[i]δ^j+1(k)[i],wherein α is a time constant; applying 161ϵM(k)[i]=dM(k)[i]t=u^M(k)[i]txM-1(k)[i];for j=M to 2, estimating variance of 162ϵj(k)[i]163δ^j(k)[i]=(δ^ϵj(k))2[i]=(1-α)ξ^j(k-1)[i]+&LeftBracketingBar;ϵj(k)[i]&RightBracketingBar;2;computing jth scalar Wiener filter 164ω^j(k)[i]165ω^j(k)[i]=δ^j(k)[i]ξ^j(k)[i]; and computing (j−1)th error signal 166ϵj-1(k)[i]167ϵj-1(k)[i]=dj-1(k)[i]-ω^j(k)[i]*ϵj(k)[i];wherein output at time kth is 168y(k)[i]=ϵ1(k)[i].
- 9. An adaptive near-far resistant receiver for an asynchronous wireless system comprising:
means for receiving an asynchronous data vector including a spreading code; using the received asynchronous data vector, means for updating weight coefficients of an adaptive filter without prior knowledge of synchronization of the spreading code of the data vector; using the updated weight coefficients, means for determining synchronization of the spreading code; and means for demodulating the output of the filter using the determined synchronization of the spreading code for obtaining a filtered data vector.
- 10. The receiver of claim 9, further comprising means for dividing the data vector represented by x[i] into two channels x1[i] and d1[i] using a transformation T1 on x[i], represented by T1x[i], wherein the transformed data vector x[i] does not contain information about a designated sender's spreading code s1 and d1[i] contains primarily only information about the spreading code s1 and residual data from correlation of s1 and x[i].
- 11. The receiver of claim 10, wherein the transformation T1 is defined by
- 12. The receiver of claim 9, wherein the means for determining the synchronization of the spreading code comprises:
means for computing î, the time occurrence of the information data bit, from the equation; 171&LeftBracketingBar;Re{y[i^]}&RightBracketingBar;=maxkϵ{0,1,… ,NS-1}&LeftBracketingBar;Re{y[i-k]}&RightBracketingBar;,(30c)where y[i]=w[i]†x [i] is filtered output from a likelihood ratio test at clock time i detecting sequentially maximum of all likelihood ratio tests in the set Y[i] given by Y[i]={¦Re{y[i]}¦, . . . , ¦Re{y[i−NS+1]}¦}, where N is number of chips in the spreading code and S is number of samples per chip time.
- 13. The receiver of claim 9, wherein the means for using the received asynchronous data vector, to update weight coefficients further comprises:
means for applying X0[i]Δ[x(1)[i], . . . , x(L)[i]],wherein L is number of independent samples of an observation vector x(m)[i] and s1 is a designated sender's spreading code; means for applying 172u^1=s1&LeftDoubleBracketingBar;s1&RightDoubleBracketingBar;;means for applying 173B^1=I-u^ju^jt;for j=1 to (M−1), means for computing dj and xj 174djt[i]=Δ[d^j(1)[i],… ,d^j(L)[i]]=u^jtXj-1[i],Xj[i]=Δ[xj(1)[i],… ,xj(L)[i]]=B^j[i]Xj-1[i];means for computing (j+1)th stage basis vector, 175r^xjdj[i]=1L∑m=1L xj(m)[i]dj(m)[i]*=1LXj[i]dj[i]δ^j+1[i]=&LeftDoubleBracketingBar;r^xjdj[i]&RightDoubleBracketingBar;u^j+1[i]=r^xjdj[i]δ^j+1[i];means for computing (j+1)th blocking matrix {circumflex over (B)}j+1 176B^j+1[i]=I-u^j+1[i]u^j+1t[i];means for computing 177dM(m)[i] and set it equal to 178ϵM(m)[i]179dM†[i]=Δ[d^M(1)[i],… ,d^M(L)[i]]=eM†[i]=u^M†[i]XM-1[i];means for applying 180σ^dM2[i]=1L∑m=1L &LeftBracketingBar;d^M(m)[i]&RightBracketingBar;2=ξ^M[i],ω^M[i]=ξ^M-1[i],δ^M[i];for j=(M−1) to 2, means for estimating variance of d1[i]181σ^dj2[i]=1L∑m=1L &LeftBracketingBar;d^j(m)[i]&RightBracketingBar;2;means for estimate variance of ∈j182ξ^j[i]=Δσ^ϵi2[i]=σ^dj2[i]-ξ^j+1-1[i]δ^j+12[i];and and means for computing jth scalar Wiener filter {circumflex over (ω)}j[i]183ω^j[i]=δ^j[i]ξ^j[i].
- 14. The receiver of claim 9, wherein the means for using the received asynchronous data vector, to update weight coefficients further comprises:
means for applying X0[i]Δ[x(1)[i], . . . , x(L)[i]],wherein L is number of independent samples of an observation vector x(m)[i] and S1 is a designated sender's spreading code; means for applying 184u^1=s1&LeftDoubleBracketingBar;s1&RightDoubleBracketingBar; and x0[i]=x[i]; for j=1 to (M−1), means for computing dj and Xj 185dj[i]= u^j†[i]xj-1[i]xj[i]= xj-1[i]-u^j[i]dj[i]dj†[i]=Δ [d^j(1)[i],… ,d^j(L)[i]]=u^j†[i]Xj-1[i],Xj[i]=Δ [xj(1)[i],… ,xj(L)[i]]=xj-1[i]-u^j[i]dj†[i];means for computing (j+1)th stage basis vector, 186r^xjdi[i]=1L∑m=1L xj(m)[i]dj(m)[i]*=1LXj[i]dj[i]δ^j+1[i]=&LeftDoubleBracketingBar;r^xjdj[i]&RightDoubleBracketingBar;u^j+1[i]=r^xjdj[i]δ^j+1[i];means for computing 187lM(m)[i] and set it equal to 188ϵM(m)[i]189dj†[i]=Δ [d^M(1)[i],,d^M(L)[i]]=eM†[i]=u^M†[i]XM-1[i];means for applying 190σ^dM2[i]=1L∑m=1L &LeftBracketingBar;d^M(m)[i]&RightBracketingBar;2=ξ^M[i],ω^M[i]=ξ^M-1[i]δ^M[i];for j=(M−1) to 2, means for estimating variance of 191dj[i],σ^dj2[i]=1L∑m=1L &LeftBracketingBar;d^j(m)[i]&RightBracketingBar;2;means for estimating variance of 192ϵj,ξ^j[i]=Δσ^ϵj2[i]=σ^dj2[i]-ξ^j+1-1[i]δ^j+12[i];andmeans for computing jth scalar Wiener filter by 193ω^j[i],ω^j[i]=δ^j[i]ξ^j[i].
- 15. The receiver of claim 9, wherein the means for using the received asynchronous data and updates weight coefficients further comprises:
for k=1 to n, means for applying 194r^x0d0(k)[i]=s1,u^1(k)[i]=s1&LeftDoubleBracketingBar;s1&RightDoubleBracketingBar;,and δ^1(k)[i]=&LeftDoubleBracketingBar;s1&RightDoubleBracketingBar;,wherein x0(k)[i] is the received data vector, s1 is a designated sender's spreading code, and k is kth clock time, where k=1 is the first time the data is observed; for j=1 to (M−1), means for applying 195dj(k)[i]=u^j(k)[i]†xj-1(k)[i],andxj(k)[i]=xj-1(k)[i]-u^j(k)[i]dj(k)[i];means for computing (j+1)th stage basis vector, 196 δ^j+1(k)[i]=&LeftDoubleBracketingBar;r^xjdj(k)[i]&RightDoubleBracketingBar;, u^j+1(k)[i]=r^xjdj(k)[i]δ^j+1(k)[i],wherein a is a time constant; means for applying 197ϵM(k)[i]=dM(k)[i]†=u^M(k)[i]†xM-1(k)[i];for j=M to 2, means for estimating variance of 198ϵj(k)[i]199ξ^j(k)[i]=(δ^ϵj(k))2[i]=(1-α)ξ^j(k-1)[i]+&LeftBracketingBar;ϵj(k)[i]&RightBracketingBar;2;means for computing jth scalar Wiener filter 200ω^j(k)[i]201ω^j(k)[i]=δ^j(k)[i]ξ^j(k)[i];andmeans for computing (j−1)th error signal 202ϵj-1(k)[i]203ϵj-1(k)[i]=dj-1(k)[i]-ω^j(k)[i]*ϵj(k)[i];wherein output at time kth is 204y(k)[i]=ϵ1(k)[i].
- 16. The receiver of claim 9, wherein the means for using the received asynchronous data vector, to update weight coefficients further comprises:
means for computing maximum likelihood estimator for Rx[i]205R^x[i]=1L∑m=1L x(m)[i]x(m)*[i]=1LX0[i]X0†[i]. wherein, x(m)[i] is an observation vector at a sampling time iTs of the mth symbol, L is the number of independent samples of the observation vector x(m)[i] for the initial acquisition of detector parameters, and the data is given in matrix form byx0[i]Δ[x(1)[i], . . . , x(L)[i]];means for computing 206R^x1[i]=B1R^x1[i]B1†=1LB1X0[i]X0†[i]B1† andr^x1d1=B1R^x[i]s1=1LB1X0[i]X0t[i]s1means for computing 207wGSC†[i]=rx1d1†[i]Rx1-1[i];(29)means for estimating 208b^1=sgn((u1†-wGSC†[i^]B1)x[i^]),(35) wherein 209u1†-wGSC†[i]B1(30a) is a weight vector; and means for computing 210y[i]=(u1†-wGSC†[i]B1)x[i].(30b)
- 17. A digital signal processor having stored thereon a set of instructions including instructions for filtering interference and noise of an asynchronous wireless signal, when executed, the instructions cause the digital signal processor to perform the steps of:
receiving an asynchronous data vector including a spreading code; using the received asynchronous data vector, updating weight coefficients of an adaptive filter without prior knowledge of synchronization of the spreading code of the data vector; using the updated weight coefficients information data bits to determine the synchronization of the spreading code of the data vector; and demodulating the output of the filter using the determined synchronization of the spreading code of the data vector for obtaining a filtered data vector.
- 18. The digital signal processor of claim 17, further comprising instructions for dividing the data vector represented by x[i] into two channels x1[i] and d1[i] using a transformation T1 on x[i], represented by T1x[i], wherein the transformed data vector x[i] does not contain information about a designated sender's spreading code s1, and d1[i] contains primarily only information about the spreading code s1 and residual data from correlation of s1 and x[i].
- 19. The digital signal processor of claim 18, wherein the transformation T1 is defined by
- 20. The digital signal processor of claim 17, wherein the instructions for determining synchronization comprises instructions for:
computing î, the time occurrence of the information data bit, from the equation; 213&LeftBracketingBar;Re{y[i^]}&RightBracketingBar;=maxkϵ{0,1, … ,NS-1}&LeftBracketingBar;Re{y[i-k]}&RightBracketingBar;,(30c)where y[i]=w[i]†x[i] is filtered output from a likelihood test at clock time I detecting sequentially maximum of all likelihood tests in the set Y[i] given by Y[i]={¦Re{y[i]}¦, . . . ,¦Re{y[i−NS+1]}¦}, where N is number of chips in the spreading code and S is number of samples per chip time.
- 21. An adaptive receiver for filtering interference and noise of an asynchronous wireless signal comprising:
means for receiving an asynchronous data vector including information data bits; means for updating weight coefficients of an adaptive filter without a prior knowledge of synchronization of the information data bits; using the updated weight coefficient, means for determining the start of the information data bits; and means for demodulating the output of the adaptive filter.
- 22. The adaptive receiver of claim 21, further comprising means for dividing the data vector represented by x[i] into two channels x1[i] and d1[i] using a transformation T1on x[i], represented by T1x[i], wherein the transformed data vector x[i] does not contain information about a designated sender's spreading code s1, and d1[i] contains primarily only information about the spreading code s1 and residual data from correlation of s1 and x[i].
- 23. The adaptive receiver of claim 22, wherein the transformation T1is defined by
- 24. The adaptive receiver of claim 21, wherein the means for determining the start of the information data bits comprises means for:
computing î, the time occurrence of the information data bit, from the equation; 216&LeftBracketingBar;Re{y[i^]}&RightBracketingBar;=maxkϵ{0,1, … ,NS-1}&LeftBracketingBar;Re{y[i-k]}&RightBracketingBar;,(30c) where y[i]=w[i]†x[i] is filtered output from a likelihood ratio test at clock time i detecting sequentially maximum of all likelihood ratio tests in the set Y[i] given by Y[i]={¦Re{y[i]}¦, . . . ,¦Re{y[i−NS+1]}¦}, where N is number of chips in the spreading code and S is number of samples per chip time.
- 25. The adaptive receiver of claim 21, wherein the means for determining the start of the information data bits comprises:
for k=1to n, means for applying 217r^x0d0(k)[i]=s1,u^1(k)[i]=s1&LeftDoubleBracketingBar;s1&RightDoubleBracketingBar;, and 218δ^1(k)[i]=&LeftDoubleBracketingBar;s1&RightDoubleBracketingBar;, wherein 219x0(k)[i] is the received data vector, s1is a designated sender's spreading code, and k is kth clock time, where k=1 is the first time the data is observed; for j=1 to (M−1), means for applying 220dj(k)[i]=u^j(k)[i]†xj-1(k)[i],andxj(k)[i]=xj-1(k)[i]-u^j(k)[i]dj(k)[i];means for computing (j+1)th stage basis vector, 221r^xjdj(k)[i]=(1-α)r^xjdj(k-1)[i]+xj(k)[i]dj(k)[i]*,δ^j+1(k)[i]=&LeftDoubleBracketingBar;r^xjdj(k)[i]&RightDoubleBracketingBar;,u^j+1(k)[i]=r^xjdj(k)[i]δ^j+1(k)[i], wherein α is a time constant; means for applying 222ϵM(k)[i]=dM(k)[i]†=u^M(k)[i]†xM-1(k)[i];for j=M to 2, means for estimating variance of 223ϵj(k)[i]224ξ^j(k)[i]=(δ^ϵj(k))2[i]=(1-α)ξ^j(k-1)[i]+&LeftBracketingBar;ϵj(k)[i]&RightBracketingBar;2;means for computing jth scalar Wiener filter 225ω^j(k)[i]226ω^j(k)[i]=δ^j(k)[i]ξ^j(k)[i];and and means for computing (j−1)th error signal 227ϵj-1(k)[i]228∈j-1(k)[i]=dj-1(k)[i]-ω^j(k)[i]*∈j(k)[i];wherein output at time kth isy(k)[i]=∈1(k)[i].
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This patent application claims the benefit of the filing date of U.S. Provisional Patent Application Ser. No. 60/248,469, filed Nov.14, 2000 and entitled “Adaptive Multistage Filter-Bank Receiver for Wireless Communication Systems,” the entire contents of which are hereby expressly incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60248469 |
Nov 2000 |
US |