|
From: | Salija P |
Subject: | Re: [Discuss-gnuradio] Verifying Turbo encoder output (was: Re: (no subject) |
Date: | Wed, 24 Jun 2015 10:05:52 +0530 |
AchilleasLet us know if you have any more questions.The last one constructs it from a random permutation with a given seed (please see .cc code for details).the first 2 are trivial and copy constructor,as you can see there are 5 possible constructors:I am copying the class definition below:gr-trellis/include/trellis/gnuaradio/interleaver.hThe interleaver class (pretty straighforward) has been implemented in the files:You can give the interleaver specification either through a file or by letting gnuradio generate a random one.and an interleaver specification.The pccc block requires two FSM (finite state machine) specifications (one for each of the constituent codes)is one way to generate a random interleaver with a given seed (666 in this case).interleaver(666)Salija,the notation
gr-trellis/lib/interleaver.cc
------------------
/*!
* \brief INTERLEAVER class
* \ingroup trellis_coding_blk
*/
class TRELLIS_API interleaver
{
private:
int d_K;
std::vector<int> d_INTER;
std::vector<int> d_DEINTER;
public:
interleaver();
interleaver(const interleaver & INTERLEAVER);
interleaver(int K, const std::vector<int> & INTER);
interleaver(const char *name);
interleaver(int K, int seed);
int K () const { return d_K; }
const std::vector<int> & INTER() const { return d_INTER; }
const std::vector<int> & DEINTER() const { return d_DEINTER; }
void write_interleaver_txt(std::string filename);
};
--------------------
interleaver();
interleaver(const interleaver & INTERLEAVER);
interleaver(int K, const std::vector<int> & INTER);
interleaver(const char *name);
interleaver(int K, int seed);
the third construct an interleaver from a vector with specified permutations and
the fourth one from a file with specified permutations.
[Prev in Thread] | Current Thread | [Next in Thread] |