mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 08:37:25 -05:00
#1397 Adds channel fft frequency overlay, cursor readout, pll tracking indicator, and channel bandwidth lines. (#1406)
Co-authored-by: Dennis Sheirer <dsheirer@github.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* *****************************************************************************
|
||||
* Copyright (C) 2014-2022 Dennis Sheirer
|
||||
* Copyright (C) 2014-2023 Dennis Sheirer
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -20,6 +20,7 @@ package io.github.dsheirer.gui.channelizer;
|
||||
|
||||
import io.github.dsheirer.buffer.FloatNativeBuffer;
|
||||
import io.github.dsheirer.buffer.INativeBuffer;
|
||||
import io.github.dsheirer.dsp.filter.channelizer.PolyphaseChannelSource;
|
||||
import io.github.dsheirer.sample.Listener;
|
||||
import io.github.dsheirer.sample.complex.ComplexSamples;
|
||||
import io.github.dsheirer.settings.SettingsManager;
|
||||
@@ -36,6 +37,12 @@ import io.github.dsheirer.spectrum.ComplexDftProcessor;
|
||||
import io.github.dsheirer.spectrum.DFTSize;
|
||||
import io.github.dsheirer.spectrum.SpectrumPanel;
|
||||
import io.github.dsheirer.spectrum.converter.ComplexDecibelConverter;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.EventQueue;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -50,12 +57,6 @@ import javax.swing.JToggleButton;
|
||||
import javax.swing.SpinnerNumberModel;
|
||||
import javax.swing.event.ChangeEvent;
|
||||
import javax.swing.event.ChangeListener;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.EventQueue;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ChannelizerViewer2 extends JFrame
|
||||
{
|
||||
@@ -194,9 +195,9 @@ public class ChannelizerViewer2 extends JFrame
|
||||
|
||||
getTopChannelArrayPanel().addChannel(tunerChannel);
|
||||
}
|
||||
catch(Exception exception)
|
||||
catch(Exception e1)
|
||||
{
|
||||
mLog.error("Can't parse frequency from value: " + value);
|
||||
mLog.error("Can't parse frequency from value: " + value, e1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -229,9 +230,9 @@ public class ChannelizerViewer2 extends JFrame
|
||||
|
||||
getBottomChannelArrayPanel().addChannel(tunerChannel);
|
||||
}
|
||||
catch(Exception exception)
|
||||
catch(Exception e1)
|
||||
{
|
||||
mLog.error("Can't parse frequency from value: " + value);
|
||||
mLog.error("Can't parse frequency from value: " + value, e1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -388,6 +389,26 @@ public class ChannelizerViewer2 extends JFrame
|
||||
mComplexDftProcessor.receive(new FloatNativeBuffer(complexSamples.toInterleaved()));
|
||||
});
|
||||
|
||||
if(mSource instanceof PolyphaseChannelSource pcs)
|
||||
{ List<Integer> indexes = pcs.getOutputProcessorIndexes();
|
||||
double sRate = pcs.getSampleRate();
|
||||
long indexCenterFrequency = pcs.getIndexCenterFrequency();
|
||||
long appliedFrequencyOffset = pcs.getFrequencyOffset();
|
||||
long requestedCenterFrequency = pcs.getFrequency();
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("Polyphase Channel - Bandwidth: ").append(sRate);
|
||||
sb.append(" Channel/Requested/Offset: ").append(indexCenterFrequency);
|
||||
sb.append("/").append(requestedCenterFrequency);
|
||||
sb.append("/").append(appliedFrequencyOffset);
|
||||
sb.append(" Indexes: ").append(indexes);
|
||||
sb.append(" Tuner SR:").append(pcs.getTunerSampleRate());
|
||||
sb.append(" Tuner CF:").append(pcs.getTunerCenterFrequency());
|
||||
mLog.info(sb.toString());
|
||||
|
||||
|
||||
}
|
||||
|
||||
mSource.start();
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user