University of Florida, Department of Electrical and Computer Engineering
EEL 4514 -- Communication Systems and Components
Class Project Guidelines
The project is intended to provide the students with an opportunity to take the initiative and develop independent research capability and creativity. In the project, students are expected to identify problems of their own interest, tackle the problems from their own perspective, gain hand-on experience, and hopefully, have the fun of making their own discoveries. The project will obviously require a good deal of time and energy, imagination and hard work.
The class project will be done in a group of at most four students, requiring about 20 hours per person over the entire semester. A project includes the following phases: choosing a project topic, conducting the project, and writing a project report.
A project usually consists of reading papers on a chosen topic, comparing performances of different approaches, and perhaps proposing your own algorithms/improvements, implementing one or two of them. Alternatively, it can be a thorough survey of system development and commercial deployment.
Specifically, you can find
Please feel free to propose any idea you want for your project. To help you start thinking, here are some projects as examples.
Zhifeng Chen, "Performance Analysis of Channel Estimation and Adaptive Equalization in Slow Fading Channel"
The project web site provides the project report and Matlab scripts developed:
The project problem is to design a digital communication system that can convey an image across a channel. You have to write MATLAB programs to implement the main components of such a digital communication system. The components you need to implement include:
There is no restriction on how you can design such a system.
You can demonstrate your design and MATLAB programs by transmitting this image. The image file is in the TIFF format. You can use the MATLAB function "imread" to read the file into MATLAB. The image file contains samples of a colored image with 8-bit quantization for each color at each pixel. You can treat the sampled values at each pixel as analog values, and thus the image loaded into MATLAB as a representation of the original analog image signal. You may further quantize it with fewer quantization levels. You need to convert the image into a sequence of digital symbols (say bits).
The communication channel is implemented by the function "channel(x)" [M-file], where "x" is the input vector. It is assumed that the input vector "x" contains samples of the transmitted signal obtained with a sampling frequency of 10MHz. As mentioned before, you should characterize the channel before making decisions on the design of your communication system. The channel is not time-varying. However it is not fixed, i.e., the actual channel realization is different each time you run "channel(x)". Your communication system design has to be robust enough to account for all the possible different channel realizations. This corresponds to the practical scenario in which you send multiple messages at different locations to an access point. The channel remains unchanged during the time you send a message through it. However the channel characteristics experienced by different messages sent at different locations may be quite different. In all, certain characteristics of the channel are fixed (location-independent) and can be learned "offline". Some others may be not, and have to be learned "online". As a result, you will need to adjust your communication design "on-the-fly" to account for these channel variations.
The function "channel(x)" also adds a significant amount of thermal noise to "x". You will have to adjust the power of "x" to overcome possible degradation of the received image quality by noise and other channel effects. Again for easy comparison among different designs, you have to measure the average amount of transmit energy per pixel your design needs to successfully (meaning with acceptable reconstructed image quality) convey the image across the channel. To do so, you can find the energy of your transmitted signal "x", and then divide the energy by the total number of pixels in the image.
After demodulating the received signal, you have to convert the digital signal back to an "analog" image. This means that your have to convert the recovered sequence of digital symbols (bits) into the an image. Your reconstructed image should be put in the exact same format of the original one that you read into MATLAB. You can write the reconstructed image into TIFF files by using the MATLAB function "imwrite".
Your design goal is two-fold:
Note that the two objectives above may be contradicting with one another. As a result, you may need to consider designs that acheive good tradeoff between the two objectives.
References:
1. Matlab demo:
Other Suggested Topics for Projects