📄 diffdetector.cpp
字号:
/*****************************************************************************
* Class -- DiffDetector *
* Functions -- detect *
* Returns -- Detected data bits *
* *
* Note: every time it processes it takes 9 samples(=1 symbol) *
*****************************************************************************/
class DiffDetector
{ private:
complex PreviousSymbol,CurrentSymbol;
double DataReal,DataImag;
int start;
public:
DiffDetector(){start=0;}
void detect(double DataStrobeIn[], int BitsOut[])
{ //complex PreviousSymbol(DataStrobeIn[0],DataStrobeIn[1]);
if (!start)
{ PreviousSymbol=complex (DataStrobeIn[0],DataStrobeIn[1]);
start=1;
}
else
{ CurrentSymbol=complex (DataStrobeIn[0],DataStrobeIn[1]);
DataReal=real(PreviousSymbol*conj(CurrentSymbol));
DataImag=imag(PreviousSymbol*conj(CurrentSymbol));
if ((DataReal>0)&&(DataImag>0))
{ BitsOut[0]=0;
BitsOut[1]=0;
}
else if ((DataReal<0)&&(DataImag>0))
{ BitsOut[0]=1;
BitsOut[1]=0;
}
else if ((DataReal<0)&&(DataImag<0))
{ BitsOut[0]=1;
BitsOut[1]=1;
}
else
{ BitsOut[0]=0;
BitsOut[1]=1;
}
PreviousSymbol=CurrentSymbol;
}
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -