mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-13 00:57:31 -05:00
#35 Updates AM & NBFM decoders to use Adaptive Squelch, a power squelch that includes an adaptive noise floor monitor. Implements vectorized magnitude operations for AM & FM decoders. Adds talkgroup assignment and squelch controls to AM channel configuration editor. Implements new AM gain control that attempts to normalize audio gain quickly at beginning of call/transmission and maintains that gain across lifecycle of the call and resets the gain for the next call. (#1540)
Notes on usage: - When using either AM or FM squelch control use either the Heterodyne channelizer or if using the Polyphase channelizer, avoid using trunk tracking decoders like DMR or P25 or set the squelch threshold high enough to avoid changes in noise floor from polyphase channelizer where it can vary between using the one channel or the two-channel combined channel sources. Co-authored-by: Dennis Sheirer <dsheirer@github.com>
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
*/
|
||||
package io.github.dsheirer.gui.instrument.chart;
|
||||
|
||||
import io.github.dsheirer.buffer.RealCircularBuffer;
|
||||
import io.github.dsheirer.buffer.FloatCircularBuffer;
|
||||
import io.github.dsheirer.sample.Listener;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.collections.ObservableList;
|
||||
@@ -34,7 +34,7 @@ public class RealSampleLineChart extends LineChart implements Listener<float[]>
|
||||
private final static Logger mLog = LoggerFactory.getLogger(RealSampleLineChart.class);
|
||||
private ObservableList<Data<Integer,Float>> mSamples = FXCollections.observableArrayList();
|
||||
private Series<Integer,Float> mSampleSeries = new Series<>("Samples", mSamples);
|
||||
private RealCircularBuffer mRealCircularBuffer;
|
||||
private FloatCircularBuffer mRealCircularBuffer;
|
||||
|
||||
public RealSampleLineChart(int length, double tickUnit)
|
||||
{
|
||||
@@ -50,7 +50,7 @@ public class RealSampleLineChart extends LineChart implements Listener<float[]>
|
||||
|
||||
private void init(int length)
|
||||
{
|
||||
mRealCircularBuffer = new RealCircularBuffer(length);
|
||||
mRealCircularBuffer = new FloatCircularBuffer(length);
|
||||
|
||||
for(int x = 0; x < length; x++)
|
||||
{
|
||||
@@ -74,7 +74,7 @@ public class RealSampleLineChart extends LineChart implements Listener<float[]>
|
||||
mRealCircularBuffer.put(sample);
|
||||
}
|
||||
|
||||
float[] bufferSamples = mRealCircularBuffer.get();
|
||||
float[] bufferSamples = mRealCircularBuffer.getAll();
|
||||
|
||||
for(int x = 0; x < bufferSamples.length; x++)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user