Socket
Socket
Sign inDemoInstall

lowpassf

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lowpassf

lowpass filter for javascript/node


Version published
Maintainers
1
Created
Source

Overview

lowpassf is simple lowpass filter libary for javascipt/node.js. It can be used to smooth real-time data including high frequency noises.

This library provides 2 ways.

  • Simple moving average
  • Weighted moving average

It is licensed under MIT license.

Usage

  var filter = new LowpassFilter();
  //Set average logic from ( filter.LinearWeightAverage/filter.SimpleAverage)
  filter.setLogic(filter.LinearWeightAverage);
	var data = [100, 100, 200, 200, 300, 300]
	var i;
	for (i = 0; i < data.length; i++) {
			//put current value
			filter.putValue(data[i]);
			//Get the latest calculated moving average of the values putted so far
			var filteredValue=filter.getFilteredValue();
		console.log(filteredValue);
	}

Examples

Here is a simple example. https://riversun.github.io/lowpassf/

Run on node.js

You can import library with npm.

Install

npm install --save-dev lowpassf

app.js

var LowpassFilter = require('lowpassf');

var filter = new LowpassFilter();
//Set average logic from ( filter.LinearWeightAverage/filter.SimpleAverage)
filter.setLogic(filter.LinearWeightAverage);


var data = [100, 100, 200, 200, 300, 300]
var i;
var sampleRange = 20;
console.log("Prepare data...");
for (i = 0; i < data.length; i++) {
    console.log("data[" + i + "]=" + data[i]);
}

console.log("");
console.log("Start filtering...");

//Specify how many items to buffer
filter.setSamplingRange(sampleRange);


for (i = 0; i < data.length; i++) {

    //put current value
    filter.putValue(data[i]);

    //get current "filtered" value
    //Get the latest calculated moving average of the values putted so far
    var filteredValue = filter.getFilteredValue();

    var logStr = "data[" + i + "]=" + data[i]
        + " added. current filtered val is "
        + filteredValue;

    console.log(logStr);

}

run on node.js

node app.js

Run on browser


<!DOCTYPE html>
<html lang="en">
<body>
<script src="src/LowpassFilter.js"></script>
<script>
    console.log = function (s) {
        document.write(s + "<br>");
    }
    var filter = new LowpassFilter();
		//Set average logic from ( filter.LinearWeightAverage/filter.SimpleAverage)
    filter.setLogic(filter.LinearWeightAverage);
    var data = [100, 100, 200, 200, 300, 300]
    var i;
    var sampleRange = 20;

    for (i = 0; i < data.length; i++) {
        console.log("data[" + i + "]=" + data[i]);
    }
    //Specify how many items to buffer
    filter.setSamplingRange(sampleRange);
    for (i = 0; i < data.length; i++) {
        //put current value
        filter.putValue(data[i]);
        //Get the latest calculated moving average of the values putted so far
        var filteredValue=filter.getFilteredValue();
        var logStr = "data[" + i + "]=" + data[i] + " added. current filtered val is " +filteredValue;
        console.log(logStr);
    }
</script>
</body>
</html>

Keywords

FAQs

Package last updated on 11 Nov 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc