Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

SPUC Namespace Reference


Classes

class  Array1D
 Templated one-dimensional, numerical array which looks like a conventional C array. More...
class  Array2D
 Templated two-dimensional, numerical array which looks like a conventional C multiarray. More...
class  Array3D
 Templated three-dimensional, numerical array which looks like a conventional C multiarray. More...
class  transpose_view
 Template class for Matrix Transpose Views. More...
class  lowerTriangularView
 lower Triangluar View for Matrices More...
class  unitlowerTriangularView
class  upperTriangularView
 upper Triangular Section More...
class  unitupperTriangularView
class  base_demod
 base class for a demodulator (not currently used?) More...
class  baud_eq_env
 Class for doing a simulation of an equalizer running at 1 sample/symbol. More...
class  BCH
 Class for binary, narrow-sense BCH codes. More...
class  bit_scrambler
 Does scrambling function on input bits. More...
class  bped
 Block Phase estimator. More...
class  bpsk_ber_test
 A Class for simulating a BPSK system. More...
class  carrier_nco
 A specialization example of a sin/cosine look-up NCO with fixed quantizations. More...
class  Convolutional_Interleaver
 Convolutional Interleaver Class. More...
class  Convolutional_Code
 Binary Convolutional rate 1/n class. More...
class  CRC_Code
 Cyclic Redundancy Check Codes. More...
class  data_conv_encoder
 Convolutional encoder for punctured encoding. More...
class  dqpsk
 Differential QPSK encoder/decoder. More...
class  dvb_conv_encoder
 DVB Convolution encode for rate 1/2. More...
class  Extended_Golay
 Extended Golay code (24,12,8). More...
class  fading_channel
 A Class for simulating a FIR channel model. More...
class  gf
 Galois Field. More...
class  gfx
 Polynomials over gf(q)[x], where q=2^m, m=1,...,14. More...
class  Hamming_Code
 Binary Hamming codes. More...
class  Block_Interleaver
 Block Interleaver Class. More...
class  Cross_Interleaver
 Cross Interleaver Class. More...
class  Sequence_Interleaver
 Sequence Interleaver Class. More...
class  Modulator_1d
 A general modulator class for 1-dimensional signal consellations. More...
class  Modulator_2d
 General modulator for 2-dimensional signal constellations. More...
class  MOD_BPSK
 BPSK Modulator Class. More...
class  MOD_PAM
 M-ary PAM modulator. More...
class  MOD_QPSK
 QPSK-modulator class. More...
class  MOD_PSK
 Mary-PSK modulator. More...
class  MOD_QAM
 Modulator class for square lattice Mary-QAM signals. More...
class  ofdm_data_encoder
 OFDM/802.11A/G Data Encoder. More...
class  Punctured_Convolutional_Code
 Binary Punctured Convolutional Code Class. More...
class  qam_conv_decoder
 QAM convolutional decoder. More...
class  qam_mod
 QAM Modulator for BPSK - 64 QAM for 802.11A Data modulation. More...
class  qam_tx
 Class for QAM transmitter using a root raised cosine transmit filter. More...
class  qpsk
 A QPSK receiver that can operate at exactly 2 samples/symbol. More...
class  qpsk_ber_test
 A Class for doing BER test on QPSK. More...
class  qpsk_discriminators
 A Class incorporating several symbol and carrier discriminators for QPSK. More...
class  quad_data
 Class for QPSK data using a root raised cosine transmit filter. More...
class  Rec_Syst_Conv_Code
 A Recursive Systematic Convolutional Encoder/Decoder class. More...
class  reed_solomon
 Reed-Solomon Codes. More...
class  LFSR
 Binary Linear Feedback Shift Register (LFSR). More...
class  Gold
 Gold Sequences. More...
class  sim_qam
 A Class for simulating a QAM system. More...
class  sim_qpsk
 A Class for simulating a QPSK system. More...
class  slicer_type
 Slicer to data decisions. More...
class  bpsk_slicer
 BPSK slicer. More...
class  qpsk_slicer
 QPSK slicer. More...
class  viterbi
 A Viterbi decoder (for DVB). More...
class  lms_dfe
 LMS Decision Feedback equalizer. More...
class  mle
 A Configurable Maximum Likelihood Sequence Estimator Class. More...
class  mlsd
 Maximum Likelihood Sequence Detection assuming binary alphabet [1,-1]. More...
class  rls
 Recursive Least Squares Algorithm. More...
class  equalizer
class  agc
 This is a simple sigma-delta type AGC for the variable rate QPSK example. More...
class  cmplx_allpass_halfband
 Complex version of allpass halfband. More...
class  qpsk_variable
 A QPSK receiver that can operate over a range of non-integer sampling rates. More...
class  resampler
 A resampling block using interpolator, halfband filter and NCO. More...
class  sim_qpsk_variable
 A Class for simulating a variable rate QPSK system. More...
class  timing_nco
 A NCO for symbol recovery in a variable rate QPSK receiver. More...
class  a_d
 An A/D conversion class. More...
class  allpass_1
 Template class for 1st order allpass filter with programmble gain and delay. More...
class  allpass_halfband
 Template Class for Allpass halfband IIR Filter. More...
class  allpass_iir
 Template Class for 1st Order Allpass IIR filter. More...
class  bin
 Binary arithmetic (boolean) class. More...
class  bit
 Binary arithmetic (boolean) class. More...
class  bool_nco
 NCO with single bit output. More...
class  butterworth
 Template Class for Butterworth iir filter. More...
class  rfir
 template class rfir FIR filter implementation with complex input and real coefficients More...
class  chebyshev
 Template Class for Chebyshev low pass iir filter. More...
class  cic
 class for CIC digital filter More...
class  circ_buffer
 Circular Buffer. More...
class  complex
 Spuc template complex class. Basically the same as STL complex class but allows easier customization. More...
class  complex_iu
 Base class for complex fixed width unsigned integers. Base class for complex fixed width unsigned integers Basically a combination of complex<long> with int_u. Needed because complex<T> template type would not also support unsigned int template type. More...
class  complex_u
 Template class for complex fixed width unsigned integers. More...
class  cordic
 Cordic rotator. More...
class  cfft
 General Purpose C++ complex FFT Transform. More...
class  delay
 Template class for Delay line. More...
class  elliptic
 Template Class for Elliptic low pass iir filter. More...
class  farrow
 Template Class for Farrow implementation of a ploynomial interpolation using a FIR filter. More...
class  fir
 Template Class for Modeling a Finite Impulse Response filter. More...
class  fir_adapt
 template class fir_adapt Based on FIR class, created to support LMS adaptive filtering More...
class  fir_decim
 template class fir_decim based on FIR class, created to support polyphase FIR decimation More...
class  fir_interp
 template class fir_decim based on FIR class, created to support polyphase FIR interpolation More...
class  fir_multi_interp
 template class fir_decim based on FIR class, created to support polyphase FIR interpolation More...
class  fir_sparse_coef
 template class fir_decim based on FIR class, created to support spare coefficients (zero padded) More...
class  iir_1st
 Template Class for 1st Order iir filter. More...
class  iir_2nd
 Template for 2nd Order IIR filter. More...
class  iir_2ndhpf
 Template Class for 2nd Order high-pass iir filter. More...
class  iir_comb
 Template for IIR comb type filter with programmable delay and gain. More...
class  iir_df
 Template Class for Modeling a Direct Form IIR. More...
class  iir_hp1
 Template for 1st Order IIR filter. More...
class  iir_hpc
 Template Class for 1st Order high pass iir filter. More...
