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
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;
|
|
}
|
|
}
|
|
|