Course detail

Software Radio

FEKT-MSWRAcad. year: 2016/2017

The course is oriented to the area of radio transmitter and receiver implementation according to the concept of so-called Software defined radio. The emphasis is on both the theoretical concepts of subsystems and algorithms of communication chain as well as on the effective implementations in the FPGA programmable circuits. The students will deepen their knowledge in the area of signal processing with factual application in the area of radio communications. During the laboratory work, the student will check out the practical implementations of theoretical aspects in the real hardware.

Learning outcomes of the course unit

The gradueat of the course is able to:
- describe the basic hardware resources for the software defined radio implementation
- compute the number representation of real number in various fixed point formats
- create a program for FPGA that implements the basic blocks of software defined transmitter
- choose the architecture for FIR filter implementation with respect to implementation requirements
- describe the bit loading algorithm for OFDM systems
- discuss possible solutions for interpolation and decimation of signalsin software transceivers
- explain the principle of CORDIC algorithm and its application in software defined radios


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


Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading

KENNINGTON, P.B., RF and baseband techniques for software defined radio, Artech House, 2005 (EN)
REED, J.H., Software Radio: A Modern Approach to Radio Engineering, Prentice Hall, 2002 (EN)
ŽALUD, V., Softwarové a kognitivní rádio (CS)

Planned learning activities and teaching methods

Teaching methods include lectures and computer laboratories with the use of FPGA development kits.

Assesment methods and criteria linked to learning outcomes

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

Language of instruction


Work placements

Not applicable.

Course curriculum


1. Software defined radio concepts, architectures of transceivers, bandpass sampling
2. Number representation, arithmetic in fixed point, CORDIC algorithm
3. FFT algorithms, DSP lib llibrary, vector signal analysis
4. Hardware resources for SDR implementation - DSP, FPGA
5. software resources for simulation and implementation in FPGA and DSP, Core generator, System generator, VHDL introduction
6. Sampling rate conversion, CIC filters
7. Non integer sampling rate change, Farrow interpolator
8. Digital filters and their FPGA implementation
9. Basic blocks for DSP in FPGA, frequency synthesis, mixers
10. Algorithms for synchronization and equalization in software radios
11. Signal processing in OFDM systems
12. From software to cognitive radios, dynamic spectrum allocation

computer lab in-class excercises:

1. Simulation of basic building blocks of SDR - fixed point arithmetics, DDS, filters (Xilinx ISE)
2. Simulation of FM demodulator, including CORDIC algorithm (Xilinx ISE)
3. Implementation of FM demodulator in SDR USRP N200 (Xilinx ISE, GNU radio)
4. Simulation of complex FSK digital receiver - synchronization, demodulation ... (Matlab)
5. Implementation of BPSK/QPSK modulator including Raised cosine filter in the FPGA kit, analysis using a vector signal analyzer (Xilinx ISE)
6. Decimation and interpolation - simulation of a fractional resampler (Farrow interpolator) (Matlab)
7. CIC filters for decimation and interpolation (Matlab+Xilinx ISE)
8. Simulation of preamble-based synchronizer for IEEE 802.11a preambles - Schmidl-Cox and Min algorithm (Matlab)


The aim of the course is to get the students familiar with a concept and use of software radio principle. The aim of the computer experiments is to gain practical experiences with the implementation of basic communication chain building blocks. Students will get familiar with available software resources for the signal processing implementation.

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, 7 credits, optional interdisciplinary

  • Programme EEKR-M Master's

    branch M-TIT , 1. year of study, summer semester, 7 credits, optional interdisciplinary

  • Programme EEKR-M1 Master's

    branch M1-EST , 1. year of study, summer semester, 7 credits, optional specialized

  • Programme EEKR-M Master's

    branch M-EST , 1. year of study, summer semester, 7 credits, optional specialized

  • Programme EEKR-CZV lifelong learning

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

Type of course unit



26 hours, optionally

Teacher / Lecturer

Exercise in computer lab

52 hours, compulsory

Teacher / Lecturer