class  iir_hpf
 Template Class for 1st Order high pass IIR filter from S-domain transformation. More...
class  iir_lpf
 Template Class for 1st Order low pass IIR filter from S-domain transformation. More...
class  iir_shelf
 Template Class for 1st Order iir filter. More...
class  lagrange
 Template Class for Lagrange interpolation using a FIR filter. More...
class  loop_filter
 Loop Filter for use in PLL circuits. More...
class  max_pn
 Maximal Length Pseudorandom sequence generator. More...
class  nco
 NCO with 32 bit accumulator. More...
class  noise
 Gaussian noise routine. More...
class  remez_fir
 template remez FIR class More...
class  running_average
 template class running average filter consisting of a delay line, adder and subtractor More...
class  running_sum
 template class running average filter consisting of a delay line, adder and subtractor More...
class  rv_stat
 a basic random Variable Statistics Class More...
class  sigma_delta
 Simple 1st order All-digital Sigma Delta converter. More...
class  sint
 Template class for signed integers (<33 bits). More...
class  sum_and_dump
 sum and dump filter More...
class  uint
 Template class for unsigned integers (<33 bits). More...
class  vco
 VCO similar to NCO but uses floating point. More...
class  Array
 General array class. More...
class  Mat
 Templated Matrix Class. More...
class  Vec
 Templated vectors. More...
class  allpass_1a
 Template class for 1st order allpass filter with programmble gain and fixed delay. More...
class  allpass_1aq1
 The filter is a "first-order" Allpass section of the form. More...
class  allpass_1aq2
 The filter is a "first-order" Allpass section of the form. More...
class  cmplx_csd_allpass_halfband
 Complex version of csd_allpass_halfband. More...
class  csd_allpass_halfband
 This filter is a combination of 2 fixed allpass filters allpass_1aq1 and allpass_1aq2. More...
class  double_allpass_iir
 Similar to a specific instantiation of allpass_iir. More...
class  fbool_nco
 Template class for a NCO based on template unsigned int class. More...
class  fnco
 Template class for a NCO based on template unsigned int class. More...
class  scic
 Registers are signed long and default number of stages is 2. More...
class  debugf
 Debug function. More...
class  debugfc
 Debug function. More...
class  Matlab_Engine
 Matlab engine interface. More...

Namespaces

namespace  SPUC

Typedefs

typedef long natural

Functions

template<class SPDMatrix, class SymmMatrix>
int Cholesky_upper_factorization (SPDMatrix &A, SymmMatrix &L)
template<class MaTRiX, class VecToRsubscript>
int LU_factor (MaTRiX &A, VecToRsubscript &indx)
template<class MaTRiX, class VecToR, class VecToRsubscripts>
int LU_solve (const MaTRiX &A, const VecToRsubscripts &indx, VecToR &b)
template<class MaTRiX, class Vector>
int QR_factor (MaTRiX &A, Vector &C, Vector &D)
template<class MaTRiX, class Vector>
int R_solve (const MaTRiX &A, Vector &D, Vector &b)
template<class MaTRiX, class Vector>
int QR_solve (const MaTRiX &A, const Vector &c, Vector &d, Vector &b)
template<class Matrix>
transpose_view< Matrix > transpose_view (const Matrix &A)
 Matrix Transpose Views.
template<class Matrix, class T>
Array1D< T > matmult (const transpose_view< Matrix > &A, const Array1D< T > &B)
template<class Matrix, class T>
Array1D< T > operator * (const transpose_view< Matrix > &A, const Array1D< T > &B)
template<class Matrix>
std::ostream & operator<< (std::ostream &s, const transpose_view< Matrix > &A)
template<class MaTRiX, class VecToR>
VecToR matmult (lowerTriangularView< MaTRiX > &A, VecToR &x)
 lower_triangular_view() algorithms
template<class MaTRiX, class VecToR>
VecToR operator * (lowerTriangularView< MaTRiX > &A, VecToR &x)
template<class MaTRiX>
lowerTriangularView< MaTRiX > lower_triangular_view (MaTRiX &A)
template<class MaTRiX>
unitlowerTriangularView< MaTRiX > unit_lower_triangular_view (MaTRiX &A)
template<class MaTRiX, class VecToR>
VecToR matmult (unitlowerTriangularView< MaTRiX > &A, VecToR &x)
template<class MaTRiX, class VecToR>
VecToR operator * (unitlowerTriangularView< MaTRiX > &A, VecToR &x)
template<class MaTRiX>
std::ostream & operator<< (std::ostream &s, const lowerTriangularView< MaTRiX > &A)
template<class MaTRiX>
std::ostream & operator<< (std::ostream &s, const unitlowerTriangularView< MaTRiX > &A)
template<class MaTRiX, class VecToR>
VecToR matmult (upperTriangularView< MaTRiX > &A, VecToR &x)
 upper_triangular_view() algorithms
template<class MaTRiX, class VecToR>
VecToR operator * (upperTriangularView< MaTRiX > &A, VecToR &x)
template<class MaTRiX>
upperTriangularView< MaTRiX > upper_triangular_view (MaTRiX &A)
template<class MaTRiX>
unitupperTriangularView< MaTRiX > unit_upper_triangular_view (MaTRiX &A)
template<class MaTRiX, class VecToR>
VecToR matmult (unitupperTriangularView< MaTRiX > &A, VecToR &x)
template<class MaTRiX, class VecToR>
VecToR operator * (unitupperTriangularView< MaTRiX > &A, VecToR &x)
template<class MaTRiX>
std::ostream & operator<< (std::ostream &s, upperTriangularView< MaTRiX > &A)
template<class MaTRiX>
std::ostream & operator<< (std::ostream &s, unitupperTriangularView< MaTRiX > &A)
template<class MaTriX, class VecToR>
VecToR lower_triangular_solve (MaTriX &A, VecToR &b)
template<class MaTriX, class VecToR>
VecToR unit_lower_triangular_solve (MaTriX &A, VecToR &b)
template<class MaTriX, class VecToR>
VecToR linear_solve (lowerTriangularView< MaTriX > &A, VecToR &b)
template<class MaTriX, class VecToR>
VecToR linear_solve (unitlowerTriangularView< MaTriX > &A, VecToR &b)
template<class MaTriX, class VecToR>
VecToR upper_triangular_solve (MaTriX &A, VecToR &b)
template<class MaTriX, class VecToR>
VecToR unit_upper_triangular_solve (MaTriX &A, VecToR &b)
template<class MaTriX, class VecToR>
VecToR linear_solve (upperTriangularView< MaTriX > &A, VecToR &b)
template<class MaTriX, class VecToR>
VecToR linear_solve (unitupperTriangularView< MaTriX > &A, VecToR &b)
template<class T>
bpsk_dd_phase (complex< T > curr, complex< T > hard_data)
 Decision directed carrier phase discriminator for BPSK.
template<class T>
bpsk_quadricorrelator (complex< T > hard_data, complex< T > prev)
 BPSK Quadricorrelator frequency discriminator.
bmat graycode (int m)
 Generate gray code of blocklength m.

The codes are contained as binary codewords {0,1} in the rows of the returned matrix. See also the gray() function in math/scalfunc.h.

int hamming_distance (const bvec &a, const bvec &b)
 Calculate the Hamming distance between a and b.
int weight (const bvec &a)
 Calculate the Hamming weight of a.
