• Stars
    star
    120
  • Rank 295,983 (Top 6 %)
  • Language
    C++
  • License
    Other
  • Created almost 12 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Arduino library for signal filtering

Arduino Signal Filtering Library

The goals of this project is providing an Arduino library for basic signal filtering. These filters can be used to clean up noisy signals by suppressing small (fast) signal changes while passing bigger (slow) signal changes. This is typically done by suppressing the "higher frequency" fluctuations.

More info:

Available filters:

  • Low pass filters: Chebychev and Bessel (1st and 2nd order)
  • Median filter

Library Usage

  • Download the source
  • Place the Filter folder in your Arduino1.0+ "libraries" folder
  • Open example sketch: "file", "Examples", "SignalFilter", "Bessel" (or any other example)
  • Connect a (noisy) analog sensor to port A0
  • Compile & upload code
  • Original and filtered sensor data should be arriving over the serial port

Changing filters:

This library is partially based on filters that are auto-generated on the filtuino website. Filtuino is a Filter Suite that generates source code for different digital filters (IIR Lowpass, Highpass, Bandpass, Bandstop, IIR Resonanz Filter, Proportional Integral Filter).

Customizing the filters

If you want create your own filter, I suggest you:

  • Use my library as a template (to have some working code to start with)
  • Option 1: Generate the exact filtering code you need on the filtuino website (filter type, ripple, frequencies,...)
  • Option 2: Calculate & simulate your filters
  • Use the 'newFilter.h' & 'newFilter.cpp' templates to create your own filter. (by implementing a new "run()" function and writing a new example)

Contribute a filter

To add your filters to the project:

  • Fork this project on GitHub
  • Follow the procedure to create your own filter
  • Write a short 'readme_myfiltername.md' to describe your filter (place it in the 'Documention' folder)

Similar projects:

Version History:

  • Version 0.3.0: OOP version, better documentation, various cleanup, MIT license,...
  • Version 0.2.0: Median filter
  • Version 0.1.0: Low pass Chebychev and Bessel filters

Roadmap:

  • Version 0.3.1+: More filters (band pass, moving average, Kalman, ...)

More Repositories

1

Arduino-serial-messaging

Library to exchange short messages (sensordata, commands) between an Arduino and a software application running on a PC. (Linux, embedded Linux, Windows, OS X)
Python
78
star
2

youtube-to-mpd

Front end for youtube-dl to auto add YouTube music to MPD
Python
44
star
3

Arduino-distance-sensor-library

Arduino library for distance sensors
Python
37
star
4

Arduino-GP2Y0A21YK-library

Arduino library for the Sharp GP2Y0A21YK IR Distance sensor
C++
25
star
5

scripts-tools-misc

My shell tools & scripts
Shell
23
star
6

Arduino-serial-menu

Arduino library to show user menus over the serial port
C++
17
star
7

Arduino-MMA7361-library

Arduino library for the MMA7361 3-axis MEMS accelerometer
Python
16
star
8

Arduino-TestSuite

Arduino TestSuite to automate Arduino unit tests
Python
16
star
9

Arduino-cheat-sheet

Arduino cheat sheet
TeX
11
star
10

Arduino-class

Arduino class: tutorials, articles and code samples for an embedded systems class using the Arduino platform
Arduino
10
star
11

Arduino-ardumotor-library

Arduino Ardumoto Library
Python
5
star
12

Arduino-ParallaxContinuousRotationServo-library

Arduino Library for the Parallax (Futaba) Continuous Rotation Servo
Python
4
star
13

Arduino-KDE-syntax-highlighting

Kate/KDevelop syntax highlighting style for Arduino code
4
star
14

Arduino-parallax-rfid

Arduino library for Parallax RFID readers
Python
2
star
15

Arduino-humidity-sensor-library

Arduino library for analog Honeywell humidity sensors
Python
2
star
16

Linux-cheat-sheet

Linux cheat sheet
TeX
2
star
17

kvm-manager

An tool to automate KVM virtual machine management
Python
1
star
18

Arduino-temperature-sensor-library

Python
1
star
19

Arduino-finite-state-machine-library

Arduino library for finite state machines
Python
1
star
20

blackboard-analysis-tools

An analysis automation tool to avoid repetitive tasks while grading student assignments that have been handed in through the Blackboard learning system
Python
1
star