https://github.com/sdtelectronics/libusagi
libusagi - Universal Sigma-delta Analog Interface
https://github.com/sdtelectronics/libusagi
Last synced: 12 months ago
JSON representation
libusagi - Universal Sigma-delta Analog Interface
- Host: GitHub
- URL: https://github.com/sdtelectronics/libusagi
- Owner: SdtElectronics
- License: bsd-3-clause
- Created: 2018-11-04T09:04:59.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2021-12-19T15:13:39.000Z (over 4 years ago)
- Last Synced: 2025-04-12T22:09:14.022Z (over 1 year ago)
- Language: C++
- Homepage:
- Size: 148 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# libusagi
libusagi - **U**niversal **S**igma-delta **A**nalo**g** **I**nterface is a header-only library for converting discrete multilevel signal to binary bitstream via Σ-Δ modulation.
## Highlights
* Full implementation of a Σ-Δ modulator from oversampling, interpolation to modulation with simple interface
* Configurable oversampling rate (OSR), modulation order, interpolation filter and data type.
* No external dependency for core implementation (some interpolation filter requires [liquid DSP](https://github.com/jgaeddert/liquid-dsp/))
## Structure
### Oversampler
Source directory: src/filter
Oversamplers take a n-bit sample and produce `M` n-bit value at one time, where `M` is the oversampling rate (OSR). Oversamplers provide smooth upconverted signal to the modulator. Predefined oversamplers are:
* #### [Sample & Hold](src/filter/hold.h)
Directory: src/filter/hold.h
### Modulator
Directory: src/core
Modulators take a n-bit sample and produce a 1bit value at one time. Modulators employ low pass filters (LPFs) to perform noise-shaping, shifting the quantizing noise to higher frequency. Predefined modulators are:
* #### [CIFB](src/core/CIFB.h)
Source: src/core/CIFB.h
Modulator with CIFB (Cascade of Integrators with Distributed Feedback) filter

* #### [NIF](src/core/NIF.h)
Source: src/core/NIF.h
Modulator with configurable filter, no input feedforward.
### Convertor
Source directory: src/sdda.h
## Tests
### Test with CERN Root
## License
This project is under the [BSD-3-Clause License](LICENSE).