## Signal Processing

- Education level
- Bakk
- Term
- Summer
- Lecturers

## Lecture (2.0 VO)

This lecture is built up on the courses ‘Signal Transforms’ and ‘System Dynamics’/’Control Systems 1’ and covers discrete-time signals and systems, as well as signal processing algorithms:

- Discrete-time signals in the time and frequency domains
- Discrete Fourier Transform (DFT) and Fast Fourier Transform (FFT)
- z-transform
- Sampling and signal reconstruction
- Discrete-time systems in the time and frequency domains
- Fast convolution
- Multi-rate signal processing and sampling rate conversion
- Spectral analysis and short-time Fourier transform
- Digital filter design
- Quantization effects due to signal conversion and finite arithmetic

The course notes as recorded during lecture presentation in previous years are available for downlaod in the TeachCenter (login required; link below).

## Exam

In order to register for the exam follow a standard procedure at TUGraz online

The written exam consists of five theoretical questions (20%), some analytical short tasks (20%) and two major analytical problems (2*30%=60%). The duration is three hours. The copies of some previous exams are provided here to help you to prepare. You can download them here.

It is agreed that the following material is allowed during the exam:

- A
**simple**calculator. Alphanumerical calculators (such as TI-92, TI-89, TI Voyage and similar) are**NOT**allowed! - One mathematical formulary or handbook (e.g. Bartsch or Bronstein). Avoid to conceal any signal processing related examples inside your handbook.
- A collection of signal processing formulas. This collection can be downloaded here (this is a new version; if you discover typos or mistakes, please contact Christian Knoll). Each student will be provided with this collection during the exam. You don’t have to bring it with you.
- Pencil, biro, pen, … (different colors), ruler, etc., but
**NO PAPER**! You will be provided with paper during the exam. - a drink, a small snack, …

**A remark on cheating:** We advise you NOT to use any other material. Note that no jackets, no rucksacks, no bags, etc. are allowed in the vicinity of your desk during the exam. Cheaters wont be graded and wont be allowed to repeat the exam within 90 days (“Reprobationsfrist”).

## Problem Classes (1.0 UE)

Due to the current regulations the course will be held virtually throughout the semester. The problem classes are arranged in eight blocks. For each problem class we will hold a live session in three different groups (see TUG Online for the time slots). One week prior to each live session we will publish a solution recording. Students should use these recordings to prepare for the live sessions, as the live sessions are intended to be Q&A sessions about the video contents. There we will take our time to cover (some aspects of) the video problems in more detail and clarify open questions. We do not intend to simply present the solution or cover all the material in the recordings - the live sessions should be as interactive as possible!

### Homework Assignments

To pass the problem classes, you have to complete **three homework assignments**, consisting of analytical and numeric software problems. The last assignment also consists of a **Design Challenge**, where the contestants can win some prizes.

Assignments should be solved in **groups of two students**. Only one report needs to be delivered by each group. It is **ok to work alone**, although we do not recommend to do so (high work load). To make this point clear, work together with your group partner, and not with others.

It is allowed to exchange information with neighboring groups like ‘take a look in Oppenheim/Schafer, Chapter 5’, or ‘we found something at Problem Class II’. It is not allowed to hand your solution to neighboring groups.

#### How to deliver your homework?

- Deliver your homework online at TeachCenter.
- For each homework you can find 200 prepared groups (max. number of members is 2) in the TeachCenter. Please, join a group for each homework (either alone or with a group-partner). If there is a need, you can change the group-partner between different homework assignments. However, it is
**not possible to change**the group-partners within one homework assignment. - Using LaTeX you may get additional 2 points per assignment. A template is available here. These additional points are considered
**ONLY**if you have collected at least 50 points without them. - Circumventing LaTeX is ok as long as we can read your handwriting; unreadability will cost several points.
- Hand in
**Analytic solutions**as a single .pdf document - Hand in
**numeric solutions**as a single .pdf document**plus**the source code (either Python script (*.py) or Jupyther script (*.ipynb)). We strongly recommend to use Jupyther. It allows you to write your report along with your source code and thus, you save a lot of time. - Deliver each individual problem at teachcenter separately, e.g. hand in problems 1.1, 1.2 and 1.3 separately. This is required to ensure a fast grading.
- For delivering your homework
**too late**, you will lose**5 points/day**. - In case not every problem assignment is delivered the missing ones are graded with zero points.
- General guidelines (though written for Matlab they are valid for any kind of software).
- What should be in your simulation protocol (numeric solutions)? Read this. (though written for Matlab, it is valid for Python as well)

#### Forum

Exploit the forum at TeachCenter to exchange further information with us and your colleagues. **Important**: The news group ``signalverarbeitung’’ is not maintained anymore by the tutors and lecturers, **only** the forum at TeachCenter is maintained. However, you still can use the news group to exchange information.

Time and place of the **Q&A sessions** (NOT for discussion of the grading!) will be announced in the forum!

#### Grading

For each assignment you can earn up to 100 points. You get at least 0 points for each assignment.

## References/Course Material

### Problem Classes

The page and chapter numbers in the problem descriptions refer to the 3rd international edition of Oppenheim & Schafer, “Discrete-Time Signal Processing”.

- A.V. Oppenheim, R.W. Schafer, J.R. Buck: Discrete-Time Signal Processing. Prentice-Hall, 1999 (2nd ed.). Strongly recommended! The course is based on this book (including the notation). You can buy the english version of the book here or lend it from the library.
- Richard G. Lyons: Understanding Digital Signal Processing. Prentice-Hall, 2011 (3rd ed.). A quite pracitcal and intuitive introduction to DSP. There is an online version available on the TU Graz library’s homepage.
- Global JOS Index - An online ressourcre by Julius Orion Smith which covers a theoretical and practical signal processing topics.

### Additional Literature for the Lecture

- Richard A. Roberts and Clifford T. Mullis: Digital Signal Processing. Addison-Wesley, Reading (MA), 1987.
- J.G. Proakis and D.G. Manolakis: Digital Signal Processing: Principles, Algorithms, and Applications. Prentice-Hall, 1995 (3rd ed.).
- James H. McClellan, Ronald W. Schafer and Mark A. Yoder: DSP First: A Multimedia Approach. Prentice Hall, 1998.

### Numeric software Python

- We propose to use
**Jupyther Notebooks**as environment for Python. - Local installation: Jupyther is available as part of the open-source Anaconda environment (www.anaconda.com).
- Cloud computing: If you do not want to install a local Python environment, you can use cloud computing services. We found Google Colab (colab.research.google.com) to be quite reliable. However, this requires you to create a Google account.

### Additional Educational Ressources

- Modulo and the DFT – an explanation to Problem 3.3
- Schnelle Faltung – The Maths – an explanation to Problem 4.2
- A collection of Signal Processing formulas provided at the exam can be found here.