# Signal Filter
The Signal Filter [Processing](http://processing.org/) library is a simple way to turn noisy raw data–such as a tracker's position or your microphone volume for example–into a signal that changes smoothly over time.
Signal Filter is built upon the [OneEuroFilter](http://www.lifl.fr/~casiez/1euro/) by [Géry Casiez](http://www.lifl.fr/~casiez) which is a lightweight alternative to common filtering algorithms. Signal Filter wraps the Java implementation of the 1€ filter by [Stéphane Conversy](http://recherche.enac.fr/~conversy/).
*Please report bugs and submit feature requests on the [issues](https://github.com/SableRaf/SignalFilter/issues) page.*
## About
“The 1€ filter (“one Euro filter”) is a simple algorithm to filter noisy signals for high precision and responsiveness. It uses a first order low-pass filter with an adaptive cutoff frequency: at low speeds, a low cutoff stabilizes the signal by reducing jitter, but as speed increases, the cutoff is increased to reduce lag.” [Casiez 2012]
This library provides convenience functions to deal with the most common scenarios: single signal, coordinates (as PVector or individual floats), multiple channels. Look at the examples and the documentation for more information.
To learn more about the 1€ Filter algorithm, read the [CHI 2012 paper (PDF)](https://hal.inria.fr/hal-00670496/document) by [Géry Casiez](http://www.lifl.fr/~casiez).
You can also try the [online demo](http://cristal.univ-lille.fr/~casiez/1euro/InteractiveDemo/) of the 1€ filter for a comparison with other filters.
## Installation (PDE)
To install the Signal Filter library in the Processing Development Environment, go to `tools > Manage Tools...` and find the `Libraries` tab. Search for "Signal Filter" and click `install`.
## Usage
Import the library, create your filter, and apply it to your signal. You can get more control over the parameters (look at comments in the examples for instructions).
```java
// Add the library to the sketch
import signal.library.*;
// -----------------------------------------------------
// Create the filter
SignalFilter myFilter;
// -----------------------------------------------------
// Variables for the dummy & filtered signal
float sourceSignal;
float noisySignal;
float filteredSignal;
void setup() {
// -----------------------------------------------------
// Initialize the filter
myFilter = new SignalFilter(this);
// -----------------------------------------------------
}
void draw()
{
// Generate a dummy signal
sourceSignal = sin(frameCount / 1000.0);
// Add random noise to our dummy signal
noisySignal = sourceSignal + random(-0.05, 0.05);
// -----------------------------------------------------
// Filter the signal
filteredSignal = myFilter.filterUnitFloat( noisySignal );
// -----------------------------------------------------
// Display the results in the console
println("");
println("Source = " + sourceSignal);
println("Noisy = " + noisySignal);
println("Filtered = " + filteredSignal);
}
```
## Examples
After installing the Signal Filter library, you will find the following examples in `File > Examples... > Contributed Libraries > Signal Filter`
* [helloFilter](https://github.com/SableRaf/signalfilter/tree/master/SignalFilter/examples/helloFilter/helloFilter.pde)
* [basicFilter](https://github.com/SableRaf/signalfilter/tree/master/SignalFilter/examples/basicFilter/basicFilter.pde)
![Snapshots](https://raw.github.com/SableRaf/signalfilter/master/ressources/basicFilter.jpg)
* [multiFilter](https://github.com/SableRaf/signalfilter/tree/master/SignalFilter/examples/multiFilter/multiFilter.pde)
![Snapshots](https://raw.github.com/SableRaf/signalfilter/master/ressources/multiFilter.jpg)
* [coordFilter](https://github.com/SableRaf/signalfilter/tree/master/SignalFilter/examples/coordFilter/coordFilter.pde)
![Snapshots](https://raw.github.com/SableRaf/signalfilter/master/ressources/coordFilter.jpg)
## Tested
Processing Versions:
* 4.0.1
* 3.5.3
* 3.4
* 2.0.1
* 2.0
* 2.0b9
* 2.0b8
* 2.0b7
* 1.5.1
## Dependencies
None.
## Questions?
Wanna chat? Ping me on [Twitter](https://twitter.com/sableRaph). For bug reports, please use the [issues](https://github.com/SableRaf/SignalFilter/issues) page.
## License
* The library is Open Source Software released under the [GNU General Public License](http://www.gnu.org/licenses/gpl.html). It is developed and maintained by [Raphaël de Courville](https://twitter.com/sableRaph).
*This README file was last updated on 2020-11-26*
没有合适的资源?快使用搜索试试~ 我知道了~
用于处理的信号过滤库_HTML_Java_下载.zip
共33个文件
html:13个
pde:4个
txt:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 102 浏览量
2023-04-26
11:38:30
上传
评论
收藏 174KB ZIP 举报
温馨提示
用于处理的信号过滤库_HTML_Java_下载.zip
资源推荐
资源详情
资源评论
收起资源包目录
用于处理的信号过滤库_HTML_Java_下载.zip (33个子文件)
signalfilter-master
src
OneEuroFilter.java 3KB
SignalFilter.java 14KB
LowPassFilter.java 1KB
ressources
coordFilter.jpg 28KB
multiFilter.jpg 35KB
basicFilter.jpg 42KB
SignalFilter
examples
basicFilter
basicFilter.pde 3KB
coordFilter
coordFilter.pde 2KB
helloFilter
helloFilter.pde 1KB
multiFilter
multiFilter.pde 3KB
INSTALL.txt 2KB
stylesheet.css 2KB
index.html 5KB
reference
deprecated-list.html 5KB
signal
library
package-summary.html 5KB
SignalFilter.html 36KB
package-tree.html 5KB
package-frame.html 864B
resources
inherit.gif 57B
allclasses-noframe.html 722B
package-list 15B
constant-values.html 5KB
stylesheet.css 3KB
index.html 1KB
help-doc.html 8KB
overview-tree.html 5KB
index-all.html 9KB
allclasses-frame.html 742B
download
signalFilter.txt 2KB
signalFilter.zip 38KB
signalFilter-1.txt 2KB
signalFilter-1.zip 38KB
README.md 5KB
共 33 条
- 1
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9154
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功