Course detail

Digital Filters

FEKT-BCIFAcad. year: 2015/2016

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.

Language of instruction

Czech

Number of ECTS credits

6

Mode of study

Not applicable.

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

Prerequisites

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).

Co-requisites

Not applicable.

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

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.

Work placements

Not applicable.

Aims

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

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

VÍCH,R., SMÉKAL,Z.: Číslicové filtry. Academia, Praha 2000. ISBN 80-200-0761-X (In Czech) (CS)

Recommended reading

Not applicable.

Classification of course in study plans

  • Programme EECC Bc. Bachelor's

    branch B-TLI , 3 year of study, summer semester, elective specialised

  • Programme EEKR-CZV lifelong learning

    branch EE-FLE , 1 year of study, summer semester, elective specialised

Type of course unit

 

Lecture

39 hod., optionally

Teacher / Lecturer

Syllabus

1. Hardware for implementation of digital systems, von Neumann architecture, harvard architecture, VLIW architecture. Program structure, C language, compilling and linking, intrinsic function.
2. Classification and fundamental properties of digital systems. Description of digital filters by difference equations, Z transform of difference equation. Definition of transfer function, definition of zeros and poles. Impulse response.
3. Causal and stability of linear time invariant systems, stability test. Definition of frequency response, digital filters as basic frequency-selective filters, zero and pole location. Linear phase frequency response.
4. Structures for realization for digital filters, first and second direct form, first and second transposed form. Signal flow graphs for digital filters description, analyses of signal flow graph by Mason's rule.
5. Fixed- and floating-point representation of numbers, accuracy and dynamic range, representation of negative numbers. Quantization effects on transfer function, on frequency response, on zeros and poles location. Limit cycles. Analysis of quantization errors.
6. Preparation of transfer functions for implementation in technical devices, dividing of high-order transfer function into second order sections. , examples of implementation of FIR and IIR filters.
7. Design of FIR type digital filters. Method of windowing, method of frequency response sampling, optimum uniform rippled filters, alternation theorem, Remez's algorithm. Design of special kind of digital filters - differentiators, Hilbert's transformers.
8. Design of IIR digital filters. Making use of analog prototypes. Methods of bilinear transformation and impulse invariance, computer based method of IIR digital filters design, least-squares method. Inverse filtering.
9. Optimal Wiener filtration, Wiener-Hopf equation. Adaptive filters, LMS algorithms, RLS algorithms.
10. Multirate systems, decimation and interpolation, change in sampling frequency in the form of rational fraction.
11. Filter banks, perfect reconstruction condition, quadrature mirror filters. Wavelet transform.
12. Nonlinear digital filters, polynomial digital filters, filters based on sorting. Homomorphous filtering, real and complex cepstrum.

Laboratory exercise

26 hod., compulsory

Teacher / Lecturer

Syllabus

1. Fundamental characteristics of digital filters, poles and zeros location, frequency response measurement.
2. Digital filter types, measurement of frequency response and impulse response.
3. Design and implementation of finite impulse response digital filters using windows, digital signal filtering.
4. Design and implementation of FIR digital filters by the frequency-sampling method.
5. Design and implementation of optimum equiripple FIR digital filters.
6. Design and implementation of infinite impulse response digital filters by the bilinear transformation.
7. Design and implementation of IIR digital filters by impulse invariance.
8. Canonic structures, measurement of influence of initial conditions.
9. Fixed point and floating point representation of numbers, measurement of influence of quantization.
10. Adaptive filtering, measurement of convergence and stability.
11. Sampling rate conversion, implementation of sampling rate conversion by rational factor.
12. Classification of individual projects.