This repository contains implementations of the "Deblur" (Official name: Sigmoid Transform time-frequency domain swapping - Gauss Newton algorithm Lp minimization) for crest factor optimization of multisine signals. The algorithm combines sigmoid transform and Gauss-Newton optimization to minimize the crest factor, resulting in more efficient use of the signal's dynamic range.
The algorithm is available in multiple languages/formats:
- MATLAB:
MATLAB/deblur_main.m
- Python:
Python/deblur_main.py
- Python Flask (SAAS):
Python-Flask/deblur_main_web.py
- HTML/JavaScript:
HTML_Javascript/deblur_main.html
You only need to download and use one version, depending on your preferred language or environment.
You can test the algorithm online at: https://kallelay.com/deblur/deblur_main.html
Please note that the online version is relatively slow compared to the MATLAB and Python implementations due to the limitations of browser-based execution.
For a full explanation of the method and its theoretical background, please visit: https://kallelay.com/deblur/
This work has been published in the MDPI Batteries journal. You can find the full paper here: https://www.mdpi.com/2313-0105/8/10/176
- Clone this repository
- Choose the implementation that suits your needs (MATLAB, Python, Flask, or HTML/JavaScript)
- Follow the instructions in the respective files to run the algorithm
We welcome contributions to improve the algorithm or its implementations. Please feel free to submit issues or pull requests.
MIT License
We hope you find this crest factor optimization algorithm useful for your signal processing needs!