Course detail

Digital Signal Processors

FEKT-MSPRAcad. year: 2015/2016

Definition of digital signal processor, its differences from the other microprocessors. Generations of digital signal processors and their typical features, trends of development. Basic digital signal processor architectures – the Harvard architecture, the VLIW architecture. Fixed- and floating-point number formats, IEEE-754 standard. Fixed-point digital signal processor of the TMS320C6400 series. Processor core, functional units, register set, addressing modes. Instruction set and the way it is applied. Link between programming in assembler and in the C language, intrinsic function, pragma expressions. Canonic and non-canonic structures for implementing FIR and IIR digital filters in digital signal processors, analysis of quantization noise, Mason’s rule, transfer function modification regarding fixed-point representation. Adaptive LMS algorithm and its implementation. Generation of harmonic signal and harmonic analysis, Goertzel's algorithm, structure of FFT algorithm and its types. Sum of peripherals, memory mapping, communication with external peripheries, direct memory access DMA. Real-time processing, circular buffer, double buffering.

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, and choose a processor suitable for the application,
- explain the progress of the translation of separate C language source files including linking with other libraries,
- prepare the quantized coefficients of a digital system
- check the stability of the digital system after coefficient quantization,
- design a suitable form to implement the fixed point algorithm,
- analyze the effect of quantization in the structure and assess a suitable structure in terms of quantization,
- consider the advantages of the fast Fourier transform algorithm and Goertzel’s algorithm
- use the direct memory access (DMA) to transfer the samples in real time.

Prerequisites

The knowledge of digital signal processing and microprocessor technology is required. Students should be able to:
- describe the function of the basic blocks of the microprocessor (CPU, memory, I / O circuits, etc.)
- explain the basic commands of ANSI C,
- apply the basic commands of the ANSI C language and implement a simple program,
- calculate in terms of numbers the different number systems (binary, hex),
- explain the course of sampling the continuous signal
- explain the importance of stability,
- apply the Fourier transform.

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.

Assesment methods and criteria linked to learning outcomes

Evaluation of study results follows the Rules for Studies and Examinations of BUT and the Dean's Regulation complementing the Rules for Studies and Examinations of BUT.
Solution of seven homework assignments max. 40 marks
Written examination max. 60 marks

Course curriculum

1. Generations of digital signal processors, common properties of digital signal processors, von Neumann's architecture, the Harvard architecture, parallel processing and VLIW architecture.
2. Fixed-point and floating-point representations, representations of negative numbers, properties of fixed-point digital signal processors.
3. Architecture of digital signal processors of the TMS320C6400 series by Texas Instruments, processor core, functional units, registers, specific instructions.
4. Address generation unit, modulo addressing mode.
5. Program structure and writing in assembler.
6. Program structure and writing in the C language, intrinsic functions, pragma directives, integrated development environment.
7. Program Controller, instruction pipeline.
8. Quantization effects on digital filters characteristics, limit cycles, optimization of digital filters in digital signal processors.
9. FIR and IIR digital filter implementation in digital signal processors.
10. Generation of harmonic signals and harmonic analysis, the Goertzel algorithm, implementation of the fast Fourier transform.
11. On-chip peripherals, DMA controller, interrupt controller.
12. External buses, external memory interface.
13. Floating-point digital signal processors.

Work placements

Not applicable.

Aims

The aim of the course is to introduce students to the architecture and basic properties of fixed- and floating-point digital signal processors, to describe the method of assembler programming, and to outline the connection with higher programming languages. Also covered is the implementation of algorithms of linear and adaptive digital filtering.

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

Lectures are not obligatory
Computer exercises are obligatory
Individual project is obligatory
Written examination is obligatory

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

SMÉKAL, Z., VÍCH, R.: Signal Processing on Digital Signal Processors (Zpracování signálů se signálovými procesory). Radix spol. s.r.o, Praha 1998. ISBN 80-86031-18-7 (In Czech) (CS)
Smékal, Z., Sysel, P. Signálové procesory. 1. vydání. Praha: Sdělovací technika, 2006. 283 s. ISBN 80-86645-08-8 (CS)

Recommended reading

Not applicable.

Classification of course in study plans

  • Programme EEKR-M1 Master's

    branch M1-SVE , 1. year of study, winter semester, optional interdisciplinary

  • Programme EEKR-M Master's

    branch M-SVE , 1. year of study, winter semester, optional interdisciplinary

  • Programme AUDIO-P Master's

    branch P-AUD , 2. year of study, winter semester, optional specialized

  • Programme EEKR-M Master's

    branch M-BEI , 2. year of study, winter semester, optional interdisciplinary

  • Programme EEKR-M1 Master's

    branch M1-BEI , 2. year of study, winter semester, optional interdisciplinary

  • Programme EEKR-M Master's

    branch M-TIT , 2. year of study, winter semester, optional specialized

  • Programme EEKR-M1 Master's

    branch M1-TIT , 2. year of study, winter semester, optional specialized

  • Programme EEKR-M Master's

    branch M-EST , 2. year of study, winter semester, optional specialized

  • Programme EEKR-M1 Master's

    branch M1-EST , 2. year of study, winter semester, optional specialized

  • Programme EEKR-CZV lifelong learning

    branch ET-CZV , 1. year of study, winter semester, optional specialized

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer

Syllabus

1. Program structure, the process of translation, memory types, setting linking the program, the specifics of the C language of TMS20C6000 signal processors.
2. Fundamentals of real-time operating system DSP / BIOS, threads, timers, interrupt software.
3. Properties A / D and D / A converters, connect A / D, D / A converter, SPI and McBSP interface.
4. The system interrupts, interrupt handling, the basics of real-time operating system DSP / BIOS.
5. Circular buffer, double buffering, storage space, processor addressing unit.
6. Implementation of basic algorithms for digital processing, adjustment of digital filters for the implementation of fixed point.
7. Algorithms of adaptive filters, the implementation of adaptive filters.
8. Generation and detection of harmonic signals, implementation of Goertzel algorithm.
9. Spectral analysis, fast Fourier transform implementation.
10. Digital signal processor generations, digital signal processors with Harvard architecture.
11. VLIW architecture, digital signal processors with fixed-point TMS320C6400.
12. Optimization of computational complexity, the principle of SIMD, pipelined instruction processing - pipelining, cache.
13. Development tools, debugging tools, JTAG.

Laboratory exercise

39 hours, compulsory

Teacher / Lecturer

Syllabus

1. Basics of Code Composer Studio IDE, course of translation, development kit TMDSDSK6416.
2. Using BSP library, DIP switches and LEDs.
3. The system DSP / BIOS, the basic elements of the system, threads, thread synchronization.
4. Communication with the A / D converter and D / A converter using McBSP bus. Using of CSL library.
5. The system interrupt, communication with the codec using interrupts.
6. DMA controller, the transfer settings for McBSP port, transfer samples using DMA channel.
7. Double buffering, circular buffer, access control to shared variables in the system DSP / BIOS.
8. Signal processor core, registers, arithmetic-logic operations, number formats, implementation of linear convolution (FIR filters).
9. Implementation of digital IIR filters, the canonical form, dividing into sections 2nd order.
10. Implementation of adaptive filters, LMS algorithm.
11. Generation of harmonic signal, Goertzel algorithm.
12. Fast Fourier transformation, implementation of the butterfly.
13. Submission of individual projects, credit.