https://github.com/knttnk/nqlib
NQLib is a Python library to design noise shaping quantizer for discrete-valued input control.
https://github.com/knttnk/nqlib
control-systems control-theory digital-signal-processing python python3 quantization quantizer
Last synced: about 1 month ago
JSON representation
NQLib is a Python library to design noise shaping quantizer for discrete-valued input control.
- Host: GitHub
- URL: https://github.com/knttnk/nqlib
- Owner: knttnk
- License: mit
- Created: 2020-11-20T11:41:36.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-12-19T20:29:46.000Z (3 months ago)
- Last Synced: 2025-12-22T08:59:51.303Z (3 months ago)
- Topics: control-systems, control-theory, digital-signal-processing, python, python3, quantization, quantizer
- Language: Python
- Homepage:
- Size: 143 KB
- Stars: 5
- Watchers: 1
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Citation: CITATION.cff
Awesome Lists containing this project
README
# NQLib
[](https://github.com/knttnk/NQLib/actions/workflows/test-python-package.yml)
[](https://pepy.tech/projects/nqlib)
[](https://anaconda.org/conda-forge/nqlib)
NQLib is a Python library to design noise shaping quantizer for discrete-valued input control.
## What can I do with NQLib?
In the real world, a dynamic system may have to be controlled by discrete-valued signals due to the inclusion of actuators that are driven by ON/OFF or network with capacity limitations. In such a case, a good output may be obtained by converting continuous-valued input to discrete-valued input with a quantizer designed by NQLib.
## Install
You can install NQLib by using pip
```sh
pip install nqlib
```
or conda.
```sh
conda install -c conda-forge nqlib
```
## Documentation
All the documentation is available at NQLib documentation page.
Examples of usage are available at example (Google Colab).
## References
NQLib is a Python library version of ODQ Toolbox,
which were developed in MATLAB.
The algorithms used in NQLib are based on the following paper.
- [1] S. Azuma and T. Sugie: Synthesis of optimal dynamic quantizers for discrete-valued input control;IEEE Transactions on Automatic Control, Vol. 53,pp. 2064–2075 (2008)
- [2] S. Azuma, Y. Minami and T. Sugie: Optimal dynamic quantizers for feedback control with discrete-level actuators; Journal of Dynamic Systems, Measurement, and Control, Vol. 133, No. 2, 021005 (2011)
- [3] 南,加嶋:システムの直列分解に基づく動的量子化器設計;計測自動制御学会論文集,Vol. 52, pp. 46–51(2016)
- [4] R. Morita, S. Azuma, Y. Minami and T. Sugie: Graphical design software for dynamic quantizers in control systems; SICE Journal of Control, Measurement, and System Integration, Vol. 4, No. 5, pp. 372-379 (2011)
- [5] Y. Minami and T. Muromaki: Differential evolution-based synthesis of dynamic quantizers with fixed-structures; International Journal of Computational Intelligence and Applications, Vol. 15, No. 2, 1650008 (2016)
## License
This software is released under the MIT License, see LICENSE.txt.
## How to Cite NQLib
If you use NQLib, please support the project by citing the paper according to the steps below. This encourages further development and leads to more frequent updates.
1. Head to [the repository of NQLib](https://github.com/knttnk/NQLib).
2. Click on the "Cite this repository" button on the right side of the page.
3. Follow the instructions to generate a citation in your preferred format.