Menu

Soft Input Soft Output modules for turbo rec.

2008-02-21
2012-09-15
  • Bogdan Cristea

    Bogdan Cristea - 2008-02-21

    Hi list
    I have uploaded to my personal page (cristeab.googlepages.com) a tutorial related to turbo receivers. This tutorial is build on the SISO class and contains examples of C++ programs implementing turbo receivers: turbo codes, turbo equalisation, turbo multi-user reception, BICM, etc. EXIT diagrams of these turbo receivers can be computed using the EXIT class. Feel free to use this for your projects. Any suggestions and comments are welcomed.
    regards
    Bogdan

     
    • Bogdan Cristea

      Bogdan Cristea - 2009-04-02

      These issues seem to be related to Visual C++ compiler.

      For INFINITY you could use

      include <limits>

      define INFINITY std::numeric_limits<double>::infinity()

      and for isinf

      int isinf(double x) {return !_finite(x);}

      IT++ should correctly define isinf() regardless of the compiler, it's odd to see that error.

       
    • maikl

      maikl - 2008-04-18

      Hi Bogdan,

      Thank you for providing this. It is very useful, though I just read through it roughly. I hope I can communicate with you in the future when I put my hands on it.

      Regards
      Maikl

       
      • Bogdan Cristea

        Bogdan Cristea - 2008-04-18

        Hi
        I cannot guarantee a quick response, but I'll try to help you.
        Please note that all programs were developed on openSuSE 10.2. There are some known issues when porting the programs to Windows (signaled to me by another user).
        regards
        Bogdan

         
    • Rui Fa

      Rui Fa - 2009-04-02

      Hi,

      I got some errors when I compiled you SISO codes in the MSVC 2005 as follow

      1>Compiling...
      1>SISO.cpp
      1>.\SISO.cpp(331) : error C2593: 'operator ^' is ambiguous
      1> could be 'built-in C++ operator^(int, short)'
      1> or 'built-in C++ operator^(int, int)'
      1> or 'built-in C++ operator^(int, bool)'
      1> while trying to match the argument list '(int, itpp::bin)'
      1>.\SISO.cpp(428) : error C3861: 'isinf': identifier not found
      1>.\SISO.cpp(451) : error C3861: 'isinf': identifier not found
      1>.\SISO.cpp(577) : error C3861: 'isinf': identifier not found
      1>.\SISO.cpp(600) : error C3861: 'isinf': identifier not found
      1>.\SISO.cpp(793) : error C3861: 'isinf': identifier not found
      1>.\SISO.cpp(821) : error C3861: 'isinf': identifier not found
      1>.\SISO.cpp(947) : error C3861: 'isinf': identifier not found
      1>.\SISO.cpp(974) : error C3861: 'isinf': identifier not found
      1>.\SISO.cpp(1413) : warning C4244: 'initializing' : conversion from 'int64' to 'size_t', possible loss of data
      1>.\SISO.cpp(1414) : warning C4244: 'initializing' : conversion from '
      int64' to 'size_t', possible loss of data
      1>.\SISO.cpp(1415) : warning C4244: 'initializing' : conversion from 'int64' to 'size_t', possible loss of data
      1>.\SISO.cpp(1416) : warning C4244: 'initializing' : conversion from '
      int64' to 'size_t', possible loss of data
      1>.\SISO.cpp(2567) : error C2065: 'INFINITY' : undeclared identifier

      it seems the compiler can recognize 'INFINITY' and 'isinf', can you help me with this?

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.