UGOLINI Alessandro
RAHELI Riccardo
Year of erogation: 
Unit Coordinator: 
Disciplinary Sector: 
Second semester
Year of study: 
Language of instruction: 


Learning outcomes of the course unit

1- Knowledge and understanding
Goal of the course is to provide the students with the basics of the analysis of discrete-time signals, the design of digital signal processing systems and digital filtering, of error control coding schemes, and their use in digital systems and communications.

2- Applying knowledge and understanding
Students learn how to analyze and design simple linear systems (digital filters), error control schemes, and digital communication systems, being aware of the capabilities and practical limitations of digital signal processing techniques.


Suggested: Signal Theory, Telecommunication Systems, Information Transmission.

Course contents summary

- Discrete-time signals and systems

- Discrete-time Fourier transform (DTFT)

- The z-Transform

- Sampling of continuous-time signals

- Representation of LTI systems

- Discrete Fourier Transform (DFT)

- Digital filter design

- Error control coding

- Automatic repeat request (ARQ)

- Forward error correction (FEC)

- Block codes

- Convolutional codes

Course contents

- Discrete-time signals and systems (4 hours)
Basic discrete-time signals: unit impulse, unit step, real and complex exponential, periodic sequences. Discrete-time systems: memoryless, linear, time-invariant, causal, stable. Linear and time-invariant (LTI) systems and impulse response. Discrete convolution and properties of LTI systems. Difference equations.

- Discrete-time Fourier transform (DTFT) (4 hours)
Representation of sequences in the frequency domain. Frequency response. Representation of sequences through the Fourier transform. Definition and properties of the DTFT.

- The z-Transform (6 hours)
Definition and properties. Region of convergence and relationship between the z-transform and a system's properties. Inverse z-Transform. Transfer function of a LTI system.

- Sampling of continuous-time signals (4 hours)
Periodic sampling and frequency domain representation of sampled signals. The sampling theorem. Reconstruction of a signal from its samples. Discrete-time processing of continuous-time signals. Impulse invariance.

- Analysis and representation of LTI systems (4 hours)
Frequency response of LTI systems. System function. Representation of linear constant coefficients difference equations. Direct form I and II.

- Discrete Fourier Transform (DFT) (8 hours)
Discrete Fourier series and its properties. Periodic convolution. Sampling of the DTFT. DFT: definition and properties. Circular convolution. Use of the DFT in the implementation of LTI systems. Algorithms for the computation of the DFT. FFT algorithms and their complexity.

- Digital filter design (6 hours)
Definitions of the specifications of a filter. Design of IIR digital filters. Design of FIR filters.

- Schemes for error detection and correction (9 hours)
Schemes for automatic repeat request (ARQ). Schemes for forward error correction (FEC). Repetition codes. Parity check codes. Coding gain and cost. Bit interleaving. Code vectors and Hamming distance. Error control properties of a given code. Code rate and redundancy. Performance analysis of FEC systems. ARQ retransmission procedures. Performance analysis of ARQ systems. Outline of hybrid ARQ systems.

- Block codes (7 hours)
Linear systematic block codes. Matrix representation of a linear block code. Hamming codes. Maximum likelihood syndrom decoding. Example decoding of a Hamming (7,4) code. Cyclic codes. Cyclic shifts and code polynomials. Generator polynomial of a cyclic code. Systematic codes. Coding and decoding as the remainder of polynomial divisions. Example of a Hamming (7,4) code. Circuit implementation of encoders and decoders for cyclic codes. Outline of BCH and CRC codes. Outline of M-ary and Reed-Solomon codes.

- Convolutional codes (7 hours)
Tree, trellis and state diagrams of convolutional codes. Gnerator polynomials. Free distance. Transfer function and weight distribution of a convolutional code. Estimation of error probability. Coding gain. Decoding of convolutional codes. Viterbi decoding. Sequential decoding. Outline of majority logic decoding. Outline of punctured codes. Soft-decision decoding. Examples of convolutional codes and their performance.

- Further topics (1 hour)
Punctured codes. Concatenated codes. Convolutional codes with feedback (recursive). Outline of turbo codes.

Recommended readings

- A.V. Oppenheim, R. W. Schafer , “Discrete-Time Signal Processing”, 3rd Edition, Pearson (2010)

- M. Laddomada, M. Mondin, "Elaborazione numerica dei segnali", Pearson (2007)

- A. Bruce Carlson, Paul B. Crilly, "Communication systems", 5th edition, McGraw Hill (2010)

Teaching methods

Classroom lessons (about 75%) and exercise sessions (about 25%). The exercises are handed to the students one week in advance. The students have the opportunity to discuss their solution with the instructor.

Assessment methods and criteria

- The first session foresees three intermediate written exams. A sufficient mark in the intermediate exams allows to take an optional oral exam. The final mark is computed as the average of the three written exams and, if taken, of the oral exam.

- The next sessions foresee a written and an oral exam. The final mark is computed as the average of the written and the oral exams.

Other informations

Information to students and various documents are provided through the platform elly