#130 MPT-1327 Decoder Filter issue resolved. Converts the post-demodulation filter from a band pass filter to a low-pass filter with 60 dB attenuation and a cutoff of 3200 Hz. This is then followed by a high-pass filter at the decimated channel rate, internal to the decoder that performs DC removal and removes any CTCSS tones prior to the FSK decoder.

This commit is contained in:
Denny
2017-01-24 20:49:12 -05:00
parent 8b403e6d87
commit afa451a070
2 changed files with 16 additions and 13 deletions

View File

@@ -545,29 +545,29 @@ public class Metadata
*/
private void determineRecordable()
{
mRecordable = false;
mRecordable = true;
if(mPrimaryAddressTo.hasAlias() && mPrimaryAddressTo.getAlias().isRecordable())
if(mPrimaryAddressTo.hasAlias() && !mPrimaryAddressTo.getAlias().isRecordable())
{
mRecordable = true;
mRecordable = false;
return;
}
if(mPrimaryAddressFrom.hasAlias() && mPrimaryAddressFrom.getAlias().isRecordable())
if(mPrimaryAddressFrom.hasAlias() && !mPrimaryAddressFrom.getAlias().isRecordable())
{
mRecordable = true;
mRecordable = false;
return;
}
if(mSecondaryAddressTo.hasAlias() && mSecondaryAddressTo.getAlias().isRecordable())
if(mSecondaryAddressTo.hasAlias() && !mSecondaryAddressTo.getAlias().isRecordable())
{
mRecordable = true;
mRecordable = false;
return;
}
if(mSecondaryAddressFrom.hasAlias() && mSecondaryAddressFrom.getAlias().isRecordable())
if(mSecondaryAddressFrom.hasAlias() && !mSecondaryAddressFrom.getAlias().isRecordable())
{
mRecordable = true;
mRecordable = false;
return;
}
}

View File

@@ -217,11 +217,14 @@ public class ChannelProcessingManager implements ChannelEventListener
MessageActivityModel messageModel = new MessageActivityModel(messageFilter);
processingChain.setMessageActivityModel(messageModel);
//Override recordable flag in metadata if user has specified audio recording
if(channel.getRecordConfiguration() != null &&
channel.getRecordConfiguration().getRecorders().contains(RecorderType.AUDIO))
//Set the recordable flag to false in metadata if we don't have a record configuration, or if the user
//has not specified audio recording. Note: the metadata class sets recordable to true by default if no
//setting has been specified. This flag is subsequently turned off if any of the primary or secondary
//identifiers are designated as non-recordable.
if(channel.getRecordConfiguration() == null ||
!channel.getRecordConfiguration().getRecorders().contains(RecorderType.AUDIO))
{
processingChain.getChannelState().getMutableMetadata().setRecordable(true);
processingChain.getChannelState().getMutableMetadata().setRecordable(false);
}
//Inject channel metadata that will be inserted into audio packets for recorder manager and streaming