⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interleaver.cpp

📁 QAM module to use in Java with an easy interface and powerful performance
💻 CPP
字号:
//---------------------------------------------------------------------------


#pragma hdrstop

#include "Interleaver.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

TInterleaver::TInterleaver()
{
        Init(1,1);
}

TInterleaver::TInterleaver(int B, int M)
{
        Init(B,M);
}


int __fastcall TInterleaver::DeInterleaveUpdate(int val)
{
        int return_val;
        Idelaylines[delaylineptr].delay[Idelaylines[delaylineptr].ptr]=val;
        Idelaylines[delaylineptr].ptr++;Idelaylines[delaylineptr].ptr%=Idelaylines[delaylineptr].delay.size();
        return_val=Idelaylines[delaylineptr].delay[Idelaylines[delaylineptr].ptr];
        delaylineptr--;
        if(delaylineptr<0)delaylineptr=Length-1;
        return return_val;
}

int __fastcall TInterleaver::InterleaveUpdate(int val)
{
        int Return_Val;
        Idelaylines[delaylineptr].delay[Idelaylines[delaylineptr].ptr]=val;
        Idelaylines[delaylineptr].ptr++;Idelaylines[delaylineptr].ptr%=Idelaylines[delaylineptr].delay.size();
        Return_Val=Idelaylines[delaylineptr].delay[Idelaylines[delaylineptr].ptr];
        delaylineptr++;delaylineptr%=Length;
        return Return_Val;
}

//try B=128 M=1 (M=1 produces normal triagular shape)
void TInterleaver::Init(int B, int M)
{
        delaylineptr=0;
        Length=B;
        Idelaylines.resize(B);
        for(unsigned int i=0;i<Idelaylines.size();i++)
        {
                Idelaylines[i].delay.resize(i*M+1);
                //for(unsigned int j=0;j<Idelaylines[i].delay.size();j++)Idelaylines[i].delay[j]=rand()%256;
                Idelaylines[i].ptr=0;
        }
}






void __fastcall TInterleaver::ResetInterleaverPtr()
{
        delaylineptr=0;
}

void __fastcall TInterleaver::ResetDeInterleaverPtr()
{
        delaylineptr=Length-1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -