cariboulabs-cariboulite/software/utils/libcariboulite/src/iir/demo
David Michaeli 0ed53aa3ff IO control from API c and CPP
Flush control on I/Q streams
2024-01-29 10:50:06 +02:00
..
1.png IO control from API c and CPP 2024-01-29 10:50:06 +02:00
2.png IO control from API c and CPP 2024-01-29 10:50:06 +02:00
3.png IO control from API c and CPP 2024-01-29 10:50:06 +02:00
4.png IO control from API c and CPP 2024-01-29 10:50:06 +02:00
5.png IO control from API c and CPP 2024-01-29 10:50:06 +02:00
7.png IO control from API c and CPP 2024-01-29 10:50:06 +02:00
8.png IO control from API c and CPP 2024-01-29 10:50:06 +02:00
CMakeLists.txt IO control from API c and CPP 2024-01-29 10:50:06 +02:00
README.md IO control from API c and CPP 2024-01-29 10:50:06 +02:00
bessel_design.py IO control from API c and CPP 2024-01-29 10:50:06 +02:00
ecg1.png IO control from API c and CPP 2024-01-29 10:50:06 +02:00
ecg2.png IO control from API c and CPP 2024-01-29 10:50:06 +02:00
ecg50hz.dat IO control from API c and CPP 2024-01-29 10:50:06 +02:00
ecg50hzfilt.cpp IO control from API c and CPP 2024-01-29 10:50:06 +02:00
elliptic_design.py IO control from API c and CPP 2024-01-29 10:50:06 +02:00
iirdemo.cpp IO control from API c and CPP 2024-01-29 10:50:06 +02:00
plot_ecg_filt.py IO control from API c and CPP 2024-01-29 10:50:06 +02:00
plot_impulse_fresponse.py IO control from API c and CPP 2024-01-29 10:50:06 +02:00

README.md

Coding examples

This demo directory shows how filters are set up, how data is processed sample by sample and how the frequency responses look like with the help of python scripts.

Impulse responses and spectra of different filters:

./iirdemo
python3 plot_impulse_fresponse.py

50Hz removal and lowpass filtering:

./ecg50hzfilt
python3 plot_ecg_filt.py

Optimisation tips

The actual filter operations are header-only which means that they will never be pre-compiled in the library but the compiler can optimise the filter routine for your local processor. Consider using:

add_compile_options(-O3 -march=native)