Commit Graph

68 Commits

Author SHA1 Message Date
Denny
5cd51c3199 Revert "wip: adds filter viewer JavaFX utility application for visualizing filters designed through the filter factory."
This reverts commit 097884337b.
2016-04-18 18:44:43 -04:00
denny
097884337b wip: adds filter viewer JavaFX utility application for visualizing
filters designed through the filter factory.
2016-04-11 19:22:56 -04:00
denny
c3d52ff86e Merges #34 Major redesign of Tuner, Channel and Alias management.
Changes to model, view and controller components and updates all gui
editors.  Removes the configuration panel and tree and replaces with 3
new panels.  Updates playlist.xml to a new playlist_v2.xml format.
2016-04-01 08:23:49 -04:00
denny
4be63d4b95 Work in progress.
-Started work on new channel editor channel viewer/controller
-Removed a number of unused buffer package classes
-Moved automatic frequency control to be a module and removed special
handling
-Added IUnfilteredRealBufferListener & Provider interfaces
-Completely removed the ResourceManager class
2016-02-13 14:57:12 -05:00
denny
87e70ae0e4 Adding missing gain class 2015-12-12 11:30:39 -05:00
denny
6763a4bdd6 Adds de-emphasis filter to P25 decoded IMBE audio output. 2015-12-11 13:34:20 -05:00
denny
ebb59f5181 AM Decoder adapted to the new processing chain architecture. 2015-11-29 08:46:03 -05:00
denny
c178e99a5d Work in progress - P25 LSM 2015-11-09 20:35:12 -05:00
denny
ae85201343 Closes #25.
Resolves issue with tuning RTL2832 based tuners into the range of
799.555894 and 801.584395.  The pre-defined sample rates were slightly
off and causing issues with this tuning range.  I recalculated the 
sample rates and removed any that were not integral multiples of the 
48,000 Hz desired channel rate.

Updated the sample bit depth for RTL2832 and HackRF tuners.  Even though
the sample bit depth is 8 bits for each, the displayed noise floor was
off, so I increased the bit depth for each.
2015-11-08 11:42:24 -05:00
denny
f0dc9452c8 Resolves issue with correct display and scaling of decibel values in
both the spectral and waterfall displays.

Resolves issue with gain loss in HilbertTransform.
2015-11-08 08:17:34 -05:00
denny
70e62ebb35 Adds airspy USB tuner support and updates the spectral display
component.

-Airspy supported with 10 and 2.5 MSps sample rates.  Additional
decimation may be added later.

-Spectral display updated to include smoothing and filtering options.

Note: the decimated output of a tuner channel from the airspy is
48,076.9 samples per second, versus the normal 48 kHz decimated rate.
This is 1.0015 times the normal rate and doesn't appear to impact the
decoders or audio processing.  Therefore, no fractional resampling has
been added.
2015-11-07 08:18:41 -05:00
Denny Sheirer
f070510acc Adding real cic decimator for testing in LTR FSK demodulator 2015-09-18 18:24:58 +00:00
denny
c7227ca780 Work in progress 2015-09-14 21:31:26 -04:00
denny
575197bd98 Interim checkin for call recording. 2015-09-11 14:01:47 -04:00
denny
0f85b7260a Adds event logging, code cleanup and some decoder issue resolution. 2015-09-02 19:41:44 -04:00
denny
f4d8ea281d Initial commit of redesigned internal processing and audio management.
Note: Several of the decoders are currently non-functioning in this
commit.  If you want the latest functioning codebase, please checkout
the commit prior to this one.  All decoders will eventually be updated
with this new architecture.

Currently broken:
- Logging and recording
- Aux decoders (Fleetsync/MDC/LoJack/Tait)
- LTR/Passport decoders