int reverse_int (int length, int in)
int weight_int (int length, int in)
int compare_spectra (llvec v1, llvec v2)
int compare_spectra (ivec v1, ivec v2, vec weight_profile)
template<class T>
cp_afc (complex< T > prev, complex< T > curr)
 Cross-Product frequency discriminator.
template<class T>
dd_symbol (complex< T > prev, complex< T > curr, complex< T > prev_hard_data, complex< T > hard_data)
 Decision directed timing discriminator (QPSK).
gfx operator * (const gf &ingf, const gfx &ingfx)
gfx operator * (const gfx &ingfx, const gf &ingf)
gfx operator/ (const gfx &ingfx, const gf &ingf)
gfx divgfx (const gfx &c, const gfx &g)
 Division of two gfx (local help function).
gfx modgfx (const gfx &a, const gfx &b)
 Modulo function of two gfx (local help function).
ostream & operator<< (ostream &os, const gf &ingf)
 Output stream for gf(q).
ostream & operator<< (ostream &os, const gfx &ingfx)
 Output stream.
template<class T>
nda_symbol (complex< T > prev, complex< T > curr)
 Non-decision aided timing discriminator (Gardiner's algorithm).
void qam_data_demap (long rate_index, complex< long > data_in, long soft_decision_level, long *viterbi_input)
 Soft-decision QAM Demapper for use with QAM_MOD class.
void bpsk_soft_decision (complex< long > data_in, long *viterbi_input)
 BPSK data demapping.
void qpsk_soft_decision (complex< long > data_in, long *viterbi_input)
 QPSK data demapping.
void qam16_soft_decision (complex< long > data_in, long soft_decision_level, long *viterbi_input)
 16-QAM data demapping
void qam64_soft_decision (complex< long > data_in, long soft_decision_level, long *viterbi_input)
 64-QAM data demapping
template<class T>
qpsk_dd_phase (complex< T > curr, complex< T > hard_data)
 Decision directed carrier phase discriminator for QPSK.
template<class T>
qpsk_quadricorrelator (complex< T > hard_data, complex< T > prev)
 QPSK Quadricorrelator frequency discriminator.
template<class T>
qpsk_rcfd (complex< T > fmf, complex< T > curr)
 QPSK Reduced complexity frequency discriminator.
void root_raised_cosine (fir< long > &rcfir, double alpha, int rate)
void root_raised_cosine (fir< complex< long > > &rcfir, double alpha, int rate, int bits=10)
void root_raised_cosine (fir< complex< long > > &rcfir, double alpha, int rate, int bits=10, double scale=1.0)
void root_raised_cosine (fir< complex< double > > &rcfir, double alpha, int rate)
void root_raised_cosine (fir_interp< complex< double > > &rcfir, double alpha, int rate)
void root_raised_cosine (fir< double > &rcfir, double alpha, int rate)
void raised_cosine (fir< long > &rcfir, double alpha, int rate)
void raised_cosine (fir< double > &rcfir, double alpha, int rate)
double raised_cosine_imp (double alpha, double xin, double rate, long num_taps)
double root_raised_cosine_imp (double alpha, double xin, double rate, long num_taps)
void root_raised_cosine (fir< complex< double > > &rcfir, double alpha, int rate, double offset)
double com_logmap (double x, double y)
 Branc metric calculation function for MAP decoding in the log-domain.
double com_logmax (double x, double y)
 Branc metric calculation function for MAP decoding in the log-domain using a MAX approximation (default).
smat wcdma_spreading_codes (int SF)
 Generates the OVSF (orthogonal variable spreading factor) spreading codes used in WCDMA.
void gaussian_fir (fir< double > &gaussf, double bt, double spb)
 calculates the sampled Gaussian filter impulse response
void butterworth_fir (fir< double > &butfir, double spb)
 calculates the sampled butterworth (max flat) filter impulse response
void create_remez_lpfir (fir< double > &remezfir, double *edge, double *fx, double *wtx)
 calculates the coefficients for lowpass FIR based on Remez constraints
void ifft (complex< double > *y, int m)
bool reduce (long x, long n)
double erfc1 (double x)
double erf1 (double x)
long round (long in, long bits)
long saturate (long in, long bits)
void swap (int *a, int *b)
void quicksort (int *v, unsigned n)
double Qfunc (double x)
 Q-function.
double erfinv (double x)
 Inverse of error function.
double gamma (double x)
 Gamma function.
double asinh (double x)
 Arcus sinhyp.
double acosh (double x)
 Arcus coshyp.
double atanh (double x)
 Arcus tanhyp.
double fact (int index)
 Calculates factorial coefficient for index <= 170.
long mod (long k, long n)
 Calculates the modulus, i.e. the signed reminder after division.
long gcd (long a, long b)
 returns the greatest common divisor (GCD) g of the elements a and b.
double integrate (double(*f)(double), double A, double B, double tol=0.001)
 Integrate over the function f from A to B with tolerance tol.
double binom (int n, int k)
 Compute the binomial coefficient "n over k" as a float.
int binom_i (int n, int k)
 Compute the binomial coefficient "n over k" as an integer.
double log_binom (int n, int k)
 Compute the base 10 logarithm of the binomial coefficient "n over k".
double log2 (double x)
double logb (double b, double x)
double sinc (double x)
 Sinc function. sinc(x) = sin(pi*x)/pi*x.
int round_i (double x)
 Round to nearest integer.
int ceil_i (double x)
 The nearest larger integer.
int floor_i (double x)
 The nearest smaller integer.
double round (double x)
 Round to nearest integer, return result in double.
bool is_int (double x)
 Return true if x is an integer.
bool is_even (int x)
 Return true if x is an even integer.
int needed_bits (int n)
 Calculate how many bits are needed to represent the integer n.
int needed_bits (double n)
 The number of bits needed to encode {n} symbols. (Yes, it is exact!).
int pow2 (int x)
 Calculate two to the power of x (2^x).
double pow2 (double x)
 Calculate two to the power of x (2^x).
double pow10 (double x)
 Calculate ten to the power of x (10^x).
double dB (double x)
 Decibel of x (10*log10(x)).
double inv_dB (double x)
 Inverse of decibel.
int gray_code (int x)
 Convert to Gray Code.
double rad_to_deg (double x)
 Convert radians to degrees.
double deg_to_rad (double x)
 Convert degrees to radians.
double sqr (double x)
 Square of x.
double rem (double x, double y)
 The reminder of the division x/y.
double sign (double x)
 The sign of x.
double sgn (double x)
 The sign of x.
signed char abs (signed char x)
 Absolute value.
short abs (short x)
 Absolute value.
double sqrt (double x)
double cos (double x)
complex< double > sqrt (complex< double > x)
complex< double > sqrt (complex< long > x)
double coshin (double x)
double arccos (double x)
double cosh (double x)
double sinh (double x)
complex< double > cos (complex< double > x)
double io (double x)
 bessel function for kaiser window
void hamming (double *w, long nf, double alpha, double beta)
 hamming window $ w(n) = alpha + beta*cos( 2*\pi*(n-1)/(nf-1) )$
void hanning (double *w, long nf)
 hanning window $ w(n) = 0.5( 1 - cos( 2*\pi*n/(nf-1) )$
void blackman (double *w, long nf)
 Blackman Window $ w[x] = 0.42 - 0.5*cos(2*\pi*x/nf) + 0.08*cos(2*\pi*x/nf)$.
void kaiser (double *w, long nf, double beta)
 kaiser window
void chebc (double nf, double dp, double df, double n, double x0)
 chebyshev window subroutine to generate chebyshev window parameters when one of the three parameters nf,dp and df is unspecified
void cheby (double *w, long nf, long n, long ieo, double dp, double df, double x0)
 dolph chebyshev window design
template<class T>
Vector< T > auto_corr (Vector< T > x)
ostream & operator<< (ostream &output, const bin &inbin)
istream & operator>> (istream &input, bin &outbin)
template<class T>
Vector< T > burg (Vector< T > &x, int P)
 AR model coefficients calculation using Burg algorithm.
complex_iu operator% (complex_iu r, natural l)
complex_iu operator+ (complex_iu r, complex_iu l)
complex_iu operator+ (complex_iu r, natural l)
complex_iu operator+ (cnatural r, complex_iu l)
complex_iu operator- (complex_iu r, complex_iu l)
complex_iu operator- (complex_iu r, cnatural l)
complex_iu operator- (cnatural r, complex_iu l)
complex_iu operator & (complex_iu r, natural l)
complex_iu operator & (natural r, complex_iu l)
complex_iu operator^ (complex_iu r, natural l)
complex_iu operator^ (natural r, complex_iu l)
complex_iu operator| (complex_iu r, natural l)
complex_iu operator| (natural r, complex_iu l)
complex_iu operator * (complex_iu r, complex_iu l)
complex_iu operator * (complex_iu r, cnatural l)
complex_iu operator * (complex_iu r, natural l)
complex_iu operator * (natural r, complex_iu l)
complex_iu operator * (cnatural r, complex_iu l)
complex_iu operator/ (complex_iu r, complex_iu l)
complex_iu operator/ (cnatural r, complex_iu l)
complex_iu operator/ (complex_iu r, cnatural l)
complex_iu operator/ (complex_iu r, natural l)
complex_iu operator<< (complex_iu r, const natural shift)
complex_iu operator>> (complex_iu r, const natural shift)
void create_remez_fir (fir< double > &remezfir, int jtype, int nbands, double *edge, double *fx, double *wtx)
template<class T>
Vector< T > Vector_taps (fir< T > f)
template<class T>
Vector< T > Vector_input (fir< T > f)
template<class T>
levdur (T *R)
int dummy_cl (complex< long > z)
 Dummy functions for library instantations.
int dummy_vf (void)
void ls_fir (fir< double > fil, double fc, double spb)
 calculates the least square filter impulse response
bin randb (void)
double randu (void)
int randi (int low, int high)
double randn (void)
double_complex randn_c (void)
void RNG_reset (unsigned long seed)
void RNG_reset ()
void RNG_randomize ()
template<double Des_function, double Weight_function>
double * remez_function (int numtaps, int numband, int r, double bands[], int type)
bool chol (const mat &X, mat &F)
 Cholesky factorisation of real symmetric and positive definite matrix.
bool chol (const cmat &X, cmat &F)
cmat chol (const cmat &X)
mat chol (const mat &X)
 Cholesky factorisation of real symmetric and positive definite matrix.
bool chol (const mat &X, int p, mat &F)
 Cholesky factorisation of an n by n band-matrix X. Bandwidth p.
mat chol (const mat &X, int p)
 Cholesky factorisation of a band matrix.
ivec to_ivec (int s)
 Specialized implementation of to_ivec for scalar.
llvec to_llvec (long_long s)
 Specialized implementation of to_llvec for scalar.
vec to_vec (double s)
 Specialized implementation of to_vec for scalar.
cvec to_cvec (double real, double imag)
 Specialized implementation of to_cvec for scalar.
bvec dec2bin (int length, int index)
bvec dec2bin (int index, bool msb_first)
void dec2bin (int index, bvec &v)
int bin2dec (const bvec &inbvec, bool msb_first)
bvec oct2bin (const ivec &octalindex, short keepzeros)
ivec bin2oct (const bvec &inbits)
ivec bin2pol (const bvec &inbvec)
bvec pol2bin (const ivec &inpol)
double det (const mat &X)
 Determinant of real square matrix.

Calculate determinant of the real matrix $\mathbf{X}$.

void sub_v_vT_m (mat &m, const vec &v)
void sub_m_v_vT (mat &m, const vec &v)
bool inv (const mat &X, mat &Y)
mat inv (const mat &X)
bool inv (const cmat &X, cmat &Y)
cmat inv (const cmat &X)
vec ls_solve (const mat &A, const vec &b)
 Solve linear equation system by LU factorisation.
mat ls_solve (const mat &A, const mat &b)
 Solve multiple linear equations by LU factorisation.
vec ls_solve_chol (const mat &A, const vec &b)
 Solve linear equation system by Cholesky factorisation.
vec ls_solve (const mat &L, const mat &U, const vec &b)
 Solve linear equation system, when LU-factorisation is given.
vec ls_solve_chol (const mat &A, int p, const vec &b)
 Solve linear (band) equation system by Cholesky factorisation.
vec ls_solve (const mat &L, int p, const mat &U, int q, const vec &b)
 Solve linear (band) equation system, when LU-factorisation is given.
vec ls_solve_od (const mat &A, const vec &b)
 Solves overdetermined linear equation systems.
mat ls_solve_od (const mat &A, const mat &B)
 Solves overdetermined linear equation systems.
vec backslash (const mat &A, const vec &b)
 A general linear equation system solver.
mat backslash (const mat &A, const mat &B)
 A general linear equation system solver.
vec forward_substitution (const mat &L, const vec &b)
 Forward substitution of square matrix.
void forward_substitution (const mat &L, const vec &b, vec &x)
 Forward substitution of square matrix.
vec forward_substitution (const mat &L, int p, const vec &b)
 Forward substitution of band matricies.
void forward_substitution (const mat &L, int p, const vec &b, vec &x)
 Forward substitution of band matricies.
vec backward_substitution (const mat &U, const vec &b)
 Backward substitution of square matrix.
void backward_substitution (const mat &U, const vec &b, vec &x)
 Backward substitution of square matrix.
vec backward_substitution (const mat &U, int q, const vec &b)
 Backward substitution of band matrix.
void backward_substitution (const mat &U, int q, const vec &b, vec &x)
 Backward substitution of band matrix.
bool lu (const mat &X, mat &L, mat &U, ivec &p)
 LU factorisation of real matrix.
void interchange_permutations (vec &b, const ivec &p)
 Makes swapping of vector b according to the inerchange permutation vector p.
bmat permutation_matrix (const ivec &p)
 Make permutation matrix P from the interchange permutation vector p.
template<class T>
Mat< T > concat_horizontal (const Mat< T > &m1, const Mat< T > &m2)
 Horizontal concatenation of two matrices.
template<class T>
Mat< T > concat_vertical (const Mat< T > &m1, const Mat< T > &m2)
 Vertical concatenation of two matrices.
template<class T>
Mat< T > operator+ (const Mat< T > &m1, const Mat< T > &m2)
 Addition of two matricies.
template<class T>
Mat< T > operator+ (const Mat< T > &m, T t)
 Addition of a matrix and a scalar.
template<class T>
Mat< T > operator+ (T t, const Mat< T > &m)
 Addition of a scalar and a matrix.
template<class T>
Mat< T > operator- (const Mat< T > &m1, const Mat< T > &m2)
 Subtraction of two matrices.
template<class T>
Mat< T > operator- (const Mat< T > &m, T t)
 Subtraction of matrix and scalar.
template<class T>
Mat< T > operator- (T t, const Mat< T > &m)
 Subtraction of scalar and matrix.
template<class T>
Mat< T > operator- (const Mat< T > &m)
 Negation of matrix.
template<class T>
Mat< T > operator * (const Mat< T > &m1, const Mat< T > &m2)
 Multiplication of two matricies.
template<class T>
Vec< T > operator * (const Mat< T > &m, const Vec< T > &v)
 Multiplication of matrix and vector.
template<class T>
Vec< T > operator * (const Vec< T > &v, const Mat< T > &m)
 Multiplication of vector and matrix.
template<class T>
Mat< T > operator * (const Mat< T > &m, T t)
 Multiplication of matrix and scalar.
template<class T>
Mat< T > operator * (T t, const Mat< T > &m)
 Multiplication of scalar and matrix.
template<class T>
Mat< T > elem_mult (const Mat< T > &m1, const Mat< T > &m2)
 Element wise multiplication of two matricies.
template<class T>
Mat< T > operator/ (const Mat< T > &m, T t)
 Division of matrix and scalar.
template<class T>
Mat< T > elem_div (const Mat< T > &m1, const Mat< T > &m2)
 Element wise division of two matricies.
ivec find (const bvec &invector)
 Return a integer vector with indicies where bvec == 1.
vec impulse (int size)
 Impulse vector.
vec linspace (double from, double to, int length=100)
 Linspace (works in the same way as the matlab version).
vec hamming (int size)
 A length size hamming window.
vec hanning (int size)
 A length size hamming window.
vec triang (int size)
 A length size triangular window.
vec sqrt_win (int size)
 A length size square root window (=sqrt(triang(size))).
imat hadamard (int size)
 A 2^size by 2^size Hadamard matrix.
imat jacobsthal (int p)
 Jacobsthal matrix.
imat conference (int n)
 Conference matrix.
mat rotation_matrix (int dim, int plane1, int plane2, double angle)
 Create a rotation matrix that rotates the given plane angle radians. Note that the order of the planes are important!
void house (const vec &x, vec &v, double &beta)
 Calcualte the Householder vector.
void givens (double a, double b, double &c, double &s)
 Calculate the Givens rotation values.
void givens (double a, double b, mat &m)
 Calculate the Givens rotation matrix.
mat givens (double a, double b)
 Calculate the Givens rotation matrix.
void givens_t (double a, double b, mat &m)
 Calculate the transposed Givens rotation matrix.
mat givens_t (double a, double b)
 Calculate the transposed Givens rotation matrix.
template void eye (int, mat &)
 Template instantiation of eye.
template void eye (int, bmat &)
 Template instantiation of eye.
template void eye (int, imat &)
 Template instantiation of eye.
template void eye (int, cmat &)
 Template instantiation of eye.
vec ones (int size)
 A float vector of ones.
bvec ones_b (int size)
 A Binary vector of ones.
ivec ones_i (int size)
 A Int vector of ones.
cvec ones_c (int size)
 A float Complex vector of ones.
mat ones (int rows, int cols)
 A float (rows,cols)-matrix of ones.
bmat ones_b (int rows, int cols)
 A Binary (rows,cols)-matrix of ones.
imat ones_i (int rows, int cols)
 A Int (rows,cols)-matrix of ones.
cmat ones_c (int rows, int cols)
 A Double Complex (rows,cols)-matrix of ones.
vec zeros (int size)
 A Double vector of zeros.
bvec zeros_b (int size)
 A Binary vector of zeros.
ivec zeros_i (int size)
 A Int vector of zeros.
cvec zeros_c (int size)
 A Double Complex vector of zeros.
mat zeros (int rows, int cols)
 A Double (rows,cols)-matrix of zeros.
bmat zeros_b (int rows, int cols)
 A Binary (rows,cols)-matrix of zeros.
imat zeros_i (int rows, int cols)
 A Int (rows,cols)-matrix of zeros.
cmat zeros_c (int rows, int cols)
 A Double Complex (rows,cols)-matrix of zeros.
mat eye (int size)
 A Double (size,size) unit matrix.
bmat eye_b (int size)
 A Binary (size,size) unit matrix.
imat eye_i (int size)
 A Int (size,size) unit matrix.
cmat eye_c (int size)
 A Double Complex (size,size) unit matrix.
template<class T>
void eye (int size, Mat< T > &m)
 A non-copying version of the eye function.
bool svd (const mat &A, vec &S)
 Singular Value Decomposition (SVD).
bool svd (const cmat &A, vec &S)
 Singular Value Decomposition (SVD).
vec svd (const mat &A)
 Singular Value Decomposition (SVD).
vec svd (const cmat &A)
 Singular Value Decomposition (SVD).
bool svd (const mat &A, mat &U, vec &S, mat &V)
 Singular Value Decomposition (SVD).
bool svd (const cmat &A, cmat &U, vec &S, cmat &V)
 Singular Value Decomposition (SVD).
template<class T>
Matrix< T > toeplitz (Vector< T > x)
 Get Symmetric Toeplitz matrix from Vector.
template<class T>
Vec< T > operator+ (const Vec< T > &v1, const Vec< T > &v2)
 Addition of two vectors.
template<class T>
Vec< T > operator+ (const Vec< T > &v, T t)
 Addition of a vector and a scalar.
template<class T>
Vec< T > operator+ (T t, const Vec< T > &v)
 Addition of a scalar and a vector.
template<class T>
Vec< T > operator- (const Vec< T > &v1, const Vec< T > &v2)
 Subtraction of a vector from a vector.
template<class T>
Vec< T > operator- (const Vec< T > &v, T t)
 Subtraction of a scalar from a vector.
template<class T>
Vec< T > operator- (T t, const Vec< T > &v)
 Subtraction of vector from scalar. Results in a vector.
template<class T>
Vec< T > operator- (const Vec< T > &v)
 Negation of vector.
template<class T>
dot (const Vec< T > &v1, const Vec< T > &v2)
 Inner (dot) product of two vectors v1 and v2.
template<class T>
dot_prod (const Vec< T > &v1, const Vec< T > &v2)
template<class T>
operator * (const Vec< T > &v1, const Vec< T > &v2)
 Inner (dot) product of two vectors v1 and v2.
template<class T>
Mat< T > outer_product (const Vec< T > &v1, const Vec< T > &v2)
 Outer product of two vectors v1 and v2.
template<class T>
Vec< T > operator * (const Vec< T > &v, T t)
 Multiplication of a vector and a scalar.
template<class T>
Vec< T > operator * (T t, const Vec< T > &v)
 Multiplication of a scalar and a vector. Results in a vector.
template<class T>
Vec< T > elem_mult (const Vec< T > &v1, const Vec< T > &v2)
 Elementwise multiplication of the two vectors.
template<class T>
Vec< T > elem_mult (const Vec< T > &v1, const Vec< T > &v2, const Vec< T > &v3)
 Elementwise multiplication of the three vectors.
template<class T>
Vec< T > elem_mult (const Vec< T > &v1, const Vec< T > &v2, const Vec< T > &v3, const Vec< T > &v4)
 Elementwise multiplication of the four vectors.
template<class T>
Vec< T > operator/ (const Vec< T > &v, T t)
 Division of all elements in v with t.
template<class T>
Vec< T > operator/ (const T t, const Vec< T > &v)
 Division of t with all elements in v.
template<class T>
Vec< T > elem_div (const Vec< T > &v1, const Vec< T > &v2)
 Elementwise division.
template<class T>
Vec< T > elem_div (const T t, const Vec< T > &v)
 Elementwise division of scalar t and vector v.
template<class T>
Vec< T > concat (const Vec< T > &v, const T a)
 Append element a to the end of the vector v.
template<class T>
Vec< T > concat (const T a, const Vec< T > &v)
 Concat element a to the beginning of the vector v.
template<class T>
Vec< T > concat (const Vec< T > &v1, const Vec< T > &v2)
 Concat vectors v1 and v2.
template<class T>
Vec< T > concat (const Vec< T > &v1, const Vec< T > &v2, const Vec< T > &v3)
 Concat vectors v1, v2 and v3.
template<class T>
Vec< T > concat (const Vec< T > &v1, const Vec< T > &v2, const Vec< T > &v3, const Vec< T > &v4)
 Concat vectors v1, v2, v3 and v4.
template<class T>
Vec< T > concat (const Vec< T > &v1, const Vec< T > &v2, const Vec< T > &v3, const Vec< T > &v4, const Vec< T > &v5)
 Concat vectors v1, v2 v3, v4 and v5.
void it_assert_f (string ass, string msg, string file, int line)
 Helper function for the it_assert functions.
void it_error_f (string msg, string file, int line)
 Helper function for the it_error functions.
void it_warning_f (string msg, string file, int line)
 Helper function for the it_warning functions.
void it_enable_exceptions (bool on)
 Enable/disable using exceptions for error handling.
void it_enable_warnings ()
 Enable warnings.
void it_disable_warnings ()
 Disable warnings.
void it_redirect_warnings (ostream *warn_stream)
 Redirect warnings to the ostream warn_stream.

Variables

double(* com_log )(double, double) = NULL
 Pointer to logarithmic branch metric function.


Detailed Description

SPUC - Signal processing using C++ - A DSP library includes code from other sources including IT++ 3.7.0


Typedef Documentation

typedef long SPUC::natural
 


Function Documentation

double SPUC::arccos double  x  ) 
 

int SPUC::bin2dec const bvec &  inbvec,
bool  msb_first
 

ivec SPUC::bin2oct const bvec &  inbits  ) 
 

