Sketcher2 source code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
638 B

package com.jotuntech.sketcher.client.voice;
/** 4-pole cascaded Butterworth highpass filter */
public class Highpass24 {
float li1, li2, li3, li4, lo1, lo2, lo3, lo4;
public Highpass24() {
li1 = 0; li2 = 0; li3 = 0; li4 = 0;
lo1 = 0; lo2 = 0; lo3 = 0; lo4 = 0;
}
public float process(float x, float c) {
float a = 1 - c;
/** 1st pole */
lo1 = a * (lo1 + x - li1);
li1 = x;
/** 2nd pole */
lo2 = a * (lo2 + lo1 - li2);
li2 = lo1;
/** 3rd pole */
lo3 = a * (lo3 + lo2 - li3);
li3 = lo2;
/** 4th pole */
lo4 = a * (lo4 + lo3 - li4);
li4 = lo3;
return lo4;
}
}