Claims
- 1. A method for estimating a set of parameters for a transmission channel in a communication system, the method comprising:
- receiving a signal burst from the transmission channel, wherein the signal burst comprises a training signal transmitted through the transmission channel, wherein the training signal encodes a sequence of binary digits (bits), wherein the training signal is known to a receiver;
- sampling the signal burst at least once in each of a plurality of bit intervals and thereby producing a sequence of received values;
- estimating a set of parameters for the transmission channel, where said estimating comprises:
- calculating a channel vector for each of a plurality of sets of training signal values, wherein an i.sup.th channel vector is calculated using an i.sup.th set of training signal values and the received values, wherein i is an integer index which runs through the values 0, 1, 2, . . . , P-1, wherein P denotes the number of sets of training signal values;
- producing an output vector for each calculated channel vector, wherein an i.sup.th output vector is produced using the i.sup.th set of training signal values and the i.sup.th channel vector;
- determining an error between each of said output vectors and the received values of said signal burst;
- selecting a best channel vector based on said determined errors;
- wherein coefficients of the best channel vector specify the parameters for the transmission channel.
- 2. The method of claim 1, wherein each set of training signal values comprises samples of the training signal obtained at substantially corresponding times in each of said plurality of bit intervals.
- 3. The method of claim 2, wherein each bit interval is divided into P equally-spaced subintervals, further comprising:
- obtaining the i.sup.th set of training signal values by sampling the training signal at times which fall within a pre-defined tolerance of an i.sup.th point within an i.sup.th subinterval of said P equally-spaced subintervals;
- wherein i is the integer index which runs through the values 0, 1, 2, . . . , P-1.
- 4. The method of claim 3, wherein the pre-defined tolerance is equal to zero.
- 5. The method of claim 3, wherein the sequence of binary digits is also known to the receiver, and wherein said estimating the set of parameters for the transmission channel further comprises:
- performing a first cross-correlation between the received values and the sequence of binary digits to produce a correlation vector V;
- wherein said calculating the i.sup.th channel vector comprises multiplying the correlation vector V by an i.sup.th matrix in a plurality of P stored matrices.
- 6. The method of claim 5, wherein the i.sup.th matrix M.sub.i of said plurality of P stored matrices is calculated by performing a second cross-correlation between the i.sup.th set of training signal values and the sequence of binary digits, thereby producing a correlation matrix, and inverting the correlation matrix to generate an inverted matrix M.sub.i.
- 7. The method of claim 6, further comprising: calculating and storing said plurality of P stored matrices prior to said estimating.
- 8. The method of claim 1, wherein the i.sup.th output vector is defined as the output of a linear system supplied with the i.sup.th set of training signal values as an input, wherein the behavior of the linear system is characterized by the i.sup.th channel vector.
- 9. The method of claim 8, wherein the i.sup.th output vector is produced by convolving the i.sup.th set of training signal values and the i.sup.th channel vector.
- 10. The method of claim 1, wherein said determining the error comprises determining a square error between each of said output vectors and the received values of said signal burst.
- 11. The method of claim 1, wherein said selecting the best channel vector based on said determined errors comprises selecting the channel vector whose output vector results in a minimum error.
- 12. The method of claim 1, wherein said sampling the signal burst comprises performing A/D conversion in which the sampling phase is not controlled.
- 13. The method of claim 1, wherein said communication system is a GSM communication system, wherein said sequence of binary digits is a training sequence in a GSM traffic burst, wherein said training signal is a baseband complex envelop defined by the Gaussian Minimum-Shift Keying modulation scheme.
- 14. The method of claim 1, wherein said parameters for the transmission channel comprise an impulse response of the transmission channel.
- 15. The method of claim 1, further comprising: providing said parameters for the transmission channel to an equalizer, wherein said equalizer uses said parameters for demodulation of the sequence of binary digits.
- 16. The method of claim 1, further comprising: demodulating the sequence of binary digits using said parameters for the transmission channel.
- 17. The method of claim 1, wherein the i.sup.th channel vector comprises a candidate set of parameters for the transmission channel corresponding to the i.sup.th set of training signal values.
- 18. A system for estimating a set of parameters for a transmission channel in a communication link, the system comprising:
- a receiver designed to receive a signal burst from the transmission channel, wherein the signal burst comprises a training signal transmitted through the transmission channel, wherein the training signal encodes a sequence of binary digits, wherein the training signal is known to the receiver;
- an analog-to-digital converter configured to sample the signal burst at least once in each of a plurality of bit intervals and thereby to produce a sequence of received values;
- a channel estimator which estimates parameters for the transmission channel;
- wherein the channel estimator calculates a channel vector for each of a plurality of sets of training signal values, wherein an i.sup.th channel vector is calculated using an i.sup.th set of training signal values and the received values, wherein i is an integer index which runs through the values 0, 1, 2, . . . , P-1, wherein P denotes the number of sets of training signal values;
- where the channel estimator produces an output vector for each calculated channel vector, wherein an i.sup.th output vector is produced using the i.sup.th set of training signal values and the i.sup.th channel vector;
- wherein the channel estimator determines an error between each of said output vectors and the received values of said signal burst;
- wherein the channel estimator selects a best channel vector based on said determined errors;
- wherein coefficients of the best channel vector specify the parameters for the transmission channel.
- 19. The system of claim 18, wherein each set of training signal values comprises samples of the training signal obtained at substantially corresponding times in each of said plurality of bit intervals.
- 20. The system of claim 19, wherein each bit interval is divided into P equally-spaced subintervals;
- wherein the i.sup.th set of training signal values is obtained by sampling the training signal at times which fall within a pre-defined tolerance of an i.sup.th point within an i.sup.th subinterval of said P equally-spaced subintervals;
- wherein i is the integer index which runs through the values 0, 1 2, . . . , P-1.
- 21. The system of claim 20, wherein the pre-defined tolerance is equal to zero.
- 22. The system of claim 20, wherein the sequence of binary digits is also known to the receiver, and wherein said channel estimator is configured to perform a first cross-correlation between the received values and the sequence of binary digits to produce a correlation vector V;
- wherein said i.sup.th channel vector is calculated by multiplying the correlation vector V by an i.sup.th matrix in a plurality of P stored matrices.
- 23. The system of claim 22, wherein the i.sup.th matrix of said plurality of P stored matrices is calculated by performing a second cross-correlation between the i.sup.th set of training signal values and the sequence of binary digits, thereby producing a correlation matrix, and inverting the correlation matrix to generate said i.sup.th matrix.
- 24. The system of claim 23, further comprising a memory which stores said sets of training signal values and said plurality of P stored matrices, wherein said sets of training signal values and said plurality of P stored matrices are calculated and stored in said memory prior to operational mode of the system.
- 25. The system of claim 18, wherein the i.sup.th output vector is defined as the output of a linear system supplied with the i.sup.th set of training signal values as an input, wherein the behavior of the linear system is characterized by the i.sup.th channel vector.
- 26. The system of claim 25, wherein the i.sup.th output vector is produced by convolving the i.sup.th set of training signal values and the i.sup.th channel vector.
- 27. The system of claim 18, wherein said determining the error comprises determining a square error between each of said output vectors and the received values of said signal burst.
- 28. The system of claim 18, wherein said selecting the best channel vector based on said determined errors comprises selecting the channel vector whose output vector results in the minimum error.
- 29. The system of claim 18, wherein said sampling the signal burst is performed by an A/D converter which runs freely without controlling sampling phase.
- 30. The system of claim 18, wherein said communication link is a GSM communication system, wherein said sequence of binary digits is a training sequence in a GSM traffic burst, wherein said training signal is a baseband complex envelop defined by the Gaussian Minimum-Shift Keying modulation scheme.
- 31. The system of claim 18, wherein said parameters for the transmission channel comprise an impulse response.
- 32. The system of claim 18, wherein said parameters for the transmission channel are provided to an equalizer for demodulation of the sequence of binary digits.
- 33. The system of claim 32, wherein said equalizer is a Viterbi equalizer.
- 34. The system of claim 18, wherein the i.sup.th channel vector comprises a candidate set of parameters for the transmission channel corresponding to the i.sup.th set of training signal values.
- 35. The system of claim 18, wherein said system for estimating parameters for a transmission channel is implemented on one or more integrated circuits.
- 36. A computer-readable storage medium comprising program instructions, wherein said program instructions are operable to implement steps for estimating a set of parameters for a transmission channel in a communication system, the steps comprising:
- receiving a signal burst from the transmission channel, wherein the signal burst comprises a training signal transmitted rough the transmission channel, wherein the training signal encodes a sequence of binary digits (bits), wherein the training signal is known to a receiver;
- sampling the signal burst at least once in each of a plurality of bit intervals and thereby producing a sequence of received values;
- estimating the set of parameters for the transmission channel, where said estimating comprises:
- calculating a channel vector for each of a plurality of sets of training signal values, wherein an i.sup.th channel vector is calculated using an i.sup.th set of training signal values and the received values, wherein i is an integer index which runs through the values 0, 1, 2, . . . , P-1, wherein P denotes the number of sets of training signal values;
- producing an output vector for each calculated channel vector, wherein an i.sup.th output vector is produced using the i.sup.th set of training signal values and the i.sup.th channel vector;
- determining an error between each of said output vectors and the received values of said signal burst;
- selecting a best channel vector based on said determined errors;
- wherein coefficients of the best channel vector specify the parameters for the transmission channel.
- 37. The medium of claim 36, wherein each set of training signal values comprises samples of the training signal obtained at substantially corresponding times in each of said plurality of bit intervals.
- 38. The medium of claim 37, wherein each bit interval is divided into P equally-spaced subintervals, further comprising:
- obtaining the i.sup.th set of training signal values by sampling the training signal at times which fall within a pre-defined tolerance of an i.sup.th point within an i.sup.th subinterval of said P equally-spaced subintervals;
- wherein i is the integer index which runs through the values 0, 1, 2, . . . , P-1.
- 39. The medium of claim 38, wherein the pre-defined tolerance is equal to zero.
- 40. The medium of claim 38, wherein the sequence of binary digits is also known to the receiver, and wherein said estimating the set of parameters for the transmission channel further comprises:
- performing a first cross-correlation between the received values and the sequence of binary digits to produce a correlation vector V;
- wherein said calculating the i.sup.th channel vector comprises multiplying the correlation vector V by an i.sup.th matrix in a plurality of P stored matrices.
- 41. The medium of claim 40, wherein the i.sup.th matrix M.sub.i of said plurality of P stored matrices is calculated by performing a second cross-correlation between the i.sup.th set of training signal values and the sequence of binary digits, thereby producing a correlation matrix, and inverting the correlation matrix to generate an inverted matrix M.sub.i.
- 42. The medium of claim 41, further comprising: calculating and storing said plurality of P stored matrices prior to said estimating.
- 43. The medium of claim 36, wherein the i.sup.th output vector is defined as the output of a linear system supplied with the i.sup.th set of training signal values as an input, wherein the behavior of the linear system is characterized by the i.sup.th channel vector.
- 44. The medium of claim 43, wherein the i.sup.th output vector is produced by convolving the i.sup.th set of training signal values and the i.sup.th channel vector.
- 45. The medium of claim 36, wherein said determining the error comprises determining a square error between each of said output vectors and the received values of said signal burst.
- 46. The medium of claim 36, wherein said selecting the best channel vector based on said determined errors comprises selecting the channel vector whose output vector results in a minimum error.
- 47. The medium of claim 36, wherein said sampling the signal burst comprises performing A/D conversion in which the sampling phase is not controlled.
- 48. The medium of claim 36, wherein said communication system is a GSM communication system, wherein said sequence of binary digits is a training sequence in a GSM traffic burst, wherein said training signal is a baseband complex envelop defined by the Gaussian Minimum-Shift Keying modulation scheme.
- 49. The medium of claim 36, wherein said parameters for the transmission channel comprise an impulse response of the transmission channel.
- 50. The medium of claim 36, further comprising: providing said parameters for the transmission channel to an equalizer, wherein said equalizer uses said parameters for demodulation of the sequence of binary digits.
- 51. The medium of claim 36, further comprising: demodulating the sequence of binary digits using said parameters for the transmission channel.
- 52. The medium of claim 36, wherein the i.sup.th channel vector comprises a candidate set of parameters for the transmission channel corresponding to the i.sup.th set of training signal values.
- 53. A channel estimator which estimates a set of parameters for a transmission channel in a receiving system, wherein the receiving system comprises:
- a receiver designed to receive a signal burst from the transmission channel, wherein the signal burst comprises a training signal transmitted through the transmission channel, wherein the training signal encodes a sequence of binary digits, wherein the training signal is known to the receiving system;
- an analog-to-digital (A/D) converter configured to sample the signal burst at least once in each of a plurality of bit intervals and thereby to produce a sequence of received values;
- a sample buffer configured to store said sequence of received values;
- a data store configured to store executable code and data, wherein the data comprises a plurality of P sets of training signal values, wherein P is an integer, wherein each set of ting signal values comprises samples of the training signal obtained at substantially corresponding times in each of a plurality of bit intervals;
- a digital signal processing (DSP) unit which is configured to read the executable code from the data store, to write computational results to the data store, and to read said received values from the Sample Buffer;
- wherein said channel estimator comprises:
- the sample buffer;
- the data store; and
- the DSP unit;
- wherein the DSP unit estimates the parameters for the transmission channel by running the executable code, and thereby performing steps comprising:
- calculating a channel vector for each of the sets of training signal values, wherein an i.sup.th channel vector is calculated using an i.sup.th set of training signal values and the received values, wherein i is an integer index which runs through the values 0, 1, 2, . . . , P-1, wherein P denotes the number of sets of training signal values;
- producing an output vector for each calculated channel vector, wherein an i.sup.th output vector is produced using the i.sup.th set of training signal values and the i.sup.th channel vector;
- determining an error between each of said output vectors and the received values of said signal burst;
- selecting a best channel vector based on said determined errors;
- wherein the coefficients of the best channel vector specify the parameters for the transmission channel.
CROSS REFERENCE TO RELATED APPLICATION(S)
This application claims benefit of priority of provisional application Serial No.: 60/040,195 filed Mar. 4, 1997, titled Robust Channel Estimator for GSM Applications.
US Referenced Citations (6)