SignalSharp 0.0.6
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package SignalSharp --version 0.0.6
NuGet\Install-Package SignalSharp -Version 0.0.6
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SignalSharp" Version="0.0.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SignalSharp --version 0.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SignalSharp, 0.0.6"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install SignalSharp as a Cake Addin #addin nuget:?package=SignalSharp&version=0.0.6 // Install SignalSharp as a Cake Tool #tool nuget:?package=SignalSharp&version=0.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
SignalSharp is a library designed for signal processing and time series analysis.
Features
- PELT Algorithm: Efficiently detects multiple change points in time series data.
- L1 Cost Function: Robust to outliers and non-Gaussian noise.
- L2 Cost Function: Suitable for normally distributed data.
- RBF Cost Function: Handles non-linear relationships between data points.
- Savitzky-Golay Filter: Smooths data to reduce noise while preserving the shape of the signal.
- Kalman Filter: Estimates the state of a linear dynamic system from a series of noisy measurements.
Future Plans
- Implement additional signal processing algorithms.
- PELT
- L1 Cost Function
- L2 Cost Function
- RBF Cost Function
- Savitzky-Golay Filter
- FFT
- Wavelet Transform
- Kalman Filter
- Autoregressive (AR) models
- PELT
- Enhance the performance of existing algorithms.
- Provide more comprehensive examples and documentation.
Installation
To install SignalSharp, you can use NuGet Package Manager:
dotnet add package SignalSharp
Usage
PELT Algorithm
The PELT algorithm can be used with different cost functions to detect change points in time series data.
Example: Using PELT with L2 Cost Function
using SignalSharp;
double[] signal = { /* your time series data */ };
double penalty = 10.0;
var pelt = new PELTAlgorithm(new PELTOptions
{
CostFunction = new L2CostFunction(),
MinSize = 2,
Jump = 5
});
int[] changePoints = pelt.FitPredict(signal, penalty);
Console.WriteLine("Change Points: " + string.Join(", ", changePoints));
Example: Using PELT with RBF Cost Function
using SignalSharp;
double[] signal = { /* your time series data */ };
double penalty = 10.0;
var pelt = new PELTAlgorithm(new PELTOptions
{
CostFunction = new RBFCostFunction(gamma: 0.5),
MinSize = 2,
Jump = 5
});
int[] changePoints = pelt.FitPredict(signal, penalty);
Console.WriteLine("Change Points: " + string.Join(", ", changePoints));
Smoothing Filters
The Savitzky-Golay filter can be used to smooth a noisy signal.
Example: Using Savitzky-Golay Filter
using SignalSharp;
double[] signal = { /* your noisy signal data */ };
int windowSize = 5;
int polynomialOrder = 2;
double[] smoothedSignal = SavitzkyGolay.Filter(signal, windowSize, polynomialOrder);
Console.WriteLine("Smoothed Signal: " + string.Join(", ", smoothedSignal));
License
SignalSharp is licensed under the MIT License. See the LICENSE file for more details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- MathNet.Numerics (>= 5.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.