• 大小: 1.82MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-25
  • 语言: 其他
  • 标签: 2/3FEC  C/C++  

资源简介

通信系统综合实验内数字基带仿真实验的编程部分,在VS2010环境下编译通过,结果准确

资源截图

代码片段和文件信息

// 23FEC.cpp : 定义控制台应用程序的入口点。
//

#include “stdafx.h“

extern int gx[10][15];
extern int h[15][5];
/* 
*输入参数:num
*
*/
void channel(int *cout)
{
int loc=0;
int mark=1;
while(mark)
{
printf(“输入位置输入-1结束:\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“);

}
}
/* 
*输入参数: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;
}
/* 
*输入参数:num,da
*
*/
void hex_to_bin(int *daint num)
{
for(int i=0;i<10;i++)
{
da[i]=(num)&0x01;
num=num>>1;
}
}
/* 
*输入参数: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进制数据(0-0x3FF) da:\n“);
scanf_s(“%x“&num);
while(num>0x3FF)
{
printf(“输入数据有误请重新输入:\n“);
printf(“输入16进制数据(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(“经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(“出现奇数个错误:\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.embed.manifest
     文件         472  2012-12-10 15:02  23FEC\23FEC\Debug\23FEC.exe.embed.manifest.res
     文件         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\link-cvtres.read.1.tlog
     文件           2  2012-12-10 15:02  23FEC\23FEC\Debug\link-cvtres.write.1.tlog
     文件           2  2012-12-10 15:02  23FEC\23FEC\Debug\link.11032-cvtres.read.1.tlog
     文件           2  2012-12-10 15:02  23FEC\23FEC\Debug\link.11032-cvtres.write.1.tlog
     文件           2  2012-12-10 15:02  23FEC\23FEC\Debug\link.11032.read.1.tlog
     文件           2  2012-12-10 15:02  23FEC\23FEC\Debug\link.11032.write.1.tlog
     文件        1534  2012-12-10 15:02  23FEC\23FEC\Debug\link.command.1.tlog
     文件        2950  2012-12-10 15:02  23FEC\23FEC\Debug\link.read.1.tlog
     文件         762  2012-12-10 15:02  23FEC\23FEC\Debug\link.write.1.tlog
     文件         358  2012-12-10 15:02  23FEC\23FEC\Debug\mt.command.1.tlog
............此处省略40个文件信息

评论

共有 条评论