차은영

receiver change

 constellation_main.cpp
myMatrix.cpp
c:\users\현우\desktop\0509_team2\constellation\constellation\mymatrix.cpp(29): warning C4101: 'temp' :참조되지 않은 지역 변수입니다.
sender.cpp
c:\users\현우\desktop\0509_team2\constellation\constellation\sender.cpp(7): error C2084: 'Csender::Csender(void)' 함수에 이미 본문이 있습니다.
c:\users\현우\desktop\0509_team2\constellation\constellation\sender.h(7): note: '{ctor}'의 이전 정의를 참조하십시오.
c:\users\현우\desktop\0509_team2\constellation\constellation\sender.cpp(8): warning C4552: '+': 의미 없는 연산자입니다. 파생 작업이 있는 연산자여야 합니다.
c:\users\현우\desktop\0509_team2\constellation\constellation\sender.cpp(10): warning C4244: '=': 'int'에서 'float'(으)로 변환하면서 데이터가 손실될 수 있습니다.
c:\users\현우\desktop\0509_team2\constellation\constellation\sender.cpp(15): error C2059: 구문 오류: ')'
c:\users\현우\desktop\0509_team2\constellation\constellation\sender.cpp(15): error C2143: 구문 오류: ';'이(가) '{' 앞에 없습니다.
c:\users\현우\desktop\0509_team2\constellation\constellation\sender.cpp(15): error C2447: '{': 함수 헤더가 없습니다. 이전 스타일의 형식 목록입니까?
코드를 생성하고 있습니다...
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.Cpp.Platform.targets(57,5): error MSB8020: v142에 대한 빌드 도구(플랫폼 도구 집합 = 'v142')를 찾을 수 없습니다. v142 빌드 도구를 사용하여 빌드하려면 v142 빌드 도구를 설치하십시오. [프로젝트] 메뉴를 선택하거나 솔루션을 마우스 오른쪽 단추로 클릭한 다음 "솔루션 대상 변경"을 선택하여 현재 Visual Studio 도구로 업그레이드할 수도 있습니다.
......
......@@ -111,7 +111,9 @@
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="constellation_main.cpp" />
<ClCompile Include="evaluate.cpp" />
<ClCompile Include="myMatrix.cpp" />
<ClCompile Include="receiver.cpp" />
<ClCompile Include="sender.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
</ClCompile>
......
......@@ -27,6 +27,12 @@
<ClCompile Include="channel.cpp">
<Filter>소스 파일</Filter>
</ClCompile>
<ClCompile Include="receiver.cpp">
<Filter>소스 파일</Filter>
</ClCompile>
<ClCompile Include="evaluate.cpp">
<Filter>소스 파일</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="sender.h">
......
#include "evaluate.h"
void Cevaluate::evaluate() {
float errors = 0;
for (int i = 0; i < Nbits; i++) if (Data[i] != DecodedData[i]) errors += 1;
BER = errors / Nbits;
}
\ No newline at end of file
......@@ -9,5 +9,6 @@ public:
char *DecodedData; // from the receiver
char *Data; // from the sender
void evaluate();
float BER;
};
#endif
......
......@@ -7,6 +7,11 @@ using namespace std;
Creceiver::Creceiver() {
}
void Creceiver::demodulate()
{
float c0[20];
float c1[20];
for (float t = 0; t < Nsamplespersymbol; t++)
......@@ -14,41 +19,43 @@ Creceiver::Creceiver() {
c0[(int)t] = sqrt(2 * Nsamplespersymbol)*cos(2 * PI*Nsamplespersymbol*t);
c1[(int)t] = sqrt(2 * Nsamplespersymbol)*sin(2 * PI*Nsamplespersymbol*t);
}
for (int i = 0; i < Nbits * 10; i = i + 20) //
for (int i = 0; i < Nbits * 10; i = i + 20)
{
float sum = 0;
float sum2 = 0;
for (int j = 0; j < 20; i++)
float sum_C0 = 0;
float sum_C1 = 0;
for (int j = 0; j < 20; j++)
{
sum = sum + (r[i + j] * c0[j]);
sum2 = sum2 + (r[i + j] * c1[j]);
sum_C0 = sum_C0 + (r[i + j] * c0[j]);
sum_C1 = sum_C1 + (r[i + j] * c1[j]);
}
constellation[i] = sum;
constellation[i + 1] = sum2;
constellation[i / 10] = sum_C0 / 383.;
constellation[(i / 10) + 1] = sum_C1 / 415.;
}
}
float *r; // corrupted signal = received signal
float constellation[Nbits];
char DecodedData[Nbits];
void Creceiver::demodulate()
{
float c0[20];
float c1[20];
for (float t = 0; t < Nsamplespersymbol; t++)
{
c0[(int)t] = sqrt(2 * Nsamplespersymbol)*cos(2 * PI*Nsamplespersymbol*t);
c1[(int)t] = sqrt(2 * Nsamplespersymbol)*sin(2 * PI*Nsamplespersymbol*t);
}
for (int i = 0; i < Nbits * 10; i = i + 20) //
for (int i = 0; i < Nbits; i = i + 2)
{
float sum = 0;
float sum2 = 0;
for (int j = 0; j < 20; i++)
if (constellation[i] > 0 && constellation[i + 1] > 0)
{
DecodedData[i] = 0;
DecodedData[i + 1] = 0;
}
else if (constellation[i] < 0 && constellation[i + 1] > 0)
{
DecodedData[i] = 1;
DecodedData[i + 1] = 0;
}
else if (constellation[i] < 0 && constellation[i + 1] < 0)
{
DecodedData[i] = 1;
DecodedData[i + 1] = 1;
}
else if (constellation[i] > 0 && constellation[i + 1] < 0)
{
sum = sum + (r[i + j] * c0[j]);
sum2 = sum2 + (r[i + j] * c1[j]);
DecodedData[i] = 0;
DecodedData[i + 1] = 1;
}
constellation[i] = sum;
constellation[i + 1] = sum2;
}
};
\ No newline at end of file
......