ivec SPUC::bin2pol const bvec &  inbvec  ) 
 

cmat SPUC::chol const cmat &  X  ) 
 

bool SPUC::chol const cmat &  X,
cmat &  F
 

template<class SPDMatrix, class SymmMatrix>
int SPUC::Cholesky_upper_factorization SPDMatrix &  A,
SymmMatrix &  L
 

Here is the call graph for this function:

double SPUC::com_logmap double  x,
double  y
 

Branc metric calculation function for MAP decoding in the log-domain.

double SPUC::com_logmax double  x,
double  y
 

Branc metric calculation function for MAP decoding in the log-domain using a MAX approximation (default).

int SPUC::compare_spectra ivec  v1,
ivec  v2,
vec  weight_profile
[related]
 

int SPUC::compare_spectra llvec  v1,
llvec  v2
[related]
 

template<class T>
Vec< T > SPUC::concat const Vec< T > &  v1,
const Vec< T > &  v2,
const Vec< T > &  v3,
const Vec< T > &  v4,
const Vec< T > &  v5
 

Concat vectors v1, v2 v3, v4 and v5.

Here is the call graph for this function:

template<class T>
Vec< T > SPUC::concat const Vec< T > &  v1,
const Vec< T > &  v2,
const Vec< T > &  v3,
const Vec< T > &  v4
 

