summary refs log tree commit diff stats
path: root/src/main/kotlin/space/autistic/radio/dsp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/space/autistic/radio/dsp')
-rw-r--r--src/main/kotlin/space/autistic/radio/dsp/Biquad1stOrder.kt11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/main/kotlin/space/autistic/radio/dsp/Biquad1stOrder.kt b/src/main/kotlin/space/autistic/radio/dsp/Biquad1stOrder.kt
new file mode 100644
index 0000000..8f86218
--- /dev/null
+++ b/src/main/kotlin/space/autistic/radio/dsp/Biquad1stOrder.kt
@@ -0,0 +1,11 @@
+package space.autistic.radio.dsp
+
+class Biquad1stOrder(private val b0: Float, private val b1: Float, private val a1: Float) {
+    private var delaySlot = 0f
+
+    fun process(samp: Float): Float {
+        val out = samp * b0 + delaySlot
+        delaySlot = samp * b1 - out * a1
+        return out
+    }
+}
\ No newline at end of file