https://github.com/hayguen/iowahills_dsp
Repo for Code Kit from http://www.iowahills.com/
https://github.com/hayguen/iowahills_dsp
design dsp filter fir iir
Last synced: 2 months ago
JSON representation
Repo for Code Kit from http://www.iowahills.com/
- Host: GitHub
- URL: https://github.com/hayguen/iowahills_dsp
- Owner: hayguen
- License: mit
- Created: 2021-09-03T19:25:17.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-08-14T20:34:22.000Z (9 months ago)
- Last Synced: 2024-08-14T22:32:40.862Z (9 months ago)
- Topics: design, dsp, filter, fir, iir
- Language: C++
- Homepage:
- Size: 261 KB
- Stars: 20
- Watchers: 4
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# iowahills_dsp
Repo for Code Kit from http://www.iowahills.com/Site is reportedly down since September, 2021. Wayback machine has a backup: https://web.archive.org/web/20171110201917/http://iowahills.com/
A platform-independent C/C++ library with many **DSP** (digital signal processing) functions, amongst also *FIR* and *IIR* filter design - but also *FFT*, *DFT*, *Goertzel* and *Windowing* functions. Find a detailed description at http://www.iowahills.com/A7ExampleCodePage.html
## Build and Install
This library (and the test programs) are built with CMake, a cross-platform and open-source build system.
Typically the program is not built directly inside the source directory.
My preference is to build the program in a directory named ``build``, located in the root of the source directory or besides the source directory.```
git clone https://github.com/hayguen/iowahills_dsp.git
cmake -S iowahills_dsp -B build_iowahills_dsp -DCMAKE_BUILD_TYPE=Release
cmake --build build_iowahills_dsp
sudo cmake --build build_iowahills_dsp --target install
```## License
Iowa Hills Software, LLC, has put several sources online on their site http://www.iowahills.com/.
There is also a *Code Kit Download(zip)* provided at http://www.iowahills.com/A7ExampleCodePage.htmlTheres is (or was) no license information on the website or inside the provided files. After requesting clarification and permission to publish on github, Daniel Klostermann (Iowa Hills Software, LLC) clarified:
> No license is required. Do whatever you want with it
He also invited me to publish on github.
Despite his very permissive words, i interpret as *Public Domain*, i put this repository under **MIT License** for having legal protection - still allowing everyone free use.
## Development
The sources contained global variables; thus, the library wasn't safe for multithreaded use. Hope, these are completely eliminated now.
I've slightly modified the sources, to get them compile and link - mostly without warnings:
- removed some unused variables
- added cases and return (code) for missing/uncatched enum values in a switch/case
- removed/renamed duplicate Sinc() function
- restructured include and src files: modified include directives
..Despite above changes, i've also added minimal cmake support with support for the install and uninstall targets.
Thus, the example(s) directory has an own CMakeLists.txt entry point, which requires the library, to be installed.## Related
* BSL, C++: https://github.com/hayguen/spuce
* MIT, C++: https://github.com/electro-smith/DaisySP
* MIT, C/C++: https://github.com/jgaeddert/liquid-dsp
* MIT, C++: https://github.com/signalsmith-audio/dsp
* BSL, C++: https://github.com/hbe72/cdsp
* LGPL, C++: https://github.com/AlexandreRouma/dsp
* ???, C++: https://github.com/AlexandreRouma/cdsp
* LGPL: https://github.com/lsp-plugins/lsp-dsp-lib
* LGPL: https://github.com/dac1976/dsp
* GPL: https://github.com/kfrlib/kfr
* GPL: https://github.com/mohabouje/eDSP
* Matlab: https://github.com/dario-pilori/dsp-library