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)

◆ initState()

void initState ( dsd_state state)

◆ liveScanner()

void liveScanner ( dsd_opts opts,
dsd_state state 
)

◆ 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 
)