燕山大学数字通信计算机仿真课程设计报告模板.docx

上传人:b****6 文档编号:7796211 上传时间:2023-01-26 格式:DOCX 页数:12 大小:3.44MB
下载 相关 举报
燕山大学数字通信计算机仿真课程设计报告模板.docx_第1页
第1页 / 共12页
燕山大学数字通信计算机仿真课程设计报告模板.docx_第2页
第2页 / 共12页
燕山大学数字通信计算机仿真课程设计报告模板.docx_第3页
第3页 / 共12页
燕山大学数字通信计算机仿真课程设计报告模板.docx_第4页
第4页 / 共12页
燕山大学数字通信计算机仿真课程设计报告模板.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

燕山大学数字通信计算机仿真课程设计报告模板.docx

《燕山大学数字通信计算机仿真课程设计报告模板.docx》由会员分享,可在线阅读,更多相关《燕山大学数字通信计算机仿真课程设计报告模板.docx(12页珍藏版)》请在冰豆网上搜索。

燕山大学数字通信计算机仿真课程设计报告模板.docx

燕山大学数字通信计算机仿真课程设计报告模板

..

专业资料

..

专业资料

..

专业资料

..

专业资料

..

专业资料

..

专业资料

..

专业资料

..

专业资料

..

专业资料

..

数字通信计算机课设程序代码

//SigTranmit.cpp:

implementationoftheSigTranmitclass.

//

//////////////////////////////////////////////////////////////////////

#includestdafx.h

#includeASK.h

专业资料

..

#includeSigTranmit.h

#include

#ifdef_DEBUG

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#definenewDEBUG_NEW

#endif

//////////////////////////////////////////////////////////////////////

//Construction/Destruction

//////////////////////////////////////////////////////////////////////

SigTranmit:

:

SigTranmit()

{c=0;

/*S0[16]={0};

floatS1[16]={0};

Mod[16*M]={0};

Sa[16*M]={0};

Sal[16*M]={0};

H1[16*M]={0};

H2[16*M]={0};

No[16*M]={0};

Hb[N]={0};

P[N]={0};

Wn[N]={0};*/

}

SigTranmit:

:

~SigTranmit()

{

}

voidSigTranmit:

:

SetDigital(intID,intIntensity)//赋值

{

myID=ID;

myIntensity=Intensity;

}

voidSigTranmit:

:

Basesignal()//基带信号

{

//ID变成int型数组

inta[4]={0};

inti=0;

intk=15;

inttemp=0;

a[0]=myID_x0010_;

a[1]=myID/10_x0010_;

a[2]=myID/100_x0010_;

a[3]=myID/1000;

for(intj=0;j<4;j++)

专业资料

..

{i=0;

temp=a[j];

for(i;i<4;i++){S0[k]=temp&0x1;temp=temp>>1;k--;}}//采样k=0;for(i=0;i<16;i++){for(j=0;j

voidSigTranmit:

:

Lpf()//低通{Conv(Sa,GetH1());Dft(Sa,16*M);}

voidSigTranmit:

:

Dft(floatx[],intm)//DFT变换{for(intk=0;k

voidSigTranmit:

:

modulate()//调制{floata=0.0;for(inti=0;i<16*M;i++){a=2.0*PI*i*0.15;Mod[i]=Sa[i]*cos(a);}

for(i=0;i<16*M;i++)Sa[i]=Mod[i];Dft(Sa,16*M);}

voidSigTranmit:

:

Channel()//信道{Noise(myIntensity);for(inti=0;i<16*M;i++)Sa[i]=No[i]+Sa[i];Dft(Sa,16*M);}

voidSigTranmit:

:

Noise(intinten)//噪声{inti,k;floatr0=0.0;floatr[12];

for(k=0;k<16*M;k++){for(i=0;i<12;i++){r[i]=(float)(2*rand()-RAND_MAX)/RAND_MAX;r0+=r[i];r0=float(inten*r0/12.0);}No[k]=r0;}Dft(No,16*M);}

voidSigTranmit:

:

Bpf()//带通{inti;

floata=(N-1)/2;//生成理想带通滤波器的单位取样响应for(i=0;i

{for(i=0;i

Wn[i]=0.5*(1.0-cos(2.0*PI*i/(N-1)));};break;case1:

{for(i=0;i

//生成布莱克曼窗{for(i=0;i

};}for(i=0;i

专业资料

..

}Conv(Sa,GetHb());Dft(Sa,16*M);}

voidSigTranmit:

:

Demodulate()//解调{floata=0.0;for(inti=0;i<16*M;i++){a=2.0*PI*i*0.15;Mod[i]=Sa[i]*cos(a);}

for(i=0;i<16*M;i++)Sa[i]=Mod[i];Dft(Sa,16*M);}

voidSigTranmit:

:

Adjust()//判决{intk=0;intj=0;for(inti=0;i<16;i++){S1[i]=0;for(j=0;j0){Sa[k]=1;

k++;}else{Sa[k]=-1;k++;

专业资料

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1