Concat vectors v1, v2, v3 and v4.

Here is the call graph for this function:

template<class T>
Vec< T > SPUC::concat const Vec< T > &  v1,
const Vec< T > &  v2,
const Vec< T > &  v3
 

Concat vectors v1, v2 and v3.

Here is the call graph for this function:

template<class T>
Vec< T > SPUC::concat const Vec< T > &  v1,
const Vec< T > &  v2
 

Concat vectors v1 and v2.

Here is the call graph for this function:

template<class T>
Vec< T > SPUC::concat const T  a,
const Vec< T > &  v
 

Concat element a to the beginning of the vector v.

Here is the call graph for this function:

template<class T>
Vec< T > SPUC::concat const Vec< T > &  v,
const T  a
 

Append element a to the end of the vector v.

Here is the call graph for this function:

template<class T>
Mat< T > SPUC::concat_horizontal const Mat< T > &  m1,
const Mat< T > &  m2
 

Horizontal concatenation of two matrices.

Here is the call graph for this function:

template<class T>
Mat< T > SPUC::concat_vertical const Mat< T > &  m1,
const Mat< T > &  m2
 

Vertical concatenation of two matrices.

Here is the call graph for this function:

complex< double > SPUC::cos complex< double >  x  ) 
 

double SPUC::cos double  x  ) 
 

