Upload
kelly-horton
View
213
Download
0
Embed Size (px)
Citation preview
What you need to do (red)• Assignments:• 1. Data Source (0)• Propose a data source that you will use for your communication system. Discuss the randomness of data.• 2. 64-QAM Memoryless Channel Coder (25)• Design a channel coder with a code rate 1. The designed data source feeds the channel coder. The coder outputs are
64-QAM in-phase and quadrature-phase data. For example, with 6-bits taken from data source, an in-phase and a quadrature-phase amplitudes are produced.
• 3. QAM Base Band Modulation (25)• Design a QAM modulator. Modulator inputs are the output of 64-QAM channel coder and the modulation
frequency, etc. The output is a modulated QAM waveform. Show unit in-phase, unit quadrature-phase, and random data waveforms in a fine time resolution (for readability).
• 4. Channel Modeling (0)• Design a channel module that adds Gaussian noise to the modulated data with a given noise intensity. Show a 64-
QAM eye diagram.• 5. QAM Base Band Demodulation (25)• Design a QAM demodulator. Assume that full phase information is given and the phase is locked. The demodulator
outputs are in-phase and quadrature-phase amplitudes. Show a demodulated 64-QAM constellation with noise.• 6. 64-QAM Channel Decoder (25)• Design a QAM decoder that performs the inverse of the designed 64-QAM channel coder. • 7. BER Measurements (0)• Design a module calculates bit-error-rate with the original data source and the decoded data stream. Discuss how
many measurements are required to get 95% or 99% confidence. Make a plot of BER vs SNR. All the numbers, such as signal power and noise power, must be obtained from simulation.
• 8. Bandwidth Efficiency (0)• Calculate the bandwidth efficiency with a given BER. All the numbers, such as bandwidth must be obtained from
simulation. Discuss the definition of bandwidth of your baseband waveform.
64-QAM Communications System Design
• Signal source and source coding
• Channel coding• Baseband modulation• Channel modeling• Baseband demodulation• Channel decoding• Source decoding and
signal sinkSimplified 64-QAM communications system
Signal source and source coding
• Ideal source coded data– “Random”– Memoryless source– Equiprobable– Spectrum and autocorrelation
• A randomly generated data
• What if the data is not random?
64-QAM Channel Coding• 2^6=64• Use rate 1 code• Map a sequence of 6-bits
to 64 symbols• Symbol error• Bit error
An example of 16-QAM mapping
Baseband Modulation (4)• Sampling of waveform
– Minimum samples per symbol
• Number of waves per symbol
• Orthogonal signals– [1 1] vs. [1 -1]
– [1 0 -1 0] vs. [0 1 0 -1]
Clock Recovery and Phase Locking• Clock recovery from
baseband signal• Phase locking • Maintain constant clock
and locked phase• Clock synchronization
pilot signal• Assume perfect clock
recovery and phase locking
64-QAM Demodulated with perfect phase and 2.5% phase lag
Channel Decoding and Signal Sink
• Channel Decoding– Inverse of channel coding– Simple hard decision
• Signal Sink– Compare received and decoded data with signal source
Testing and Measurements
• Obtain– 64-QAM waveform– Eye diagram– Bit error rate– Bandwidth efficiency
Signal Power and SNR
X () E[X(t)X(t )]
X ( f ) X ( )
e j 2fd
Power X ( f )
df X (0) E[X(t)X(t)]
X () X ( f )
e j2fdf
RX (,T) 1
2Tx(t )x(t)
T
T dt
limTRX (,T) RX ()
limT
var[RX (,T)] 0
SNRPowersignalPowernoise
SNRdB 10 logPowersignalPowernoise
Symbol / Bit Error Rate• S/BER=Symbol or Bit
Error / Tx-Rx Bits• How many symbols/bits
to test for a given BER• How many measurements
for a given BER• 95% or 99% confidence
interval• t-test
An example of 64-QAM BER plotSNR(dB)
BE
R
Theory vs. Practice• Given BER plot vs.
experimented BER plot• Given bandwidth
efficiency vs. experimented bandwidth efficiency
Tools
• Any tools supported by ECE
• MATLAB recommended
• C, C++, Java, Visual Basic, Perl, PHP…
• Simulink ?
MATLAB (1)>> A=[0 1 2; 3 4 5]A = 0 1 2 3 4 5>> A=(0:0.2:1)'A = 0 0.2000 0.4000 0.6000 0.8000 1.0000>> plot(A,cos(2*pi*A))
>> ta=1:-0.01:0;>> tb=(0:.01:1)';>> ta+tb';>> ta'.*tb;>> ta.^2;>> ta(1:10)=tb(11:20)’;>> help>> help elfun>> lookfor signal>> demo
MATLAB (2)• Flow control
for N=1:10, ---; endif <true/false>, ---;
else, ---;
endswitch <var>case <cond1>
---;case <cond2>
---;otherwise
---;end
• Function callfunction [Y,Z]=Name(X)%Name.m%Usage%function Y=Name(X)<Commands>Y=1;Z=2;return;
>> Y=Name(1);>> [Y,Z]=Name(2);
Matlab (3)• Useful functions
– mean– sum– size– length– zeros– ones– rand– randn– figure– plot– xlabel– ylabel– title
– semilogx– semilogy– loglog– log10– log– i– j– pi– round– ceil– floor– sgn– fft– spectrum
MATLAB (4)
• Vector operation vs. scalar operation>> A=1:1e4; MeanSquare=mean(A.^2);>> A=1:1e8;
• Vector preparation before usage>> A=zeros(1,100); for k=1:100, A(k)=k+1; end
>> for k=1:100, A(k)=k+1; end>> A=[]; for k=1:100, A=[A k+1]; end
Things to submit
• Documentation– An electronic copy in PDF of PS format– IEEE journal format– Scripts execution methods
• Scripts– “tar”ed and compressed scripts– “lastname_firstname.tar.gz” or “.tar.Z”– All scripts should be in “lastname_firstname” directory– Script execution must be one-step, i.e.
‘filename’+’enter’
Deadline
• Submit to [email protected]
• 9/24 (Fri) 11:00pm
• Time marked by the recipient server (ee.duke.edu)
• Penalty for late submission without permission (-20% per a day)
• No virus (frown per a virus)