Algorithms for Biosignals in the C Language
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
F7PBBAZC | KZ | 2 | 1P+1C | Czech |
- Course guarantor:
- Lecturer:
- Tutor:
- Supervisor:
- Department of Information and Communication Technology in Medicine
- Synopsis:
-
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.
- Requirements:
-
Solved and documented individual computer exercise.
- Syllabus of lectures:
-
1. Effective representation of biosignals in computer memory, implementation in C language.
2. Basics of 1d and 2d data visualization. Floating time window method.
3. Numerical derivation of a 1d signal.
4. Numerical integration of a 1d signal.
5. Convolution. Cross-correlation function and autocorrelation fce.
6. Newton and Lagrange interpolation. Approximation by the method of least squares.
7. Algorithms for numerical search of roots of nonlinear equations.
8. Calculation and display of the 1d biosignal histogram. Algorithms for generating pseudorandom numbers with a given distribution (uniform, normal).
9. Algorithms for finding the roots of a polynomial.
10. Algorithms for the numerical solution of ordinary differential equations, Euler's method, Runge Kutta's methods.
11. Algorithms for solving systems of linear equations.
12. Characteristics of lin. systems (transient, impulse and frequency), their mutual conversions. Introduction (ideological) to biocybernetics - basic ideas and connection with signal technology. DFT and iDFT calculation, FFT algorithm.
13. Introduction to linear filtering. FIR filter synthesis algorithms (frequency sampling method, Fourier series method).
14. IIR filter synthesis algorithms.
- Syllabus of tutorials:
-
1. Dynamic memory allocation for vector and for matrix. Loading/saving data to/from a one- and two-dimensional array from/to a file in the given format (biosignals and images). Calculation of basic parameters in the time domain or statistics (mean value, variance, etc.).
2. Display algorithm of generated mathematical function, rendering algorithm of general loaded 1d signal, implementation of 2d data display algorithm.
3. Implementation of the selected method of numerical derivation, averaging and thresholding and their application in the detection of graphoelements in a real biosignal.
4. Implementation of the selected method of numerical integration and its experimental verification on specific biological data.
5. Implementation of the convolution calculation algorithm, testing on a real biosignal.
6. Implementation of the Lagrange interpolation algorithm, implementation of linear approximation by the method of least squares.
7. Implementation of several basic locally convergent iterative algorithms for finding the roots of nonlinear equations.
8. Implementation of an efficient algorithm for calculating the biosignal histogram.
9. Implementation of the selected algorithm for finding the roots of a polynomial, e.g. Durand-Kerner methods.
10. Implementation of the selected method of numerical solution of diff. equations on the example of a physical simulation task.
11. Implementation of the algorithm of the selected method of finding the roots of systems of linear equations.
12. Use of fast Fourier transform algorithms for frequency analysis of biosignals.
13. FIR filter design algorithm using the frequency sampling method and the Fourier series method, application to a real biosignal.
14. Example of implementation of the algorithm for IIR filter synthesis, application to a real biosignal.
- 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>
[1] William H. Press et al.: Numerical Recipes in C (7nd edition),. Cambridge University Press 2002
[2] Smith et al.: Digital Signal Processing (2nd edition), Kalifornia Technical Publishing, San Diego 2004
- Note:
- 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://moodle-vyuka.cvut.cz">https://moodle-vyuka.vut.cz</a>
- No time-table has been prepared for this course
- The course is a part of the following study plans:
-
- Biomedical Technology (compulsory elective course)
- Biomedical Technology (compulsory elective course)