rxpowercal.cpp

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

CPP
93
字号
#include "typedef.h"
#include "global_var.h"
#include "measure.h"

void RxPowerCal(Uint8 rxPwrCalMode, 
				ChannelEstResult preambleChEstRes64,
				ChannelEstResult preambleChEstRes128,
				ChannelEstResult *preambleChEstResStc,
				RxPowerParam *pRxSignalNoise,
				ChannelEstResult *pPreambleChEstRes)
{
	int i;
	switch (rxPwrCalMode)
	{
	case 0x01:
		{
			for (i = 0; i < PREAMBLE_FREQ_FULL_SIZE; i++)
			{
				pPreambleChEstRes[0].ChEstOut[2*i] = preambleChEstRes64.ChEstOut[2*i];
				pPreambleChEstRes[0].ChEstOut[2*i+1] = preambleChEstRes64.ChEstOut[2*i+1];
			}
			pPreambleChEstRes[0].rxNoisePower = preambleChEstRes64.rxNoisePower;

			pPreambleChEstRes[0].rxSignalPower = preambleChEstRes64.rxSignalPower;

			(*pRxSignalNoise).rxPower = preambleChEstRes64.rxSignalPower;
			
			(*pRxSignalNoise).rxPowerDb = getDecibel(pRxSignalNoise->rxPower);

			(*pRxSignalNoise).rxNoise = preambleChEstRes64.rxNoisePower;
			
			(*pRxSignalNoise).rxNoiseDb = getDecibel(pRxSignalNoise->rxNoise);
			
			break;
		}
	case 0x02 :
	case 0x04 :
		{
			for (i = 0; i < PREAMBLE_FREQ_FULL_SIZE; i++)
			{
				pPreambleChEstRes[0].ChEstOut[2*i] = preambleChEstRes128.ChEstOut[2*i];
				pPreambleChEstRes[0].ChEstOut[2*i+1] = preambleChEstRes128.ChEstOut[2*i+1];
			}
			pPreambleChEstRes[0].rxNoisePower = preambleChEstRes128.rxNoisePower;

			pPreambleChEstRes[0].rxSignalPower = preambleChEstRes128.rxSignalPower;
			
			(*pRxSignalNoise).rxPower = preambleChEstRes128.rxSignalPower;

			(*pRxSignalNoise).rxPowerDb = getDecibel(pRxSignalNoise->rxPower);

			(*pRxSignalNoise).rxNoise = preambleChEstRes128.rxNoisePower;
			
			(*pRxSignalNoise).rxNoiseDb = getDecibel(pRxSignalNoise->rxNoise);

			break;
		}
	case 0x08:
		{
			for (i = 0; i < PREAMBLE_FREQ_FULL_SIZE; i++)
			{
				pPreambleChEstRes[0].ChEstOut[2*i] = preambleChEstResStc[0].ChEstOut[2*i];
			
				pPreambleChEstRes[0].ChEstOut[2*i+1] = preambleChEstResStc[0].ChEstOut[2*i+1];
			
				pPreambleChEstRes[1].ChEstOut[2*i] = preambleChEstResStc[1].ChEstOut[2*i];
			
				pPreambleChEstRes[1].ChEstOut[2*i+1] = preambleChEstResStc[1].ChEstOut[2*i+1];
			}

			pPreambleChEstRes[0].rxNoisePower = 0;

			pPreambleChEstRes[0].rxSignalPower = 0;

			pPreambleChEstRes[1].rxNoisePower = 0;

			pPreambleChEstRes[1].rxSignalPower = 0;

				
			(*pRxSignalNoise).rxPower = 0;

			(*pRxSignalNoise).rxPowerDb = 0;

			(*pRxSignalNoise).rxNoise = 0;
			
			(*pRxSignalNoise).rxNoiseDb = 0;
			
			break;		
		}
	}
	
}

⌨️ 快捷键说明

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