# jdsp **Repository Path**: ShiZi1987/jdsp ## Basic Information - **Project Name**: jdsp - **Description**: java实现的DSP信号处理 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-06-01 - **Last Updated**: 2026-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![Logo](https://github.com/psambit9791/jdsp/blob/master/res/img/JDSP-Logo-Inverted.png#gh-dark-mode-only) ![Logo](https://github.com/psambit9791/jdsp/blob/master/res/img/JDSP-Logo.png#gh-light-mode-only) [![Build Status](https://travis-ci.com/psambit9791/jdsp.svg?branch=master)](https://app.travis-ci.com/psambit9791/jdsp) [![codecov](https://codecov.io/gh/psambit9791/jdsp/branch/master/graph/badge.svg)](https://codecov.io/gh/psambit9791/jdsp) [![Maven Central](https://img.shields.io/maven-central/v/com.github.psambit9791/jdsp.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22com.github.psambit9791%22%20AND%20a:%22jdsp%22) [![javadoc](https://javadoc.io/badge2/com.github.psambit9791/jdsp/javadoc.svg)](https://javadoc.io/doc/com.github.psambit9791/jdsp) [![jitpack](https://jitpack.io/v/psambit9791/jdsp.svg)](https://jitpack.io/#psambit9791/jdsp) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?)](https://github.com/psambit9791/jdsp/blob/master/LICENSE) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3903921.svg)](https://doi.org/10.5281/zenodo.3903921) JDSP is a library of signal processing tools aimed at providing functionalities as available in MATLAB or in scipy-signal package for Python. The goal is to provide easy-to-use APIs for performing complex operation on signals eliminating the necessity of understanding the low-level complexities in the processing pipeline. ## Quick Start
To get the latest stable release of JDSP: ### Gradle ``` implementation 'com.github.psambit9791:jdsp:2.0.1' ``` ### Maven ``` com.github.psambit9791 jdsp 2.0.1 ```
For the latest development version of JDSP: ### Github ``` git clone --single-branch --branch master https://github.com/psambit9791/jdsp.git ``` ### JitPack You can use **JitPack** to use the development version on your application; use this [link](https://jitpack.io/#psambit9791/jdsp/master-SNAPSHOT) for reference.
## Documentation See the [**Wiki**](https://github.com/psambit9791/jdsp/wiki) for an introduction to the general use of JDSP. See the [**javadocs**](https://javadoc.io/doc/com.github.psambit9791/jdsp) for more detailed documentation.
## Usage | **Class** | **Type** | **Description** | |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------| | com.github.psambit9791.jdsp.filter.Butterworth | IIR Filter | Implements Butterworth Filter for low-pass, high-pass, band-pass and band-stop operation | | com.github.psambit9791.jdsp.filter.Chebyshev | IIR Filter | Implements Chebyshev Filter (Type 1 and Type 2) for low-pass, high-pass, band-pass and band-stop operation | | com.github.psambit9791.jdsp.filter.Bessel | IIR Filter | Implements Bessel Filter for low-pass, high-pass, band-pass and band-stop operation | | com.github.psambit9791.jdsp.filter.FIRWin1 | FIR Filter | Implements a windowed FIR filter for low-pass, high-pass, band-pass and band-stop operation | | com.github.psambit9791.jdsp.filter.FIRWin2 | FIR Filter | Implements a windowed FIR filter (with gain) for low-pass, high-pass, band-pass and band-stop operation | | com.github.psambit9791.jdsp.filter.FIRLS | FIR Filter | Implements an FIR filter which has the closest frequency response as desired optimised using Least Squares Minimization | | com.github.psambit9791.jdsp.filter.Median | Kernel-based Filter | Implements Median Filter for smoothing while maintaining the sharp edges | | com.github.psambit9791.jdsp.filter.Savgol | Kernel-based Filter | Implements Savitzky–Golay Filter for smoothing using Savitzky–Golay coefficients | | com.github.psambit9791.jdsp.filter.Wiener | Kernel-based Filter | Implements Wiener Filter for the sharpening operation | | com.github.psambit9791.jdsp.filter.adaptive.AP | Adaptive Filter | Implements Affine Projection Adaptive filter | | com.github.psambit9791.jdsp.filter.adaptive.GNGD | Adaptive Filter | Implements Generalised Normalised Gradient Descent Adaptive Filter Adaptive filter | | com.github.psambit9791.jdsp.filter.adaptive.LMS | Adaptive Filter | Implements Least Mean Squares Adaptive filter | | com.github.psambit9791.jdsp.filter.adaptive.NLMS | Adaptive Filter | Implements Normalised Least Mean Sqares Adaptive filter | | com.github.psambit9791.jdsp.filter.adaptive.RLS | Adaptive Filter | Implements Reduced Least Squares Adaptive filter | | com.github.psambit9791.jdsp.filter.adaptive.SSLMS | Adaptive Filter | Implements Sign-Sign Least Mean Squares Adaptive filter | | com.github.psambit9791.jdsp.filter.adaptive.NSSLMS | Adaptive Filter | Implements Normalised Sign-Sign Least Mean Squares Adaptive filter | |||| | com.github.psambit9791.jdsp.signal.Convolution | Signal Operation | Implements the convolve() and convolve1d() operation | | com.github.psambit9791.jdsp.signal.CrossCorrelation | Signal Operation | Implements the cross-correlation operation | | com.github.psambit9791.jdsp.signal.Deconvolution | Signal Operation | Implements the deconvolution operation for valid and full mode convolved signals | | com.github.psambit9791.jdsp.signal.Detrend | Signal Operation | Implements the detrend operaton to remove trends from a signal | | com.github.psambit9791.jdsp.signal.Smooth | Signal Operation | Implements convolutional smoothing with rectangular and triangular window | | com.github.psambit9791.jdsp.signal.Decimate | Signal Operation | Implements the decimation operation to downsample a signal after applying an anti-aliasing filter | | com.github.psambit9791.jdsp.signal.Resample | Signal Operation | Implements the resampling operation to change the number of samples in a signal using Fourier method | | com.github.psambit9791.jdsp.signal.Generate | Signal Operation | Helps to generate different waves and wavelets | |||| | com.github.psambit9791.jdsp.signal.peaks.FindPeak | Peak Detection | Identifies peaks in the signal | | com.github.psambit9791.jdsp.signal.peaks.Peak | Peak Detection | Calculates peak properties and allows filtering with them | | com.github.psambit9791.jdsp.signal.peaks.Spike | Peak Detection | Calculates spike properties and allows filtering with them | |||| | com.github.psambit9791.jdsp.transform.DiscreteFourier | Transformation | Applies the Discrete Fourier Transform on a signal | | com.github.psambit9791.jdsp.transform.InverseDiscreteFourier | Transformation | Applies the Inverse Discrete Fourier Transform on a sequence and returns the original signal | | com.github.psambit9791.jdsp.transform.FastFourier | Transformation | Applies the Fast Fourier Transform on a signal | | com.github.psambit9791.jdsp.transform.InverseFastFourier | Transformation | Applies the Inverse Fast Fourier Transform on a sequence and returns the original signal | | com.github.psambit9791.jdsp.transform.Hilbert | Transformation | Applies the Hilbert Transform on a signal and provides functions to return amplitude, phase and frequency information | | com.github.psambit9791.jdsp.transform.PCA | Transformation | Applies Principal Component Analysis on the multi-channel signal and returns a low-dimensional signal | | com.github.psambit9791.jdsp.transform.ContinuousWavelet | Transformation | Applies the Wavelet Transform on a signal with one of Paul, Ricker or Morlet wavelet | | com.github.psambit9791.jdsp.transform.InverseContinuousWavelet | Transformation | Applies the Inverse Wavelet Transform on a sequence transformed using CWT and returns the original signal | | com.github.psambit9791.jdsp.transform.ShortTimeFourier | Transformation | Applies the Short Time Fourier Transform on a signal | | com.github.psambit9791.jdsp.transform.InverseShortTimeFourier | Transformation | Applies the Inverse Short Time Fourier Transform on a sequence transformed using STFT and returns the original signal | |||| | com.github.psambit9791.jdsp.speech.Silence | Speech | Provides methods to detect periods of silence in an audio | |||| | com.github.psambit9791.jdsp.windows.Boxcar | Windowing | Generates a Boxcar (Rectangular) Window | | com.github.psambit9791.jdsp.windows.GeneralCosine | Windowing | Generates a General Cosine Window with provided weights | | com.github.psambit9791.jdsp.windows.Hamming | Windowing | Generates a Hamming Window | | com.github.psambit9791.jdsp.windows.Hanning | Windowing | Generates a Hanning Window | | com.github.psambit9791.jdsp.windows.Blackman | Windowing | Generates a Blackman Window | | com.github.psambit9791.jdsp.windows.BlackmanHarris | Windowing | Generates a Blackman-Harris Window | | com.github.psambit9791.jdsp.windows.Poisson | Windowing | Generates a Poisson (Exponential) Window | | com.github.psambit9791.jdsp.windows.Gaussian | Windowing | Generates a Gaussian Window | | com.github.psambit9791.jdsp.windows.FlatTop | Windowing | Generates a Flat Top Window | | com.github.psambit9791.jdsp.windows.Nuttall | Windowing | Generates a Nuttall Window | | com.github.psambit9791.jdsp.windows.Triangular | Windowing | Generates a Triangular Window | | com.github.psambit9791.jdsp.windows.Tukey | Windowing | Generates a Tukey Window | | com.github.psambit9791.jdsp.windows.Bartlett | Windowing | Generates a Bartlett Window | | com.github.psambit9791.jdsp.windows.BartlettHann | Windowing | Generates a Bartlett-Hann Window | | com.github.psambit9791.jdsp.windows.Bohman | Windowing | Generates a Bohman Window | | com.github.psambit9791.jdsp.windows.Kaiser | Windowing | Generates a Kaiser Window | |||| | com.github.psambit9791.jdsp.splines.AkimaSpline | Splines | Provides methods to construct an Akima Spline | | com.github.psambit9791.jdsp.splines.BSpline | Splines | Provides methods to construct an B-Spline | | com.github.psambit9791.jdsp.splines.QuadraticSpline | Splines | Provides methods to construct an Quadratic B-Spline | | com.github.psambit9791.jdsp.splines.CubicSpline | Splines | Provides methods to construct an Cubic B-Spline | |||| | com.github.psambit9791.jdsp.io.Wav | Input/Output | Provides methods to read from and write to WAV files | | com.github.psambit9791.jdsp.io.Csv | Input/Output | Provides methods to read from and write to CSV files | |||| | com.github.psambit9791.jdsp.misc.UtilMethods | Miscellaneous | Provides Numpy style utility functions, details in Wiki | | com.github.psambit9791.jdsp.misc.Plotting | Miscellaneous | Enables plotting of different signals and points using line and scatter plots |
## Citation If you are using this software in your research, please use the following citation: ``` @software{sambit_paul_2023_7675362, author = {Sambit Paul and Sibo Van Gool}, title = {psambit9791/jdsp: v2.0.1 (February 24, 2023)}, month = feb, year = 2023, publisher = {Zenodo}, version = {v2.0.1}, doi = {10.5281/zenodo.7675362}, url = {https://doi.org/10.5281/zenodo.7675362} } ``` ## Supporting JDSP JDSP is an open source project.
You can help by becoming a sponsor on Patreon or doing a one time donation on PayPal.
You can also show your appreciation on Ko-Fi.
Become a Patron Donate on Paypal Support on Kofi
## License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
You are free to use, modify and distribute this software, as long as the copyright header is left intact.