EE511 FALL 2008

INTRODUCTION TO COMMUNICATION SYSTEMS

12-22-08

 

SYLLABUS

 

Home work and class schedule

V2 Data (ABlist05.m)

V2 DSSS Description

V4 Flat Top Sampling Model

V6 ISI Instructions

Additional Problem HW 7: Nodal Analysis of BPF

 

LECTURE NOTES

 

Lecture 1

Lecture 2

Lecture 3

Lecture 4 FT continued

Lecture 5 FT Convolution Proof

Lecture 6 FT continued

Lecture 7 PSD and Orthogonality

Lecture 8 Fourier Series Expansion

Lecture 9 More Fourier Transforms and Fourier Series Expansions

Lecture 9B Linear Systems and Power Transfer Function

Lecture 10 Discrete Fourier Transform

Lecture 11 SamplingTheoryImpulseSampling

Lecture 12 AntiAlieasingNaturalSampling

Lecture 13 Time Division Multiplexing

Lecture 14 Eye Diagrams, Differential Coding, Cosine Rolloff and Pulse Width Modulation

Lecture 14B Integrate and Dump, Delta Modulation

Lecture 14C Active Filter Design

Lecture 14D Nodal Analysis of Active Filters

Lecture 15 Double Side Band Suppressed Carrier Modulation

Lecture 15B Signal Distortion Measures

Lecture 16 Phase Lock Loop

Lecture 17 Super-heterodyne Receiver

Lecture 18 Single Side Band

Lecture 19 Hilbert Transform and Vestigal Side Band

Lecture 20 Quadrature Modulation

Lecture 21 FM and PM Modulation

Lecture 22 FM Stereo

Lecture 23 Binary Modulation Methods

Lecture Optional Weavers Method


FINAL PROJECT RESULTS

FIRST PLACE:

Demodulasaurus_Rex:                                                 262143       12-18-08

Christopher Leedy and Mike Pawelczyk

 

SECOND PLACE:

HS:                                                                                65536         12-18-08             

Harikrishnan Unnikrishnan and Satoru Tagawa

 

 

GROUP                                                                                BITS/PACKET          DATE                         NUMBER GRADE

 

EE51108 Baseline                                                         32768         12-17-08             

 

Demodulasaurus_Rex:                                                 262143       12-18-08

Christopher Leedy and Mike Pawelczyk

 

HS:                                                                                65536         12-18-08             

Harikrishnan Unnikrishnan and Satoru Tagawa

 

vgunkp08:                                                                    32768         12-11-08
Venkatesh Gutta and Narendra Kumar Polani

 

swebhav08:                                                                   32768         12-15-08
Swetha Sree Nimmagadda and Durga-Bhavani Mupparty

 

shrianu08                                                                      32768         12-16-08

Shripriya Poduri and Anusha Raghunathan


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 * 32768 + B

where Nbmax is the highest number of bits transmitted and received without error. The baseline ran at 32768 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 "Bgen08.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, channel08.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, bitcheck08.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.
     

home