Postgraduate DiplomaElectronics, Embedded Systems & Telecom Applications open

Diploma in DSP in MCU/ARM: CMSIS and Fixed-Point

Online postgraduate diploma of 800 hours in DSP on MCU/ARM: CMSIS and Fixed-Point: 8 modules covering ARM architectures for signal processing, fixed-point arithmetic, the CMSIS-DSP library, real-time filtering and transforms, DSP code optimisation, control and sensor applications, and verification of embedded algorithms, with an assigned technical tutor.

Duration6–8 months
ModeOnline
LanguageEnglish
Start datesSet by the faculty
AwardSEIUM Institute diploma
Virtual lab · try it before you enrol

Take the controls.

Run a real engineering trade-off from this field. Move the sliders, watch the model react in real time and beat the challenge.

SIM · LIVE ●
Learning outcomes

What you will be able to do

01

Select ARM Cortex-M architectures suited to signal processing.

02

Represent algorithms in fixed-point arithmetic using the Q format.

03

Use the CMSIS-DSP library in real-time applications.

04

Implement filters and transforms with DMA-based acquisition.

05

Optimise DSP code with intrinsics, SIMD and Helium.

06

Apply DSP techniques to motor control and sensor processing.

07

Verify numerical precision against reference models.

Profile

Who it's for

  • DSP firmware engineers working on Cortex-M microcontrollers.
  • Embedded systems engineers adding signal processing to their products.
  • Fixed-point algorithm developers porting models from MATLAB or Python.
  • Motor control engineers implementing FOC and sensor processing.
  • Embedded audio engineers building real-time filtering and analysis.
  • Software optimisation engineers who squeeze cycles and energy out of MCUs.
  • Engineering or science graduates looking to enter the consumer electronics sector.
Standards & tools

What you'll work with

  • ISO/IEC TR 18037:2008 – Embedded C (fixed-point types and extensions for embedded processors)
  • IEEE 754-2019 (floating-point arithmetic)
  • MISRA C:2012 (C coding guidelines for critical systems)
  • ISO/IEC 9899:2018 (C programming language, C17)
  • IEC 61508-3:2010 (functional safety software requirements)
  • ISO 26262-6:2018 (road vehicle functional safety at software level)
  • CMSIS-DSP
  • STM32CubeIDE
  • Keil MDK
  • MATLAB Fixed-Point Designer
  • SEGGER SystemView
Syllabus

8 modules

  1. 1.1Cortex-M4, M7, M33 and M55 families
  2. 1.232-bit SIMD and MAC instructions
  3. 1.3FPv5 floating-point unit
  4. 1.4Helium extension (MVE) in Armv8.1-M
  5. 1.5Pipeline, cache and TCM memories
  6. 1.6Buses, memory and access latency
  7. 1.7Comparison with dedicated DSPs
  8. 1.8Cycle budget per sample
  9. 1.9Choosing a microcontroller for the application
  10. 1.10Lab: cycle measurement with DWT_CYCCNT
  1. 2.1Q format and Qm.n notation
  2. 2.2Dynamic range, resolution and scaling
  3. 2.3Addition, multiplication and extended accumulators
  4. 2.4Saturation versus modular overflow
  5. 2.5Rounding and truncation of results
  6. 2.6Conversion between Q15, Q31 and float
  7. 2.7Quantisation noise analysis
  8. 2.8Block scaling and block floating point
  9. 2.9__SSAT, __QADD and __SMLAD intrinsics
  10. 2.10Practical: converting a float algorithm to Q15
  1. 3.1Structure and modules of CMSIS-DSP
  2. 3.2Basic and vector functions
  3. 3.3FIR, biquad IIR and decimator filters
  4. 3.4Real and complex FFT transforms
  5. 3.5Matrix and statistical functions
  6. 3.6PID controllers and Clarke/Park transforms
  7. 3.7Interpolation and fast functions
  8. 3.8Instances, states and memory management
  9. 3.9Validation against a Python reference
  10. 3.10Lab: FIR filtering with CMSIS-DSP
  1. 4.1Acquisition with ADC, timers and DMA
  2. 4.2Block processing and double buffering
  3. 4.3Fixed-point FIR with a 64-bit accumulator
  4. 4.4Cascaded biquads in Q31 format
  5. 4.5FFT and embedded spectral analysis
  6. 4.6FFT windows and scaling
  7. 4.7End-to-end latency
  8. 4.8Interrupt and priority management
  9. 4.9Integration with an RTOS
  10. 4.10Workshop: spectrum analyser on STM32
  1. 5.1Profiling with counters and traces
  2. 5.2Loop unrolling and alignment
  3. 5.3Using intrinsics and inline assembly
  4. 5.4GCC and Arm Compiler optimisations
  5. 5.5Placing data in TCM and cache
  6. 5.6Precision versus speed
  7. 5.7Vectorisation with Helium
  8. 5.8Energy consumption per operation
  9. 5.9Code review according to MISRA C
  10. 5.10Practical: optimising a biquad filter
  1. 6.1Fixed-point FOC motor control
  2. 6.2Simplified Kalman filters
  3. 6.3Inertial sensor processing
  4. 6.4Audio event detection
  5. 6.5Electrical power and energy measurement
  6. 6.6Tone detection with Goertzel
  7. 6.7Lightweight inference with CMSIS-NN
  8. 6.8Sensor calibration and compensation
  9. 6.9Functional safety requirements
  10. 6.10Case study: FOC control with Park transforms
  1. 7.1Modelling in MATLAB and Python
  2. 7.2Test vector generation
  3. 7.3Bit-exact comparison with the model
  4. 7.4Error metrics: SNR and maximum error
  5. 7.5Unit testing with Unity
  6. 7.6Simulation in QEMU and Arm FVP
  7. 7.7On-board testing with hardware-in-the-loop
  8. 7.8Continuous integration for DSP firmware
  9. 7.9Documentation of numerical precision
  10. 7.10Lab: bit-exact verification of an FFT
  1. 8.1Algorithm selection and requirements
  2. 8.2Floating-point reference model
  3. 8.3Fixed-point conversion and analysis
  4. 8.4Implementation with CMSIS-DSP
  5. 8.5Code optimisation and profiling
  6. 8.6Numerical and on-board verification
  7. 8.7Performance and power report
  8. 8.8Firmware documentation
  9. 8.9Report and presentation
  10. 8.10Final project: final review with your tutor
