EE511 FALL 2009
INTRODUCTION TO COMMUNICATION
SYSTEMS
12-17-09 12:27pm
SYLLABUS
Home work and
class schedule
SUPPLEMENTAL
HOMEWORK AND VISUALIZATIONS
V2 Data
(ABlist09.m)
V2
DSSS Description
Additional
Problem
HW 3: Nodal Analysis of BPF
V6
ISI Instructions
PROJECTS
Flat
Top Sampling Model
FINAL PROJECT RESULTS (GOOD JOB! REALLY INTERESTING
TECHNIQUES FOR EE511’s MOST NOISY CHANNEL EVER)
FIRST PLACE: Team
D 4993
SECOND PLACE: U_Cant_FFTouch_This 4968
GROUP
BITS/PACKET
DATE
NUMBER GRADE
Team_D 4993 12-17-2009
Justin Daniels
U_Cant_FFTouch_This 4968 12-17-2009
Andrew Puckett, Ben Hodson
Beachbumbs 4104 12-17-2009
Michael Carrico, Jeremy Elias, Anubhav Gupta,
Reagan Miller
LowClassFilters 3103 12-17-2009
Nate Lannan, Anurita Adamala, Jon Botiller,Muhamed
Begovic
OrangeCrush 3102 12-17-2009
Andrew Dale, Seth Kirk, John Wright
EE51108 Baseline 2048 12-8-2009
DY 2048 12-10-2009
Yi Lu and Derek Slone
mDV 2048 12-9-2009
Matthew Vogt
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
75
= A * ? + B
where
Nbmax is the highest number of bits transmitted and received without error. The
baseline ran at 2048 bits.
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 "Bgen09.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, channel09.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, bitcheck09.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
LECTURE NOTES
Lecture
1: Narrowband and Wideband Signals
Lecture
2: Signal Functions
Lecture
2B: Energy and Power
Lecture
3: Fourier Transform
Lecture 4:
Functions of Fourier Transforms
Lecture
5: Fourier Series
Lecture
6: PSD and Autocorrelation
Lecture
7: Linear Time-Invariant Systems
Lecture 7B:
Hilbert Transform
Lecture 8:
Filter Design
Lecture 8B:
Nodal analysis
Lecture
9: Discrete Fourier Transform
Lecture 10:
Sampling Theory
Lecture 11:
Natural Sampling
Lecture 12:
Flat Top Sampling and Summary
Lecture
13: Double Sideband Suppressed Carrier (DSBSC) modulation
Lecture 14: AM
modulation
Lecture
15: SSB
Lecture 16: Super
Heterodyne Receiver
Lecture 17:
Vestigal Sideband
Lecture
18: SSB with Weavers Method
Lecture 19:
FM and PM modulation
Lecture 20: FM
Stereo
Lecture
21: Simple AM/FM demodulation
Lecture
22: Phase Locked Loop
Lecture
22: Costas Receiver
Lecture
23: Pulse Width Modulation
Lecture 24:
Integrate and Dump
Lecture 25:
Delta Modulation
Lecture
26: Time Division Multiplexing
Lecture
27: Baseband Digital Data and Binary Modulation
Lecture 28:
Review of Probability
Lecture 29:
Matched Filter
Lecture 30:
Signal Space
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.
