buffers. None of the decoders currently support this yet, but the P25
will be updated to provide bitstream output for recording.
Renames the ReusableBuffer class to ReusableFloatBuffer for
consistency.
and auto-correction for R820T tuners.
-Updated TunerModel and TunerViewPanel to add 2 new columns to
display the current tuner's PPM setting and (when available) the
measured frequency error averaged over 5 second intervals provided by
certain decoders (e.g. P25 C4FM and LSM). Frequency error value from
P25 decoders is provided from the Costas Loop PLL once 2 or more P25
message sync events have been observed in a short period.
-Updated R820T tuner to auto-correct PPM when measured frequency error
exceeds the +/- 0.4PPM threshold for a period of 30 seconds or more.
Feature can be enabled/disabled by user in the tuner editor panel.
Resolved several issues with P25 C4FM/LSM decoders that was impacting
performance related to channel misalignment from tuner PPM offsets.
Adds capability to disable spectral display.
Adds right-click context
menu items to disable display and/or reenable display by selecting
another tuner.
Adds view menu items to disable spectral display or show a tuner.
Persists spectral display enabled state across application run sessions.
sample rates.
Resolves issue in PolyphaseChannelManager responding to sample rate
changes in the tuner. The manager now recreates the channelizer when
needed if the tuner's sample rate has changed since the last time the
channelizer was used.
Updates the Tuner selection view to reflect tuner lock state. Updates
the tuner editors to enable/disable frequency controller and sample
rate controls according to the tuner's lock state.
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 ...
filter structure. Updated the channel results array buffer to produce
reusable buffers.
This has dropped the overall memory usage considerably when profiling.
Resolved issue in the processing chain where polyphase channel sources
were not being stopped and were stacking up in memory.
that is currently up/down converting the signal of interest, but the
synthesizer is not correctly combining the original two channels.
Some experimentation with the tap count for the channelizer indicates
that we can cut the tap count in half and still have decent decoding
on the P25 decoder when paired to an aligned channelized output. The
2-channel synthesized output decodes partially, but needs more work.
Resolved issue with channel gain in the channelizer that was making the
sample values so small that they were registering as zero when converted
from float to 16-bit int value in the complex wave recorder.
ordering to each channel configuration to provide the user with greater
control over initial application startup configuration.
Adds new dialog window that displays on startup that allows the user to
invoke/cancel auto-start, or simply allow the timer to expire whereby
the channels will be auto-started.
Updates channel table model to include an auto-start column and relabels
the 'Enabled' column to read 'Playing'.
Updates channel editor to change the 'Enable/Disable' button to read
'Start/Stop'.
Changes the 'enabled' property of the channel configuration to indicate
the current 'processing' status - isProcessing().
Channel's XML configuration re-purposes the 'enabled' property to indicate
auto-start and adds a new (optional) auto-start 'order' attribute.