The semester design experience is divided into several smaller projects and one larger project. Each project will build on your ability to simulate a variety of modulation types used in digital communication systems. The final, larger project will eliminate one assumption made throughout the smaller projects, that is, perfect timing synchronization. In this way, through a two-month period, you will design complicated digital receivers, at each stage ensuring that your design is correct.
Some of the small projects may take 1-2 hours, while some projects may take only 1/2 an hour. The final project will be the biggest jump, and will likely take several hours. Overall, the projects are worth 25% of your final grade. Of the total project grade, each project's percentage is listed below. Projects will be submitted by email to . As with the homework deadline, projects may be submitted up to 24 hours after the original deadline. Please see the detailed instructions under each project.
These projects were designed by Prof. Michael Rice in Simulink, and have been 'translated' into plain-old Matlab for our purposes. If it is useful, you can view his original Simulink assignments.
Is there an easy way to run one block of my code without copying and pasting it to the Matlab command line?
Yes, using "Cell Debugging". You should first go to "Cell : Enable Cell Mode" in your Matlab editor. Then you can put two percent signs on an empty line to indicate the start of each cell, and use "Cell : Evaluate Cell" to evaluate one cell. A pdf describes this process in more detail. This feature may be available only in recent versions of Matlab (Thanks to Shafagh Abbasi).
How should I save my figures?
Please use the 'print' command to print the figure to a standard graphics file format. For example, I prefer
print -depsc figure.eps
or if you don't have a EPS viewer, you can use
print -dpng figure.png
Of course you can change the filename from 'figure' to anything you want.
What sample integers should I use when generating the carrier cosine wave? (For projects 3 and beyond)
To modulate a signal 's_0', I used:
n = 0:length(s_0)-1; s = sqrt(2) .* s_0 .* cos(omega_0 .* n);
If you use an 'n' vector which starts with '1' and ends with length(s_0), then you'll be off compared to my phase, by pi/2 radians. So, be sure to start your 'n' vector at zero.