In this article I’ll show you how to use Fast Fourier Transform in Digital Signal Processing and how to apply forward and inverse FFT on complex and real data using the KFR framework.
Fast Fourier Transform (FFT) can be used to perform:
- Convolution (including convolution reverberation)
- Cross-correlation and auto-correlation
- Applying large FIR filters
- Sample rate conversion
- Spectrum visualization
- Large integer multiplication
- and many other algorithms
Often FFT is the most efficient way to perform each of these algorithms.
Moreover, KFR has one of the most efficient FFT implementation, so you can get a great performance boost of your DSP applications using KFR’s FFT for all of these algorithms.
Continue reading Fast Fourier Transform in C++ using KFR. Part 1
Passing values in C++ as a template arguments has some inflexibilities.
For example, if template function has been wrapped into a functor class,
there are no ways to pass some value as a template argument.
Continue reading Compile-time arguments and function wrappers
The expression is the central entity of KFR framework.
Input expressions can be read from and output expressions can be written to. Class can be an input and output expression at same time.
univector is an example of such class.
Continue reading Basic expression tutorial
Digital biquad filters and biquad filter design functions are implemented in the KFR framework starting from the first version.
Biquad algorithm uses the Transposed Direct Form II which reduces the quantization errors in the floating point calculations.
Continue reading Biquad filters in C++ using KFR