Course detail

Software radio

FEKT-NSWRAcad. year: 2015/2016

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. Students have to write a single project/assignment during the course.

Assesment methods and criteria linked to learning outcomes

up to 30 points for computer lab in-class excercises (points are assigned for elaboration of assignments and short reports)
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

Czech, English

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. analysis of real communication system using the vector analyser
2. System generator environment for Xilinx FPGA - basic blocks (arithmetics, DDS, filters)
3. System generator environment for Xilinx FPGA - FM demodulation
4. Code Composer Studio for DSP environment - OFDM implementation
5. MATLAB-FPGA cosimulation
6. Xilinx ISE environment - IP CoreGen, filters
7. BPSK modulatorin FPGA
8. Digital filters and DSP 48 blocks
9. Software defined radio USRP N200, GNU radio


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-MN Master's

    branch MN-TIT , 1. year of study, summer semester, 7 credits, optional interdisciplinary
    branch MN-EST , 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