The master's programme in Signal Processing and Computing at Aalborg University focuses on theories, methods and algorithms for advanced signal processing applied to a variety of application domains, such as wireless communication, speech recognition, hearing aids, positioning, gaming, audio and video, and health care.
The courses taught during the programme all provide you with the tools and knowledge necessary for designing and implementing up-to-date signal processing applications and platforms.
The course introduces you to stochastic processes starting with definitions of a stochastic process, white-sense stationary (WSS) processes, Auto Regressive Moving Average (ARMA) processes, Markov models and Poisson point processes.
The course will be accompanied by mini projects to properly combine the theoretical knowledge gained with practical hands-on experience. You will learn how to simulate stochastic processes through the courses and min projects, and you will gain the appropriate engineering intuition of the basic concepts and results related to stochastic processes enabling you to design an appropriate model for a particular engineering problem involving randomness, derive solutions, assess the performance of these solutions and modify the model.
The prerequisites for this course are Basic linear algebra and numerical methods. The purpose of the course is to give an overview on the different classes of optimisation problems and associated methods for solving them. You will learn about objective function, global/local minima, constrained/unconstrained, convex/non-convex functions and sets. You will study: linear and quadratic programming problems; Simplex method; Interior point methods with gradient, optimal gradient, Newton methods, line search and stop criteria; how to approximate a nonlinear convex problem with a linear one and how to solve combinatorial optimisation problems with methods like Simulated Annealing (SA) and Genetic Algorithms (GA).
After attending this course you will understand how to formulate optimisation problems in signal processing and you will be able to design optimisation algorithms and to evaluate their performance.
2nd SemesterScientific Computing and Sensor Modelling
This course covers various topics in scientific computing and behavioural sensor modelling. The course is composed of three parts: 1) computation and programming; 2) mathematical background; and 3) modelling and simulation. The first part of the course includes an introduction to modern state-ofthe-art computer and software platforms (CPUs, GPUs, multi-core, etc.), an introduction to the Python programming language (data types, programming style, packages and libraries, unit testing, profiling, etc.), scientific computing aspects (floating point representation, algorithmic complexity, condition numbers, etc.), parallel computing methodologies (classification, memory models, load balancing, Amdahl/Gustafson-Barsis' laws, etc.) and Python multiprocessing programming (pools and processes, asynchronous computation, shared data, etc.). The second part of the course is devoted mainly to the mathematical representation of signals of different types (bandwidths of signals, Fourier series descriptions, pass band and complex baseband representations, signal transformations, signal power, resampling, etc.). The third and final part of the course includes behavioural simulation techniques (simulation process, behavioural models, computation models, software platforms, etc.), system simulation framework (signal types, functional block representation, signal decomposition, etc.), generators (sinusoidal, random, pass band, etc.), linear functional blocks (filters, amplifiers, etc.) and nonlinear functional blocks (power amplifiers, etc.).
After this course, you will be able to map algorithms to sequential and parallel CPU architectures, develop high quality scientific software in Python and perform behavioural-based simulations of various functional blocks. During the course, you will develop good software coding skills including proper structuring, good code development procedures with emphasis on readability, maintenance and performance as well as knowledge of using profiling, debugging, etc., for testing and validation of software.
Reconfigurable and Low Energy Systems
For various types of applications, a software programmable digital signal processor is a suitable platform for real-time execution of a Digital Signal Processing (DSP) algorithm. However, in many cases a much more flexible hardware platform where the designer can experiment with trade-offs between physical size of the circuitry, the overall execution time, the energy- and memory consumption and the numerical properties of an actual real-time implementation is highly needed. In this course, we therefore introduce theories and practical methods for the design and implementation of DSP algorithms onto reconfigurable platforms which provide the opportunity to optimise the combined algorithm/architecture solution in terms of specific design metrics. In particular, we will discuss how to represent and analyse DSP algorithms in terms of computational properties, and how to use this information in order to specify and design an algorithm-specific, resource-optimal, real-time hardware architecture. In this context, emphasis on the design for low energy consumption will be addressed in terms of hardware, but also in terms of embedded software. After attending the course, you will have a sound insight into the overall design trajectory for algorithm-specific real-time DSP systems, and you will be able to apply a set of structured methods which are needed in order to improve the interaction between algorithms and architectures for selected design metrics.
Machine Learning (Elective)
The course gives a comprehensive introduction to machine learning which is a field concerned with learning from examples and has roots in computer science, statistics and pattern recognition. The objective is realised by presenting methods and tools proven valuable and by addressing specific application problems.
Projects within the course will enable you to apply the taught methods to solve concrete engineering problems and will give you competencies in analysing a given problem and identifying appropriate machine learning methods to solve the problem.
Array and Sensor Signal ProcessingThe course in Array and Sensor Signal Processing gives an overview of central signal processing algorithms and methods which can be applied on stationary or non-stationary signals such as speech, music, radar, sonar, electrocardiographic and radio signals. These signals often convey information about the physical process from which they originate, and analysing them is therefore useful in a wide range of applications. For example, analysing a signal generated by a waveform impinging on an antenna or microphone array enables tracking of a satellite, a person or the sun. Another application which is studied on the course is that of echo cancellation in which the acoustic echo of a speaking person is removed from a closed-loop system such as a telephone or a VoIP-system.
In the course, a wide range of algorithms and methods are studied within fundamental statistical signal processing areas. These areas include spectral estimation, adaptive filtering, optimal estimation, array signal processing and multi-rate signal processing. Important prerequisites for following this course are therefore stochastic processing, convex optimisation and discrete-time signal processing.
4th SemesterMasters thesisWe are currently in the process of selecting some new and interesting master's thesis examples to post here.