EE511 FALL 2003
INTRODUCTION TO COMMUNICATION
SYSTEMS
12-19-03, 9pm
FINAL PROJECT
RESULTS
FIRST PLACE:
Robbie, UKEE
SECOND PLACE: KEMP
THIRD PLACE: Baseline tie with 3 remaining groups
GROUP
BITS/PACKET
DATE
COMMENT
Robbie 58254
12-17-03
Robbie Bottoms, Dustin Pham, Elios Klemo
UKEE 58254
12-12-03
Paul Sprong, Caleb
Benton, Kuswandi, Mark Youssef.
KEMP 52224
12-19-03
Patrick, Eli Crane, Madiha Ahmed, Kungyen Chang
EPAC 32768
11-27-03
Eric Hewitt, Amber Miller,Cory Wallace
Graduates and
Wannabees 32768
12-7-03
Josh Haynes, Todd Cantrell, Ed Rippettoe, Jennifer Topmiller
Group Scratch 32768 12-17-03
Tom Roser, Nate Owens, Ricky Binkley, Sherlton
EE51103
4096
11-20-03
BASELINE SYSTEM
Hassebrook
SCORING: This
is a competitive format so the scoring is based on a dynamic scale. The score
is SCORE = A * Nbit + B where A and B
are determined from the following two equations:
100 = A * Nbmax + B
70 = A * 32768 + B
where Nbmax is the highest number of bits transmitted and
received without error.
SYLLABUS
Home
work and class schedule
Graders: Please return grades, by email, on XLS form provided below.
Visualizations are treated as one homework problem. Homework grade should be
between 0 and 100 points. I suggest weighting everything equally,
including the individual problem parts. Also, to expedite the grading,
grade each problem part as correct (full credit), partially correct (half
credit) or completely wrong (0 credit). You will receive 2 copies of the
solutions, keep one and put one in the library ee511 folder. In addition to
dropping your lowest homework, for grading, you will be allowed to drop 2 more
homeworks, one must be the one you grade and then the other is which ever is
lowest.
Class
Roster and Grader Assignment
V2 Data (ABlist03.m)
V2
DSSS Description
V5
Mixer and DSBSC Description
PROTOCOL for FINAL PROJECT
updated
11-12-03
Student
sends the bit matrix size, modulator and demodulator m files to instructor. All
the files sent to the instructor have the "groupname" as a prefix so
the instructor can keep the track of the individual group m files and data.
1.
BIT MATRIX SIZE (student sends this to instructor): The student is ranked by
the total number of bits that can be transmitted through the channel. The bit
matrix is 2 dimensional. It has a length Nbit (column dimension) and a width of
Nseq (row dimension). These values, named "Nbit" and
"Nseq", along with a character string containing
"groupname", they are stored in a file called
"groupname_Bsize.mat." An example m file is "groupname_createBsize.m".
Group sends instructor this m file to initiate test.
2.
BIT MATRIX (instructor generates this based on groupnameBsize values): The bit
matrix is generated and stored in a file called groupname_B.mat and the matrix
is called B. A sample code that will generate a Nseq x Nbit bit matrix B is
"Bgen03.m." I will use Bgen to generate
a random sequence of bits of the size specified by the student in
"groupnameBsize.mat."
3.
MODULATOR (student sends the modulator m file to the instructor): A modulator m
file by the name "groupname_modulator.m"
will be sent to the instructor. Its input is the file named "groupname_B.mat."
The program will create a 1 x N real vector "s" and a Nseq x N, bit
check matrix, called "Bcheck." The signal vector will be stored in
"groupname_signal.mat" and the bit check matrix is stored in
"groupname_Bcheck.mat." The length is N=524288=65536*8. The
Bcheck matrix (Nseq x N) has 3 element values +1 for a bit value of
"1" to be present, -1 for a bit value of "0" to be
present and 0 for "don't care."
4.
CHANNEL (instructor will run this program, channel03.m, on vector s). The channel will do
three things, lowpass plus bandpass filter and then add noise. The signal
vector s0 is convolved with the Butterworth low pass filter of order 8 and
fc=N/16, yielding a bandlimited signal vector s. The noise is based on the
value sigma=0.2*(max(s)-min(s)) and is generated by w=sigma*randn(1,N). The
noisy vector is sn=s+w. The output of the channel will be a real one
dimensional vector, "r", of size 1xN. This r vector will be stored in
groupname_r.mat.
5.
DEMODULATOR/BINARIZER (student sends the demodulator.m file to the instructor):
A demodulator file by the name "groupname_demodulator.m"
will be sent to the instructor. Its input file is groupname_r.mat. Its
output will be a Nseq x N real matrix. Each row of the matrix will represent
the demodulated and binarized bit stream defined in B. This output will be
stored in "Bs" and saved to the file groupname_Bs.mat. NOTE: The
demodulator should also binarize the signals in Bs to have values of either 1
or 0.
6.
BIT CHECK (instructor will run bitcheck, bitcheck03.m, to test the students data for
errors): The instructor will run a program that will input the groupname_B.mat
file, groupname_Bcheck.mat file and the groupname_Bs.mat file. The program will
go to each value of 1 or -1 in the Bcheck matrix and see if the associated
element in the Bs matrix is (1) if Bcheck is 1, then Bs value must be 1 (above
0.5), (2) if Bcheck is -1, then Bs must be 0 (below 0.5). For each element of
Bcheck that is 0 (between -0.5 and +0.5) the associated value in Bs is ignored.
The resulting values will be verified with the B matrix. To be acceptable,
there must not be any errors in either the number of ones and zeros or the
specific bit values when compared to B. The results will be posted on the
web.
Additional m files include:
binarize.m
irect.m
lp_butterworth_oN_dft.m
bp_butterworth_oN_dft.m
FAQs
MATLAB:
- Where
is a manual for MATLAB? Try the library first. Most students only use the
manual in the very beginning of their MATLAB experience. Once into it, the
language is intuitive enough and there are enough sample M files that
learning MATLAB is somewhat self-sustaining without manuals. Type
"matlab" to execute intepreter, "help ?" to see
listing of operators, "help" for listing of functions,
"who" to see active variables, "what" for listing of M
files and always use "clear" to start over again.
- How do
you initialize the dimension of a variable? One way is to initialize its
values by zeros(M,N) or ones(M,N). Ex: A=zeros(10,8) is a 10 x 8 matrix of
zeroes. Another function is "ones" which works the same way as
"zeros". Another method is nested loop, ie., 1:5 loops from 1 to
5 so A(1:5)=3:7 will store the values 3 to 7 in the first 5 elements of A.
