derandomization.cpp

来自「在vc上做的802.16d ofdm phy的仿真」· C++ 代码 · 共 37 行

CPP
37
字号
#include "typedef.h"
#include "randomization.h"
#include "derandomization.h"
#include "global_var.h"

//randomization
void derandomization (Uint8 mode,
					DlRxBurstParam *pDlRxBurstParam,
					Uint16 burstIndex,
					Uint8  *pRandomizationIn,         
					Uint16  randomizationInLength,   
					Uint16  *pRandVector,                  
   					Uint8  *pRandomizationOut) 
{
	Int16 i, j;

	Int8  feedBack;
	
	if((*pDlRxBurstParam).ofdmSymIndex == 0)
	{
		dlRandInit(burstIndex,(*pDlRxBurstParam).bsid,
			(*pDlRxBurstParam).diuc,(*pDlRxBurstParam).frameIndex,pRandVector);
	}
	for (i = 0; i < randomizationInLength; i++)
	{
       	pRandomizationOut[i] = pRandomizationIn[i];
		for (j = 0; j < 8; j++)
		{
			feedBack  = (*pRandVector & 1);
			*pRandVector  >>= 1;
			feedBack ^= (*pRandVector & 1);
			pRandomizationOut[i] ^= feedBack << (7 - j);//"<<" before "^" ;
         	*pRandVector ^= (feedBack << 14);
		}
	}
		
}

⌨️ 快捷键说明

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