資源簡介
通信系統(tǒng)綜合實驗內(nèi)數(shù)字基帶仿真實驗的編程部分,在VS2010環(huán)境下編譯通過,結(jié)果準確

代碼片段和文件信息
//?23FEC.cpp?:?定義控制臺應用程序的入口點。
//
#include?“stdafx.h“
extern?int?gx[10][15];
extern?int?h[15][5];
/*?
*輸入?yún)?shù):num
*
*/
void?channel(int?*cout)
{
int?loc=0;
int?mark=1;
while(mark)
{
printf(“輸入位置輸入-1結(jié)束:\n“);
scanf_s(“%d“&loc);
if(loc==-1)
{
mark=0;
}
else
{
cout[loc-1]=cout[loc-1]+1;
cout[loc-1]%=2;
}
for(int?i=0;i<15;i++)
{
printf(“?%d“cout[i]);
}
printf(“\n“);
}
}
/*?
*輸入?yún)?shù):cout,s
*得出s與h校驗矩陣比較其行號就是出錯位置
*/
int?decode(int?*coutint?*s)
{
int?mark=0;//標記是否出錯,0沒出錯。
int?weizhi=0;//標記位置
for(int?i=0;i<5;i++)
{
if(s[i]==0)
{
mark=0;
}
else
{
mark=1;
break;
}
}
if(mark)
{
int?j=0i=0;
for(i=0;i<15;i++)
{
for(j=0;j<5;j++)
{
if(s[j]!=h[i][j])
{
break;
}
}
if(j>=5)
return?i;
}
}
return?0;
}
/*?
*輸入?yún)?shù):num,da
*
*/
void?hex_to_bin(int?*daint?num)
{
for(int?i=0;i<10;i++)
{
da[i]=(num)&0x01;
num=num>>1;
}
}
/*?
*輸入?yún)?shù):cout,da
*
*/
void?encode(int?*coutint?*da)
{
for(int?i=0;i<15;i++)
{
for(int?j=0;j<10;j++)
{
cout[i]=cout[i]+da[j]*gx[j][i];
}
cout[i]=cout[i]%2;
}
printf(“\n“);
for(int?i=0;i<2;i++)
{
int?tem=0;
tem=cout[4-i];
cout[4-i]=cout[i];
cout[i]=tem;
}
/*for(int?i=5;i<10;i++)
{
int?tem=0;
tem=cout[14+5-i];
cout[14+5-i]=cout[i];
cout[i]=tem;
}*/
}
int?_tmain(int?argc?_TCHAR*?argv[])
{
int?da[10]={0000000001};
int?cout[15]={0};
int?num=0;
while(1)
{
printf(“輸入16進制數(shù)據(jù)(0-0x3FF)?da:\n“);
scanf_s(“%x“&num);
while(num>0x3FF)
{
printf(“輸入數(shù)據(jù)有誤請重新輸入:\n“);
printf(“輸入16進制數(shù)據(jù)(0-0x3FF)?da:\n“);
scanf_s(“%x“&num);
}
switch(num)
{
case?0:return?0;
default:
hex_to_bin(danum);
for(int?i=0;i<15;i++)
{
cout[i]=0;
}
encode(coutda);
printf(“cout:\n“);
printf(“編碼前的二進制信息序列為(MSB-->LSB):“);
for(int?i=5;i<10;i++)
{
int?tem=0;
tem=cout[14+5-i];
cout[14+5-i]=cout[i];
cout[i]=tem;
}
for(int?i?=5;i<15;i++)
{
printf(“?%d“cout[i]);
}
printf(“\n“);
printf(“經(jīng)2/3FEC編碼后的二進制信息序列為(MSB-->LSB):“);
for(int?i?=0;i<5;i++)
{
printf(“?%d“cout[i]);
}
printf(“ ??“);
for(int?i?=5;i<15;i++)
{
printf(“?%d“cout[i]);
}
printf(“\n“);
for(int?i=5;i<10;i++)
{
int?tem=0;
tem=cout[14+5-i];
cout[14+5-i]=cout[i];
cout[i]=tem;
}
channel(cout);
//校驗
int?s[5]={0};
for(int?i=0;i<5;i++)
{
s[i]=0;
}
for(int?i=0;i<5;i++)
{
for(int?j=14k=0;j>=0;j--k++)
{
s[i]+=cout[j]*h[j][i];
}
s[i]%=2;
}
printf(“s:\n“);
for(int?i=0;i<5;i++)
{
printf(“%d“s[i]);
}
printf(“\n“);
int?num=decode(couts);
if(num>=5)
{
printf(“出現(xiàn)奇數(shù)個錯誤:\n“);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-12-10?15:22??23FEC\
?????目錄???????????0??2012-12-09?11:25??23FEC\23FEC\
?????文件?????2445312??2012-12-10?15:22??23FEC\23FEC.sdf
?????文件?????????882??2012-12-07?11:35??23FEC\23FEC.sln
?????文件???????14848??2012-12-10?15:22??23FEC\23FEC.suo
?????文件????????3647??2012-12-10?14:49??23FEC\23FEC\23FEC.cpp
?????文件????????4364??2012-12-07?11:35??23FEC\23FEC\23FEC.vcxproj
?????文件????????1309??2012-12-07?11:35??23FEC\23FEC\23FEC.vcxproj.filters
?????文件?????????143??2012-12-07?11:35??23FEC\23FEC\23FEC.vcxproj.user
?????目錄???????????0??2012-12-10?15:02??23FEC\23FEC\Debug\
?????文件?????????406??2012-12-10?15:02??23FEC\23FEC\Debug\23FEC.exe.em
?????文件?????????472??2012-12-10?15:02??23FEC\23FEC\Debug\23FEC.exe.em
?????文件?????????381??2012-12-10?15:02??23FEC\23FEC\Debug\23FEC.exe.intermediate.manifest
?????文件??????????55??2012-12-10?15:02??23FEC\23FEC\Debug\23FEC.lastbuildstate
?????文件????????3337??2012-12-10?15:02??23FEC\23FEC\Debug\23FEC.log
?????文件???????16700??2012-12-10?15:02??23FEC\23FEC\Debug\23FEC.obj
?????文件?????1179648??2012-12-10?15:02??23FEC\23FEC\Debug\23FEC.pch
?????文件?????????200??2012-12-10?15:02??23FEC\23FEC\Debug\23FEC_manifest.rc
?????文件????????1394??2012-12-10?15:02??23FEC\23FEC\Debug\cl.command.1.tlog
?????文件????????2200??2012-12-10?15:02??23FEC\23FEC\Debug\CL.read.1.tlog
?????文件?????????700??2012-12-10?15:02??23FEC\23FEC\Debug\CL.write.1.tlog
?????文件???????????2??2012-12-10?15:02??23FEC\23FEC\Debug\li
?????文件???????????2??2012-12-10?15:02??23FEC\23FEC\Debug\li
?????文件???????????2??2012-12-10?15:02??23FEC\23FEC\Debug\li
?????文件???????????2??2012-12-10?15:02??23FEC\23FEC\Debug\li
?????文件???????????2??2012-12-10?15:02??23FEC\23FEC\Debug\li
?????文件???????????2??2012-12-10?15:02??23FEC\23FEC\Debug\li
?????文件????????1534??2012-12-10?15:02??23FEC\23FEC\Debug\li
?????文件????????2950??2012-12-10?15:02??23FEC\23FEC\Debug\li
?????文件?????????762??2012-12-10?15:02??23FEC\23FEC\Debug\li
?????文件?????????358??2012-12-10?15:02??23FEC\23FEC\Debug\mt.command.1.tlog
............此處省略40個文件信息
評論
共有 條評論