From 0a21b5ae4530ef3246ed24c0eecb90aef3bdc690 Mon Sep 17 00:00:00 2001 From: denny Date: Sat, 26 Dec 2015 06:49:17 -0500 Subject: [PATCH] C4FM Slicer - rearranged symbol decision logic --- src/module/decode/p25/C4FMSlicer.java | 29 +++++++++++++++++---------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/module/decode/p25/C4FMSlicer.java b/src/module/decode/p25/C4FMSlicer.java index 2d13b588..5c5e2575 100644 --- a/src/module/decode/p25/C4FMSlicer.java +++ b/src/module/decode/p25/C4FMSlicer.java @@ -31,21 +31,28 @@ public class C4FMSlicer implements RealSampleListener @Override public void receive( float sample ) { - if( sample > THRESHOLD ) + if( sample > 0.0 ) { - dispatch( Dibit.D01_PLUS_3 ); - } - else if( sample > 0 ) - { - dispatch( Dibit.D00_PLUS_1 ); - } - else if( sample > -THRESHOLD ) - { - dispatch( Dibit.D10_MINUS_1 ); + if( sample >= THRESHOLD ) + { + dispatch( Dibit.D01_PLUS_3 ); + } + else + { + dispatch( Dibit.D00_PLUS_1 ); + + } } else { - dispatch( Dibit.D11_MINUS_3 ); + if( sample > -THRESHOLD ) + { + dispatch( Dibit.D10_MINUS_1 ); + } + else + { + dispatch( Dibit.D11_MINUS_3 ); + } } }