Performance Analysis of Channel Estimation and Adaptive Equalization in Slow Fading Channel

Zhifeng Chen

Advisor: Prof. Dapeng Oliver Wu


|| Abstract || Introduction || Result || Download || Future Work || Useful Links ||

 

Abstract

In our project, we first build up a wireless communication simulator including Gray coding, modulation, different channel models (AWGN, flat fading and frequency selective fading channels), channel estimation, adaptive equalization, and demodulation. Next, we test the effect of different channel models to the data and image in receiver with constellation and BER (bit error rate) plots under QPSK modulation. For Image data source, we also compare the received image quality to original image in different chan-nels. At last, we give detail results and analyses of the per-formance improvement with channel estimation and adap-tive equalization in slow Rayleigh fading channel. For frequency selective fading channel, we use linear equaliza-tion with both LMS (least mean squares) and RLS (Recur-sive Least Squares) algorithms to compare the different improvements. We will see that in AWGN channel, the image is degraded by random noise; in flat fading channel, the image is degraded by random noise and block noise; in frequency selective fading channel, the image is degraded by random noise, block noise, and ISI.
 

Introduction

Mobile communications and wireless network have experienced massive growth and commercial success in the recent years. However, the radio channels in mobile radio systems are usually not amiable as the wired one. Unlike wired channels that are stationary and predictable, wireless channels are extremely random and time-variant. It is well known that the wireless multi-path channel causes an arbitrary time dispersion, attenuation, and phase shift, know as fading, in the received signal. Fading is caused by interference between two or more versions of the transmitted signal which arrive at the receiver at slightly different times.

There are many diversity techniques to address fading issue, such as OFDM, MIMO, RAKE receiver and etc. However, it may be still necessary to remove the amplitude and phase shift caused by the channel if you want to apply linear modulation schemes, such as the ones used in WiMAX. The function of channel estimation is to form an estimate of the amplitude and phase shift caused by the wireless channel from the available pilot information. Channel estimation methods may be divided into two classes: pilot-based estimation and blind estimation. In our project, we will focus on pilot-based channel estimation with training data. The equalization removes the effect of the wireless channel and allows subsequent symbol demodulation. An adaptive equalizer is a time-varying filter which must con-stantly be retuned. A number of different algorithms can be employed for these modules. In our project, we use LMS (least mean squares) and RLS (Recursive Least Squares).
 

Result

Figure 1 shows the flow chart of our model used in this project.

Figure 1: flow chart of Matlab simulation

Our simulation supports two kinds of source data, either the randomly produced data or an image file. While random data is ideal to test the channel impact to the BER performance and signal constellation, image file give us an intuitive impression and comparison for different channels.

After the source data is produced, the pilot data is inserted into head of source data in each coherence time. It is used to estimate the random phase shift of the fading channel and train the decision to adjust the received signal with phase recover. User may set any percentage of the pilot data length to the total data length (pilot data plus source data) in our model. In our simulation, we set the pilot data as 8% of the total data length.

Then, user may choose to use gray coding or not in the simulation. After gray coding, data is mapped from binary data to complex data, and each output datum represents a point in the constellation diagram. In our model, we use phase shift keying (PSK) modulation to modulate the data source, and user may choose arbitrary M-ary PSK to modulate the signal. In our simulation, we test the QPSK modulation.

In our simulation, we simulate three different channels: AWGN channel, Rayleigh flat slow fading channel, and Rayleigh frequency selective slow fading channel. AWGN channel is very straightforward by just add a white Gaussian noise into signal to meet specified SNR. We simulate both flat fading and frequency selective fading channels by Clarke and Gans fading model (Rappaport textbook). User may set different velocity to get different coherence time for both these two fading channels.

In the receiver side, we need channel estimation for flat fading channel or adaptive equalizer for frequency selective fading channel. Since we use PSK modulation in our model, the channel phase information in each coherence time need to be estimated, and the weight of each tap in the equalizer need to be trained by pilot data. Then, source data are adjusted by estimated phase for flat fading channel or equalized by trained equalizer for frequency selective fading channel. The received signal constellations of both with and without adjustment are dynamically showed in the simulation. User may choose to plot constellation or not in the program, and if they choose to plot constellation, they may also set the SNR for the constellation.

