Code division multiple access (CDMA) system for calculating coefficients of filter and method for filtering a received signal
A method for calculating coefficients of a filter and a method for filtering are provided. The invention directly factorizes a specific function in a cepstrum domain by spectral factorization and cepstrum technique to obtain coefficients of denominator function from the filter. In other words, the invention adopts a non-iterative algorithm to reduce computational complexity and avoid convergence due to calculating coefficients. Besides, the specific function of the invention includes a compensation function, so that a Fourier transform with greatly reduced size can be utilized in the spectral factorization to greatly save the computations and keep good system performance at a receiver.
1. A method implemented in a Code Division Multiple Access (CDMA) system for forming a filter with filtering coefficients, wherein the filter is adapted to an equalizer of a receiver to eliminate interferences to a received signal from the receiver caused by transmission channel, the method comprising:
a. estimating a channel response of the transmission channel;
b. estimating a signal-to-interference-plus-noise power ratio (SINR) for the received signal from the receiver;
c. calculating an autocorrelation function of the channel response;
d. summing up the autocorrelation function of the channel response, a reciprocal of the SINR, and a compensation function, so as to obtain a specific function;
e. retrieving a plurality of coefficients from the specific function;
f. performing a cepstrum computation on the plurality of coefficients, so as to correspondingly obtain a plurality of quefrency coefficients;
g. selecting a part of the plurality of quefrency coefficients to perform a Fourier transform with a limited size, so as to obtain a plurality of spectral components;
h. applying an exponential computation on the spectral components, so as to obtain a plurality of exponential spectral components;
i. applying an inverse Fourier transform with the limited size on the exponential spectral components, so as to obtain a plurality of coefficient candidates;
j. selecting a part of the plurality of coefficient candidates, and normalizing the plurality of coefficient candidates to serve as coefficients of a denominator function of the filter, so as to form the denominator function; and
k. calculating coefficients of a numerator function of the filter according to the coefficients of the denominator function and the channel response.
2. The method for calculating coefficients of a filter according to claim 1 , wherein the step f comprises:
f1. applying the Fourier transform with a size K on the plurality of coefficients, wherein K is a positive integer;
f2. applying a logarithmic computation on the plurality of coefficients after applying the Fourier transform, so as to correspondingly obtain a plurality of logarithmic spectral components; and
f3. applying an inverse Fourier transform on the logarithmic spectral components, so as to obtain the quefrency coefficients.
3. The method for calculating coefficients of a filter according to claim 2 , wherein the channel response is expressed as ĥ(n), a Z-transform of the channel response is Ĥ(z)=Σ n ĥ(n)z −n , and the autocorrelation function of the channel response is Ĥ(z)Ĥ # (z), wherein Ĥ # (z)=Ĥ*((z*) −1 )=Σ n ĥ*(n)z n .
4. The method for calculating coefficients of a filter according to claim 3 , further comprising:
providing the compensation function, wherein the compensation function is relevant to the size of the Fourier transform, and expressed as C p (z), the specific function is expressed as G(z), wherein G(z) can be expressed as Ĥ(z)Ĥ # (z)+SINR −1 +C p (z).
5. The method for calculating coefficients of a filter according to claim 2 , wherein the specific function is expressed as G(z), a length of the channel response is expressed as L, wherein L is a positive integer, and the step e further comprises:
converting the specific function G(z) into a polynomial of a Z function, wherein
G ( z )= g −L+1 z −L+1 +g −L+2 z −L+2 + . . . +g 0 +g 1 z+g 2 z 2 + . . . +g L−1 z L−1 ,
and a collection of the coefficients is expressed as {g n } n=−L+1 L−l .
6. The method for calculating coefficients of a filter according to claim 5 , wherein the size of the Fourier transform is expressed as K, and K is larger than or equal to 2L−1, and the step f1 further comprises:
sequentially taking the {g i } i=0 L−1 as an input for the Fourier transform at an index position of 0˜L−1, sequentially taking {g j } j=−L+1 −1 , as an input for the Fourier transform at an indexes of K−L+1˜K−1, and performing the Fourier transform, wherein a result of the Fourier transform is expressed as {G k } k=0 K−1 , and i, j and k are integers.
7. The method for calculating coefficients of a filter according to claim 6 , wherein the logarithmic spectral components are {log(G k )} k=0 K−1 , the quefrency coefficients obtained after performing the inverse Fourier transform on the logarithmic spectral components {log(G k )} k=0 K−1 are expressed as {q n } n=0 K−1 , and the step g further comprises:
taking a result of dividing q 0 by a first specific value as an input of the Fourier transform at an index of 0, sequentially taking {q n } n=1 K/D−1 as an input of the Fourier transform at the indexes of 1˜K/D−1, taking a second specific value as an input of the Fourier transform at the indexes of K/D˜K−1, and performing the Fourier transform, so as to obtain the spectral components {Q k } k=0 K−1 , wherein D and the first specific value are positive integers, and the second specific value is an integer.
8. The method for calculating coefficients of a filter according to claim 7 , wherein the exponential spectral components are {exp(Q k )} k=0 K−1 , the coefficient candidates obtained after performing the inverse Fourier transform on the exponential spectral components {exp(Q k )} k=0 K−1 are expressed as {f n } n=0 K−1 , and the denominator function of the filter is expressed as a polynomial Ã(z), and the step j further comprises:
taking first P coefficient candidates from the coefficient candidates, to be expressed as {f n } n=0 P−1 , wherein P is a positive integer; and
sequentially taking {f n /f 0 } n=0 P−1 as coefficients corresponding to z th power of the denominator function Ã(z), so as to obtain the denominator function Ã(z).
9. The method for calculating coefficients of a filter according to claim 8 , wherein the value P is equal to the length L of the channel response, the channel response is expressed as h n , the coefficients of the denominator function Ã(z) are expressed as {a n } n=0 L−1 , the numerator function is expressed as {tilde over (B)}(z), the coefficients of the numerator function are expressed as {b n } n=0 M , a length of the coefficients of the numerator function is M+1, wherein M is a positive integer, and the step k comprises:
calculating a square f 0 2 in the coefficient candidates;
calculating a coefficient b M of the numerator function, wherein b M =h 0 */f 0 2 ;
sequentially calculating the coefficients b M−1 , b M−2 , . . . , b M−L+1 of the numerator function according to a coefficient b M−1 , wherein when n is between M−L+1˜M−1, the coefficients of the numerator function {tilde over (B)}(z) are
b
n
=
h
M
-
n
*
/
f
0
2
-
∑
m
=
1
M
-
n
a
m
*
·
b
n
+
m
;
and
when M≧L, sequentially calculating the coefficients b M−L , b M−L−1 , . . . , b 0 of the numerator function {tilde over (B)}(z) according to a coefficient b M−L , wherein when n is between 0˜M−L, the coefficients of the numerator function {tilde over (B)}(z) are
b
n
=
-
∑
m
=
1
L
-
1
a
m
*
·
b
n
+
m
.
10. The method for calculating coefficients of a filter according to claim 4 , wherein the compensation function is relevant to the length of the channel response, and the SINR.
11. The method for calculating coefficients of a filter according to claim 4 , wherein the step of providing the compensation function further comprises:
making a statistics about a performance of the receiver under different SINRs;
finding out a specific SINR corresponding to the performance of the receiver begins to diverge; and
determining the compensation function according to the specific SINR.
12. The method for calculating coefficients of a filter according to claim 4 , wherein the step of providing the compensation function further comprises:
creating a specific table, for recording a corresponding relationship between the size of the Fourier transform and the compensation function.
13. The method for calculating coefficients of a filter according to claim 12 , after the step of providing the compensation function, further comprising: finding out the compensation function by using the specific table based on the size of the Fourier transform.