燕山大学数字通信计算机仿真课程设计模板Word文档下载推荐.docx

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

燕山大学数字通信计算机仿真课程设计模板Word文档下载推荐.docx

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

燕山大学数字通信计算机仿真课程设计模板Word文档下载推荐.docx

math.h>

#ifdef 

_DEBUG

#undef 

THIS_FILE 

static 

char 

THIS_FILE[]=__FILE__;

#define 

new 

DEBUG_NEW 

#endif 

Construction/Destruction 

SigTranmit:

:

SigTranmit() 

c=0;

/* 

S0[16]={0};

float 

S1[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() 

void 

SetDigital(int 

ID,int 

Intensity)//赋值 

myID=ID;

myIntensity=Intensity;

Basesignal()//基带信号

//ID变成int型数组

int 

a[4] 

{0};

i=0;

k=15;

temp=0;

a[0]=myID%10;

a[1]=myID/10%10;

a[2]=myID/100%10;

a[3]=myID/1000;

for(int 

j=0;

j<

4;

j++) 

temp=a[j];

for(i;

i<

i++) 

S0[k]=temp 

&

0x1;

temp 

temp>

>

1;

k--;

//采样 

k=0;

for(i=0;

16;

for(j=0;

M;

Sal[k]=S0[i];

k++;

16*M;

if(Sal[i] 

== 

0) 

Sa[i] 

-1;

else 

Sal[i];

Dft(Sa,16*M);

Lpf()//低通 

Conv(Sa,GetH1());

Dft(float 

x[],int 

m)//DFT变换 

k<

m;

k++) 

AR[k]=0;

AI[k]=0;

AR[k] 

=AR[k] 

x[i]*cos(2*PI*k*i/m);

AI[k] 

=AI[k] 

x[i]*sin(2*PI*k*i/m);

A[k] 

sqrt(AR[k]*AR[k] 

AI[k]*AI[k]);

modulate()//调制 

a=0.0;

a=2.0*PI*i*0.15;

Mod[i] 

Sa[i]*cos(a);

Mod[i];

Channel()//信道 

Noise(myIntensity);

No[i] 

Sa[i];

Noise(int 

inten)//噪声 

i,k;

r0=0.0;

r[12];

for(k=0;

12;

r[i] 

(float)(2*rand()-RAND_MAX)/RAND_MAX;

r0 

+= 

r[i];

float(inten*r0/12.0);

No[k] 

r0;

Dft(No,16*M);

Bpf()//带通 

i;

a=(N-1)/2;

//生成理想带通滤波器的单位取样响应 

N;

if(i==a) 

Hb[i]=(float)0.4;

Hb[i]=sin(0.7*PI*(i-a))/(float)(PI*(i-a))-sin(0.3*PI*(i-a))/(float)(PI*(i-a));

switch(c) 

case 

0:

{for(i=0;

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

};

break;

1:

Wn[i]=0.54-0.46*cos(2.0*PI*i/(N-1));

2:

//生成布莱克曼窗 

Wn[i]=0.42-0.5*cos(2.0*PI*i/(N-1))+0.08*cos(4.0*PI*i/(N-1));

for( 

Hb[i]=Hb[i]*Wn[i];

Conv(Sa,GetHb());

Demodulate()//解调 

Adjust()//判决 

S1[i]=0;

S1[i] 

Sa[k];

if(S1[i]>

Sa[k]=1;

Sa[k]=-1;

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

当前位置:首页 > 自然科学

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

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