Arvutiteaduse instituut
  1. Kursused
  2. 2022/23 kevad
  3. Terabit-kommunikatsiooni alused (LTAT.04.010)
EN
Logi sisse

Terabit-kommunikatsiooni alused 2022/23 kevad

  • Pealeht
  • Loengud
  • Viited

Lecture notes

The draft of lecture notes. Version 07.07.2023

Lecture slides

General information
Lecture 1: Physical media. Limitations
Lecture 2: Linear codes
Lecture 2A: Hard decision decoding
Lecture 3: Modulation
Lecture 4: Basics of optimal decoding. Graph representations of linear codes
Lecture 5: SISO decoding. BCJR algorithm. Suboptimal decoding
Lecture 6: Convolutional codes. Analysis. Decoding. Block from Convolutional
Lecture 7: Asymptotic thresholds. BICM. Finite length bounds
Lecture 8: Long codes from short codes. Turbo-codes
Lecture 9: LDPC codes: Definition and BP decoding
Lecture 9: LDPC codes, part 2: QC LDPC codes and practical decoding
Lecture 9: LDPC codes, part 3: Density evolution and code search algorithms
Lecture 10: Finite fields. Cyclic codes. BCH and RS codes
Lecture 11: Polar codes.
Lecture 12: Non-binary and Generalized LDPC codes
Lecture 13: Shaping: Bounds and implementation

Practice sessions slides

Channel models
Linear codes
LDPC codes

Practice sessions programs drafts

GaussChannel.m
SofrVsHard.m
PAM4.m
CodedBPSK.m
CodedPAM4.m
test.m
dminCSD.m
circ.m
gen2code.m
MinSpanForm.m
dual_matrix.m
MLversusOSD.m
next_permut.m
MainBCJR_ConvCodes
MainViterbi_ConvCodes
test_turbo.m
Lifting and girth search: test_turbo.m

Homework Assignments

HW1: Combine QAM modulation with a simple linear code. Compare efficiency with uncoded transmission
HW2: Convolutional codes and connections with block codes
HW3: Turbo and LDPC codes. Iterative decoding

Reference materials

Table of good convolutional codes with spectra
Table of good tail-biting codes
Code802_11.m. Matrices used in WiFi standard
Examples of the examination tasks - 2023

Research topics and topics for Bachelor's and Master's diploma theses

See

 http://cit.cs.ut.ee/forstudents.html

Matlab programs

Utilities

bin2word.m: Binary to decimal transform for arrays
word2bin.m: Decimal to binary transform for arrays
hammingws.m: The Hamming weight of a binary representation of a decimal number
gauss.m: Q-function for probability integral
gaussinv.m: Inverse to gauss.m
g2h.m: Finding dual to a binary matrix
FinField.m: Generating the field GF(2^m) and the table of logarithms in the field

Channel models. Error probability

AWGNplot.m: Uncoded transmission over the AWGN channel
bec_error.m: Binomial distribution in logarithmic domain
bsc_error.m: Polynomial distribution in logarithmic domain
TSB_upperbound_bk.m: Poltyrev's upper bound
UnionBoundsExample.m: Compare Union bound with TSB bound and with simulations

Simulation of encoded data transmission over the AWGN channel with PAM

SoftVShard.m: Error probability plots for decoding with soft and hard decisions
PAMmodulator.m: MATLAB implementation of Gray-coded PAM modulator
PAMdemodulator.m: MATLAB implementation of Gray-coded PAM demodulator
TestPAM.m: Simulating PAM modulation and demodulation. Error probability estimation vs simulation BPSK_simul.m: Coded BPSK modulated transmission
PAMsimul.m: Coded PAM modulated transmission

Trellis-based soft decision and SISO decoding

G2trellis.m: Generating trellis description from the code generator matrix
BlockCodesVA.m: ML decoding using the trellis obtained by G2trellis
BlockCocdsBCJR.m: MAP decoding by BCJR algorithm using the trellis obtained by G2trellis
testVAandBCJR_BlockCodes.m: Simulating trellis-based ML and MAP decoders

Asymptotic thresholds and bounds

Mutual_Informationr.m: Compute I(X;Y) for AWGN with PAM
BICMLimits.m: BICM threshold
BICMvsPAM.m: Plots BICM vs PAM
BSCerasures.m: Capacity of quantized AWGN

Convolutional codes and block codes from convolutional codes

ConvEncoder.m: Convolutional code encoder
MetricComp.m: Branch metrics computation. Used for Viterbi decoder
viterbiCC.m: One-section processing by Viterbi algorithm for convolutional code simulation
viterbiBM.m: One-section processing by Viterbi algorithm for WAVA decoding of block code
WAVAdecoding.m: WAVA decoder for block TB codes
simul_WAVA.m: Simulation WAVA decoding for block TB codes
MainViterbi_ConvCodes.m: Simulation for convolutional codes

Turbo codes

test_turbo.m: Main program for tubo-coding simulation
TrellisSection.m: Program creating structure of trellis section
fb_syst_encoder_i.m: Encoder for systematic convolutional encoder with feedback
ConvBCJR.m: Simplified BCJR for rate 1/2 ZT convolutional code
turbo_encoder.m: Encoder for turbo-code

LDPC codes

RandGallagerCode.m: Routine generating random code from Gallager's ensemble
RandRUcode.m: Routine generating random code from Richardson-Urbanke ensemble
TannerGraph.m: Tanner graph from the parity-check matrix
compute_g.m: Compute girth for binary and monomial parity-check matrices
dijkstra_g.m: Compute girth for graph adjacency matrix
Base2QC.m: Transfoms degree matrix to binary parity-check matrix
GoodGirthCode.m: Example program for search good codes

LDPC codes. BP decoding

H2CV.m: Sparse representation of H via row and column locations of ones
check_syndrome.m: Computes syndrome
flooding.m: BP decoding routine. Flooding schedule
layered.m: BP decoding routine. Layered schedule
logexp.m: Gallager's log(tanh) function
map_sp.m: Row-MAP for sum-product version
map_ms.m: Row-MAP for min-sum version
TestOutrCode.m: Test code determined by binary parity-check matrix

NB LDPC codes

TestGF.m: Testing computations over GF and generating random parity-check matrix of a NB LDPC code

  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused