Giter Site home page Giter Site logo

ldpc-with-simd's Introduction

LDPC-with-SIMD

LDPC with SIMD.

⚠️ Just a experiment project, currently it's not using SIMD, and may not work properly.

Environment

Functions

Binary LDPC

  • Encode
  • Modulate(BPSK)
  • Channel(AWGN)
  • Demodulate(BPSK)
  • Decode(NMS/SPA)

NonBinary LDPC

  • Encode
  • Modulate(BPSK)
  • Channel(AWGN)
  • Demodulate(BPSK)
  • Decode(EMS)

Tools

  • Draw Tanner
  • Type in Alist

Install Conan

sudo apt install python3-pip
pip3 install conan

Install Python3-dev

sudo apt install python3-dev

How to use

1 Simulation

mkdir build
cd build
conan install .. --build=yaml-cpp
conan profile update settings.compiler.libcxx=libstdc++11 default
cmake -DBUILD_SHARED_LIBS=ON ..
cmake --build .
../bin/LDPC-with-SIMD --dec-h-path ../example/H.alist

2 Tools

2-1 Draw Tanner

python3 script/tanner.py --dec-h-path example/H.alist

2-1 Type in Alist

python3 script/makeAlist.py
# nRow is: 4
# nCol is: 6
# 1 1 0 1 0 0 
# 0 1 1 0 1 0
# 1 0 0 0 1 1
# 0 0 1 1 0 1
# filename is: aaa.alist

References

Binary LDPC and Basic

Nonbinary LDPC

C++ tutorial

ldpc-with-simd's People

Contributors

sciroccogti avatar

Watchers

 avatar  avatar

Forkers

ljkong1982

ldpc-with-simd's Issues

Notes

How to detect the AVX supported by your platform?

gcc -march=native -dM -E - < /dev/null | egrep "SSE|AVX" | sort

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.