double SPUC::cosh double  x  ) 
 

double SPUC::coshin double  x  ) 
 

void SPUC::create_remez_fir fir< double > &  remezfir,
int  jtype,
int  nbands,
double *  edge,
double *  fx,
double *  wtx
 

void SPUC::dec2bin int  index,
bvec &  v
 

bvec SPUC::dec2bin int  index,
bool  msb_first
 

bvec SPUC::dec2bin int  length,
int  index
 

gfx SPUC::divgfx const gfx c,
const gfx g
 

Division of two gfx (local help function).

template<class T>
T SPUC::dot const Vec< T > &  v1,
const Vec< T > &  v2
 

Inner (dot) product of two vectors v1 and v2.

template<class T>
T SPUC::dot_prod const Vec< T > &  v1,
const Vec< T > &  v2
 

int SPUC::dummy_cl complex< long >  z  ) 
 

Dummy functions for library instantations.

int SPUC::dummy_vf void   ) 
 

template<class T>
Vec< T > SPUC::elem_div const T  t,
const Vec< T > &  v
[inline]
 

Elementwise division of scalar t and vector v.

template<class T>
Vec< T > SPUC::elem_div const Vec< T > &  v1,
const Vec< T > &  v2
[inline]
 

Elementwise division.

template<class T>
Mat< T > SPUC::elem_div const Mat< T > &  m1,
const Mat< T > &  m2
[inline]
 

Element wise division of two matricies.

template<class T>
Vec< T > SPUC::elem_mult const Vec< T > &  v1,
const Vec< T > &  v2,
const Vec< T > &  v3,
const Vec< T > &  v4
[inline]
 

Elementwise multiplication of the four vectors.

template<class T>
Vec< T > SPUC::elem_mult const Vec< T > &  v1,
const Vec< T > &  v2,
const Vec< T > &  v3
[inline]
 

Elementwise multiplication of the three vectors.

template<class T>
Vec< T > SPUC::elem_mult const Vec< T > &  v1,
const Vec< T > &  v2
[inline]
 

Elementwise multiplication of the two vectors.

template<class T>
Mat< T > SPUC::elem_mult const Mat< T > &  m1,
const Mat< T > &  m2
[inline]
 

Element wise multiplication of two matricies.

double SPUC::erf1 double  x  ) 
 

double SPUC::erfc1 double  x  ) 
 

double SPUC::erfinv double  P  ) 
 

Inverse of error function.

template void SPUC::eye int  ,
cmat & 
 

Template instantiation of eye.

template void SPUC::eye int  ,
imat & 
 

Template instantiation of eye.

template void SPUC::eye int  ,
bmat & 
 

Template instantiation of eye.

template void SPUC::eye int  ,
mat & 
 

Template instantiation of eye.

void SPUC::ifft complex< double > *  y,
int  m
 

cmat SPUC::inv const cmat &  X  ) 
 

bool SPUC::inv const cmat &  X,
cmat &  Y
 

mat SPUC::inv const mat &  X  ) 
 

bool SPUC::inv const mat &  X,
mat &  Y
 

