synchronization.cpp

来自「扩展的直序扩频系统」· C++ 代码 · 共 39 行

CPP
39
字号
#include "Common.h"

int Syn(complex *buffer)
{
	int i,j = 0, Num = 0;
	complex pow[PREAMBLE_LENGTH] = {0.f,0.f};
	complex conjm[PREAMBLE_LENGTH*2] = {0.f, 0.f};              //方便于进行滑动相关
	complex msequence[PREAMBLE_LENGTH] = {0.f, 0.f};

	float   Maxpow = 0.f, power;
	
	Gen_msequence(msequence);

	for (i=0; i<PREAMBLE_LENGTH; i++)
	{
		conjm[i] = ComplexConj(msequence[i]);
		conjm[i+PREAMBLE_LENGTH] = conjm[i];
	}
	
	for (i=0; i<PREAMBLE_LENGTH; i++)
	{
		for (j=0; j<PREAMBLE_LENGTH; j++)
		{
			pow[i] = ComplexAdd(pow[i], ComplexMul(buffer[j], conjm[i+j]));
		}

		power = ComplexPow(pow[i]);

		if (power > Maxpow)
		{
			Num = i;       
			Maxpow = power;
		}
	}
	
	return (PREAMBLE_LENGTH - Num);                                //Syn adjust location
	
}

⌨️ 快捷键说明

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