[WIP] Work continues on resolving issues with the 2-channel synthesizer

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.
This commit is contained in:
Denny
2018-04-29 06:19:39 -04:00
parent e395d737f8
commit 488b2e02ce
19 changed files with 764 additions and 159 deletions

View File

@@ -564,12 +564,18 @@ public class ProcessingChain implements IChannelEventListener
{
if(mSource != null)
{
/* Reset each of the modules */
//Reset each of the modules
for(Module module : mModules)
{
module.reset();
}
//Broadcast the source sample rate so that each of the modules can self-configure
mSourceEventBroadcaster.broadcast(SourceEvent.sampleRateChange(mSource.getSampleRate(), "Processing Chain Startup"));
//Broadcast the source center frequencysample rate so that each of the modules can self-configure
mSourceEventBroadcaster.broadcast(SourceEvent.frequencyChange(mSource.getFrequency(), "Processing Chain Startup"));
//Setup the channel state to monitor source overflow conditions
mSource.setOverflowListener(mChannelState);
@@ -616,12 +622,6 @@ public class ProcessingChain implements IChannelEventListener
{
if(mRunning.compareAndSet(true, false))
{
/* Stop each of the modules */
for(Module module : mModules)
{
module.stop();
}
if(mSource != null)
{
removeModule(mSource);
@@ -642,6 +642,12 @@ public class ProcessingChain implements IChannelEventListener
}
mSource = null;
}
/* Stop each of the remaining modules */
for(Module module : mModules)
{
module.stop();
}
}
}