IT++ Logo
Main features of IT++

A short list of the main features of IT++ is given below sorted in different categories. Many more features and functions exist and for these we refer to the reference documentation.

Programming features

  • templated array and stack container classes
  • input and file argument parser
  • timing functions and classes

Basic mathematical features

  • templated vector and matrix classes
  • sparse vectors and matrix classes
  • elementary functions on vectors and matrices
  • statistics classes and functions
  • matrix decompositions such as eigenvalue, Cholesky, LU, Schur, SVD, and QR
  • solving linear system of equations (including over and underdetermined)
  • random number generation (Mersenne Twister generator)
  • binary and Galois types (both scalar and vector and matrices)
  • integration of 1-dimensional functions
  • unconditional nonlinear optimization (Quasi-Newton search)

Signal processing

  • filter functions and classes
  • frequency domain filtering
  • FFT, DFT, DCT, and Hadamard transforms
  • time and frequency domain windows
  • evaluating and finding roots of polynomials (and inverse operations)
  • filter design functions
  • fast independent component analysis (fast ICA)

Communications

  • modulators (BPSK, PSK, PAM, QAM)
  • vector modulators (e.g. for OFDM and MIMO)
  • OFDM and CDMA modulators
  • pulse shaping filters (including RC and RRC)
  • binary symmetric (BSC) and additive white Gaussian Noise (AWGN) channels
  • multipath fading channels (both frequency-flat and frequency-selective)
  • COST 207, COST 257, and ITU channel models
  • Hamming, extended Golay, and CRC codes
  • BCH and Reed-Solomon codes
  • convolutional and punctured convolutional codes
  • recursive convolutional codes
  • turbo codes
  • interleavers

Protocol simulation

  • event-based simulation classes
  • signal and slots for simplified syntax
  • TCP clients and servers
  • selective repeat ARQ
  • queue classes
  • packet generators

Source coding

  • Scalar Quantizer (SQ) and Vector Quantizer (VQ) classes and functions for training of these
  • LPC, LSF, and cepstrum parameter calculation for speech processing
  • Gaussian Mixture Modeling
  • reading and saving several different audiofile formats
  • reading and saving images in PNM format

Other features

  • binary file format for most built in and IT++ types
  • fixed-point scalar, vector and matrix types

Generated on Tue Aug 17 2021 10:59:15 for IT++ by Doxygen 1.9.8