GNU Radio's DSD Package
dsd.h File Reference
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <string.h>
#include <time.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <unistd.h>
#include <math.h>
#include <mbelib.h>
#include <sndfile.h>
#include "p25p1_heuristics.h"

Go to the source code of this file.

Classes

struct  dsd_opts
struct  dsd_state

Macros

#define __USE_XOPEN
#define SAMPLE_RATE_IN   48000
#define SAMPLE_RATE_OUT   8000
#define INV_P25P1_SYNC   "333331331133111131311111"
#define P25P1_SYNC   "111113113311333313133333"
#define X2TDMA_BS_VOICE_SYNC   "113131333331313331113311"
#define X2TDMA_BS_DATA_SYNC   "331313111113131113331133"
#define X2TDMA_MS_DATA_SYNC   "313113333111111133333313"
#define X2TDMA_MS_VOICE_SYNC   "131331111333333311111131"
#define DSTAR_HD   "131313131333133113131111"
#define INV_DSTAR_HD   "313131313111311331313333"
#define DSTAR_SYNC   "313131313133131113313111"
#define INV_DSTAR_SYNC   "131313131311313331131333"
#define NXDN_MS_DATA_SYNC   "313133113131111333"
#define INV_NXDN_MS_DATA_SYNC   "131311331313333111"
#define NXDN_MS_VOICE_SYNC   "313133113131113133"
#define INV_NXDN_MS_VOICE_SYNC   "131311331313331311"
#define INV_NXDN_BS_DATA_SYNC   "131311331313333131"
#define NXDN_BS_DATA_SYNC   "313133113131111313"
#define INV_NXDN_BS_VOICE_SYNC   "131311331313331331"
#define NXDN_BS_VOICE_SYNC   "313133113131113113"
#define DMR_BS_DATA_SYNC   "313333111331131131331131"
#define DMR_BS_VOICE_SYNC   "131111333113313313113313"
#define DMR_MS_DATA_SYNC   "311131133313133331131113"
#define DMR_MS_VOICE_SYNC   "133313311131311113313331"
#define INV_PROVOICE_SYNC   "31313111333133133311331133113311"
#define PROVOICE_SYNC   "13131333111311311133113311331133"
#define INV_PROVOICE_EA_SYNC   "13313133113113333311313133133311"
#define PROVOICE_EA_SYNC   "31131311331331111133131311311133"

Functions

void processDMRdata (dsd_opts *opts, dsd_state *state)
void processDMRvoice (dsd_opts *opts, dsd_state *state)
void processAudio (dsd_opts *opts, dsd_state *state)
void writeSynthesizedVoice (dsd_opts *opts, dsd_state *state)
void playSynthesizedVoice (dsd_opts *opts, dsd_state *state)
void openAudioOutDevice (dsd_opts *opts, int speed)
void openAudioInDevice (dsd_opts *opts)
int getDibit (dsd_opts *opts, dsd_state *state)
int get_dibit_and_analog_signal (dsd_opts *opts, dsd_state *state, int *out_analog_signal)
void skipDibit (dsd_opts *opts, dsd_state *state, int count)
void saveImbe4400Data (dsd_opts *opts, dsd_state *state, char *imbe_d)
void saveAmbe2450Data (dsd_opts *opts, dsd_state *state, char *ambe_d)
int readImbe4400Data (dsd_opts *opts, dsd_state *state, char *imbe_d)
int readAmbe2450Data (dsd_opts *opts, dsd_state *state, char *ambe_d)
void openMbeInFile (dsd_opts *opts, dsd_state *state)
void closeMbeOutFile (dsd_opts *opts, dsd_state *state)
void openMbeOutFile (dsd_opts *opts, dsd_state *state)
void openWavOutFile (dsd_opts *opts, dsd_state *state)
void closeWavOutFile (dsd_opts *opts, dsd_state *state)
void printFrameInfo (dsd_opts *opts, dsd_state *state)
void processFrame (dsd_opts *opts, dsd_state *state)
void printFrameSync (dsd_opts *opts, dsd_state *state, char *frametype, int offset, char *modulation)
int getFrameSync (dsd_opts *opts, dsd_state *state)
int comp (const void *a, const void *b)
void noCarrier (dsd_opts *opts, dsd_state *state)
void initOpts (dsd_opts *opts)
void initState (dsd_state *state)
void usage ()
void liveScanner (dsd_opts *opts, dsd_state *state)
void cleanupAndExit (dsd_opts *opts, dsd_state *state)
int main (int argc, char **argv)
void playMbeFiles (dsd_opts *opts, dsd_state *state, int argc, char **argv)
void processMbeFrame (dsd_opts *opts, dsd_state *state, char imbe_fr[8][23], char ambe_fr[4][24], char imbe7100_fr[7][24])
void openSerial (dsd_opts *opts, dsd_state *state)
void resumeScan (dsd_opts *opts, dsd_state *state)
int getSymbol (dsd_opts *opts, dsd_state *state, int have_sync)
void upsample (dsd_state *state, float invalue)
void processDSTAR (dsd_opts *opts, dsd_state *state)
void processNXDNVoice (dsd_opts *opts, dsd_state *state)
void processNXDNData (dsd_opts *opts, dsd_state *state)
void processP25lcw (dsd_opts *opts, dsd_state *state, char *lcformat, char *mfid, char *lcinfo)
void processHDU (dsd_opts *opts, dsd_state *state)
void processLDU1 (dsd_opts *opts, dsd_state *state)
void processLDU2 (dsd_opts *opts, dsd_state *state)
void processTDU (dsd_opts *opts, dsd_state *state)
void processTDULC (dsd_opts *opts, dsd_state *state)
void processProVoice (dsd_opts *opts, dsd_state *state)
void processX2TDMAdata (dsd_opts *opts, dsd_state *state)
void processX2TDMAvoice (dsd_opts *opts, dsd_state *state)
void processDSTAR_HD (dsd_opts *opts, dsd_state *state)
short dmr_filter (short sample)
short nxdn_filter (short sample)

