48 lines
929 B
JavaScript
48 lines
929 B
JavaScript
class Coeff{
|
|
constructor() {
|
|
this.b0 = 0;
|
|
this.b1 = 0;
|
|
this.b2 = 0;
|
|
this.a0 = 0;
|
|
this.a1 = 0;
|
|
this.a2 = 0;
|
|
}
|
|
|
|
setB0(value){
|
|
this.b0 = value;
|
|
}
|
|
|
|
setB1(value){
|
|
this.b1 = value;
|
|
}
|
|
|
|
setB2(value){
|
|
this.b2 = value;
|
|
}
|
|
|
|
setA0(value){
|
|
this.a0 = value;
|
|
}
|
|
|
|
setA1(value){
|
|
this.a1 = value;
|
|
}
|
|
|
|
setA2(value){
|
|
this.a2 = value;
|
|
}
|
|
|
|
getSectionsMatrix(gain, fc, bw, type, bypass, fs){
|
|
const w = 2 * fc / fs;
|
|
const q = fc / bw;
|
|
const bypassStatus = bypass ? 1 : 0;
|
|
const bqtype = type + bypassStatus * 10;
|
|
const sA = Math.pow(10, gain / 40);
|
|
const sqrt_sA = Math.sqrt(sA);
|
|
const sin_w = Math.sin(Math.PI * w);
|
|
const cos_w = Math.cos(Math.PI * w);
|
|
const alpha = sin_w / (2 * q);
|
|
|
|
let b0, b1, b2, a0, a1, a2;
|
|
}
|
|
} |