Channel estimation equalization for OFDM in MATLAB
This page of MATLAB source code covers channel estimation and channel equalization for OFDM based system.
Transmitted packet after passing through the wireless channel or environment will get impaired or corrupted due various impairments over the path. This leads to poor bit error rate of the wireless system. Hence there is a need to correct this channel impairment using some technique. To achive this usually in wireless systems preamble is appended with the information packet to be transmitted. In figure below PS1 and PS2 are two preamble symbols and D1 to Dn are the symbols of the data packet to be transmitted.
There are two steps for performing channel correction or channel equalization. First preamble based channel estimation and equalization is done and later pilot subcarriers embedded in the data symbols are used to perform phase rotation of all the data symbols. Figure depcits 4 pilot carriers embedded in the data symbol-1 i.e. D1. The same is embedded in all the data symbols.
STEP1: Channel estimation is done in the time domain.
First all the samples of received preamble is divided using reference preamble symbol 1(PS1).
This gives channel response in time domain for the preamble symbol-1.
STEP2: Deconvolve entire packet with this channel response determined in STEP-1.
STEP3: Take FFT of the entire packet. Now determine phase rotation using the pilots embedded in the data symbols D1 to Dn. Take average of phase rotation values of all four pilots.
STEP4: Rotate the values of data symbol-1 using the average phase rotation.
STEP5: Similarly determine phase rotation using pilot carriers embedded in each of the data symbols one by one and derotate accordingly.
%%Rotating symbol accordingly
Data_symbols_rotated = Data_symbols_after_equalization*exp(-i*mean(estimated_pilots));
Above mentioned procedure of channel estimation is also referred as least square method.
DOWNLOAD CHANNEL MODEL MATLAB CODES
Following are matlab codes for channel models viz. SUI channel model, ITU-T channel model as per wimax 802.16e standard, JTC channel model as per 802.11b/11g, UWB channel model as per 802.15.3 and 802.15.4 standard specifications.
802.11a WLAN channel model matlab files
802.11b 11g JTC WLAN channel model matlab files
802.15.3 UWB channel model matlab files
802.15.4 UWB channel model matlab files
802.16d SUI WiMAX channel model matlab files
802.16e ITU-T channel model matlab files
Rayleigh channel model matlab files
Rician channel model matlab 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