From 912925ee7d49dfa6b90658bc497eb145692ecaf1 Mon Sep 17 00:00:00 2001 From: Denny Sheirer Date: Mon, 30 Jun 2025 03:21:08 -0400 Subject: [PATCH] 2252 DMR Decoder error where LinearyInterpolator gets mu value outside 0 to 1.0 range. (#2253) Co-authored-by: denny --- .../dsp/filter/interpolator/LinearInterpolator.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/github/dsheirer/dsp/filter/interpolator/LinearInterpolator.java b/src/main/java/io/github/dsheirer/dsp/filter/interpolator/LinearInterpolator.java index 15b0ccb7..f7e54580 100644 --- a/src/main/java/io/github/dsheirer/dsp/filter/interpolator/LinearInterpolator.java +++ b/src/main/java/io/github/dsheirer/dsp/filter/interpolator/LinearInterpolator.java @@ -33,9 +33,13 @@ public class LinearInterpolator */ public static float calculate(float x1, float x2, float mu) { - if(mu < 0 || mu > 1) + if(mu < 0) { - throw new IllegalArgumentException("mu [" + mu + "] must be between 0 and 1"); + return x1; + } + else if(mu > 1) + { + return x2; } return x1 + ((x2 - x1) * mu);