Getting started with KFR
KFR is a C++ framework for digital signal processing, audio applications, and general numerical work. It provides the low-level building blocks needed for fast array operations, then builds higher-level tools—such as Fourier transforms, filters, resamplers, and audio file codecs—on top of them.
Simple declarative reflection in C++20
Almost every real-world application requires a lot of similar operations such as saving its internal state, making API requests, logging events, etc. This leads to writing hundreds of lines of code to convert classes to JSON, serializing to various formats, and so on.
But if we knew the internal structure of classes, then we could write generic functions for all use cases and get the desired features quickly and easily.
How C++14 and C++17 help to write faster (and better) code. Real world examples
Compile-time arguments and function wrappers
Passing values in C++ as template arguments has limitations. For example, when a function template is wrapped in a functor class, there is no way to pass a value as a template argument.
Example: FIR filter in C++
Basic expression tutorial
Biquad filters in C++ using KFR
Digital biquad filters and biquad design functions have been part of the KFR framework since its first version.
The biquad algorithm uses Transposed Direct Form II, which reduces quantization errors in floating-point calculations.