template<class MaTriX, class VecToR>
VecToR SPUC::linear_solve unitupperTriangularView< MaTriX > &  A,
VecToR &  b
 

Here is the call graph for this function:

template<class MaTriX, class VecToR>
VecToR SPUC::linear_solve upperTriangularView< MaTriX > &  A,
VecToR &  b
 

Here is the call graph for this function:

template<class MaTriX, class VecToR>
VecToR SPUC::linear_solve unitlowerTriangularView< MaTriX > &  A,
VecToR &  b
 

Here is the call graph for this function:

template<class MaTriX, class VecToR>
VecToR SPUC::linear_solve lowerTriangularView< MaTriX > &  A,
VecToR &  b
 

Here is the call graph for this function:

double SPUC::log2 double  x  )  [inline]
 

double SPUC::logb double  b,
double  x
[inline]
 

template<class MaTriX, class VecToR>
VecToR SPUC::lower_triangular_solve MaTriX &  A,
VecToR &  b
 

template<class MaTRiX>
lowerTriangularView<MaTRiX> SPUC::lower_triangular_view MaTRiX &  A  ) 
 

template<class MaTRiX, class VecToRsubscript>
int SPUC::LU_factor MaTRiX &  A,
VecToRsubscript &  indx
 

template<class MaTRiX, class VecToR, class VecToRsubscripts>
int SPUC::LU_solve const MaTRiX &  A,
const VecToRsubscripts &  indx,
VecToR &  b
 

template<class MaTRiX, class VecToR>
VecToR SPUC::matmult unitupperTriangularView< MaTRiX > &  A,
VecToR &  x
 

Here is the call graph for this function:

template<class MaTRiX, class VecToR>
VecToR SPUC::matmult upperTriangularView< MaTRiX > &  A,
VecToR &  x
 

upper_triangular_view() algorithms

Here is the call graph for this function:

template<class MaTRiX, class VecToR>
VecToR SPUC::matmult unitlowerTriangularView< MaTRiX > &  A,
VecToR &  x
 

Here is the call graph for this function:

template<class MaTRiX, class VecToR>
VecToR SPUC::matmult lowerTriangularView< MaTRiX > &  A,
VecToR &  x
 

lower_triangular_view() algorithms

Here is the call graph for this function:

template<class Matrix, class T>
Array1D<T> SPUC::matmult const transpose_view< Matrix > &  A,
const Array1D< T > &  B
 

Here is the call graph for this function:

gfx SPUC::modgfx const gfx a,
const gfx b
 

Modulo function of two gfx (local help function).

bvec SPUC::oct2bin const ivec &  octalindex,
short  keepzeros
 

complex_iu SPUC::operator & natural  r,
complex_iu  l
 

complex_iu SPUC::operator & complex_iu  r,
natural  l
 

template<class T>
Vec< T > SPUC::operator * t,
const Vec< T > &  v
[inline]
 

Multiplication of a scalar and a vector. Results in a vector.

template<class T>
Vec< T > SPUC::operator * const Vec< T > &  v,
t
[inline]
 

Multiplication of a vector and a scalar.

template<class T>
T SPUC::operator * const Vec< T > &  v1,
const Vec< T > &  v2
 

Inner (dot) product of two vectors v1 and v2.

Here is the call graph for this function:

template<class T>
Mat< T > SPUC::operator * t,
const Mat< T > &  m
[inline]
 

Multiplication of scalar and matrix.

template<class T>
Mat< T > SPUC::operator * const Mat< T > &  m,
t
[inline]
 

Multiplication of matrix and scalar.

template<class T>
Vec< T > SPUC::operator * const Vec< T > &  v,
const Mat< T > &  m
[inline]
 

Multiplication of vector and matrix.

template<class T>
Vec< T > SPUC::operator * const Mat< T > &  m,
const Vec< T > &  v
[inline]
 

Multiplication of matrix and vector.

template<class T>
Mat< T > SPUC::operator * const Mat< T > &  m1,
const Mat< T > &  m2
[inline]
 

Multiplication of two matricies.

complex_iu SPUC::operator * cnatural  r,
complex_iu  l
 

complex_iu SPUC::operator * natural  r,
complex_iu  l
 

complex_iu SPUC::operator * complex_iu  r,
natural  l
 

complex_iu SPUC::operator * complex_iu  r,
cnatural  l
 

complex_iu SPUC::operator * complex_iu  r,
complex_iu  l
 

gfx SPUC::operator * const gfx ingfx,
const gf ingf
 

gfx SPUC::operator * const gf ingf,
const gfx ingfx
 

template<class MaTRiX, class VecToR>
VecToR SPUC::operator * unitupperTriangularView< MaTRiX > &  A,
VecToR &  x
[inline]
 

Here is the call graph for this function:

template<class MaTRiX, class VecToR>
VecToR SPUC::operator * upperTriangularView< MaTRiX > &  A,
VecToR &  x
[inline]
 

Here is the call graph for this function:

template<class MaTRiX, class VecToR>
VecToR SPUC::operator * unitlowerTriangularView< MaTRiX > &  A,
VecToR &  x
[inline]
 

Here is the call graph for this function:

template<class MaTRiX, class VecToR>
VecToR SPUC::operator * lowerTriangularView< MaTRiX > &  A,
VecToR &  x
[inline]
 

Here is the call graph for this function:

template<class Matrix, class T>
Array1D<T> SPUC::operator * const transpose_view< Matrix > &  A,
const Array1D< T > &  B
[inline]
 

Here is the call graph for this function:

complex_iu SPUC::operator% complex_iu  r,
natural  l
 

template<class T>
Vec< T > SPUC::operator+ t,
const Vec< T > &  v
[inline]
 

Addition of a scalar and a vector.

template<class T>
Vec< T > SPUC::operator+ const Vec< T > &  v,
t
[inline]
 

Addition of a vector and a scalar.

template<class T>
Vec< T > SPUC::operator+ const Vec< T > &  v1,
const Vec< T > &  v2
[inline]
 

Addition of two vectors.

template<class T>
Mat< T > SPUC::operator+ t,
const Mat< T > &  m
[inline]
 

Addition of a scalar and a matrix.

template<class T>
Mat< T > SPUC::operator+ const Mat< T > &  m,
t
[inline]
 

Addition of a matrix and a scalar.

template<class T>
Mat< T > SPUC::operator+ const Mat< T > &  m1,
const Mat< T > &  m2
[inline]
 

Addition of two matricies.

complex_iu SPUC::operator+ cnatural  r,
complex_iu  l
 

complex_iu SPUC::operator+ complex_iu  r,
natural  l
 

complex_iu SPUC::operator+ complex_iu  r,
complex_iu  l
 

template<class T>
Vec< T > SPUC::operator- const Vec< T > &  v  )  [inline]
 

Negation of vector.

template<class T>
Vec< T > SPUC::operator- t,
const Vec< T > &  v
[inline]
 

Subtraction of vector from scalar. Results in a vector.

template<class T>
Vec< T > SPUC::operator- const Vec< T > &  v,
t
[inline]
 

Subtraction of a scalar from a vector.

template<class T>
Vec< T > SPUC::operator- const Vec< T > &  v1,
const Vec< T > &  v2
[inline]
 

Subtraction of a vector from a vector.

template<class T>
Mat< T > SPUC::operator- const Mat< T > &  m  )  [inline]
 

Negation of matrix.

template<class T>
Mat< T > SPUC::operator- t,
const Mat< T > &  m
[inline]
 

Subtraction of scalar and matrix.