Changes in this commit:
- Module architecture for decoders and components with central
provisioning by the DecoderFactory
- Transition from Complex sample stream processing to float buffer
processing for improved memory management
- Redesigned filter structures - to support buffers and streams
- Resolved several memory leak issues
- Universal sharing of the thread pool manager
- Added centralized audio management with call/user prioritization and
new gui with mute/volume controls
- Embedded audio metadata for eventual streaming support
- Redesigned ProcessingChain to support independent re-use
- Added new TrafficChannelManager to handle traffic channel allocations
- Traffic Channel pool size and Call timeout available in P25 and
MPT1327 configs
- Redesigned channel and decoder gui components
2015-09-01 07:10:26 -04:00
dennis.sheirer
538a299246 Instrumentation updates for eye diagram data and removed stack trace logging when JMBE library is not discovered. 2015-06-19 09:34:36 +00:00
dennis.sheirer
31482a1014 P25 Decoder - improved LSM decoding and IMBE audio decoding. Includes redesigned audio output class to handle automatic start/stop of audio playback based on availability of audio data. 2015-06-08 01:05:19 +00:00
dennis.sheirer
5dd4454c4c CMA Equalizer - work in progress 2015-05-12 13:15:05 +00:00
dennis.sheirer
fccde3d112 Build 0.1.3 - adds support for 48 kHz audio output from JMBE library for P25 audio. Resolves issue with Automatic Frequency Control on P25 C4FM channels where the channel was not tracking changes in tuner frequency. 2015-05-11 09:37:50 +00:00
dennis.sheirer
bc5080aa4a P25 - updated automatic and direct frequency control to cleanup the code and allow P25 to better track frequency and PPM changes in the tuner and provide a cleaner implementation of the AFC component in the processing chain of all of the other decoders.
Changed C4FM symbol filter to reset frequency tracking values when the tuner's frequency or PPM values change.

