윤보민

Merge remote-tracking branch 'origin/eon'

...@@ -2,11 +2,104 @@ ...@@ -2,11 +2,104 @@
2 #define __SENDER 2 #define __SENDER
3 #include <cmath> 3 #include <cmath>
4 #include "variables.h" 4 #include "variables.h"
5 -class Csender { 5 +
6 +#include <iostream>
7 +#include <cstdlib>
8 +#include <ctime>
9 +#include <fstream>
10 +
11 +
12 +#define PI 3.141592
13 +
14 +using namespace std;
15 +
16 +class Csender
17 +{
18 +private:
19 +
20 +
6 public: 21 public:
7 - Csender() {}; 22 + float c0;
8 - char data[Nbits]; 23 + float c1;
24 + float T = 20;
25 + float t = 0;
26 + float A = 100;
27 +
28 + float b0[500];
29 + float b1[500];
30 +
31 + int sum = 0;
32 +
33 + float data[Nbits]; // 1000°³
34 +
35 + Csender()
36 + {};
37 +
38 +
39 +
40 +
41 +
9 float s[Nbits/Nbitspersymbol*Nsamplespersymbol]; // trasmitted signal 42 float s[Nbits/Nbitspersymbol*Nsamplespersymbol]; // trasmitted signal
10 - void transmitData(); 43 +
44 + void transmitData()
45 + {
46 +
47 + ofstream out("senderoutput.txt");
48 +
49 + srand((unsigned int)time(NULL));
50 + for (int i = 0; i < 1000; i++)
51 + {
52 + data[i] = rand() % 2;
53 + out << data[i] << endl;
54 + }
55 +
56 +
57 + for (int i = 0; i < 1000; i++)
58 + {
59 + if (data[i] == 0)
60 + {
61 + data[i] = 1;
62 + }
63 + else if (data[i] == 1)
64 + {
65 + data[i] = -1;
66 + }
67 + }
68 +
69 +
70 + for (int i = 0; i < 500; i++)
71 + {
72 + b0[i] = data[2 * i];
73 + b1[i] = data[(2 * i) + 1];
74 +
75 + }
76 +
77 + c0 = sqrt(2 / T) * cos(2 * PI / T * t);
78 + c1 = sqrt(2 / T) * sin(2 * PI / T * t);
79 +
80 + sum = 0;
81 +
82 + for (int i = 0; i < 500; i++)
83 + {
84 + for (t = 0; t < 20; t++)
85 + {
86 + s[sum] = A * ((b0[i] * sqrt(2 / T) * cos(2 * PI / T * t)) + b1[i] * sqrt(2 / T) * sin(2 * PI / T * t));
87 + sum++;
88 + }
89 + }
90 +
91 +
92 +
93 + }
94 +
95 +
96 +
97 + //1½Éº¼À» 20°³·Î Âɰµ´Ù.
98 +
99 +
11 }; 100 };
101 +
102 +
103 +
104 +
12 #endif 105 #endif
......