Course syllabus for Implementation of digital signal processing systems

Course syllabus adopted 2021-02-26 by Head of Programme (or corresponding).

Overview

  • Swedish nameKonstruktion av DSP-system
  • CodeMCC150
  • Credits7.5 Credits
  • OwnerMPEES
  • Education cycleSecond-cycle
  • Main field of studyComputer Science and Engineering, Electrical Engineering
  • DepartmentMICROTECHNOLOGY AND NANOSCIENCE
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language English
  • Application code 15115
  • Maximum participants20
  • Block schedule
  • Open for exchange studentsYes

Credit distribution

0118 Project 4 c
Grading: TH
4 c
0218 Laboratory 3.5 c
Grading: UG
3.5 c

In programmes

Examiner

Go to coursepage (Opens in new tab)

Eligibility

General entry requirements for Master's level (second cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

English 6 (or by other approved means with the equivalent proficiency level)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

Recommended prerequisites or equivalent experience:
  • MATLAB and signal processing fundamentals such as transforms and filtering (for example, SSY130 Applied signal processing).
  • Basic knowledge on communication system (for example, Digital communication SSY125)
  • VHDL/Verilog and FPGA systems (for example, EDA322 Digital design or DAT094 Design of digital electronic systems).
  • Concepts related to analog to digital conversion (for example, DAT116 Mixed-signal system design)

Aim

We live in an era where more and more information is generated, stored and presented in a digital format: text, audio, pictures, video, well even currency. Digital signal processing (DSP) is a technology that supports not only our current lifestyle, but it will be even more essential in the future. By using different design approaches, DSP systems can be implemented on various platforms; from software inside a computer, to dedicated application-specific integrated circuits (ASICs) inside a cell phone. What implementation platform to use and what design approach to use, these choices depend on the DSP algorithm and the requirements of the application.

The first aim of this course is to introduce students to the implementation of DSP systems on different platforms, e.g., Field Programmable Gate Arrays (FPGAs), programmable signal processors, and ASICs. The second aim is to introduce design flows that allow designers to make trade-offs, e.g., between performance and power dissipation, as they carry out system implementation of DSP algorithm specifications. Specifically, we will address DSP implementation using mainstream FPGAs (e.g., Altera or Xilinx) in depth, for a few selected system applications (e.g., wireless communication, fiber communication, and radar). While the focus of the laboratory work and the design project is on FPGAs, DSP implementation using signal processors and ASICs will also be addressed and the three different DSP implementation platforms will be compared and contrasted.

Learning outcomes (after completion of the course the student should be able to)

- Describe a typical design flow for DSP systems, considering different DSP implementation platforms (for example, ASIC, FPGA, signal processor, and GPU) and implementation aspects such as parallelism, pipelining (folding), and fixed-point numbers
- Describe and analyze basic DSP building blocks, such as finite impulse response (FIR) filters, fast Fourier transform (FFT) blocks, direct digital synthesizers (DDSs), adaptive filters, equalizers, and carrier recovery blocks
- Describe how a DSP function can be implemented using different hardware resources and explain the trade-off between performance and resources
- In MATLAB, develop model components that are equivalent to hardware blocks, in order to simulate and optimize DSP circuits and systems
- Use professional design software tools for DSP design entry, simulation, implementation, debugging, and final deployment on an FPGA evaluation board to perform real-time DSP
- Evaluate DSP algorithms and their implementations with respect to, for example, silicon area utilization, data throughput, data latency, and power consumption
- Elaborate on advantages and limitations of implementing DSP using FPGAs, the main design trade-offs involved, and the performance that can be expected when using FPGAs versus signal processors versus ASICs

Content

Review of basic concepts such as sampling, quantization and filtering. Number representation and arithmetic for DSP. Filter and FFT hardware structures. Hardware parallelism and pipelining to increase throughput. DSP implementation for FPGA architectures. DSP subsystems, such as direct digital synthesizers (DDS), equalizers and carrier recovery, and their FPGA implementations. Design considerations, including analog-digital conversion, for real-time communication systems on FPGA evaluation boards. Case studies/guest lectures on applications, which may include wireless systems, fiber-optic systems, and radar systems.

Organisation

Lectures: These will describe where and how DSP is needed in different applications and exemplify such applications. They will also introduce the theoretical background needed for DSP implementation and provide DSP implementation examples.

Lab exercises: These offer hands-on training on industrially relevant design problems using DSP design software tools. Guided by a lab PM, the students will complete the design task and verify their DSP implementation using simulations and tests in hardware.

Design project: The students work in groups to design and implement a DSP system on an FPGA-platform, to achieve certain performance. The students will receive teacher support during the mini project period.

Literature

Beside hand-out material like the lab PM, the course literature will include chapters from these books:

- Uwe Meyer-Baese, Digital Signal Processing with FPGA, 4th ed., Springer 2014
- Dejan Markovic and Robert W. Brodersen, DSP Architecture Design Essentials, Springer 2012

Examination including compulsory elements

There are two elements in this course: lab exercises and design project.

Lab exercises (pass or fail): These include guided lab sessions and home assignments.

Design project (fail, 3, 4, or 5): The students will be working in groups to implement a DSP system for a certain application. The students need to design, verify, and demonstrate a working DSP system prototype, as well as present their work as a scientific report. Here, the grade will based on each student's individual performance as well as the performance as a member of the project group.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.