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

📄 dltxframe.cpp.bak

📁 在vc上做的802.16d ofdm phy的仿真
💻 BAK
字号:
#include "dlTxBurst.h"
#include "dlTxPreamble.h"
#include "dlTxStcEncode.h"
#include "dlTxMod.h"

#include "typedef.h"
#include "global_var.h"

#include <fstream.h>
#include <iomanip.h>

void dlTxFrame()
{
	Uint16 g_dlTxFrameSymSize;
	
	DlTxBurstParam *pTxBurstParam;
	
	Int16 *pTxModulationOut;
	
	Uint16  txModIndex = 0;
	
	g_dlTxFrameSymIndex = 0;
	
	g_dlTxStcFlag = 0;

	g_dlTxFrameSymSize = g_bsDlFrameParam.frameDurationSym;
	
	pTxBurstParam = g_dlTxBurstParam;
//temp
	
	pTxModulationOut = TxModulationOut;
	int i;
	ofstream out1;
	//dltxframe
	while(txModIndex < 52)
	{
		if (g_dlTxFrameSymIndex < g_dlTxFrameSymSize)
		{
			dlTxBursts(pTxBurstParam);
		}
		if ((*pTxBurstParam).burstFlag == STCFCH_BURSTFLAG
			|| (*pTxBurstParam).burstFlag == STC_BURSTFLAG )
		{
			if ((*pTxBurstParam).burstFlag == STCFCH_BURSTFLAG)
			{
				if ((*pTxBurstParam).burstSymIndex == 0)
				{
					dlTxStcPreambleEncode (g_dlTxModulationOutBuff,
										   2*FFT_SIZE,
										   g_dlTxStcOutBuff0,
										   g_dlTxStcOutBuff1);

					dlTxMod();
				}
				else
				{
					g_dlTxFrameSymIndex ++;//don't do txmodulation;

					g_dlTxBurstIndex ++;

					pTxBurstParam ++; //only 2 symbols in stc fch burst					

					g_dlTxStcFlag ^= 1;

					continue;
				}
			}
			else
			{
				//start stc code
				dlTxStcEncode (&g_dlTxStcFlag,
							   g_dlTxModulationOutBuff,
							   g_dlTxModulationOutBuff,
							   2 * FFT_SIZE,
							   g_dlTxStcOutBuff0,
							   g_dlTxStcOutBuff1);	

				dlTxMod();
			}
			out1.open("temp\\txchannel0.txt",ios::app);
			for (i = 0; i < 1280; i ++)
			{
				out1 << setw(10) << g_dlTxInterpOutBuff0[i];
			}
			out1.close();
				
			out1.open("temp\\txchannel1.txt",ios::app);
			for (i = 0; i < 1280; i ++)
			{
				out1 << setw(10) << g_dlTxInterpOutBuff1[i];
			}
			out1.close();
				
		}
		else
		{
			dlTxMod();
			
			out1.open("temp\\txchannel0.txt",ios::app);
			for (i = 0; i < 1280; i ++)
			{
				out1 << setw(10) << g_dlTxInterpOutBuff0[i];
				*pTxModulationOut++ = g_dlTxInterpOutBuff0[i];
			}
			out1.close();
		}	
		
		txModIndex ++;
		
	//	g_dlTxFrameSymIndex ++;
		
		(*pTxBurstParam).burstSymIndex ++;

/*		if ((*pTxBurstParam).burstSymIndex == (*pTxBurstParam).burstSizeSym
			&& g_dlTxBurstIndex < g_bsDlFrameParam.burstNum - 1)
		{
			pTxBurstParam ++;
			g_dlTxBurstIndex ++;
		}
		*/
	}
}

⌨️ 快捷键说明

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