interleaving.cpp
来自「在vc上做的802.16d ofdm phy的仿真」· C++ 代码 · 共 21 行
CPP
21 行
//#include "dlTxBurstData.h"
#include "typedef.h"
void interleaving (Uint8 *pInterleavingIn, Uint16 ncbps,
Uint8 ncpc, Uint8 *pInterleavingOut)
{
Int16 halfNum;
Int16 prePermutIndex, firstPermutIndex, secondPermutIndex;
halfNum = (ncpc == 1) ? 1 : (ncpc >> 1);
for (prePermutIndex = 0; prePermutIndex < ncbps; prePermutIndex++)
{
firstPermutIndex = (ncbps/12) * (prePermutIndex%12) + prePermutIndex/12;
secondPermutIndex = halfNum * (firstPermutIndex / halfNum)
+ (firstPermutIndex + ncbps - 12 * firstPermutIndex / ncbps) % halfNum;
pInterleavingOut[secondPermutIndex] = pInterleavingIn[prePermutIndex];
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?