Programming

November 21st, 2023

Programming Platform (IT++):

  1. Using it++ at iridis
    1. ssh [userid]@iridis5_a.soton.ac.uk   [ or  iridis5_b or  iridis5_c ]
      • for example:  ssh sxn@iridis5_a.soton.ac.uk
    2. Further wiki
    3. Application for MSc/UG project student
    4. Application for accounts [PhD]
  2. After login, you need to load itpp using the following command:
    1. module load itpp [latest version]
    2. module load itpp/4.3.1-gnu [older version]
  3. Running simulations on Iridis: example given
  4. A quick way to transfer files to/from iridis.
  5. This job file allows you to run 4 simulations for 2 hours, in 4 different directories. You need to first create 4 directories, e.g. run1, run2, run3 and run4. Then copy related control files and executable file into each directory. For instance, you can run 4 simulations in 4 directories for different SNR values. See related iridis commands below:
    • submit job: sbatch job
    • check your jobs: squeue -u <YourUserName>
    • cancel your jobs: scancel -u <YourUserName>
    • check how busy is iridis: squeue
    • You can also run a simulation without submitting a job, for 2 hours using a single core using the following command before running your program: export OMP_NUM_THREADS=1
    • for example (using nohup allows you to logout without killing your program):
      export OMP_NUM_THREADS=1
      nohup ./conv_test
  6. You may also want to install Linux and IT++ in your computer.
  7. Linux:
    1. from OpenSuse you can install IT++ (libitpp6 and libitpp-devel) using YaST2.
    2. Redhat:
      • yum install itpp
      • yum install itpp-devel
  8. MacOS: http://macappstore.org/itpp/
    • ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
    • brew install itpp
  9. tkdiff is useful to compare files. Installation for Mac, use this command: brew install tkdiff
  10. A brief introduction to Linux.

Matlab:

Python:

Code Development:

Code Documentations:

  1. It++
  2. Xcode

Programming Codes:

[to unzip .tgz file (myfile.tgz), use command: tar xvzf myfile.tgz]

  1. Channel Capacity calculator: IT++ codes  ::  Matlab codes (SISO)  ::  Matlab codes (MIMO)
  2. Unity-Rate Codes: IT++ codes
  3. Coded Modulation: IT++ codes
  4. Space-Time Trellis Codes: IT++ codes
  5. Space-Time Block Codes: IT++ codes
  6. Trellis-Coded MIMO: IT++ codes
  7. Turbo-Coded and Convolutional-Coded MIMO: IT++ codes
  8. LDPC-Coded MIMO: IT++ codes
  9. LDPC-Coded MIMO Nakagami: IT++ codes
  10. Self-Concatenated Codes: IT++ codes
  11. EXIT charts for BICM-ID: IT++ codes
  12. VLC-assisted Coded Modulation: IT++ codes
  13. Convolutional-Coded Decode-and-Forward and Amplify-and-Forward: IT++ codes
  14. Antenna patterns: Matlab codes
  15. Modem channel: IT++ codes
  16. Hierarchical Modulation (HM): IT++ codes
  17. Polar coding: Matlab codes  ::  IT++ codes
  18. RRNS coding: C and itpp codes
  19. RRNS coded HM: itpp codes
  20. NOMA: Matlab codes
  21. Cooperative jammer: Matlab codes  ::  Matlab codes
  22. Soft Demodulation: Matlab codes
  23. Simple 4PSK simulator over Rayleigh fading channels: Matlab codes
  24. M-PSK simulations and plotting in Matlab: Matlab Codes
  25. M-PSK MIMO LDPC simulation in Matlab: Matlab Codes
  26. SWIPT: Matlab Codes
  27. Reconfigurable Intelligent Surfaces: Matlab Codes

Programming Codes from other sites:

  1. IEEE papers with programming codes

Useful online tools:

  1. Online derivative calculator
  2. Derivation in Matlab
  3. Matrix Calculus
  4. Online integral calculator
  5. Eigen Calculator
  6. Find root
Comments are closed.