mapremovecpfft.c

来自「OFDM系列之一:OFDM_demodulation OFDM系统实现的C语」· C语言 代码 · 共 31 行

C
31
字号
// Description:	remove CP and do FFT
// Parameters:	u_OFDMsymbolCP: OFDM symbol with CP
// Return:		u_subcarrierSymbol: the received sub-carrier symbols

// Author: Wang Xinzheng
// Version: 1.0.0

#include "mapRemoveCpFFT.h"
floatComplexVec * mapRemoveCpFFT(floatComplexVec* u_OFDMsymbolCP, int CpLength)
{
	int i;
	int totalLength;	// including CP
	int fftSize;		// without CP
	floatComplexVec* u_subcarrierSymbol;	// the received sub-carrier symbols
	floatComplexVec* tempPoint;

	totalLength=u_OFDMsymbolCP->len;
	fftSize=totalLength-CpLength;
	tempPoint=floatComplexVecAlloc(fftSize); // the received samples without CP
	// remove CP
	for (i=0; i<fftSize; ++i)
	{
		*(tempPoint->a+i)=*(u_OFDMsymbolCP->a+CpLength+i);
	}

	// FFT
	fft_ifft(tempPoint,0);
	u_subcarrierSymbol=tempPoint;

	return u_subcarrierSymbol;
}

⌨️ 快捷键说明

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