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 + -
显示快捷键?