#include "demod_16qam.h"
int demod_16qam(double *Loc,double *demod_Data)
{
//第一象限
if((Loc[0] > 0) && (Loc[0] <= 2) && (Loc[1] > 0) && (Loc[1] <= 2))
{
demod_Data[0]=1;
demod_Data[1]=1;
demod_Data[2]=1;
demod_Data[3]=1;
}
else if((Loc[0] > 0) && (Loc[0] <= 2) && (Loc[1] > 2))
{
demod_Data[0]=1;
demod_Data[1]=1;
demod_Data[2]=1;
demod_Data[3]=0;
}
else if((Loc[0] > 2) && (Loc[1] > 0) && (Loc[1] <= 2))
{
demod_Data[0]=1;
demod_Data[1]=0;
demod_Data[2]=1;
demod_Data[3]=1;
}
else if((Loc[0] > 2) && (Loc[1] > 2))
{
demod_Data[0] = 1;
demod_Data[1] = 0;
demod_Data[2] = 1;
demod_Data[3] = 0;
}
//第二象限
else if((Loc[0] > -2) && (Loc[0] <= 0) && (Loc[1] > 0) && (Loc[1] <= 2))
{
demod_Data[0] = 0;
demod_Data[1] = 1;
demod_Data[2] = 1;
demod_Data[3] = 1;
}
else if((Loc[0] > -2) && (Loc[0] <= 0) && (Loc[1] > 2))
{
demod_Data[0] = 0;
demod_Data[1] = 1;
demod_Data[2] = 1;
demod_Data[3] = 0;
}
else if((Loc[0] < -2) && (Loc[1] > 0) && (Loc[1] <= 2))
{
demod_Data[0] = 0;
demod_Data[1] = 0;
demod_Data[2] = 1;
demod_Data[3] = 1;
}
else if((Loc[0] < -2) && (Loc[1] > 2))
{
demod_Data[0] = 0;
demod_Data[1] = 0;
demod_Data[2] = 1;
demod_Data[3] = 0;
}
//第三象限
else if((Loc[0] > -2) && (Loc[0] <= 0) && (Loc[1] > -2) && (Loc[1] <= 0))
{
demod_Data[0] = 0;
demod_Data[1] = 1;
demod_Data[2] = 0;
demod_Data[3] = 1;
}
else if((Loc[0] > -2) && (Loc[0] <= 0) && (Loc[1] <= -2))
{
demod_Data[0] = 0;
demod_Data[1] = 1;
demod_Data[2] = 0;
demod_Data[3] = 0;
}
else if((Loc[0] <= -2) && (Loc[1] > -2) && (Loc[1] <= 0))
{
demod_Data[0] = 0;
demod_Data[1] = 0;
demod_Data[2] = 0;
demod_Data[3] = 1;
}
else if((Loc[0] <= -2) && (Loc[1] <= -2))
{
demod_Data[0] = 0;
demod_Data[1] = 0;
demod_Data[2] = 0;
demod_Data[3] = 0;
}
//第四象限
else if((Loc[0] > 0) && (Loc[0] <= 2) && (Loc[1] > -2) && (Loc[1] <= 0))
{
demod_Data[0] = 1;
demod_Data[1] = 1;
demod_Data[2] = 0;
demod_Data[3] = 1;
}
else if((Loc[0] > 0) && (Loc[0] <= 2) && (Loc[1] <= -2))
{
demod_Data[0] = 1;
demod_Data[1] = 1;
demod_Data[2] = 0;
demod_Data[3] = 0;
}
else if((Loc[0] > 2) && (Loc[1] > -2) && (Loc[1] <= 0))
{
demod_Data[0] = 1;
demod_Data[1] = 0;
demod_Data[2] = 0;
demod_Data[3] = 1;
}
else if((Loc[0] > 2) && (Loc[1] <= -2))
{
demod_Data[0] = 1;
demod_Data[1] = 0;
demod_Data[2] = 0;
demod_Data[3] = 0;
}
else
{
//测试是否存在未被包括的情况。
printf("error:Loc[0]=%lf,Loc[1]=%lf\n",Loc[0],Loc[1]);
}
////第一象限
//if((Loc[0] > 0) && (Loc[0] <= 2) && (Loc[1] > 0) && (Loc[1] <= 2))
//{
// demod_Data[0]=1;
// demod_Data[1]=1;
// demod_Data[2]=0;
// demod_Data[3]=0;
//}
//else if((Loc[0] > 0) && (Loc[0] <= 2) && (Loc[1] > 2))
//{
// demod_Data[0]=1;
// demod_Data[1]=1;
// demod_Data[2]=1;
// demod_Data[3]=0;
//}
//else if((Loc[0] > 2) && (Loc[1] > 0) && (Loc[1] <= 2))
//{
// demod_Data[0]=1;
// demod_Data[1]=1;
// demod_Data[2]=0;
// demod_Data[3]=1;
//}
//else if((Loc[0] > 2) && (Loc[1] > 2))
//{
// demod_Data[0] = 1;
// demod_Data[1] = 1;
// demod_Data[2] = 1;
// demod_Data[3] = 1;
//}
////第二象限
//else if((Loc[0] > -2) && (Loc[0] <= 0) && (Loc[1] > 0) && (Loc[1] <= 2))
//{
// demod_Data[0] = 1;
// demod_Data[1] = 0;
// demod_Data[2] = 0;
// demod_Data[3] = 0;
//}
//else if((Loc[0] > -2) && (Loc[0] <= 0) && (Loc[1] > 2))
//{
// demod_Data[0] = 1;
// demod_Data[1] = 0;
// demod_Data[2] = 0;
// demod_Data[3] = 1;
//}
//else if((Loc[0] < -2) && (Loc[1] > 0) && (Loc[1] <= 2))
//{
// demod_Data[0] = 1;
// demod_Data[1] = 0;
// demod_Data[2] = 1;
// demod_Data[3] = 0;
//}
//else if((Loc[0] < -2) && (Loc[1] > 2))
//{
// demod_Data[0] = 1;
// demod_Data[1] = 0;
// demod_Data[2] = 1;
// demod_Data[3] = 1;
//}
////第三象限
//else if((Loc[0] > -2) && (Loc[0] <= 0) && (Loc[1] > -2) && (Loc[1] <= 0))
//{
// demod_Data[0] = 0;
// demod_Data[1] = 0;
// demod_Data[2] = 0;
// demod_Data[3] = 0;
//}
//else if((Loc[0] > -2) && (Loc[0] <= 0) && (Loc[1] <= -2))
//{
// demod_Data[0] = 0;
// demod_Data[1] = 0;
// demod_Data[2] = 1;
// demod_Data[3] = 0;
//}
//else if((Loc[0] <= -2) && (Loc[1] > -2) && (Loc[1] <= 0))
//{
// demod_Data[0] = 0;
// demod_Data[1] = 0;
// demod_Data[2] = 0;
// demod_Data[3] = 1;
//}
//else if((Loc[0] <= -2) && (Loc[1] <= -2))
//{
// demod_Data[0] = 0;
// demod_Data[1] = 0;
// demod_Data[2] = 1;
// demod_Data[3] = 1;
//}
////第四象限
//else if((Loc[0] > 0) && (Loc[0] <= 2) && (Loc[1] > -2) && (Loc[1] <= 0))
//{
// demod_Data[0] = 0;
// demod_Data[1] = 1;
// demod_Data[2] = 0;
// demod_Data[3] = 0;
//}
//else if((Loc[0] > 0) && (Loc[0] <= 2) && (Loc[1] <= -2))
//{
// demod_Data[0] = 0;
// demod_Data[1] = 1;
// demod_Data[2] = 0;
// demod_Data[3] = 1;
//}
//else if((Loc[0] > 2) && (Loc[1] > -2) && (Loc[1] <= 0))
//{
// demod_Data[0] = 0;
// demod_Data[1] = 1;
// demod_Data[2] = 1;
// demod_Data[3] = 0;
//}
//else if((Loc[0] > 2) && (Loc[1] <= -2))
//{
// demod_Data[0] = 0;
// demod_Data[1] = 1;
// demod_Data[2] = 1;
// demod_Data[3] = 1;
//}
//else
//{
// //测试是否存在未被包括的情况。
// printf("error:Loc[0]=%lf,Loc[1]=%lf\n",Loc[0],Loc[1]);
//}
return 1;
}
没有合适的资源?快使用搜索试试~ 我知道了~
task2-2-16QAM.rar_16psk_16psk 高斯信道_16qam 信噪比_误码率dvbs216qam
共53个文件
tlog:18个
obj:6个
c:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 47 浏览量
2022-09-24
20:20:37
上传
评论
收藏 779KB RAR 举报
温馨提示
16PSK在高斯信道下的误码率与信噪比的关系。
资源详情
资源评论
资源推荐
收起资源包目录
task2-2-16QAM.rar (53个子文件)
task2-2-16QAM
task2-2-16QAM.suo 14KB
task2-2-16QAM.sln 906B
task2-2-16QAM.sdf 1.96MB
task2-2-16QAM
Gussian.c 291B
mod_16qam.c 4KB
task2-2-16QAM.vcxproj.filters 2KB
Gussian.h 1KB
task2-2-16QAM.vcxproj.user 143B
Sim_16qam.c 2KB
demod_16qam.h 367B
W_Hill.c 339B
W_Hill.h 926B
Rayleigh.c 204B
task2-2-16QAM.vcxproj 4KB
mod_16qam.h 322B
Debug
vc100.idb 51KB
CL.write.1.tlog 5KB
CL.read.1.tlog 9KB
mt.read.1.tlog 454B
rc.write.1.tlog 434B
demod_16qam.obj 7KB
rc.read.1.tlog 426B
task2-2-16QAM.log 3KB
W_Hill.obj 5KB
task2-2-16QAM.lastbuildstate 98B
mt.command.1.tlog 480B
cl.command.1.tlog 5KB
link-cvtres.read.1.tlog 2B
task2-2-16QAM.exe.embed.manifest.res 472B
link.7660-cvtres.read.1.tlog 2B
link.write.1.tlog 2KB
task2-2-16QAM_manifest.rc 216B
Gussian.obj 5KB
link.7660-cvtres.write.1.tlog 2B
link-cvtres.write.1.tlog 2B
link.7660.read.1.tlog 2B
link.command.1.tlog 3KB
Sim_16qam.obj 9KB
rc.command.1.tlog 700B
link.read.1.tlog 5KB
mod_16qam.obj 7KB
mt.write.1.tlog 454B
Rayleigh.obj 5KB
link.7660.write.1.tlog 2B
task2-2-16QAM.exe.intermediate.manifest 381B
vc100.pdb 60KB
task2-2-16QAM.exe.embed.manifest 406B
demod_16qam.c 5KB
Rayleigh.h 915B
ipch
task2-2-16qam-995eea20
task2-2-16qam-aaf69ae3.ipch 2.13MB
Debug
task2-2-16QAM.exe 35KB
task2-2-16QAM.pdb 435KB
task2-2-16QAM.ilk 338KB
共 53 条
- 1
邓凌佳
- 粉丝: 65
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1