All of these examples can be compiled with the free Microsoft (V15.0 / Visual Studio 9) and Borland (V5.5.1) C/C++ compilers using Signal Visualizer which is available from : http://signalvisualize.sourceforge.net/.
All of the examples, with the exception of the Order Analysis example, will compile with any ANSI C compiler that supports the socket.h API or the winsock.h API. The Order Analysis example requires a 32 bit compiler because of the amount of data that is processed.
CostasQAM
- Costas loop QAM / p/4 DQPSK V.26b modulation /
demodulation example
OrderAnalysis - Order analysis example
180det.c -
180 degree phase reversal detector
adpcm.c
- One
bit per sample Adaptive Differential Pulse Coded Modulation
agc.c
-
Automatic gain control
all-pole.c
-
All-pole filter - see also OnePole.c and iir.c
am.c -
Amplitude modulate
am2.c
-
Amplitude modulate
analytic.c
-
Generate an analytic signal from a real one
arb-fft.c
-
Arbitrary length FFT - using chirp z-Transform / FFT
bilinear.c
-
Bilinear transform IIR filter design - see also iir.c
bitcount.c -
Bit count test functions
bpsk.c
-
Binary phase shift keying - see also dbpsk.c and bpsk8.c
bpsk8.c -
Binary phase shift keying with 8 kHz sample rate and also shows
how to use the debug output
cepstrum.c
-
Cepstrum analysis
chirp_3d.c
-
Spectrogram of chirp signals
chirp-z.c
and chirp-z2.c -
Chirp z-transform
cmplxfir.c
-
Complex FIR filter
comb1.c
and comb2.c -
Comb filters
complex.c
-
Complex numbers
compshft.c
-
Complex frequency shift
convolve.c
-
Convolution
copyovl.c
-
Array copying with overlap
cornu_s.c
-
Plot of Cornu's spiral
corr1.c,
corr2.c and corr3.c -
Correlatio examples
costasl.c
-
Costas loop - see also pll.c
covar.c
-
Covariance
dbpsk.c
-
Binary phase shift keying - see also bpsk.c. See bpsk8.c to see how to support 8 kHz sample rate
ddf.c
-
Utility to display data files in time and freq. domain
debug.c
-
Debug log file useage
decint.c -
Time domain decimation and interpolation
deconv.c
- Deconvolution
delay.c
-
Delays. See also fifo.c
DeltMod1.c and DeltMod2.c -
Delta modulation / demodulation
dfplusi.c
-
Converts z-domain coefficients from Digital Filter Plus format to
SigLib format - see also iir.c
dft_fft.c
-
Comparison of the DFT and FFT algorithms
dotprod.c
-
Dot product
dtmf.c
-
DTMF generation and detection, see also dtmfwav.c and dtmf_gen.c
dtmf_gen.c
-
Generate a DTMF sequence to a file (dtmf.wav) from a text file
(dtmf.txt).
Performs DTMF detection on the data in the file, see also dtmf.c and dtmfwav.c
dtmf_wav.c
-
Performs DTMF detection on data file (tones.wav), see also dtmf.c and dtmf_gen.c
echorev.c
-
Echo / reverberation
ELGate.c
-
Early-late gate timing synchronizer
envelope.c
-
Envelope detect a waveform using a Hilbert transform
evm.c
-
Envelope detect a waveform using a Hilbert transform
FDFilt.c
-
Frequency domain filters - overlap-add, aoverlap-save
fdhilb.c
-
Frequency domain Hilbert transform
fdinterp.c
-
Frequency domain pitch shifting
fdinter2.c
-
Frequency domain sinx/x interpolation
fft.c
-
Fast Fourier transform - see also : ffttone.c, rfft.c and dft_fft.c
FFTBin.c
-
Translate frequencies to FFT bin numbers and vice versa, see
also fft.c
ffttone.c
-
Use the FFT to calculate the FFT bin and the magnitude of the
peak tone in the signal, see also fft.c
fifo.c
-
FIFO delay. See also delay.c
fir1.c, fir2.c and fir3.c -
FIR filter, see also firadds.c and FDFilt.c
firadds.c
- FIR filter add samples - see also fir.c
firdesn.c
-
FIR filter design and use, see also firdesnw.c and fir.c
firdesnw.c -
FIR filter design and use, see also firdesn.c, firdesnw.c and fir.c
FreqMod1.c and FreqMod2.c -
Frequency modulation. See also FreqModC.c
FreqModC.c -
Frequency modulation of a complex sinusoid. See also FreqMod1.c
and FreqMod2.c
fsk.c -
Frequency shift keying, see also fskn.c for non integer number of samples per
symbol, fsktime.c
for sample timing detector and bpsk8.c for 8 kHz sample rate support.
fskn.c
-
Frequency shift keying, see also fsk.c
fsktime.c -
Frequency shift keying sample timing detector, see also fsk.c and fskn.c
GausFilt.c -
Gaussian filter
GoertzC.c
-
Complex Goertzel filter detector - see also GoertzD.c and GoertzF.c
GoertzD.c -
Goertzel filter detector - see also GoertzC.c and GoertzF.c
GoertzF.c -
Goertzel filter - see also GoertzC.c and GoertzD.c
harmonic.c
-
Signal construction from harmonics
hilbert.c
-
Hilbert transformer
histogrm.c
-
Histogram
iir.c and iir2.c -
IIR filter and Bilinear transform test program - see also bilinear.c, IIR-Gain.c, iirshft1.c and OrdNIIR.c
IIR-Gain.c -
IIR filter gain modification - see also iir.c, bilinear.c and dfplusi.c
iirnotch.c
-
IIR notch (band-stop) filter design
iirshft1.c
-
Low pass and high pass IIR filter design using Butterworth and
Bessel specifications - digital prototype
- see also bilinear.c and iir.c
iirshft2.c
-
Low pass and high pass IIR filter design using Butterworth and
Chebyshev specifications - digital prototype - see also bilinear.c and iir.c
iirshft3.c
-
Low pass and high pass IIR filter design using
Butterworth specifications - digital prototype - see also bilinear.c and iir.c
iirspln.c
-
Low pass and high pass IIR filter design using Butterworth and
Bessel specifications - analog prototype
IntDiff.c
-
Integration and differentiation
interp.c
-
Interpolating points within a data set
intleave.c
-
Channel data interleaving and de-interleaving
inv_fir.c
-
FIR filter frequency inversion
isquare.c
-
Frequency domain pitch shifting
kurtosis.c
-
Calculated the kurtosis value of waveforms
LeakyInt.c
-
Leaky integrator
lin_dbm.c
-
Calculate linear and dBm values for fixed point word lengths
lms.c
-
Least Mean Square adaptive filter
manchest.c
-
Manchester encoding
MatchFil.c
-
Matched filter
math.c
-
Math test functions
matrix.c
and matrix2.c
-
Matrix algebra
median.c
-
Median filter
microscn.c
-
Microscan spectrum analyzer
minmax.c
-
Minimum and maximum detectors
minmaxs.c
-
Select minimum and maximum values
modcount.c
-
Modulo incrementing and decrementing of index numbers
modulate.c
-
Amplitude modulation
modulo.c
-
Modulo arithmetic
movepeak.c
-
Move the peak location in an array to another location
mrate.c
-
Poly-phase multi-rate filter
MSCoher.c
-
Magnitude squared coherence - see also psd.c and WelchPSE.c
multiplx.c
-
Channel multipIexing / demultiplexing
NonCaus.c
-
Non-causal linear phase IIR filter - see also iir.c
OnePole.c
-
One pole IIR filter - see also iir.c and all-pole.c
OrdNIIR.c
-
Order N IIR filter - does not use the more common biquad
structure - see also iir.c
ovl_add.c
-
Overlap and add - used to overlap data from one array to another
PeakAveR.c
-
Peak to average ratio
pid.c
-
PID controler
PkHold1.c
and PkHold2.c -
Peak hold of a signal
pll.c
-
Phase locked loop - see also costasl.c
pn9pn15.c - PN9 and
Pn15 sequence generation and scrambling - see also prbs.c
polynom.c -
Polynomial expansion
prbs.c
-
PRBS scramblers and descramblers. See also pn9pn15.c.
preemp.c
-
Pre-emphasis and de-emphasis filters for speech processing
pre-warp.c
-
Pre-warp frequencies for Bilinear transform - see also bilinear.c
psd.c
-
Cross and auto power spectrum / power spectral density - see
also WelchPSE.c
and MSCoher.c
pwm.c
-
Pulse width modulation
qam16.c
-
QAM 16. See bpsk8.c to see how to support 8 kHz sample rate
qpsk.c
-
Quadrature phase shift keying. See also qpsk2.c. See bpsk8.c to see how to support 8 kHz sample rate
qpsk2.c
-
QPSK demodulation using Costas loop and Early-late gate
synchronization
quantize.c
-
Spectrum of quantized signal with different FFT sizes
rcf.c
-
Raised cosine filter and square root raised cosine filter
regress.c
-
Regression analysis
RemoveDC.c
-
Remove D.C. component of signal
resamplc.c
-
Resample the data in the array using linear and sinc
interpolation - functions are contiguous across array boundaries
resample.c
-
Resample the data in the array using linear and sinc
interpolation - functions are discontiguous across array
boundaries
resize.c
-
Resize (increase or decrease) the size of arrays being used to
process data
resonate.c
-
Resonator filter structure
rfft.c
- Real
FFT - see also fft.c
roots.c
-
Calculates the roots of the real and complex polynomials - ax^2 +
bx + c = 0
rotate.c
-
Rotate the samples in an array
round.c
-
Rounding
sequence.c
-
Character, word and bit sequence detection functions
sgram.c
-
Spectrogram of signal held in a file
sig2wav.c
- File convert .sig to .wav
sig_gen.c
-
Signal generation
sine_fft.c
-
Spectrum of various sinewaves
sinpower.c
-
Signals raised to successive powers
sinx_x.c
-
Plot of sin(x) / x curve
spec_inv.c
-
Time domain spectral inverse
stats.c
-
Statistics
SyncAsyn.c
-
Synchronous to asynchronous conversion functions
TDShift.c -
Time domain pitch shifting
trend.c
-
Trend analysis and detrending
trig.c
- Fast
trig functions - sin, cos and sincos
trigger.c
-
Trigger sampling - returns the location of the zero crossing when
trigger level exceeded
trigrev.c
-
Clock trigger reverberator - ensures a continuous clock at a
given nominal frequency
trigsel.c
-
Select the values from an input signal dependent on the values in
the trigger array
tworby1c.c
-
Two real FFTs with one complex one
vit-k3.c
-
Constraint length K=3 convolutional encode with Viterbi decode
vit-v32.c
- V.32
convolutional encode with Viterbi decode
weightvs.c
-
Weighted vector sum
WelchPSE.c -
Welch Power Spectral Density calculation - see also psd.c and MSCoher.c
window.c
-
Windowing functions
WordLen.c
-
Wordlength modification functions - these functions are used in
modems for supporting n-ary shift keying
ZeroCros.c
-
Zero crossing detector
ZoomFFT.c
-
Zoom FFT - see also ZoomFFTs.c
ZoomFFTs.c -
Simple zoom FFT see also ZoomFFT.c
Utility Files
plot_fd.h - Plots frequency domain response of vector
| For further information, please
contact : |
Indigo Consulting Ltd., 7 Dauphine Close, Coalville, Leics., LE67 4QQ, UK. Phone : +44 (0)208 020 0046, Fax : +44 (0)208 020 0047 |
Copyright
© 2008, Indigo Consulting Ltd.
Permission is granted to create WWW pointers to this document.
SigLib, Digital Filter Plus and Numerix-DSP are trademarks of Indigo Consulting Ltd. All
other trademarks acknowledged.
Numerix-DSP are continuously increasing the functionality of SigLib
and reserve the right to alter the product at any time.