Course detail

Implementation of Software Communication Systems

FEKT-MIKSAcad. year: 2017/2018

The course is oriented to the real implementation problems of radio transmitters and receivers of single- and multi-carrier communication signals. Its emphasis is on both the theoretical description of basic algorithms for communication signals processing (sample rate change, filtration, synchronization, equalization, etc.), as well as on their practical software implementation with the use of available hardware (fixed-point arithmetic, analysis of signal transmitted from front-end, etc.). During the laboratories, students will get hands-on experience with the implementation of various transceiver algorithms using widely available (USB-RTL SDR) as well as higher performance (e.g. USRP) software defined radios or universal boards with FPGA and AD/DA converters.

Learning outcomes of the course unit

The graduate of the course is able to: - convert the real numbers into fixed-point format and back - create a program for FPGA that implements the basic blocks of software defined transmitter with single and multiple carriers - create a MATLAB program able to demodulate QAM/QPSK/OFDM signal received using software defined receiver (USB-RTL, USRP), including synchronization and simple channel equalization - discuss the need and the solutions for sample rate change of signals incommunication transceivers - explain the principle of CORDIC algorithm and its application in radio transceivers


Student who register the course should be able to: - compose a simple program in MATLAB environment - synthesize simple FIR filter (low-pass, high-pass, raised cosine) - mathematically describe signals of basic digital modulations (PSK, QAM, OFDM) - discuss the basic terminology of signal processing - discuss the advantages and disadvantages of basic communication technologies


Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading

REED, J.H., Software Radio: A Modern Approach to Radio Engineering, Prentice Hall, 2002. (EN)
TRETTER, S.A., Communication System Design Using DSP Algorithms, Springer, 2008. (EN)
BEHROUZ, F. -B., Signal Processing Techniques for Software Radios, LuLu publishing, 2008. (EN)

Planned learning activities and teaching methods

Teaching methods include lectures and computer laboratories with the use of software defined receivers (USB-RTL SDR) and transceivers (USRP).

Assesment methods and criteria linked to learning outcomes

up to 30 points for computer lab in-class exercises (points are assigned for elaboration of practical assignments) up to 70 points for exam (written 50 points + oral part 20 points) The final exam consists of compulsory written and optional oral part. In order to procced for oral part, student has to get at least 20 points in the written part

Language of instruction


Work placements

Not applicable.

Course curriculum

Letures: 1. Architectures of transmitters and receivers, sub-band sampling, concept of software and software-defined radio 2. Number representation, fixed-point arithmetic, CORDIC algorithm 3. Hardware and software resources for implementation of communication systems 4. Metrics to evaluate communication signals quality - EVM, ACPR, vector analysis 5. Integer resampling - interpolation and decimation 6. Fractional resampling, Farrow interpolator 7. Digital filters and their effective FPGA implementation, FIR and CIC filters 8. Basic building blocks of digital transceivers - DDS, mixers, methods of FM signal demodulation 9. Algorithms for time and frequency synchronization of single-carrier and multi-carrier (OFDM) signals, carrier synchronization 10. Equalization of communication signals 11. Effective implementation of DFT - radix 2/4, DIT/DIF, mixed/split-radix FFT 12. Adaptive methods in communication systems, dynamic spectrum allocation 13. QR decomposition and its application in communication systems Computer lab in-class excercises: 1.-3. Fixed-point arithmetic, VHDL implementation of QAM modulator 4.-6. CORDIC algorithm, implementation of FM demodulator 7.-9. OFDM modem, simulation and implementation of full transceiver 10.-11. FSK modem in MATLAB environment 12.-13. Passive multistatic reception, TDOA method


The aim of the course is to get the students familiar with basic concepts and algorithms necessary for the implementation of modern radio transceivers, with the focus on their software implementation. The aim of the computer experiments is to gain practical experiences with the implementation of modulators and demodulators of single- and multi-carrier (OFDM) signals, including the implementation of symbol time synchronization and channel equalization algorithms.

Specification of controlled education, way of implementation and compensation for absences

Computer lab in-class excercises are compulsory.

Classification of course in study plans

  • Programme EEKR-M1 Master's

    branch M1-TIT , 1. year of study, summer semester, 6 credits, optional interdisciplinary
    branch M1-EST , 1. year of study, summer semester, 6 credits, optional specialized

  • Programme EEKR-CZV lifelong learning

    branch ET-CZV , 1. year of study, summer semester, 6 credits, optional specialized

Type of course unit



26 hours, optionally

Teacher / Lecturer

Exercise in computer lab

39 hours, compulsory

Teacher / Lecturer