Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gagniuc/mix-two-signals-in-perl
This is an implementation designed in Perl. This implementation is able to mix two signals/vectors (A and B) in arbitrary proportions. This source code uses a novel mathematical model published in the journal Chaos. The model is called Spectral Forecast.
https://github.com/gagniuc/mix-two-signals-in-perl
algorithm computational-physics equation mix perl perl5 perl6 signal spectral-forecast
Last synced: about 2 months ago
JSON representation
This is an implementation designed in Perl. This implementation is able to mix two signals/vectors (A and B) in arbitrary proportions. This source code uses a novel mathematical model published in the journal Chaos. The model is called Spectral Forecast.
- Host: GitHub
- URL: https://github.com/gagniuc/mix-two-signals-in-perl
- Owner: Gagniuc
- License: mit
- Created: 2022-03-04T22:16:11.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-03-16T20:46:25.000Z (almost 3 years ago)
- Last Synced: 2024-10-11T20:42:56.703Z (2 months ago)
- Topics: algorithm, computational-physics, equation, mix, perl, perl5, perl6, signal, spectral-forecast
- Language: Raku
- Homepage:
- Size: 8.79 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
# Mix two signals in Perl
This is an implementation designed in Perl that is able to blend two signals in arbitrary proportions. This source code uses a novel mathematical model published in the journal [Chaos](https://aip.scitation.org/doi/10.1063/1.5120818). The model is called Spectral Forecast. The Mix-two-signals implementation is a demo that is able to mix two signals (A and B) in arbitrary proportions. Different cases can be seen, with two different waveform signals that are combined depending on a value d, called a distance. The value of d can be arbitrary chosen between zero and a value Max(d), which is defined as the maximum value found above the two vectors that represent these signals. In this specific case d = 33. The output is the M signal calculated from the two signals A and B, such as:
M = 15.37,35.12,51.12,57.17,47.89,43.08,60.35,67.91,63.72,48.03,33.99
The Spectral Forecast equation adapted to signals can be observed below:
![screenshot](https://github.com/Gagniuc/Waveform-mixing-with-Spectral-Forecast-in-JS/blob/main/img/spectral%20forecast%20signals.png?raw=true)
What can you expect from the code above? The effect of the above source code in the case of longer signals can be seen in a [graphical form](https://gagniuc.github.io/Waveform-mixing-with-Spectral-Forecast-in-JS/) below:
![screenshot](https://github.com/Gagniuc/Waveform-mixing-with-Spectral-Forecast-in-JS/blob/main/img/sf(0).gif?raw=true)
![screenshot](https://github.com/Gagniuc/Waveform-mixing-with-Spectral-Forecast-in-JS/blob/main/img/sf(2).gif?raw=true)
![screenshot](https://github.com/Gagniuc/Waveform-mixing-with-Spectral-Forecast-in-JS/blob/main/img/sf(3).gif?raw=true)
# References
- Paul A. Gagniuc et al. Spectral forecast: A general purpose prediction model as an alternative to classical neural networks. Chaos 30, 033119 (2020).
- Paul A. Gagniuc. Algorithms in Bioinformatics: Theory and Implementation. John Wiley & Sons, Hoboken, NJ, USA, 2021, ISBN: 9781119697961.