Course detail

Digital Filters

FEKT-CCIFAcad. year: 2017/2018

The course covers the whole range of digital signal processing, from real-time implementation of digital systems, through methods of the analysis of one-dimensional digital systems, up to the basic methods of designing one-dimensional digital filters: representation of numbers, floating- and fixed-point arithmetic, the Harvard architecture of digital signal processors, very long instruction word (VLIW) architecture, programming processors in the C language (intrinsic functions, pragma directives, pre-processor directives, linker), characteristics of digital systems (transfer function, impulse response, frequency response), stability and causality of digital systems, finite and infinite impulse response, structures of digital systems, signal flow graphs, effect of quantization on digital system characteristics, methods of designing one-dimensional digital filters, systems with multiple sample rates, filter banks.

Learning outcomes of the course unit

Students will be able to:
- Explain the meaning of the parameters of microprocessors and digital signal processors
- Explain the progress of the translation of separate C language source files including linking with other libraries
- Explain the importance of intrinsic functions and use them in their programs
- Explain buffering and double buffering and use them in their programs
- Explain the difference between internal and external digital system descriptions
- Include digital system between FIR and IIR systems
- Check the stability of the digital system
- Prepare the quantized coefficients of a digital system for implementation
- Reformulate a canonical form into another form
- Explain the different types of addressing: linear, modulo, bit-reversed
- Explain the principal methods for the design of FIR and IIR filters
- Apply the method for designing FIR filters and IIR filters by the specified tolerance scheme
- Explain the principle of adaptive filters
- Apply the subsampling or the oversampling ratio of rational numbers
- Explain the principle of filter banks


The basic knowledge of digital signal processing (sampling, representation of discrete-time signals, description of discrete-time systems, etc.) and of microprocessor technology (principles of microprocessors, registers, memory, programming in the C language, debugging) is required. Students should be able to: - describe the function of basic blocks of the microprocessor (CPU, memory, I / O circuits, etc.) - explain the basic ANSI C commands - apply the basic commands of the ANSI C language and implement a simple program - explain the course of sampling the continuous signal - explain the importance of the frequency response of a system - explain the importance of stability - explain the different number systems - calculate the binary representation of a number. Appropriate courses, in which this knowledge can be obtained, are compulsory and optional specialised courses of The teleinformatics study area or equivalent: - Computers and Programming 2 (BPC2) - Signal and System Analysis (BASS) - Digital Circuits and Microprocessors (BDOM) - Digital Signal Processing (BCZS).


Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading

VÍCH,R., SMÉKAL,Z.: Digital Filters. Academia, Praha 2000. (In Czech) ISBN 80-200-0761-X (In Czech) (CS)
MITRA S.K, KAISER J.F.: Handbook for Digital Signal Processing, John Wiley & Sons, New York, 1993. (EN)
PROAKIS, J. G.;MANOLAKIS, D. G.:Digital Signal Processing. Prentice Hall: New Jersey, 1996. 3 edition. 966 p. ISBN 0-13-373762-4 (EN)
SMÉKAL, Z.; SYSEL, P.: Signálové procesory. 1. vydání. Praha: Sdělovací technika, 2006. 283 s. ISBN 80-86645-08-8 (CS)

Planned learning activities and teaching methods

Teaching methods depend on the type of course unit as specified in article 7 of the BUT Rules for Studies and Examinations.
Lectures are in the nature explaining the basic principles, methodology of the discipline problems and their solutions.
Practice proceeds on digital signal processor development kits and Matlab.

Assesment methods and criteria linked to learning outcomes

Evaluation of study results follows the Rules for Studies and Examinations of BUT and Dean's Regulation complementing the Rules for Studies and Examinations of BUT.
2 tests on practical exercises max. 10 marks
Check exercises max. 15 marks
Individual project max. 15 marks
Written examination max. 60 marks

Language of instruction


Work placements

Not applicable.

Course curriculum

1. Technical devices for the implementation of digital systems, the Von Neumann architecture of microcontrollers, the Harvard architecture of digital signal processors, digital signal processor generation, interfaces for real-time debugging.
2. Programming processors in the C language, the compilation process, the pre-processor directives, linking stage, intrinsic functions, assembler language, linking assembler and the C language.
3. Description of digital system, difference equations, transfer functions, zeros, poles, the basic characteristics of digital systems, frequency response, impulse response, stability.
4. State-space description, signal flow graph, Mason's rule, analysis of quantization effects on the transfer function and other characteristics of digital systems.
5. Floating-point arithmetic, fixed-point arithmetic, dynamic range, saturation, quantization noise, arithmetic logical unit, limit cycles.
6. Structures for the realization of digital systems, canonical forms of realization, classification of digital systems, digital systems with finite impulse response (FIR) and infinite impulse response (IIR).
7. Design of FIR digital filters: the Window method, frequency sampling method, optimum equiripple linear-phase filter-design method, Remez's algorithm.
8. Design of IIR digital filters: method for bilinear transformation, method of impulse invariance. Conversion to second-order sections.
9. Inverse filtering, Wiener optimal filtering, the Wiener-Hopf equation. Adaptive filters, LMS algorithm, RLS algorithm, properties and applications of adaptive filters.
10. Multi-rate systems, decimation and interpolation, sampling-rate conversion by a rational number, polyphase filter structures.
11. Filter banks, DFT filter bank, filter bank modulated by cosine function, two-channel filter bank, perfect reconstruction condition, quadrature mirror filters.
12. Non-linear systems, homomorphic filtration.


Improving students' knowledge of digital signal processing (DSP) obtained in previous courses. Acquainting students with the basic principles of implementation on technical devices (digital signal processors and microcontrollers). Acquainting students with programming digital signal processors in the C language. Acquainting students with the differences in and problems of implementing digital signal processing methods using floating- and fixed-point arithmetic. Acquainting students with the method of digital filter design.

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

Attendance at lectures is not obligatory
Attendance at computer exercises is obligatory
Self-contained project is obligatory
Written examination is obligatory

Classification of course in study plans

  • Programme EEKR-BC Bachelor's

    branch BC-TLI , 3. year of study, winter semester, 6 credits, optional specialized

Type of course unit



39 hours, optionally

Teacher / Lecturer

Laboratory exercise

26 hours, compulsory

Teacher / Lecturer