Time offset estimation for OFDM in MATLAB
This page of MATLAB source code covers time offset estimation for OFDM based system.
Time synchronization is very important in wireless as well as wireline communication between transmitter and receiver. In order to achieve this various techniques are employed. The most common method is to transmit fixed repeated pattern along with the data. This is also referred as preamble. Usually preamble is appended at the beginning.
Copy of the preamble which is used along with the data for transmission is usually stored at the receiver. Correlation of the received packet with the stored local copy has some unique characteristics. This unique feature is exploited for time offset estimation in most of the systems. On this page we will see time offset estimation for wimax system which is used for broadband communication between WiMAX system consists of two main parts subscriber station and base station. WIMAX has got many frequency bands depending on countrywide allocations. It is based on OFDM modulation concept.
As mentioned wimax preamble consists of two symbols, first symbol has pattern repeated four times and second symbol has pattern repeated twice. We will see time offset estimation based on first symbol preamble. This preamble correlate with itself has got 4 peaks as shown in the figure-1. The maximum peak will be at position index zero.
• Preamble Symbol-1 correlated with itself will provide four peaks and symbol2 correlated with itself with provide the two peaks. The same is exploited for time offset estimation.
• In time offset estimation received packet in time domain is correlated with the short preamble with CP stored locally at the receiver.
• Determine the maximum peak and find the index of the same.
• This index minus one provides the time offset in the packet.
• Find below the matlab snippet for the same.
%%%%Adding time offset%%%%%%%%%%%%
Toff=input('Enter time offset any numeric number(for example 100):');
%%%%%%Time offset estimation%%%%%%%%%%%%%%%%%%%%
t_offset = n-1
%%%%Time offset correction%%%%%%%%%%%%%%%%%%%%
The received packet correlated with the local copy of the preamble will shift the maximum peak from the zero position. This shift is proportional to the amount of time offset in the received packet. The same has been derived using the above matlab code.
Time offset correction
In the Time offset correction samples calculated in the aove algorithm has been skipped and the packet without this offset is fed to the next synchronization module in the receiver i.e. frequency offset estimation and correction.
The similar concept of time offset estimation and correction is employed in WLAN, LDACS based OFDM systems.
DOWNLOAD MAT FILES
Useful Links to MATLAB codes
Refer following as well as links mentioned on left side panel for useful MATLAB codes.
OFDM Preamble generation Time off estimation corr Freq off estimation corr channel estimation 11a WLAN channel PN sequence generation OFDMA Tx Rx AES DES carrier aggregation CCDF FIR Filter IIR Filter Low Pass FIR Viterbi decoder CRC8 CRC32