The present invention relates generally to data communication, and more specifically to synchronization in a information transport system using orthogonal frequency division multiplexing (OFDM).
In an OFDM system, a transmitter processes data to obtain modulation symbols, and further performs modulation on the modulation symbols to generate OFDM symbols. The transmitter then conditions and transmits the OFDM symbols via a communication channel. The OFDM system may use a transmission structure whereby data is transmitted in super-frames, with each super-frame having a time duration. Different types of data (e.g., traffic/packet data, overhead/control data, pilot, and so on) may be sent in different parts of each super-frame. Each super-frame may be divided into a number of frames. The term “pilot” generically refers to data and/or transmission that are known in advance by both the transmitter and a receiver.
The receiver typically needs to obtain accurate frame and symbol timing in order to properly recover the data sent by the transmitter. For example, the receiver may need to know the start of each super-frame and frame in order to properly recover the different types of data sent in the super-frame. The receiver often does not know the time at which each OFDM symbol is sent by the transmitter nor the propagation delay introduced by the communication channel. The receiver would then need to ascertain the timing of each OFDM symbol received via the communication channel in order to properly perform the complementary OFDM demodulation on the received OFDM symbol.
The term synchronization in this disclosure refers to a process performed by the receiver to obtain frame and symbol timing. The receiver may also perform other tasks, such as frequency error estimation and channel estimation. Synchronization can occur at different times to improve timing and correct for changes in the channel. Quickly performing synchronization eases acquisition of the signal.
In an aspect, the present disclosure provides a method for synchronizing timing of a receiver to a received orthogonal frequency division multiplexing (OFDM) signal. In one step, a first timing acquisition is performed with a first received time division multiplexed (TDM) pilot to determine a course timing estimate of the received OFDM signal. A second timing acquisition is performed with a second TDM pilot to determine a fine timing estimate for a OFDM symbol of the received OFDM signal. In the second timing acquisition, the accumulated energy of channel taps over a detection window is determined and a trailing edge of the accumulated energy curve is detected. In an alternative embodiment, one or both of the leading and trailing edges can be determined in the second timing acquisition. A Fourier transform (FT) collection window location is adjusted for a subsequent OFDM symbol according to the second timing acquisition step.
In an aspect, an OFDM system for synchronizing timing of a receiver to a received OFDM signal is disclosed. The OFDM system includes means for performing a first timing acquisition, means for performing a second timing acquisition and means for adjusting a DFT collection window location. The means for performing a first timing acquisition with a first received TDM pilot determines a course timing estimate of the received OFDM signal. The means for performing a second timing acquisition with a second TDM pilot determines a fine timing estimate for the received OFDM signal. The means for performing the second timing acquisition includes means for determining and means for detecting. The means for determining accumulated energy of a plurality of channel taps within a detection window for a plurality of starting locations forms an accumulated energy curve. The means for detecting finds a trailing edge of the accumulated energy curve. The means for adjusting a FT collection window location for a subsequent OFDM symbol is done according to an outcome from the means for performing the second timing acquisition.
In an aspect, a method for synchronizing timing of a receiver to a received signal. In one step, a first timing acquisition is performed to determine a course timing estimate of the received signal. A second timing acquisition is performed with a TDM pilot to determine a fine timing estimate for a symbol of the received signal The second timing acquisition determines accumulated energy of a plurality of channel taps within a detection window for a plurality of starting locations to form an accumulated energy curve. Additionally, the second timing acquisition detects a trailing edge of the accumulated energy curve. The determining accumulated energy and the detecting the trailing edge are performed, at least partially, co-incident in time for a particular channel tap of the plurality of channel taps. A FT collection window location is adjusted for a subsequent symbol according to the performing the second timing acquisition step.
In an aspect, a communication device for synchronizing timing of a receiver to a received signal is disclosed. The communication device includes a processor and a memory that are coupled together. The processor is configured to cause performing of at least the following steps:
1. Performing a first timing acquisition with a first received time division multiplexed (TDM) pilot to determine a course timing estimate of the received OFDM signal.
2. Performing a second timing acquisition with a second TDM pilot to determine a fine timing estimate of the received OFDM signal. The performing the second timing acquisition step comprises sub-steps of determining accumulated energy of a plurality of channel taps within a detection window for a plurality of starting locations to form an accumulated energy curve, and detecting a trailing edge of the accumulated energy curve.
3. Adjustment of a Fourier transform (FT) collection window location for a subsequent OFDM symbol according to the performing the second timing acquisition step.
The present disclosure is described in conjunction with the appended figures:
In the appended figures, similar components and/or features may have the same reference label.
The ensuing description provides preferred exemplary embodiment(s) only, and is not intended to limit the scope, applicability or configuration of the invention. Rather, the ensuing description of the preferred exemplary embodiment(s) will provide those skilled in the art with an enabling description for implementing a preferred exemplary embodiment of the invention. It is understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the invention as set forth in the appended claims.
Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits may be shown in block diagrams in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
Also, it is noted that the embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed, but could have additional steps not included in the figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or the main function.
Moreover, as disclosed herein, the term “storage medium” may represent one or more devices for storing data, including read only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices and/or other machine readable mediums for storing information. The term “machine-readable medium” includes, but is not limited to portable or fixed storage devices, optical storage devices, wireless channels and various other mediums capable of storing, containing or carrying instruction(s) and/or data.
Furthermore, embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine readable medium such as storage medium. A processor(s) may perform the necessary tasks. A code segment or machine-executable instructions may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.
The synchronization techniques described herein may be used for various multi-carrier systems and for the downlink as well as the uplink. The downlink (or forward link) refers to the communication link from the base stations to the wireless receivers, and the uplink (or reverse link) refers to the communication link from the wireless receivers to the base stations. For clarity, these techniques are described below for the downlink in an orthogonal frequency division multiplexing (OFDM) system. The pilot detection structure is well suited for a broadcast system but may also be used for non-broadcast systems.
An improved method and system for timing synchronization after the initial acquisition in an OFDM system are disclosed. The result of the initial timing acquisition, based on time division multiplexed (TDM) pilot 1 processing, is a coarse timing estimate. The course timing estimate provides the information about the beginning of a super-frame, and gives a coarse estimate of the beginning of the TDM pilot 2. With further timing estimation using the TDM pilot 2 structure, the receiver estimates the exact starting position of the subsequent OFDM symbols. This step is called fine timing acquisition (FTA). A side product of this computation is a channel estimate which can be used to initialize the channel estimation block.
This algorithm is designed to successfully handle the channels with delay spreads of up to 1024 chips or samples in one embodiment. Inaccuracies of the initial coarse timing estimates are corrected such that coarse timing errors anywhere between −K and +1024−K chips are corrected-in one embodiment. In another embodiment, the errors between −256 and +768 chips can be corrected. The FTA processing is designed in such way that the timing corrections are available by the time they need to be applied. In other words, the FTA is completed before the next symbol is received.
In one embodiment, TDM pilot 2 symbol includes a cyclic prefix followed by two identical pilot-2 sequences in the time domain. The receiver collects at least NC=N/2 or 2048 samples in a sample window from a position that is determined based on the coarse timing and the initial deliberate offset introduced to avoid collecting data from neighboring symbols, where N could have different values in different embodiments. The 2048 samples correspond to a cyclic shift of one TDM pilot 2 sequence period, convolved with the channel. After a L-point FFT, a pilot demodulation and an IFFT, what remains is a cyclic shift of the channel impulse response.
Next, the beginning of the channel impulse response in this 2048-long cyclically-shifted image is determined. The complete channel energy is contained within a detection window of length 1024. If the channel is shorter than 1024 chips, there are several consecutive positions of the energy window that result in maximum energy. In this case, the algorithm picks the last position of an accumulated energy curve, since this generally corresponds to first arriving path (FAP) of the channel. This is achieved by considering a convex combination of the running energy sum and a local finite difference of order ND. Once the location of the FAP is located in the 2048-long shifted channel estimate, this information is readily converted to a timing offset that is applied when sampling the subsequent OFDM symbols.
Another product of this algorithm is a 1024-long time domain channel estimate. The block for channel estimation uses three consecutive 512-long time domain channel estimates and combines them inside time-filtering operation in order to produce a 1024-long channel estimate resistant to timing variations. We use the 1024-long, “clean” or filtered channel estimate obtained during the FTA in order to initialize the channel estimation block. This is done by aliasing it to a 512-long version, compatible with the channel estimation block. This is then used to produce a valid channel estimate for the first symbol of interest.
The accuracy in timing synchronization is achieved by tying it to the channel estimates and incorporating both an accumulated energy curve and its first derivative in detecting the FAP. At the same time, this results in robustness of this method to excess delay spreads. The repetitive structure of the TDM pilot 2 produces the cyclic shifts of the channel estimates. There is a simple one-to-one correspondence between these cyclic shifts and timing offsets. The structure of TDM pilot 2 symbol and the initial offsets that are deliberately introduced make the system more robust to the errors of coarse timing acquisition estimates. Finally, the novel architecture of the FTA operation in a symbol timing searcher block, and its intermesh to the IFFT block, makes it computationally efficient and allows for the stringent computational time requirements to be met in one embodiment.
Referring first to
At the base station 110, a TX data and pilot processor 120 receives different types of data (e.g., traffic/packet data and overhead/control data) and processes (e.g., encodes, interleaves, and symbol maps) the received data to generate data symbols. As used herein, a “data symbol” is a modulation symbol for data, a “pilot symbol” is a modulation symbol for a pilot, and a modulation symbol is a complex value for a point in a signal constellation for a modulation scheme (e.g., M-PSK, M-QAM, and so on). The pilot processor 120 also processes pilot data to generate pilot symbols and provides the data and pilot symbols to an OFDM modulator 130.
OFDM modulator 130 multiplexes the data and pilot symbols onto the proper subbands and symbol periods and further performs OFDM modulation on the multiplexed symbols to generate OFDM symbols, as described below. A transmitter (TMTR) unit 132 converts the OFDM symbols into one or more analog signals and further conditions (e.g., amplifies, filters, frequency upconverts, etc.) the analog signal(s) to generate a modulated signal. Base station 110 then transmits the modulated signal from an antenna 134 to wireless receivers in the OFDM system 100.
At the wireless receiver 150, the transmitted signal from base station 110 is received by an antenna 152 and provided to a receiver unit 154. The receiver unit 154 conditions (e.g., filters, amplifies, frequency downconverts, etc.) the received signal and digitizes the conditioned signal to obtain a stream of input samples. An OFDM demodulator 160 performs OFDM demodulation on the input samples to obtain received data and pilot symbols. OFDM demodulator 160 also performs detection (e.g., matched filtering) on the received data symbols with a channel estimate (e.g., a frequency response estimate) to obtain detected data symbols, which are estimates of the data symbols sent by base station 110. OFDM demodulator 160 provides the detected data symbols to a receive (RX) data processor 170.
A synchronization/channel estimation unit (SCEU) 180 receives the input samples from receiver unit 154 and performs synchronization to determine frame and symbol timing, as described below. The SCEU 180 also derives the channel estimate using received pilot symbols from OFDM demodulator 160. The SCEU 180 provides the symbol timing and channel estimate to OFDM demodulator 160 and may provide the frame timing to RX data processor 170 and/or a controller 190. The OFDM demodulator 160 uses the symbol timing to perform OFDM demodulation and uses the channel estimate to perform detection on the received data symbols.
RX data processor 170 processes (e.g., symbol demaps, deinterleaves, decodes, etc.) the detected data symbols from OFDM demodulator 160 and provides decoded data. RX data processor 170 and/or controller 190 may use the frame timing to recover different types of data sent by base station 110. In general, the processing by OFDM demodulator 160 and RX data processor 170 is complementary to the processing by OFDM modulator 130 and TX data and pilot processor 120, respectively, at base station 110.
Controllers 140, 190 direct operation at base station 110 and wireless receiver 150, respectively. The controllers could be processors and/or state machines. Memory units 142, 192 provide storage for program codes and data used by controllers 140 and 190, respectively. The memory units 142, 192 could use various types of storage medium to store information.
The base station 110 may send a point-to-point transmission to a single wireless receiver, a multi-cast transmission to a group of wireless receivers, a broadcast transmission to all wireless receivers under its coverage area, or any combination thereof. For example, base station 110 may broadcast pilot and overhead/control data to all wireless receivers under its coverage area. Base station 110 may further single-cast transmit user-specific data to specific wireless receivers, multi-cast data to a group of wireless receivers, and/or broadcast data to all wireless receivers in various situations and embodiments.
With reference to
The four fields 212 through 218 are time division multiplexed in each super-frame such that only one field is transmitted at any given moment. The four fields are also arranged in the order shown in
In an embodiment, TDM pilot 1 field 212 carries one OFDM symbol for TDM pilot 1, and TDM pilot 2 field 214 also carries one OFDM symbol for TDM pilot 2. In general, each field may be of any duration, and the fields may be arranged in any order. TDM pilots 1 and 2 are broadcast periodically in each super-frame to facilitate synchronization by the wireless receivers. Overhead field 216 and/or data field 218 may also contain pilot symbols that are frequency division multiplexed with data symbols, as described below.
The OFDM system 100 has an overall system bandwidth of BW MHz, which is partitioned into N orthogonal subbands using OFDM. The spacing between adjacent subbands is BW/N MHz. Of the N total subbands, M subbands may be used for pilot and data transmission, where M<N, and the remaining N−M subbands may be unused and serve as guard subbands. In an embodiment, the OFDM system uses an OFDM structure with N=4096 total subbands, M=4000 usable subbands, and N−M=96 guard subbands. In general, any OFDM structure with any number of total, usable, and guard subbands may be used for the OFDM system.
TDM pilots 1 and 2 may be designed to facilitate synchronization by the wireless receivers in the system. A wireless receiver may use TDM pilot 1 to detect the start of each super-frame, obtain a coarse estimate of symbol timing, and estimate frequency error. The wireless receiver may use TDM pilot 2 to obtain more accurate OFDM symbol timing.
With reference to
Referring next to
With reference to
In an embodiment, a pseudo-random number (PN) generator 420 is used to generate data for the pilots 212, 214. The PN generator 420 may be implemented, for example, with a 15-tap linear feedback shift register (LFSR) that implements a generator polynomial g(x)=x15+x14+1. In this case, the PN generator 420 includes: (1) 15 delay elements 422a through 422o coupled in series, and (2) a summer 424 coupled between delay elements 422n and 422o. The delay element 422o provides pilot data, which is also fed back to the input of delay element 422a and to one input of summer 424. PN generator 420 may be initialized with different initial states for the pilots 212, 214, e.g., to ‘011010101001110’ for the TDM pilot 1, to ‘010110100011100’ for the TDM pilot 2 and to ‘010110101011101’ for the frequency division multiplexed (FDM) pilot. In general, any data may be used for the pilots 212, 214. The pilot data may be selected to reduce the difference between the peak amplitude and the average amplitude of a pilot OFDM symbol (i.e., to minimize the peak-to-average variation in the time-domain waveform for the TDM pilot). The pilot data for TDM pilot 2 may also be generated with the same PN generator used for scrambling data. The wireless receivers have knowledge of the data used for TDM pilot 2 but do not need to know the data used for TDM pilot 1.
A bit-to-symbol mapping unit 430 receives the pilot data from PN generator 420 and maps the bits of the pilot data to pilot symbols based on a modulation scheme. The same or different modulation schemes may be used for the pilots 212, 214. In an embodiment, QPSK is used for both TDM pilots 1 and 2. In this case, mapping unit 430 groups the pilot data into 2-bit binary values and further maps each 2-bit value to a specific pilot modulation symbol. Each pilot symbol is a complex value in a signal constellation for QPSK. If QPSK is used for the TDM pilots, then mapping unit 430 maps 2L1 pilot data bits for TDM pilot 1 to L1 pilot symbols and further maps 2L2 pilot data bits for TDM pilot 2 to L2 pilot symbols. A multiplexer (Mux) 440 receives the data symbols from TX data processor 410, the pilot symbols from mapping unit 430, and a TDM_Ctrl signal from controller 140. Multiplexer 440 provides to the OFDM modulator 130 the pilot symbols for the pilots 212, 214 and the data symbols for the overhead and data fields of each super-frame, as shown in
Referring next to
An inverse discrete Fourier transform (IDFT) unit 520 receives the N transmit symbols for each OFDM symbol period, transforms the N transmit symbols to the time domain with an N-point IDFT, and provides a “transformed” OFDM symbol that contains N time-domain samples. Each sample is a complex value to be sent in one sample period. An N-point inverse fast Fourier transform (IFFT) may also be performed in place of an N-point IDFT if N is a power of two, which is typically the case.
A parallel-to-serial (P/S) converter 530 serializes the N samples for each transformed symbol. A cyclic prefix generator 540 then repeats a portion (or C samples) of each transformed symbol to form an OFDM symbol that contains N+C samples. For example, the cyclic prefix is the last 512 samples of the OFDM symbol. The cyclic prefix is used to combat inter-symbol interference (ISI) and intercarrier interference (ICI) caused by a long delay spread in the communication channel. Generally, delay spread is the time difference between the FAP and the latest arriving path (LAP) at a receiver 150. An OFDM symbol period (or simply, a “symbol period”) is the duration of one OFDM symbol and is equal to N+C sample periods.
With reference to
Referring next to
The super-frame detector 710 performs super-frame synchronization by detecting for TDM pilot 1 in the input samples from receiver unit 154. For this embodiment, the super-frame detector 710 is implemented with a delayed correlator that exploits the periodic nature of the pilot-1 OFDM symbol for super-frame detection.
With reference to
With reference to
With reference to
The start of the sample window 1012 is delayed by an initial offset OSinit from the coarse symbol timing, TC, or TW=TC+OSinit. The initial offset does not need to be especially accurate and is selected to ensure that one complete pilot-2 sequence is collected in sample buffer 912 despite possible errors in the course timing estimate. The initial offset may also be selected to be small enough such that the processing for the pilot-2 OFDM symbol can be completed before the arrival of the next OFDM symbol, so that the symbol timing obtained from the pilot-2 OFDM symbol may be applied to this next OFDM symbol.
In this embodiment, the notion of the symbol boundaries is tracked by an OFDM sample counter. The OFDM sample counter assumes the value 0 at the beginning of the cyclic prefix of an OFDM symbol and counts up until value NOFDM−1, where NOFDM is the overall duration of an OFDM symbol, after which it rolls over back to zero. During the processing of regular OFDM symbols, the samples are being sent to the FFT engine 914 for demodulation after the OFDM sample counter reaches-value NCP=C. The symbol timing corrections, determined by the symbol timing searcher 920, are applied by changing the current value of the OFDM sample counter by the amount corresponding to the computed timing offset. After coarse acquisition, at time TD, the coarse notion of symbol boundary at the receiver is captured by writing the value TD−TC into the OFDM sample counter. The initial offset, OSinit, is then applied in two steps. The OFDM sample counter value is first increased by K and decreased by the duration of the window between OFDM symbols (e.g., 17 in this embodiment) in the offset computation block 910. The constant K corresponds to the ability of the algorithm to correct coarse timing errors and in this embodiment, K=256. When the OFDM sample counter reaches a count of 1024 in this embodiment, the start of the sample period, TW, is presumed and the sample window 1012 begins. Other embodiments could use other values for the first and second constants and the count.
Referring back to
The pilot-2 OFDM symbol 214 has a cyclic prefix 1004 and two pilot-2 sequences 1008 in succession for this embodiment. In the frequency domain for one embodiment, the pilot-2 symbol 214 consists of 2000 non-zero QPSK subcarriers or subbands that are each separated by a zeroed subcarrier with guard subcarriers 304 on each end as shown in
After the initial L-point FFT 914 has taken place, for L=2048, the initial 2000 non-zero carriers and 48 guard carriers are available, after passing through the channel. Non-zero carriers are modulated by the information on the channel, and the noise is added. In order to recover the channel information, i.e., estimate the channel impulse response up to 2048 taps, we need to “undo” the scrambling of the non-zero carriers and zero-out the carriers that have been omitted (i.e., guard carriers), before the L-point IFFT block 918. This operation is called TDM pilot-2 symbol demodulation and extrapolation, which is performed in the pilot demodulation unit 916.
Referring next to
Referring back to
At this point, it is noted that Yi,0 in ith interlace buffer starts at the memory location 262. Hence, the 500 pilot observations are obtained in sequence by starting at 262, going through 511 and wrapping around to 0 and then through 249. Note that the memory locations 250 through 261 correspond to the guard carriers, and in this implementation they are set equal to zero. The interlace zero for FTA follows the conventions for data, i.e., pilots are written from location 262 to 511, location 0 (corresponding to DC) is skipped and is zeroed out, while locations 1 through 250 are populated. Guard carriers reside in locations 251 to 261 at this point.
Referring next to
Referring back to
With reference to
The detection window size NW may be selected based on the expected delay spread of the system. The delay spread at a wireless receiver is the time difference between the earliest and latest arriving signal components at the wireless receiver. The delay spread of the system is the largest delay spread among all wireless receivers in the system. If the detection window size is equal to or larger than the delay spread of the system, then the detection window, when properly aligned, would capture all of the energy of the channel impulse response. The detection window size NW may also be selected in one embodiment to be no more than half of NC (or NW≦NC/2) to avoid ambiguity in the detection of the beginning of the channel impulse response. Thus, as long as NC is chosen to be longer or equal to the maximum expected channel delay spread, FTA can detect OFDM symbol timing without any ambiguity, regardless of the channel realization.
Referring next to
In a different embodiment, fine timing corrections may depend on both the FAP location, as well as the estimated delay spread of the channel, D. This delay spread, D, can be determined by finding both the leading and trailing edges of the accumulated energy curve. Similar to finding the trailing edge, the leading edge can be found by scoring a weighted sum of the accumulated energy and its positive finite difference. In a different embodiment, the fine timing searcher first finds the place TM where the maximum accumulated energy occurs, and stores this maximum value EM. Next, accumulated energy curve to the left and to the right of TM is examined in an effort to locate positions where the accumulated energy drops below the value (1−b) EM, for some pre-determined value b, less than one. In other words, the leading edge and the trailing edge of the accumulated energy curve is defined where the accumulated energy falls some percentage (e.g., 5% or 3%) away of its maximum over the detection window 1016. The percentage defines a band around a maximum of the accumulated energy position. Entering the band defines the leading edge of the flat portion in the band, TL, while leaving the band defines the trailing edge of the flat portion in the band, TT. The trailing edge coincides with the position of the first arriving path, while the leading edge is equal to the last arriving path minus NW. The difference between the leading edge and the trailing edge is equal to NW minus the delay spread, D. Therefore, delay spread D can be computed as D=NW−TT−TL. Once D has been computed, fine timing corrections may be determined so that the channel content remains centered within the cyclic prefix area in the channel estimate during the next OFDM symbol.
Referring back to
The channel impulse response from IDFT unit 918 may also be used to derive a frequency response estimate for the communication channel between base station 10 and wireless receiver 150. A unit 922 receives the L-tap channel impulse response, circularly shifts the channel impulse response so that the beginning of the channel impulse response is at index 1, inserts an appropriate number of zeros after the circularly-shifted channel impulse response, and provides an N-tap channel impulse response. A DFT unit 924 then performs an N-point DFT on the N-tap channel impulse response and provides the frequency response estimate, which is composed of N complex channel gains for the N total subbands. OFDM demodulator 160 may use the frequency response estimate for detection of received data symbols in subsequent OFDM symbols. In other embodiments, this initial channel estimate may also be derived in some other manner.
With reference to
A wireless receiver may use TDM pilots 1 and 2 for initial synchronization, e.g., super-frame synchronization, frequency offset estimation, and fine symbol timing acquisition (for proper placement of the DFT collection window for subsequent OFDM symbols). The wireless receiver may perform initial synchronization, for example, when accessing a base station for the first time, when receiving or requesting data for the first time or after a long period of inactivity, when first powered on, and so on.
The wireless receiver may perform delayed correlation of the pilot-1 sequences to detect for the presence of a pilot-1 OFDM symbol and thus the start of a super-frame, as described above. Thereafter, the wireless receiver may use the pilot-1 sequences to estimate the frequency error in the pilot-1 OFDM symbol and to correct for this frequency error prior to receiving the pilot-2 OFDM symbol. The pilot-1 OFDM symbol allows for estimation of a larger frequency error and for more reliable placement of the sample window 1012 for the next pilot-2 OFDM symbol than conventional methods that use the cyclic prefix structure of the data OFDM symbols. The pilot-1 OFDM symbol can thus provide improved performance for a terrestrial radio channel with a large multi-path delay spread.
The wireless receiver may use the pilot-2 OFDM symbol to obtain fine symbol timing to more accurately place the DFT collection window for subsequent received OFDM symbols. The DFT collection window is the portion of the time-domain signal that captures the needed information used in decoding the data sent of a particular OFDM signal. The wireless receiver may also use the pilot-2 OFDM symbol for channel estimation and frequency error estimation. The pilot-2 OFDM symbol allows for fast and accurate determination of the fine symbol timing and proper placement of the DFT collection window.
The wireless receiver may use the FDM pilot for channel estimation and time tracking and possibly for frequency tracking. The wireless receiver may obtain an initial channel estimate based on the pilot-2 OFDM symbol, as described above. The wireless receiver may use the FDM pilot to obtain more channel estimates, particularly if the FDM pilot is transmitted across the super-frame, as shown in
Channel Location and FAP Detection Algorithm
The output of the IFFT block 918 can be thought of a time-domain channel estimate that is 2048 taps long and possibly cyclically-shifted by the amount TB as depicted in
In the absence of noise, the maximum energy inside the window is reached when the (window starting position+NW) modulo NC is greater than the position of the last channel tap, and it stays at the maximum until the window starting position moves beyond the FAP. Therefore, detecting FAP simply amounts to detecting the trailing edge of a flat zone near the maximum of the accumulated energy curve shown in
where 0≦n≦NC−1 denotes the beginning of the detection window, h(n) is the channel estimate, and the window “wraps around,” in the sense that the limits and the indexes in above summations should be taken modulo NC. The location of the FAP is then roughly determined as the index n that maximizes the score. In other words, let:
Sn=α·En−N
Then the FAP position is found as
FAP=(n*−ND)mod NC. (3)
In the algorithm outlined above, the free, adjustable parameters are α and ND. The values ND and α are kept programmable and different combinations of (ND, α) pairs lead to different levels of importance the algorithm places on detecting the weak leading taps of the channel impulse response. Namely, embodiments with low values of ND and high values of α typically detect FAPs which are small in magnitude. However, larger values of ND lead to more noise averaging in making FAP decisions. The values used in one embodiment of fine timing acquisition are ND=5 and α=0.9375.
FAP Detection Implementation
One thing specific to the implementation of FAP detection in the FTA mode is a stringent timeline for computation, which take places before the start of the next symbol. The time for computation (e.g., 300-400 microseconds in one embodiment) completes before the next OFDM overhead symbol 216 is received as shown in
The FFT and IFFT implementation for the fine timing acquisition is optimized to meet a stringent timeline as follows:
Notice that in order to compute the windowed energy in Equation (1) from position 0, namely E0, we wait until all NW/2 4-point IFFTs have been completed. However, at the same time we have enough data to compute EN
En+1=En−{|h(n)|2−|h(n+NW)|2}=En−d(n), for 0≦n≦NW−2 and
En+N
Since the same correction factor is used to update both accumulators, these values d(n) are stored for future use. The first phase of the FAP detection includes computing E0, EN
Channel estimates obtained using TDM pilot 2 can be “noisy” in low SNR scenarios. Sometimes, noise can appear as artificial channel content, and timing corrections during FTA could erroneously take this artificial content into account when analyzing the channel estimate. Sometimes, calculated symbol timing based on the noise can result in poorer performance. In one embodiment, the channel tap energies are compared to a pre-determined threshold to remove the tap energies if below the threshold. After the norm operation 1408, some embodiments include a threshold block 1404 that removes the tap energies. In one embodiment, the threshold limit can be chosen as K times the expected variance of the noise, under the assumption that the input SNR is some pre-determined lower value P. By choosing P and K appropriately, one can adjust the probability that an artificial tap will appear in a TDM 2 channel estimate due to noise at input SNRs P and higher. In one example, K can be chosen as 12 and P as −2 dB. In any case, this threshold is kept programmable, and if set to zero, effectively no thresholding takes place in block 1404.
After the completion of the first phase, the second phase is performed, where the values of finite difference Dn and score Sn are initialized as used in Equation (2). Several boundary values of En are stored. The second phase is described before providing the sequence of operations. According to Equation (1), the first value of the finite difference that is computed is D2N
Note that E2N
To summarize, at this point the following variables are to be initialized:
Phase three of the FAP detection algorithm can be summarized as shown in the flow chart of
ND+1≦n≦NW−ND, and NW+ND+1≦n≦NC−ND.
The missing points are located at the boundaries of the two starting window positions, i.e., around position 0 and position NW. These extreme cases are handled by step 1508 called “Update FAP,” and are dependent on the stored energy values. In one embodiment, the sequence of operations for step 1508 is as follows.
For n=1; n≦2ND−1; n++, do the following:
At this point in the processing, the FTA algorithm has completed phase three, the FAP has been detected, and the FAP position has been stored in variable FAP. The last stage of the FTA algorithm is to compute the fine timing correction based on this information. Before we describe this phase, we provide additional details on the implementation of phase three described above. To this end, consider
Fine Timing Offset Calculation and Correction
The integer value representing the location of the FAP, TB, of the wrapped-around channel estimate as in
Here, the factor 17 corresponds to the window of 17 samples inserted between two OFDM symbols in this embodiment, and it is understood that the corresponding factor may vary in different embodiments. Next, the factor BOFF is a programmable parameter responsible for inserting a deterministic delay in the perceived symbol boundaries, or, equivalently, for introducing a bias in FAP placement for future OFDM symbols. This parameter is usually chosen as a positive value, since it can be shown that making a negative error in the symbol boundary estimation (called “late symbol sampling”) leads to worse performance. In one embodiment, the value of BOFF is chosen to be 127, but other embodiments could use other values.
The first option in the conditional tends happens more often, assuming that the coarse acquisition error was less then ±512 samples. The FTA algorithm can, in principle, handle coarse timing errors of up to ±1024 samples, however, if the initial acquisition algorithm was late by more than 512 samples, there might not be enough time left to compute the correct offset and apply it before the beginning of the first symbol in the Overhead OFDM symbols 216 shown in
The integer value offset calculated above is used to apply fine timing correction by modifying the OFDM sample counter content before the beginning of the next OFDM symbol as described above. The counter rolls over once the value of 4625 has been reached, but updating the current value in the counter effectively changes the point of this roll-over. In one embodiment, the value offset calculated above can be first limited to ±512 before getting applied, in order to facilitate an easier transition of the frequency tracking block.
The final stage in the FTA algorithm is using the channel estimate obtained as above in order to initialize the time filter in the channel estimation block. This initialization helps in correct demodulation of the next symbol. The channel estimation initialization is described next.
Bootstrapping Channel Estimation
The algorithm for bootstrapping the channel estimation for the channel estimator 730 is described below. One aim of the channel estimator 730 is to provide a starting point for a channel estimation time filter. The time filter works on three consecutive channel estimates, h(n−1), h(n), h(n+1), 512-samples long, representing the past present and future. All three locations are initialized to all-zeros. As the last stage of the FTA is completed, the location corresponding to the present, namely h(n) is initialized with the 512-tap channel estimate derived from the 1024-long estimate computed above [we will refer to this impulse response as ĥ(n)]. The modifications to ĥ(n) are three-fold:
In data mode time tracking (DMTT), the problem is similar in that timing corrections can be done based on channel estimates, only that the channel estimates are now obtained using FDM pilots. The algorithm for finding timing corrections (or timing offsets as mentioned above) based on channel estimates can be rather similar in one embodiment). In this case most of the hardware used for FTA can be re-used for DMTT purposes.
Channel estimates based on TDM pilot 2 in FTA mode are longer in one embodiment (e.g., length 2048 taps) than channel estimates in DMTT (e.g., length 1024 taps). Longer channel estimates may help in resolving ambiguities in OFDM symbol timing, when channel is longer than 512 taps, but shorter than 1024 taps, for example. Any channel response longer than 512 taps can potentially create a problem for some DMTT algorithms, since DMTT is performed on channel estimates of length 1024. However, TDM pilot 2-based channel estimates in FTA mode are twice as long in one embodiment to allow uniquely resolving the location of the channels up to length 1024 taps.
With TDM pilot 2 transmitted at least in every super-frame, TDM pilot 2 can be acquired periodically once in N super-frames by the receiver to resolve any potential timing ambiguities in some embodiments. N can be programmable and might be changed based upon delay spread or other factors. The FTA process would be performed on each Nth super-frame to apply corrections to the ongoing DMTT process.
Referring next to
With reference to
The synchronization techniques described herein may be implemented by various means. For example, these techniques may be implemented in hardware, software, or a combination thereof. For a hardware implementation, the processing units at a base station used to support synchronization (e.g., TX data and pilot processor 120) may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof. The processing units at a wireless receiver used to perform synchronization (e.g., SCEU 180) may also be implemented within one or more ASICs, DSPs, and so on.
For a software implementation, the synchronization techniques may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in a memory unit (e.g., memory unit 192 in
While the principles of the disclosure have been described above in connection with specific apparatuses and methods, it is to be clearly understood that this description is made only by way of example and not as limitation on the scope of the invention.
The present Application for Patent claims priority to Provisional Application No. 60/660,901, filed Mar. 10, 2005, and assigned to the assignee hereof and hereby expressly incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
60660901 | Mar 2005 | US |