# 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

## RF and Wireless tutorials

WLAN 802.11ac 802.11ad wimax Zigbee z-wave GSM LTE UMTS Bluetooth UWB IoT satellite Antenna RADAR