mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 16:47:31 -05:00
[WIP] The Two-Channel synthesizer is now fully-functional and the
channelizer sub-system is functionally complete. Updated the channelizer and synthesizer filter design methods to use a Kaiser windowed Nyquist filter. Updated the synthesizer filter design to use a new cutoff frequency of 105% of the channel bandwidth to resolve a slight dip in the synthesized channel gain at the channel union region. Updated the 2 channel output processor to use a low-pass filter that is designed for the runtime channel sample rate versus hard-coded 12.5 khz. Testing and redesign continues ...
This commit is contained in:
@@ -44,7 +44,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
||||
public class DFTProcessor implements Listener<ReusableComplexBuffer>, ISourceEventProcessor, IDFTWidthChangeProcessor
|
||||
{
|
||||
private static final Logger mLog = LoggerFactory.getLogger(DFTProcessor.class);
|
||||
private static final int BUFFER_QUEUE_MAX_SIZE = 12;
|
||||
private static final int BUFFER_QUEUE_MAX_SIZE = 20;
|
||||
private static final int BUFFER_QUEUE_OVERFLOW_RESET_THRESHOLD = 6;
|
||||
private static final String FRAME_RATE_PROPERTY = "spectral.display.frame.rate";
|
||||
|
||||
|
||||
@@ -33,8 +33,14 @@ import org.apache.commons.lang3.Validate;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import javax.swing.JPanel;
|
||||
import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.GradientPaint;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.Rectangle;
|
||||
import java.awt.RenderingHints;
|
||||
import java.awt.geom.GeneralPath;
|
||||
import java.awt.geom.Line2D;
|
||||
import java.util.Arrays;
|
||||
@@ -295,7 +301,7 @@ public class SpectrumPanel extends JPanel implements DFTResultsListener, Setting
|
||||
*/
|
||||
public void setSampleSize(double sampleSize)
|
||||
{
|
||||
Validate.isTrue(2.0 <= sampleSize && sampleSize <= 32.0);
|
||||
Validate.isTrue(2.0 <= sampleSize && sampleSize <= 64.0);
|
||||
|
||||
mDBScale = (float)(20.0 * Math.log10(Math.pow(2.0, sampleSize - 1)));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user