template<class T>
Mat< T > SPUC::operator- const Mat< T > &  m,
t
[inline]
 

Subtraction of matrix and scalar.

template<class T>
Mat< T > SPUC::operator- const Mat< T > &  m1,
const Mat< T > &  m2
[inline]
 

Subtraction of two matrices.

complex_iu SPUC::operator- cnatural  r,
complex_iu  l
 

complex_iu SPUC::operator- complex_iu  r,
cnatural  l
 

complex_iu SPUC::operator- complex_iu  r,
complex_iu  l
 

template<class T>
Vec< T > SPUC::operator/ const T  t,
const Vec< T > &  v
[inline]
 

Division of t with all elements in v.

template<class T>
Vec< T > SPUC::operator/ const Vec< T > &  v,
t
[inline]
 

Division of all elements in v with t.

template<class T>
Mat< T > SPUC::operator/ const Mat< T > &  m,
t
[inline]
 

Division of matrix and scalar.

complex_iu SPUC::operator/ complex_iu  r,
natural  l
 

complex_iu SPUC::operator/ complex_iu  r,
cnatural  l
 

complex_iu SPUC::operator/ cnatural  r,
complex_iu  l
 

complex_iu SPUC::operator/ complex_iu  r,
complex_iu  l
 

gfx SPUC::operator/ const gfx ingfx,
const gf ingf
 

complex_iu SPUC::operator<< complex_iu  r,
const natural  shift
 

ostream& SPUC::operator<< ostream &  output,
const bin &  inbin
[related]
 

ostream& SPUC::operator<< ostream &  os,
const gfx ingfx
 

Output stream.

ostream& SPUC::operator<< ostream &  os,
const gf ingf
 

Output stream for gf(q).

template<class MaTRiX>
std::ostream& SPUC::operator<< std::ostream &  s,
unitupperTriangularView< MaTRiX > &  A
 

Here is the call graph for this function:

template<class MaTRiX>
std::ostream& SPUC::operator<< std::ostream &  s,
upperTriangularView< MaTRiX > &  A
 

Here is the call graph for this function:

template<class MaTRiX>
std::ostream& SPUC::operator<< std::ostream &  s,
const unitlowerTriangularView< MaTRiX > &  A
 

Here is the call graph for this function:

template<class MaTRiX>
std::ostream& SPUC::operator<< std::ostream &  s,
const lowerTriangularView< MaTRiX > &  A
 

template<class Matrix>
std::ostream& SPUC::operator<< std::ostream &  s,
const transpose_view< Matrix > &  A
 

complex_iu SPUC::operator>> complex_iu  r,
const natural  shift
 

istream& SPUC::operator>> istream &  input,
bin &  outbin
[related]
 

complex_iu SPUC::operator^ natural  r,
complex_iu  l
 

complex_iu SPUC::operator^ complex_iu  r,
natural  l
 

complex_iu SPUC::operator| natural  r,
complex_iu  l
 

complex_iu SPUC::operator| complex_iu  r,
natural  l
 

template<class T>
Mat< T > SPUC::outer_product const Vec< T > &  v1,
const Vec< T > &  v2
[inline]
 

Outer product of two vectors v1 and v2.

bvec SPUC::pol2bin const ivec &  inpol  ) 
 

double SPUC::Qfunc double  x  ) 
 

Q-function.

template<class MaTRiX, class Vector>
int SPUC::QR_factor MaTRiX &  A,
Vector &  C,
Vector &  D
 

Here is the call graph for this function:

template<class MaTRiX, class Vector>
int SPUC::QR_solve const MaTRiX &  A,
const Vector &  c,
Vector &  d,
Vector &  b
 

Here is the call graph for this function:

void SPUC::quicksort int *  v,
unsigned  n
 

template<class MaTRiX, class Vector>
int SPUC::R_solve const MaTRiX &  A,
Vector &  D,
Vector &  b
 

double SPUC::raised_cosine_imp double  alpha,
double  xin,
double  rate,
long  num_taps
 

bin SPUC::randb void   ) 
 

int SPUC::randi int  low,
int  high
 

double SPUC::randn void   ) 
 

double_complex SPUC::randn_c void   ) 
 

double SPUC::randu void   ) 
 

bool SPUC::reduce long  x,
long  n
 

template<double Des_function, double Weight_function>
double* SPUC::remez_function int  numtaps,
int  numband,
int  r,
double  bands[],
int  type
 

Author:
Tony Kirke, Copyright(c) 2001

int SPUC::reverse_int int  length,
int  in
[related]
 

void SPUC::RNG_randomize  ) 
 

void SPUC::RNG_reset  ) 
 

void SPUC::RNG_reset unsigned long  seed  ) 
 

void SPUC::root_raised_cosine fir< complex< double > > &  rcfir,
double  alpha,
int  rate,
double  offset
 

double SPUC::root_raised_cosine_imp double  alpha,
double  xin,
double  rate,
long  num_taps
 

long SPUC::round long  in,
long  bits
 

long SPUC::saturate long  in,
long  bits
 

double SPUC::sinh double  x  ) 
 

complex< double > SPUC::sqrt complex< long >  x  ) 
 

complex< double > SPUC::sqrt complex< double >  x  ) 
 

double SPUC::sqrt double  x  ) 
 

void SPUC::sub_m_v_vT mat &  m,
const vec &  v
 

void SPUC::sub_v_vT_m mat &  m,
const vec &  v
 

void SPUC::swap int *  a,
int *  b
 

cvec SPUC::to_cvec double  real,
double  imag
 

Specialized implementation of to_cvec for scalar.

ivec SPUC::to_ivec int  s  ) 
 

Specialized implementation of to_ivec for scalar.

llvec SPUC::to_llvec long_long  s  ) 
 

Specialized implementation of to_llvec for scalar.

vec SPUC::to_vec double  s  ) 
 

Specialized implementation of to_vec for scalar.

template<class T>
Matrix<T> SPUC::toeplitz Vector< T >  x  ) 
 

Get Symmetric Toeplitz matrix from Vector.

Author:
Tony Kirke, Copyright(c) 2001

template<class Matrix>
transpose_view<Matrix> SPUC::transpose_view const Matrix &  A  ) 
 

Matrix Transpose Views.

template<class MaTriX, class VecToR>
VecToR SPUC::unit_lower_triangular_solve MaTriX &  A,
VecToR &  b
 

template<class MaTRiX>
unitlowerTriangularView<MaTRiX> SPUC::unit_lower_triangular_view MaTRiX &  A  ) 
 

template<class MaTriX, class VecToR>
VecToR SPUC::unit_upper_triangular_solve MaTriX &  A,
VecToR &  b
 

template<class MaTRiX>
unitupperTriangularView<MaTRiX> SPUC::unit_upper_triangular_view MaTRiX &  A  ) 
 

template<class MaTriX, class VecToR>
VecToR SPUC::upper_triangular_solve MaTriX &  A,
VecToR &  b
 

template<class MaTRiX>
upperTriangularView<MaTRiX> SPUC::upper_triangular_view MaTRiX &  A  ) 
 

template<class T>
Vector<T> SPUC::Vector_input fir< T >  f  ) 
 

template<class T>
Vector<T> SPUC::Vector_taps fir< T >  f  ) 
 

int SPUC::weight_int int  length,
int  in
[related]
 


Variable Documentation

double(* SPUC::com_log)(double, double) = NULL
 

Pointer to logarithmic branch metric function.


Generated on Fri Sep 16 11:07:18 2005 for spuc by  doxygen 1.4.4