Source code
C code
- Error correcting codes and information theory
- AWGN capacity calculation functions (unconstrained input and binary
input)
capacity.c,
capacity.h
- crcccitt.c
- Convolutional codes -- a complete simulation package, with ability
to specify arbitrary nonrecursive convolutional code generator
polynomials, decoding delay, Eb/No, number of bits to simulate,
differential encoding, etc.
viterbi.tar.gz
- CCSDS turbo encoders
encoder.c: a complete example which
computes all tables
encsimple.c: a simplified version
for rate 1/4, with precomputed tables
encfast.c: a faster version which
doesn't use intermediate arrays. (This saves both memory and the time
required for index computations)
enctst.c: benchmarking program, to be
used with encfast.c
- Random number generation, noise
- Phase noise generator for arbitrary PSD
phase_noise.c,
phase_noise.h
- Random number generation* (binary, uniform, Gaussian, complex
Gaussian)
random.c,
random.h
- Random number generation with seed reset option*
random_with_reset.c,
- Random number generation (uniform, Gaussian, Laplacian,
Gauss-Markov)
rands.c,
- Webb density (Webb pdf and deviate generation functions)
webb.c,
webb.h
- Communications, signal_processing
- Bandwidth calculations for unfiltered BPSK, QPSK, 8-PSK
bandwidth.c,
bandwidth.h
- Communications related functions (phi, Phi, Q, entropy, inv_entropy,
db, undb, gauss_pdf, modulo, phase_diff)
comm.c,
comm.h
- Digital phase-locked loops (DPLL's), 1st-4th order
dpll.c,
dpll.h
- Fast Fourier Transform (FFT) functions* (four1, realft, twofft, convlv)
fft.c
- Finite Impulse Response (FIR) filter functions, efficiently
implemented using FFT's
fir.c
- Huygens Recovery Task Force (HRTF) programs (see also matlab
section)
dttl.c:
Cassini-Huygens symbol synchronizer loop
dttl.tar.gz:
Simulation of Cassini-Huygens symbol synchronizer loop,
including EPS plot generation
dttl_decoder.tar.gz:
Simulation of Cassini-Huygens symbol synchronizer loop on signal
which includes Huygens frame synthesis, CCSDS Reed-Solomon encoding,
differential encoding, and convolutional encoding
- Math, numerical solutions
- Bessel functions*
bessel.c
- Binomial functions* (factorial, log factorial, n choose k)
binomial.c,
binomial.h
- Complex functions* (add, sub, mul, conjugate, div, abs, abs_sq, real
time complex, rect2polar, polar2rect, pow, e^z)
dcomplex.c,
dcomplex.h
- Confidence intervals (assuming binomial, Poisson, or Gaussian
distribution)
confidence_intervals.c,
confidence_intervals.h
- Interpolate between pairs of numbers
interpolate.c
- Cholesky decomposition*
linear_algebra.c
- Histogram creation
histogram.c,
histogram.h
- Minimization by Brent's method*
int_minimize.c
- Integration*
integrate.c,
integrate.h,
integrate2.c
- Statistics (mean, variance estimates from sample set)
statistics.c,
statistics.h
- Utilities (File manipulation, I/O, benchmarks)
* Based on Numerical Recipes in C, Second Edition
Octave code (Matlab compatible)
- getwavs.m
- Huygens Recovery Task Force (HRTF) programs (see also C section)
dttl.m: Digital Transition
Tracking Loop (DTTL)
bw_est.m: Evaluation of bit
sync. loop bandwidth
interp.m: Upsample a signal
Mathematica code