diffencoder.cpp

来自「QPSK调制Modem的C实现及文档说明」· C++ 代码 · 共 45 行

CPP
45
字号
// Class that implements the function of a differential encoder.



class DiffEncoder {
   double PreviousSymbol;
   double EncodedSymbol;


public:
  DiffEncoder() {PreviousSymbol=M_PI/4;}
  double EncodeSymbol(int bit1, int bit2)
  {   if (bit1 == 0 && bit2 == 0)
			EncodedSymbol = M_PI / 4;

		else if (bit1 == 0 && bit2 == 1)
			EncodedSymbol = - (M_PI / 4);

		else if (bit1 == 1 && bit2 == 1)
			EncodedSymbol = - (3* M_PI / 4);

		else
			EncodedSymbol = 3* M_PI / 4;
     EncodedSymbol = fmod((EncodedSymbol+PreviousSymbol),(2*M_PI));
     PreviousSymbol = EncodedSymbol;  
     return EncodedSymbol;
   }
};
















⌨️ 快捷键说明

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