dltxpreamble.cpp
来自「在vc上做的802.16d ofdm phy的仿真」· C++ 代码 · 共 111 行
CPP
111 行
#include "typedef.h"
#include "global_var.h"
//#include "codetable.h"
#include "math.h"
void dlTxPreamble(Uint8 preambleType,Int16 *pPreamble)
{
int i;
if (preambleType == PREAMBLE_64)
{
for (i = 0; i < 28; i++)
{
pPreamble[2*i] = 0;
pPreamble[2*i+1] = 0;
}
for (i = 28; i <= 228; i++)
{
if ( i % 4 == 0)
{
pPreamble[2*i] = 2 * g_preambleFreqTable[2*(i-28)];
pPreamble[2*i+1] = - 2 * g_preambleFreqTable[2*(i-28)+1];
}
else
{
pPreamble[2*i] = 0;
pPreamble[2*i+1] = 0;
}
}
for (i = 229; i < 256; i++)
{
pPreamble[2*i] = 0;
pPreamble[2*i+1] = 0;
}
}
else
{
if (preambleType == PREAMBLE_128)
{
for (i = 0; i < 28; i++)
{
pPreamble[2*i] = 0;
pPreamble[2*i+1] = 0;
}
for (i = 28; i <= 228; i++)
{
if ( i % 2 == 0)
{
pPreamble[2*i] = (Int16) (sqrt(2) * g_preambleFreqTable[2*(i-28)]);
pPreamble[2*i+1] = (Int16) (sqrt(2) * g_preambleFreqTable[2*(i-28)+1]);
}
else
{
pPreamble[2*i] = 0;
pPreamble[2*i+1] = 0;
}
}
for (i = 229; i < 256; i++)
{
pPreamble[2*i] = 0;
pPreamble[2*i+1] = 0;
}
}
else
{
for (i = 0; i < 28; i++)
{
pPreamble[2*i] = 0;
pPreamble[2*i+1] = 0;
pPreamble[2*i+512] = 0;
pPreamble[2*i+513] = 0;
}
for (i = 28; i <= 228; i++)
{
if (i % 2 == 0)
{
pPreamble[2*i] = (Int16) (sqrt(2) * g_preambleFreqTable[2*(i-28)]);
pPreamble[2*i+1] = (Int16) (sqrt(2) * g_preambleFreqTable[2*(i-28)+1]);
pPreamble[2*i+512] = 0;
pPreamble[2*i+513] = 0;
}
else
{
pPreamble[2*i] = 0;
pPreamble[2*i+1] = 0;
pPreamble[2*i+512] = (Int16) (sqrt(2) * g_preambleFreqTable[2*(i-28)]);
pPreamble[2*i+513] = (Int16) (sqrt(2) * g_preambleFreqTable[2*(i-28)+1]);
}
}
for (i = 229; i < 256; i++)
{
pPreamble[2*i] = 0;
pPreamble[2*i+1] = 0;
pPreamble[2*i+512] = 0;
pPreamble[2*i+513] = 0;
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?