/************************************************************
Copyright (C), 2014-2017, WWCS in XMU.
FileName: Sim_8PSK.c
Author: Version : Date:
Lin Wu 1.0 14-12-13
Description:
8PSK在高斯信道下的BER仿真的测试主函数。
Version: 1.0
History:
<author> <time> <version > <desc>
Lin Wu 14-12-13 1.0 build this moudle
***********************************************************/
#include "Gussian.h"
#include "mod_8psk.h"
#include "demod_8psk.h"
int main()
{
FILE *fp; //
int i, j, n, error_count; //
int SNRdB; //
double SNR, sigma; //
double phase, angle, Mpsk_X, Mpsk_Y; //
double UniD_A[N], UniD_B[N], UniD_C[N], demod_A, demod_B, demod_C; //
double GusD_QC[N], GusD_CC[N]; //
//打开读写文件
if((fp = fopen("ber_8PSK_hard.txt","wt+")) == NULL)
{
exit(1);
}
//仿真开始
for(SNRdB = -20;SNRdB <= -1;SNRdB++)
{
SNR = pow(10,SNRdB / 10.0);
sigma = sqrt(1 / (2 * 3 * SNR));
error_count = 0;
//每层10000个,共有i层,总共仿真数i*10000。
for(i = 0;i < M;i++)
{
W_Hill(UniD_A);
W_Hill(UniD_B);
W_Hill(UniD_C);
Gussian(GusD_QC,GusD_CC,1);
for(n = 0;n < N;n++)
{
UniD_A[n] = floor(UniD_A[n] * 2);
UniD_B[n] = floor(UniD_B[n] * 2);
UniD_C[n] = floor(UniD_C[n] * 2);
}
//单层开始
for(j = 0;j < N;j++)
{
//调制
phase = mod_8psk(UniD_A[j],UniD_B[j],UniD_C[j]);
Mpsk_X = cos(phase);
Mpsk_Y = sin(phase);
//加噪
Mpsk_X += GusD_QC[j] * sigma;
Mpsk_Y += GusD_CC[j] * sigma;
//解调
angle = atan2(Mpsk_Y,Mpsk_X);
angle = demod_8psk(angle);
if(angle == 0)
{
demod_A = 0;
demod_B = 0;
demod_C = 0;
}
else if(angle == 1 * PI / 4)
{
demod_A = 0;
demod_B = 0;
demod_C = 1;
}
else if(angle == 2 * PI / 4)
{
demod_A = 0;
demod_B = 1;
demod_C = 1;
}
else if(angle == 3 * PI / 4)
{
demod_A = 0;
demod_B = 1;
demod_C = 0;
}
else if(angle == 4 * PI / 4)
{
demod_A = 1;
demod_B = 1;
demod_C = 0;
}
else if(angle == 5 * PI / 4)
{
demod_A = 1;
demod_B = 1;
demod_C = 1;
}
else if(angle == 6 * PI / 4)
{
demod_A = 1;
demod_B = 0;
demod_C = 1;
}
else if(angle == 7 * PI / 4)
{
demod_A = 1;
demod_B = 0;
demod_C = 0;
}
//统计误差
if(UniD_A[j] != demod_A)
{
error_count += 1;
}
if(UniD_B[j] != demod_B)
{
error_count += 1;
}
if(UniD_C[j] != demod_C)
{
error_count += 1;
}
}
}
printf("%lf\n",1.0 * error_count / (3 * M * N));
fprintf(fp,"%lf",1.0 * error_count / (3 * M * N));
fseek(fp,1,1);
}
fclose(fp);
return 1;
}
没有合适的资源?快使用搜索试试~ 我知道了~
task2-2-8PSK.rar_8PSK and ber_8psk_8psk误码率
共66个文件
tlog:30个
h:6个
c:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 29 浏览量
2022-09-23
00:34:52
上传
评论 1
收藏 786KB RAR 举报
温馨提示
8PSK在高斯信道下的误码率与信噪比的关系。
资源详情
资源评论
资源推荐
收起资源包目录
task2-2-8PSK.rar (66个子文件)
task2-2-8PSK
task2-2-8PSK.suo 26KB
task2-2-8PSK.sdf 1.96MB
task2-2-8PSK.sln 903B
ipch
task2-2-8psk-41d01ba0
task2-2-8psk-36bc1e83.ipch 2.06MB
Debug
task2-2-8PSK.exe 32KB
task2-2-8PSK.pdb 451KB
task2-2-8PSK.ilk 449KB
task2-2-8PSK
Gussian.c 1KB
demod_8psk.h 829B
Gussian.h 1KB
mod_8psk.c 1KB
mod_8psk.h 899B
demod_8psk.c 1KB
task2-2-8PSK.vcxproj.filters 2KB
Sim_8psk.c 3KB
task2-2-8PSK.vcxproj.user 143B
Sim_8psk.h 308B
W_Hill.c 1019B
W_Hill.h 926B
Rayleigh.c 954B
task2-2-8PSK.vcxproj 4KB
Debug
link.8692.write.1.tlog 2B
vc100.idb 51KB
link.8692-cvtres.read.1.tlog 2B
task2-2-8PSK_manifest.rc 214B
CL.write.1.tlog 9KB
task2-2-8PSK.exe.embed.manifest.res 472B
CL.read.1.tlog 9KB
mt.read.1.tlog 442B
rc.write.1.tlog 422B
link.8692-cvtres.write.1.tlog 2B
link.2940.read.1.tlog 2B
rc.read.1.tlog 414B
W_Hill.obj 5KB
link.11024-cvtres.write.1.tlog 2B
mt.command.1.tlog 470B
sim_8psk.obj 11KB
cl.command.1.tlog 4KB
link-cvtres.read.1.tlog 2B
link.2940-cvtres.read.1.tlog 2B
link.11024-cvtres.read.1.tlog 2B
link.11024.write.1.tlog 2B
link.11024.read.1.tlog 2B
task2-2-8PSK.exe.intermediate.manifest 381B
link.write.1.tlog 2KB
Gussian.obj 5KB
link.2940-cvtres.write.1.tlog 2B
link.2908.read.1.tlog 2B
link-cvtres.write.1.tlog 2B
link.command.1.tlog 3KB
link.2908-cvtres.write.1.tlog 2B
link.2908-cvtres.read.1.tlog 2B
task2-2-8PSK.log 3KB
rc.command.1.tlog 682B
link.read.1.tlog 5KB
demod_8psk.obj 7KB
task2-2-8PSK.lastbuildstate 97B
mod_8psk.obj 5KB
mt.write.1.tlog 442B
task2-2-8PSK.exe.embed.manifest 406B
Rayleigh.obj 5KB
link.2940.write.1.tlog 2B
link.8692.read.1.tlog 2B
vc100.pdb 60KB
link.2908.write.1.tlog 2B
Rayleigh.h 915B
共 66 条
- 1
weixin_42651887
- 粉丝: 80
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1