From 23ef09d5dd337049458b48eaf9ed7ece3f887592 Mon Sep 17 00:00:00 2001 From: Jon Nordby Date: Fri, 8 Aug 2025 22:13:15 +0200 Subject: pdm: Try switch to 2 stage CIC Still seeing odd spikes on output --- bindings/galearn_pdm.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'bindings/galearn_pdm.cpp') diff --git a/bindings/galearn_pdm.cpp b/bindings/galearn_pdm.cpp index 6952a7c..13c3d4c 100644 --- a/bindings/galearn_pdm.cpp +++ b/bindings/galearn_pdm.cpp @@ -1,13 +1,14 @@ #include #include -int pdm2pcm_cic3(const uint8_t *pdm, int pdm_length, int16_t *pcm, - int pcm_length); +int pdm2pcm_cic3(const uint8_t *pdm, int64_t pdm_length, + int16_t *pcm, int32_t pcm_length, + uint8_t hpf_alpha, uint8_t scale_shift); namespace py = pybind11; int -process(py::array_t arr1, py::array_t arr2) +process(py::array_t arr1, py::array_t arr2, int hpf_alpha, int scale_shift) { // Check shapes or sizes if needed auto buf1 = arr1.request(); @@ -25,7 +26,7 @@ process(py::array_t arr1, py::array_t arr2) uint8_t *in = static_cast(buf1.ptr); int16_t *out = static_cast(buf2.ptr); - int samples = pdm2pcm_cic3(in, arr1.size(), out, arr2.size()); + int samples = pdm2pcm_cic3(in, arr1.size(), out, arr2.size(), hpf_alpha, scale_shift); return samples; } -- cgit v1.2.3