백승재

receiver.h

...@@ -11,4 +11,49 @@ public: ...@@ -11,4 +11,49 @@ public:
11 char DecodedData[Nbits]; 11 char DecodedData[Nbits];
12 void demodulate(); 12 void demodulate();
13 }; 13 };
14 +
15 +void Creceiver::demodulate()
16 +{
17 + for (int i = 0; i < Nbits; i++)
18 + {
19 + constellation[i]=r[i]/Eb;
20 + }
21 + for (int i = 0; i < Nbits; i+=2)
22 + {
23 + if (constellation[i]>0&&constellation[i + 1]>0)
24 + {
25 + DecodedData[i] = 1;
26 + DecodedData[i + 1] = 1;
27 + }
28 + else if (constellation[i]<0&&constellation[i + 1]>0)
29 + {
30 + DecodedData[i] = 0;
31 + DecodedData[i + 1] = 1;
32 + }
33 + else if (constellation[i]<0 &&constellation[i + 1]<0)
34 + {
35 + DecodedData[i] = 0;
36 + DecodedData[i + 1] = 0;
37 + }
38 + else if (constellation[i] >0 && constellation[i + 1]<0)
39 + {
40 + DecodedData[i] = 1;
41 + DecodedData[i + 1] = 0;
42 + }
43 + }
44 +}
45 +#endif
46 +#ifndef __RECEIVER
47 +
48 +#define __RECEIVER
49 +#include <cmath>
50 +#include "variables.h"
51 +class Creceiver {
52 +public:
53 + Creceiver() {};
54 + float *r; // corrupted signal = received signal
55 + float constellation[Nbits];
56 + char DecodedData[Nbits];
57 + void demodulate();
58 +};
14 #endif 59 #endif
......