Macro Definition Documentation

◆ __USE_XOPEN

#define __USE_XOPEN

◆ DMR_BS_DATA_SYNC

#define DMR_BS_DATA_SYNC   "313333111331131131331131"

◆ DMR_BS_VOICE_SYNC

#define DMR_BS_VOICE_SYNC   "131111333113313313113313"

◆ DMR_MS_DATA_SYNC

#define DMR_MS_DATA_SYNC   "311131133313133331131113"

◆ DMR_MS_VOICE_SYNC

#define DMR_MS_VOICE_SYNC   "133313311131311113313331"

◆ DSTAR_HD

#define DSTAR_HD   "131313131333133113131111"

◆ DSTAR_SYNC

#define DSTAR_SYNC   "313131313133131113313111"

◆ INV_DSTAR_HD

#define INV_DSTAR_HD   "313131313111311331313333"

◆ INV_DSTAR_SYNC

#define INV_DSTAR_SYNC   "131313131311313331131333"

◆ INV_NXDN_BS_DATA_SYNC

#define INV_NXDN_BS_DATA_SYNC   "131311331313333131"

◆ INV_NXDN_BS_VOICE_SYNC

#define INV_NXDN_BS_VOICE_SYNC   "131311331313331331"

◆ INV_NXDN_MS_DATA_SYNC

#define INV_NXDN_MS_DATA_SYNC   "131311331313333111"

◆ INV_NXDN_MS_VOICE_SYNC

#define INV_NXDN_MS_VOICE_SYNC   "131311331313331311"

◆ INV_P25P1_SYNC

#define INV_P25P1_SYNC   "333331331133111131311111"

◆ INV_PROVOICE_EA_SYNC

#define INV_PROVOICE_EA_SYNC   "13313133113113333311313133133311"

◆ INV_PROVOICE_SYNC

#define INV_PROVOICE_SYNC   "31313111333133133311331133113311"

◆ NXDN_BS_DATA_SYNC

#define NXDN_BS_DATA_SYNC   "313133113131111313"

◆ NXDN_BS_VOICE_SYNC

#define NXDN_BS_VOICE_SYNC   "313133113131113113"

◆ NXDN_MS_DATA_SYNC

#define NXDN_MS_DATA_SYNC   "313133113131111333"

◆ NXDN_MS_VOICE_SYNC

#define NXDN_MS_VOICE_SYNC   "313133113131113133"

◆ P25P1_SYNC

#define P25P1_SYNC   "111113113311333313133333"

◆ PROVOICE_EA_SYNC

#define PROVOICE_EA_SYNC   "31131311331331111133131311311133"

◆ PROVOICE_SYNC

#define PROVOICE_SYNC   "13131333111311311133113311331133"

◆ SAMPLE_RATE_IN

#define SAMPLE_RATE_IN   48000

◆ SAMPLE_RATE_OUT

#define SAMPLE_RATE_OUT   8000

◆ X2TDMA_BS_DATA_SYNC

#define X2TDMA_BS_DATA_SYNC   "331313111113131113331133"

◆ X2TDMA_BS_VOICE_SYNC

#define X2TDMA_BS_VOICE_SYNC   "113131333331313331113311"

◆ X2TDMA_MS_DATA_SYNC

#define X2TDMA_MS_DATA_SYNC   "313113333111111133333313"

◆ X2TDMA_MS_VOICE_SYNC

#define X2TDMA_MS_VOICE_SYNC   "131331111333333311111131"

Function Documentation

◆ cleanupAndExit()

void cleanupAndExit ( dsd_opts * opts,
dsd_state * state )

◆ closeMbeOutFile()

void closeMbeOutFile ( dsd_opts * opts,
dsd_state * state )

◆ closeWavOutFile()

void closeWavOutFile ( dsd_opts * opts,
dsd_state * state )

◆ comp()

int comp ( const void * a,
const void * b )

◆ dmr_filter()

short dmr_filter ( short sample)