Decision device decide each adjusted symbol, correspondent to each point in constellation, to a binary datum. At last, we get the bit error rate by compare source data and received binary data. For image data, the binary data is converted back to image data and displayed.

For more detail information, please refer to the course project paper.


Download

download full files in winzip format here.

Source code:

Up to now, there are totally three versions of source code:

version 1.0    version 1.1    version1.2

Below are come from version 1.2. Before run these codes, you may read the readme file here.

main: This is the main file, and user only need to run this file, which will call all the other files.

playdemo: this function is to set parameters for the program to run in play mode

image2data: this function is to transfer image to data suitable for transmission

MPSK_mod: M-PSK modulation

MyRayleigh: flat fading channel, generate Rayleigh fading with Clarke' Model

MyRayleighPDP: frequency selective fading channel, generate Rayleigh multipath fading with Clarke' Model

CE_flat: flat fading channel estimation In this program, I just estimate the average phase error and amplitude error

Constellation_flat: this function is to plot the constellation of received signal with and without phase estimation in the ith iteration, i.e. ith coherent time, where ith is random selected.

Constellation_FSF: this function is to plot the constellation of received signal with and without equalization, trained equalizer weights, and training curve in the ith iteration, i.e. ith coherent time, where ith is random selected.

MPSK_demod: M-PSK demodulation

data2image: this function is to transfer data type back to image for display

BER_AWGN: this function is to plot the BER of received signal

BER_flat: this function is to plot the BER of received signal with and without phase estimation

BER_FSF: this function is to plot the BER of received signal with and without equlization

Test files:

MPSK_AWGN_error: calculate and plot BER for M-PSK modulation in AWGN channel with exact phase information and phase estimation error

MPSK_flat_error: calculate and plot BER for M-PSK modulation in flat fading channel with exact phase information and phase estimation error

Documents:

Project paper: This is our course project paper for GNU Radio. This will give you more idea on our project and details on what we have done

Presentation: Introduction and main topics

Project Proposal: This is a proposal before we begin this project. The final project paper is different from it by revise, add and remove some contents based on the further evaluation during development.

 

Future Work

Figure 2 shows the flow chart of our model used in the next project.

Figure 2: flow chart of future project

Our simulation supports two kinds of source data, either the randomly produced data or an image file. While random data is ideal to test the channel impact to the BER performance and signal constellation, image file give us an intuitive impression and comparison for different channels.

After the source data is produced, the pilot data is inserted into head of source data in each coherence time. It is used to estimate the random phase shift of the fading channel and train the decision to adjust the received signal with phase recover. User may set any percentage of the pilot data length to the total data length (pilot data plus source data) in our model. In our simulation, we set the pilot data as 8% of the total data length.

Then, user may choose to use gray coding or not in the simulation. After gray coding, data is mapped from binary data to complex data, and each output datum represents a point in the constellation diagram. In our model, we use phase shift keying (PSK) modulation to modulate the data source, and user may choose arbitrary M-ary PSK to modulate the signal. In our simulation, we test the QPSK modulation.

The output complex data is divided into In-phase and Quadrature (I/Q) branches. Each of them passes through a pulse shaping and then mix together to get filtered baseband signals. The last step in the PC side is to send the baseband signals to the USB interface, which are connected with an Universal Software Radio Peripheral (USRP) board.

In USRP board, FPGA interpolate the baseband signals, and D/A converter convert the digital signals into analog signals. At last, the output signals of USRP board is modulated by a RF module with specified carrier frequency, and transmitted.

In the receiver side, both RF module and USRP perform the reversed roles as their transmitter counterparts. The received digital signals are filtered by matched filters and sampled at sampling time in I/Q branches respectively. In an indoor environment, the wireless channel between two USRP boards is mostly like a flat fading channel. So, we need channel estimation to estimate the channel information and source data are adjusted by estimated phase. The received signal constellations of both with and without adjustment are dynamically showed in the simulation. User may choose to plot constellation or not in the program, and if they choose to plot constellation, they may also set the SNR for the constellation.

Decision device decide each adjusted symbol, correspondent to each point in constellation, to a binary datum. At last, we get the bit error rate by compare source data and received binary data. For image data, the binary data is converted back to image data and displayed. 

 

 Useful Links

Here are some useful links which I used during my development: