Embodiments of the present invention generally relate to a method for modulating and demodulating wireless communication packets that use a coded sequence, e.g., a preamble sequence to aid detection. In wireless communications, packets of information are transmitted and received. A preamble sequence is often placed in front of the transmitted packet so that a receiver will be able to recognize the preamble sequence and perceive that a packet has been received. Many wireless communications systems us a direct sequence spread spectrum (DSSS) scheme for the purposes of modulating a data symbol. A typical spread symbol sequence may be given as
p[k]=[p1, p2, p3, . . . , pk-1, pk]. (EQU. 1)
There are a number of means for encoding a preamble sequence and detecting the preamble sequence at the receiver side. One is called coherent integration. The other is called non-coherent integration. In coherent integration, a filter is applied where every single tap of the filter matches every single element of the preamble sequence. This technique is subject to degradation in the presence of Doppler shifts and dynamic multipath but gives the best peak gain. This technique is applicable to both packet detection and symbol demodulation. An example of a matched filter may be given as
h[k]=[pk*, pk-1*, . . . , p3*. p2*, p1*]. (EQU. 2)
When there exists a frequency offset in the received signal after conversion to a frequency appropriate for correlation processing, or when the channel amplitude and phase characteristics vary over the time period of the preamble, the detection filter is no longer matched so that there is a significant signal-to-noise ratio (SNR) loss. To address this SNR loss, current methods include separating the preamble sequence into segments or subsymbols, where ideal matched filtering is performed on one or more segments and the resulting real magnitudes or squares of magnitudes are added together. The use of ideal matched filtering on segments of the preamble is known as non-coherent integration. However, non-coherent integration suffers from processing loss relative to an ideal matched filter, and has limited applicability to the function of demodulating a symbol.
Therefore, there is a need in the art for a wireless communications modulation/demodulation method that is resistant to degradation caused by frequency shifts and is resistant to degradation caused by limited channel coherency.
The present invention generally describes a method and apparatus for processing a data symbol. In one embodiment, the data symbol is modulated to produce a modulated data symbol. The modulated data symbol is encoded to generate an embedded offset in the modulated data symbol. The modulated data symbol is then transmitted with the embedded offset.
In another embodiment, a modulated signal having an embedded offset is received. A symbol estimate is derived from the modulated signal. The symbol estimate is then applied to demodulate the modulated signal.
So that the manner in which the above recited features of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
Referring to receiver 140, a signal is received at antenna 145 via radio channel 135. The signal received at antenna 145 may be a signal having a preamble sequence and a payload. The payload may contain at least one packet. Filtering is performed at RF filter 150. RF filter 150 may be a matched filter, e.g., a sliding correlator. A second symbol processing module 155 derives a symbol estimate from the modulated signal. The signal is then demodulated by applying the symbol estimate prior to demodulation by demodulator 160. It should be apparent to one having skill in the art that the second symbol processing module 155 may also be implemented in demodulator 160. Once the signal is demodulated, the demodulated signal is routed to source decoder 170 via demultiplexer 165, where the demodulated signal is further decoded.
One example of a symbol is shown in
x[M]=[x1, x2, x3, . . . , xM-1, xM]. (EQU. 3)
The symbol of this embodiment has a length of M chips, separated into subsymbols. Each of the subsymbols has a length N. The “chips” of the symbol can be real or complex modulated values, or separate pulses characterized by a timing offset or phase and amplitude variations.
s(i, k)=r(i, k)×aiejΦ
where k equals the chip number in the subsymbol, i equals the subsymbol number, ai and Φi are subsymbol encoding values and r(i, k) is the spread data sequence.
Returning to
In step 615, a symbol estimate is derived from the modulated signal in two steps. First, a matched filter is applied for each of the M/N subsymbols. The output of the matched filter y(l) for the M/N subsymbols may be characterized as
where x[k] represents the received samples of the encoded signal and hl[ ] represents the matched filter for the spreading sequence and l=1 to M/N. REM in EQU. 4 means “remainder of.”
Then a symbol estimate is determined. In one embodiment, the symbol estimate may be characterized as:
where ŝ represents the summation from l=1 to M/N−1 of the product of the output of the matched filter for a subsymbol, y[l], with the conjugate of the output for the next subsymbol, y*[l+1]. The symbol estimate is complex, comprising a magnitude and phase. The symbol estimate is an estimate of the autocorrelation of the subsymbols, estimated at one lag, e.g., one subsymbol offset. The lag is set based on the width of the subsymbol.
The width of the subsymbol is set based on the type of application and the system constraints involved in each specific application. In one illustrative embodiment, M=8 and N=1024 with a chip rate of 8 MChips/sec.
Thus, the present invention applies an autocorrelation across subsymbols to determine a symbol estimate. In one embodiment, the output of the autocorrelation is complex. For example, a phase of the output of the autocorrelation may be used as a symbol estimate.
Returning to
where Tss is the symbol period and ∠ŝ is the phase information. Multiplying by the conjugate of ∠s accounts for the symbol information phase offset that was encoded into the signal at transmitter 100, as determined by a ‘slicer’ function in the demodulator. Therefore, {circumflex over (f)} substantially reflects the offset caused by distortion of the signal, e.g., multipath distortion, and provides a more accurate frequency offset estimation. This frequency offset estimation can be used to correct subsequent subsymbols before demodulation. This correction is accomplished by using corrected chip data, z′[k]. In one embodiment, the corrected chip data may be characterized as
z′[k]=z[k]e−j2π{circumflex over (f)}T
where z[k] is the received chip data, {circumflex over (f)} is the frequency offset, Tc is the length of the chip interval, and k is the chip count.
In one embodiment, once the corrected symbol data, e.g., corrected data for each chip of the symbol, is obtained, a new symbol estimate is derived using the corrected symbol data. The method is identical to the example disclosed in
In one embodiment, a subsymbol level correction would be made in order to derive a new symbol estimate. In this embodiment, instead of obtaining a corrected value for each chip, the correction would be applied to the output of each correlator [y1, y2, . . . , yM/N] in order to obtain corrected values for each correlator output. In this embodiment, the corrected correlator output values (and their conjugates) would be applied to the multipliers in
y′[k]=y[k]ej2π{circumflex over (f)}T
where y[k] is the correlator output data, {circumflex over (f)} is the frequency offset, Tss is the length of the subsymbol interval, and k is the subsymbol count.
In one embodiment, once the frequency offset estimation is obtained via the approach of
then the next subsymbol is {j}, and the third is
Thus, each subsymbol is corrected based on information from the previous subsymbol. This encoding process may be characterized as
yl=y1×[y1l-1 (EQU. 10)
where y1 is a symbol value and i=[2, 3, . . . , M/N] The subsequent correction approach for obtaining near full coherent integration is shown in
In one embodiment, the method used to derive the correction factor depends on the level at which a previous correction (using the method of
cl={conj[E[ylyl+1*]]}l (EQU. 11)
where EQU. 10 provides the values for yl, l is the subsymbol index and E is the expected value.
If the previous correction was a subsymbol level correction, the correction factor would be characterized as
cl=e−j2π{circumflex over (f)}T
where Tss is the subsymbol interval, l is the subsymbol index, E is the expected value and EQU. 10 provides the values for yl,.
The present invention is resistant not only to frequency offsets in a received packet, but also to channel coherence limits. As long as the channel is coherent for one subsymbol interval (less than one symbol interval), the present invention is effective.
Thus, communication signal processing device or system 900 comprises a processor (CPU) 910, a memory 920, e.g., random access memory (RAM) and/or read only memory (ROM), symbol processing module 940, and various input/output devices 930, (e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a speaker, A/D and D/A converters.
It should be understood that the symbol processing module 940 can be implemented as one or more physical devices that are coupled to the CPU 910 through a communication channel. Alternatively, the symbol processing module 940 can be represented by one or more software applications (or even a combination of software and hardware, e.g., using application specific integrated circuits (ASIC)), where the software is loaded from a storage medium, (e.g., a magnetic or optical drive or diskette) and operated by the CPU in the memory 920 of the computer. As such, the symbol processing module 940 (including associated data structures) of the present invention can be stored on a computer readable medium, e g., RAM memory, magnetic or optical drive or diskette and the like.
While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.
This application claims benefit of U.S. provisional patent application Ser. No. 60/505,506, filed Sep. 24, 2003, which is herein incorporated by reference.
Number | Date | Country | |
---|---|---|---|
60505506 | Sep 2003 | US |