Moved all frequency control pieces into the source.tuner.frequency package.
2015-05-04 00:55:04 +00:00
dennis.sheirer
2c4b3ab1b5 P25 - enhancement for LSM demod phase lock errors - adds new sync pattern detectors to detect Costas Loop phase lock errors and apply immediate correction to enable accurate symbol slicing. 2015-04-26 16:58:25 +00:00
dennis.sheirer
c12123a81b P25 - work in progress to improve CQPSK LSM audio output. Audio output is still choppy but greatly improved over the previous test release. 2015-04-25 23:21:20 +00:00
dennis.sheirer
d55d7609cb Tuner Channel - uses new CIC prime decimation filter for decimating channel to 48k sample rate. 2015-04-07 01:10:10 +00:00
dennis.sheirer
52f2e3bdca P25 audio work in progress - started work on exposing 88-bit (11-byte) IMBE voice frames from LDU messages. Added deinterleave, derandomize and the Golay(23,12,7) error detection and correction to LDU voice messages. Hamming edac still remains to be implemented. Plan to create a separate project to produce an imbe FormatConversionProvider that will convert 88-bit imbe frames to PCM audio that is then in a standard format for audio playback, recording, or conversion to another format like shoutcast. 2015-03-01 15:40:25 +00:00
dennis.sheirer
d87acad189 P25 - adds icons to decoding channel display for talkgroups and addresses. Includes new super high-resolution (not) fire truck and rescue truck icons. 2015-02-24 01:19:27 +00:00
dennis.sheirer
ebee420478 P25 cleanup. 2015-02-20 01:52:04 +00:00
dennis.sheirer
7d948c4af4 P25 LSM work in progress. CQPSK demodulator is working now, but there is a slight phase error in the constellation (it's rotated right by 5-10 degrees). I'm not sure if this is an error coming from the decoder, or if it's reflecting a phase imbalance from the source tuner i/q data. 2015-02-16 23:14:23 +00:00
dennis.sheirer
a65e821e85 P25 LSM decoder work in progress. Adds a CQPSK decoder based on Max's (KA1RBI) scope.py and gardner loop.
The CQPSK decoder is starting to take shape, but needs more tweaking and testing.  It's not keeping a good lock on strong P25 signals.  I have to add some more features to the intrumentation package to allow me to visualize the internals of the CQPSK decoder so that I can get a better sense of what needs fine tuning.

The CQPSK decoder may work for anyone that wants to sync the repo and run the build script.
2015-02-10 00:42:08 +00:00
dennis.sheirer
9310fb0daf Global rename of BitSetBuffer to BinaryMessage.
Corrected issue in P25 NID error correction.
2015-01-24 13:37:42 +00:00
dennis.sheirer
871705ece8 P25 - adds SNDCP context management and data packet parsing for IPV4 and UDP/IP packets to include IP addresses and data payload bytes. 2015-01-23 21:06:02 +00:00
dennis.sheirer
e5fad7ee22 P25 - Automatic Gain Control for P25 decoder 2015-01-19 19:25:43 +00:00
dennis.sheirer
1c0da75c01 P25 - adds direct frequency control for the C4FM symbol filter to adjust the tuner channel for frequency correction. 2015-01-19 16:20:37 +00:00
dennis.sheirer
cc5edd4790 P25 - added parsing of packet payload data for confirmed PDUs. 2015-01-19 13:17:11 +00:00
dennis.sheirer
51d6b328bd P25 - adds CRC-9 error detection to confirmed PDU message blocks 2015-01-18 12:43:10 +00:00
dennis.sheirer
35855b08bb P25 - adds 3/4 rate convolutional decoder for confirmed packet data units. 2015-01-17 18:24:39 +00:00
dennis.sheirer
71c247a7c3 Updates to Tait decoder - adds GPS message parsing and SELCAL ident parsing 2015-01-10 20:27:01 +00:00
dennis.sheirer
c579f1617d P25 work in progress 2015-01-07 02:15:51 +00:00
dennis.sheirer
84261a4be9 Changed NID error detection and correction (edac) to using Berlekemp Massey 63-bit block decoder for the BCH(63,16,11) code so that we can correct up to 11 bit errors in a NID (versus previous 2). 2015-01-04 15:29:34 +00:00
dennis.sheirer
03460eeb19 P25 work in progress 2015-01-02 14:08:22 +00:00
dennis.sheirer
86cb5b2f4b P25 work in progress 2014-12-23 22:43:55 +00:00
dennis.sheirer
d15ff407bd P25 channel state updates. 2014-12-21 23:05:47 +00:00
dennis.sheirer
ba053457bd Out of memory fixes and updates to the P25 decoder.
Memory Fixes
Decreased the decimation process repeat timing so that it runs smaller work chunks more often
Decreased scheduled thread pool to 2 hot threads
Wrapped all scheduled thread pool runnables in try/catch blocks so that an exception doesn't kill the sample buffer processing thread and cause the buffer to grow unbounded.

P25 updates
Moved TSBK crc checks into the message framer so that message corrections don't occur after the message is constructed.
Added more functionality to the channel state for handling registrations and call events.
2014-12-19 23:59:38 +00:00
dennis.sheirer
2635b58dfc Resolved issue in CRC-CCITT correction method. Added CRC error detection to PDU header block in the message framer, so that we're sure that the number of follow blocks is correct while we're capturing symbols/bits. Set the TDU message error correction to Pass since the CRC is calculated within the message framer and no errant NIDs (TDU) are passed. 2014-12-15 02:01:15 +00:00
dennis.sheirer
d6306a5e85 P25 work in progress - adds CRC-CCITT error checking to TSBK messages and shows CRC correction state in the messages tab 2014-12-14 22:54:37 +00:00
dennis.sheirer
170688b95e P25 Work in progress. Adds CRC checking to NID/DUID. Adds limiter to trellis decoder to prevent it from decoding an excessive error message. Updates channel state with initial handling/generation of call events. 2014-12-14 02:34:19 +00:00
dennis.sheirer
1ff69404f4 Updated P25 channel display to show relevant site information.
Changed Site ID Alias to a string from integer to support P25 style site identifiers (RFSS-Site)
2014-11-26 12:09:21 +00:00
dennis.sheirer
86899e8a77 P25 work in progress. 2014-11-26 03:42:22 +00:00
dennis.sheirer
1660f13633 P25 work in progress 2014-11-22 16:13:44 +00:00
dennis.sheirer
5ef806ef02 Resolved issue with LJ1200 decoder using inverted bit output 2014-11-16 13:43:41 +00:00