Algorithms for Biosignals in the C Language
- Garant předmětu:
- Pavel Smrčka
- Pavel Smrčka
- Pavel Smrčka
- Department of Information and Communication Technology in Medicine
Explain the principle and implementation of the most used algorithms for biosignal processing and their specific functional (and time and memory efficient) implementation in C and C ++ in the form of practically oriented interpretation and demonstration tasks. Graduates will be acquainted with specific solutions to basic algorithmic problems in biosignal processing: with segmentation, analysis in the time and frequency domain, with the design of linear digital filters (FIR and IIR) and with the visualization of results. Prerequisites and co-requisites: basic knowledge of systems and signal processing, basics of ISO C. Output knowledge, skills, abilities and competences: The student is familiar with algorithms for preprocessing and intelligent segmentation of biological time series in C and C ++, eg: FFT algorithm, SFFT and wavelet transforms, algorithm for calculating autocorrelation and cross-correlation functions, convolution, etc. Can implement in C language the floating time window method for feature extraction and basic algorithms for the design and implementation of digital FIR and IIR filters. Understands and can implement in C language the basic ways of visualization of biological data and the results of their processing.
Solved and documented individual computer exercise.
- Syllabus of lectures:
1. Representation of 1D signals in C language, useful signal and noise,
2. Memory allocation for 1D and 2D data (signals and images), loading data into computer memory,
3. Algorithms for point estimation of mean, variance and other statistical features,
4. Non-stationary signals, algorithm of calculation of symptoms by floating time window method.
5. Algorithms for histogram calculation, probability distribution estimation, noise generation, central limit theorem.
Algorithms for calculation of autocorrelation and cross-correlation functions, convolution, example of convolution machine.
6. Basics of 1D and 2D graphics in ISO C for visualization of biosignals. Code modularity and creation of portable function libraries in ISO C.
7. Implementation of selected numerical methods in C (iterative solution of nonlinear equations, numerical integration and derivation, approximation of experimental data),
8. Implementation of DFT, FFT and WFFT, Wavelet transform - time-frequency domain, calculation of spectrogram in ISO C.
9. Significance and use of impulse, transient and frequency characteristics of a linear system.
10. Design and implementation of digital FIR filters in C language I .: fourier series method,
11. Design and implementation of digital FIR filters in C II language: frequency sampling method,
12. IIR filters - Introduction, design and implementation in C language.
13. Algorithms for HRV analysis - implementation of algorithms in ISO C for calculation of linear parameters
14. Algorithms for HRV analysis - implementation of algorithms in ISO C for calculation of nonlinear parameters.
- Syllabus of tutorials:
1. Principles of the design of application interfaces of the libraries for biomedical data processing. Examples of available libraries.
2. Example of the implementation of the real-time biosignal acquisition algorithms on MS Windows platform.
3. Example of the implementation of the real-time biosignal acquisition algorithms on GNU/Linux with X/Window system.
4. Example of the implementation of the real-time biosignal acquisition algorithms on Android platform.
5. Implementation of selected statistical and time-domain analysis algorithms.
6. Implementation of selected frequency domain analysis algorithms (FFT).
7. Implementation of selected time-frequency domain analysis algorithms (CSA, CWT).
8. Implementation of the basic algorithms for the linear system identification.
9. Practice of the FIR and IIR filters design and implementation.
10. Realization of the algorithm for the fuzzy rule-system. Realization of the algorithm for the multilayer perceptron neural network, back-propagation algorithm.
11. Selection of individual exercises.
12. Solving of the individual exercise on the computer.
13. Solving of the individual exercise on the computer.
14. Solving of the individual exercise on the computer. Presentation and verification of the individual exercises.
- Study Objective:
Practical implementation of modern algorithms for the biosignal processing in C and C++. Leavers will be familiar with selected practical solutions of common algorithmic problems during biosignal processing: segmentation, analysis in time and frequency domain, design and implementation of FIR and IIR filters and methods of biosignal visualisation.
- Study materials:
All stud. materials (incl. syllabus, practical tasks etc.) are available on e-learning server <a href="https://skolicka.fbmi.cvut.cz">https://skolicka.fbmi.cvut.cz</a>
 William H. Press et al.: Numerical Recipes in C (7nd edition),. Cambridge University Press 2002
 Smith et al.: Digital Signal Processing (2nd edition), Kalifornia Technical Publishing, San Diego 2004
- Further information:
- Výukové materiály pro tento předmět jsou zveřejněny prostřednictvím e-learningového systému na adrese <a href="https://skolicka.fbmi.cvut.cz">https://skolicka.fbmi.cvut.cz</a>
- Time-table for winter semester 2022/2023:
- Time-table is not available yet
- Time-table for summer semester 2022/2023:
Mon Tue Wed Thu FriroomAL:001
Praha 2 - Albertov
Albertov - učebnaroomAL:001
Praha 2 - Albertov
Albertov - učebna
- The course is a part of the following study plans:
- Biomedical Technology (compulsory elective course)