University of Florida, Department of Electrical and Computer Engineering

EEL 4514 -- Communication Systems and Components


Class Project Guidelines

General Objectives:

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.

Project Format:

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.

Instructions for Preparing and Submitting Your Project Reports

Hints for Coming Up with a Topic

Please feel free to propose any idea you want for your project. To help you start thinking, here are some projects as examples.


Sample Student Project


A Suggested Project Problem: (courtesy of Dr. Tan Wong)

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:

  1. an A/D convertor to convert the image to a digital signal,
  2. a digitial modulator for the transmission of the digital signal through the channel,
  3. a digitial demodulator for the reception of the transmitted signal,
  4. a D/A convertor to convert the received digital signal back to an image, and
  5. any other components that you think may help.

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