◆ get_dibit_and_analog_signal()

int get_dibit_and_analog_signal ( dsd_opts * opts,
dsd_state * state,
int * out_analog_signal )

◆ getDibit()

int getDibit ( dsd_opts * opts,
dsd_state * state )

◆ getFrameSync()

int getFrameSync ( dsd_opts * opts,
dsd_state * state )

◆ getSymbol()

int getSymbol ( dsd_opts * opts,
dsd_state * state,
int have_sync )

◆ initOpts()

void initOpts ( dsd_opts * opts)
extern

◆ initState()

void initState ( dsd_state * state)
extern

◆ liveScanner()

void liveScanner ( dsd_opts * opts,
dsd_state * state )
extern

◆ main()

int main ( int argc,
char ** argv )

◆ noCarrier()

void noCarrier ( dsd_opts * opts,
dsd_state * state )

◆ nxdn_filter()

short nxdn_filter ( short sample)

◆ openAudioInDevice()

void openAudioInDevice ( dsd_opts * opts)

◆ openAudioOutDevice()

void openAudioOutDevice ( dsd_opts * opts,
int speed )

◆ openMbeInFile()

void openMbeInFile ( dsd_opts * opts,
dsd_state * state )

◆ openMbeOutFile()

void openMbeOutFile ( dsd_opts * opts,
dsd_state * state )

◆ openSerial()

void openSerial ( dsd_opts * opts,
dsd_state * state )

◆ openWavOutFile()

void openWavOutFile ( dsd_opts * opts,
dsd_state * state )

◆ playMbeFiles()

void playMbeFiles ( dsd_opts * opts,
dsd_state * state,
int argc,
char ** argv )

◆ playSynthesizedVoice()

void playSynthesizedVoice ( dsd_opts * opts,
dsd_state * state )

◆ printFrameInfo()

void printFrameInfo ( dsd_opts * opts,
dsd_state * state )

◆ printFrameSync()

void printFrameSync ( dsd_opts * opts,
dsd_state * state,
char * frametype,
int offset,
char * modulation )

◆ processAudio()

void processAudio ( dsd_opts * opts,
dsd_state * state )

◆ processDMRdata()

void processDMRdata ( dsd_opts * opts,
dsd_state * state )

◆ processDMRvoice()

void processDMRvoice ( dsd_opts * opts,
dsd_state * state )

◆ processDSTAR()

void processDSTAR ( dsd_opts * opts,
dsd_state * state )

◆ processDSTAR_HD()

void processDSTAR_HD ( dsd_opts * opts,
dsd_state * state )

◆ processFrame()

void processFrame ( dsd_opts * opts,
dsd_state * state )

◆ processHDU()

void processHDU ( dsd_opts * opts,
dsd_state * state )

◆ processLDU1()

void processLDU1 ( dsd_opts * opts,
dsd_state * state )

◆ processLDU2()

void processLDU2 ( dsd_opts * opts,
dsd_state * state )

◆ processMbeFrame()

void processMbeFrame ( dsd_opts * opts,
dsd_state * state,
char imbe_fr[8][23],
char ambe_fr[4][24],
char imbe7100_fr[7][24] )

◆ processNXDNData()

void processNXDNData ( dsd_opts * opts,
dsd_state * state )

◆ processNXDNVoice()

void processNXDNVoice ( dsd_opts * opts,
dsd_state * state )

◆ processP25lcw()

void processP25lcw ( dsd_opts * opts,
dsd_state * state,
char * lcformat,
char * mfid,
char * lcinfo )

◆ processProVoice()

void processProVoice ( dsd_opts * opts,
dsd_state * state )

◆ processTDU()

void processTDU ( dsd_opts * opts,
dsd_state * state )

◆ processTDULC()

void processTDULC ( dsd_opts * opts,
dsd_state * state )

◆ processX2TDMAdata()

void processX2TDMAdata ( dsd_opts * opts,
dsd_state * state )

◆ processX2TDMAvoice()

void processX2TDMAvoice ( dsd_opts * opts,
dsd_state * state )

◆ readAmbe2450Data()

int readAmbe2450Data ( dsd_opts * opts,
dsd_state * state,
char * ambe_d )

◆ readImbe4400Data()

int readImbe4400Data ( dsd_opts * opts,
dsd_state * state,
char * imbe_d )

◆ resumeScan()

void resumeScan ( dsd_opts * opts,
dsd_state * state )

◆ saveAmbe2450Data()

void saveAmbe2450Data ( dsd_opts * opts,
dsd_state * state,
char * ambe_d )

◆ saveImbe4400Data()

void saveImbe4400Data ( dsd_opts * opts,
dsd_state * state,
char * imbe_d )

◆ skipDibit()

void skipDibit ( dsd_opts * opts,
dsd_state * state,
int count )

◆ upsample()

void upsample ( dsd_state * state,
float invalue )

◆ usage()

void usage ( )

◆ writeSynthesizedVoice()

void writeSynthesizedVoice ( dsd_opts * opts,
dsd_state * state )