mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-13 17:17:29 -05:00
Removed deemphasis experiment and replaced with a fixed, non-clipping
gain module for P25 IMBE audio.
This commit is contained in:
@@ -22,6 +22,7 @@ import audio.squelch.SquelchState;
|
|||||||
import controller.channel.ChannelEvent;
|
import controller.channel.ChannelEvent;
|
||||||
import controller.channel.IChannelEventListener;
|
import controller.channel.IChannelEventListener;
|
||||||
import dsp.filter.iir.DeemphasisFilter;
|
import dsp.filter.iir.DeemphasisFilter;
|
||||||
|
import dsp.gain.NonClippingGain;
|
||||||
|
|
||||||
public class P25AudioModule extends Module implements Listener<Message>,
|
public class P25AudioModule extends Module implements Listener<Message>,
|
||||||
IAudioPacketProvider, IMessageListener, IChannelEventListener,
|
IAudioPacketProvider, IMessageListener, IChannelEventListener,
|
||||||
@@ -42,7 +43,7 @@ public class P25AudioModule extends Module implements Listener<Message>,
|
|||||||
private AudioMetadata mAudioMetadata;
|
private AudioMetadata mAudioMetadata;
|
||||||
private ChannelEventListener mChannelEventListener = new ChannelEventListener();
|
private ChannelEventListener mChannelEventListener = new ChannelEventListener();
|
||||||
private SquelchStateListener mSquelchStateListener = new SquelchStateListener();
|
private SquelchStateListener mSquelchStateListener = new SquelchStateListener();
|
||||||
private DeemphasisFilter mDeemphasis = new DeemphasisFilter( 48000.0f, 300.0f, 0.6f );
|
private NonClippingGain mGain = new NonClippingGain( 5.0f, 0.95f );
|
||||||
|
|
||||||
public P25AudioModule( boolean record )
|
public P25AudioModule( boolean record )
|
||||||
{
|
{
|
||||||
@@ -109,7 +110,7 @@ public class P25AudioModule extends Module implements Listener<Message>,
|
|||||||
{
|
{
|
||||||
float[] audio = mAudioConverter.decode( frame );
|
float[] audio = mAudioConverter.decode( frame );
|
||||||
|
|
||||||
audio = mDeemphasis.filter( audio );
|
audio = mGain.apply( audio );
|
||||||
|
|
||||||
mAudioPacketListener.receive(
|
mAudioPacketListener.receive(
|
||||||
new AudioPacket( audio, mAudioMetadata.copyOf() ) );
|
new AudioPacket( audio, mAudioMetadata.copyOf() ) );
|
||||||
|
|||||||
@@ -597,8 +597,6 @@ public class AirspyTunerController extends TunerController
|
|||||||
{
|
{
|
||||||
int count = EndianUtils.readSwappedInteger( rawCount, 0 );
|
int count = EndianUtils.readSwappedInteger( rawCount, 0 );
|
||||||
|
|
||||||
mLog.info( "There are [" + count + "] sample rates available" );
|
|
||||||
|
|
||||||
byte[] rawRates = readArray( Command.GET_SAMPLE_RATES, 0,
|
byte[] rawRates = readArray( Command.GET_SAMPLE_RATES, 0,
|
||||||
count, ( count * 4 ) );
|
count, ( count * 4 ) );
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user