mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-13 00:57:31 -05:00
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.
This commit is contained in:
@@ -161,21 +161,16 @@ public class Galois24
|
||||
|
||||
public static void main( String[] args )
|
||||
{
|
||||
/* NID + TDULC message */
|
||||
String msg = "0010011000001111100100110011000100111010000111010001000000000000000000000000000000000000000000000100101010010111000000000000000000000000000010010111101111111111000000000000000000000000000000000000000000000000000110001011100001111101010110111001001011010010101111010010000010110011101111111100100000010001111100011010010100001101111001111001100000111000";
|
||||
String msg = "01001111011100100011011";
|
||||
|
||||
BinaryMessage message = BinaryMessage.load( msg );
|
||||
|
||||
mLog.debug( "MSG: " + message.toString() );
|
||||
|
||||
int x = 64;
|
||||
int x = 0;
|
||||
|
||||
while( x < msg.length() )
|
||||
{
|
||||
message = checkAndCorrect( message, x );
|
||||
message = checkAndCorrect( message, x );
|
||||
|
||||
mLog.debug( "X:" + x + " Pass:" + ( message.getCRC()== CRC.PASSED ) );
|
||||
x += 24;
|
||||
}
|
||||
mLog.debug( "MSG: " + message.toString() + " Pass:" + ( message.getCRC()== CRC.PASSED ) );
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user