Methodology, software & labs

How you'll learn

The programme is delivered 100% online on the SEIUM campus, with downloadable material, recorded classes and an assigned technical tutor. There are no fixed timetables: you progress at your own pace within the intake, so you can combine it with your job.

Each module combines theory, guided reading of the original standard and applied exercises. The working software is CMSIS-DSP, STM32CubeIDE, Keil MDK, MATLAB Fixed-Point Designer and SEGGER SystemView, in free, academic or evaluation versions. Testing is studied through real procedures: cycle measurement on Cortex-M boards, bit-exact verification against reference models and energy consumption profiling. Assessment is continuous, module by module, plus the final project.

Standards covered: ISO/IEC TR 18037:2008 (Embedded C), IEEE 754-2019, MISRA C:2012, ISO/IEC 9899:2018, IEC 61508-3:2010 and ISO 26262-6:2018.

Assigned technical tutor:every module ends with a deliverable that your tutor marks individually.
Standards-based learning:guided reading of ISO/IEC TR 18037 (Embedded C), IEEE 754 and MISRA C:2012 applied to real cases, not as a theoretical annex.
Industry software:CMSIS-DSP, STM32CubeIDE, Keil MDK, MATLAB Fixed-Point Designer and SEGGER SystemView, in free, academic or evaluation versions.
Final project:a DSP algorithm taken from a floating-point model to optimised fixed-point firmware on a Cortex-M board, reviewed by your tutor.
Flexible format:100% online, no fixed timetables, compatible with full-time work.
Capstone project

Build it end to end

Your final project follows the real engineering workflow, step by step, reviewed by your tutor.

Algorithm and reference model
Select the algorithm, set its requirements and build a floating-point reference model.
Fixed-point conversion
Convert the algorithm to fixed point and analyse quantisation effects.
CMSIS-DSP implementation
Implement the algorithm on the microcontroller with CMSIS-DSP.
Optimisation and verification
Profile and optimise the code, then verify it numerically and on the board.
Final project
Deliver the performance and power report with full firmware documentation, reviewed by your tutor.
Career opportunities

Where this takes you

DSP firmware engineerEmbedded systems engineerFixed-point algorithm developerMotor control engineerEmbedded audio engineerSoftware optimisation engineer
Admissions & scholarships

Requirements

  • Prior technical training or professional experience in the sector. No university degree is required.
  • An internet connection and a computer capable of running the programme software.
  • English sufficient to read technical standards.

Ready to start?

Send your application today. Our admissions team replies within 72 hours with your study plan and funding options.

FAQ

Frequently asked questions

The programme totals 800 hours over 6–8 months. You set your own pace within each intake, and your tutor helps you plan the workload around your job.

You work with CMSIS-DSP, STM32CubeIDE, Keil MDK, MATLAB Fixed-Point Designer and SEGGER SystemView, using free, academic or evaluation versions. Your tutor indicates the free alternative wherever one exists.

A SEIUM Institute diploma, awarded on passing the continuous assessment and the final project. It is SEIUM's own qualification, not an official state degree; its recognition depends on the programme completed and the regulations of each country.

Yes. Modules passed are recognised in a higher programme in the same area (postgraduate diploma or master's). Ask about the recognition policy when you enrol.

Prior technical training or professional experience in the sector (no university degree required), a computer able to run the programme software and English sufficient to read technical standards.

Start dates are set by SEIUM's faculty for each intake. Our admissions team will confirm the next available date when you apply.

Diploma in DSP in MCU/ARM: CMSIS and Fixed-PointEnrol
Scroll to Top
SEIUM – Institute of Advanced Engineering
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.