EE511 FALL 2007
INTRODUCTION TO COMMUNICATION
SYSTEMS
12-13-07: 10:42pm
SYLLABUS
Home work and
class schedule
V2 Data (ABlist07.m)
V2
DSSS Description
V5
Flat Top Sampling Model
V6
ISI Instructions
Problem:
Nodal Analysis of BPF
FINAL PROJECT
RESULTS
FIRST PLACE:
SECOND PLACE:
THIRD PLACE:
GROUP
BITS/PACKET
DATE
NUMBER GRADE
Modulating_Madness (M Howard, S Edmondson,
Fiznik) 262144 12-12-07 100
PECCO (S Sahraian, I Cashku, W Mullins, N. Hundley) 114588 12-12-07 2nd place
bitRsweet
(B Hood, K Buchanan, C Asbery, M Phelps) 74896 12-10-07 3rd
place
BitRaiders
(Arcot, Kiran, Dedrick, Eric,Mallik,
Kaushik) 65536 11-20-07 80
GAP (D Ganapaneni,
G A Ganesh, A Reddy, P Rao) 65536 11-27-07 80
MRH (Mary Pulukuri, Sri Moturu, Rakesh Kothakapu) 65536 11-28-07 80
EE51107 Baseline 65536 11-19-07 80
NOT
UPDATED TO 2007
SCORING: (I boosted the scores to
represent the difficulty of the problem)
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
80
= A * 65536 + B
where
Nbmax is the highest number of bits transmitted and
received without error. The baseline ran at 16384 bits.
(NOT
UPDATED TO 07) PROTOCOL for FINAL PROJECT
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
"Bgen07.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=1048576=131072*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, channel07.m, on vector s). The channel will do
two things, lowpass filter
and then add noise. The signal vector s0 is convolved with the Butterworth low
pass filter of order 8 and fc=(N/32),
yielding a bandlimited signal vector s. It also has a
bandpass componet centered
at f0=N/8. The noise is based on the value sigma=0.1*(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, bitcheck07.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
V7
Mixer and DSBSC Description
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.
