燕山大学数字通信计算机仿真课程设计模板.docx
- 文档编号:5970061
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:13
- 大小:4.28MB
燕山大学数字通信计算机仿真课程设计模板.docx
《燕山大学数字通信计算机仿真课程设计模板.docx》由会员分享,可在线阅读,更多相关《燕山大学数字通信计算机仿真课程设计模板.docx(13页珍藏版)》请在冰豆网上搜索。
燕山大学数字通信计算机仿真课程设计模板
数字通信计算机课设 程序代码
// SigTranmit.cpp:
implementation of the SigTranmit class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "ASK.h"
#include "SigTranmit.h"
#include
#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:
:
~SigTranmit()
{
}
void SigTranmit:
:
SetDigital(int ID,int Intensity)//赋值
{
myID=ID;
myIntensity=Intensity;
}
void SigTranmit:
:
Basesignal()//基带信号
{
//ID变成int型数组
int a[4] = {0};
int i=0;
int k=15;
int 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++)
{ 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 void SigTranmit: : Lpf()//低通 { Conv(Sa,GetH1()); Dft(Sa,16*M); } void SigTranmit: : Dft(float x[],int m)//DFT变换 { for(int k=0;k void SigTranmit: : modulate()//调制 { float a=0.0; for(int i=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); } void SigTranmit: : Channel()//信道 { Noise(myIntensity); for(int i=0;i<16*M;i++) Sa[i] = No[i] + Sa[i]; Dft(Sa,16*M); } void SigTranmit: : Noise(int inten)//噪声 { int i,k; float r0=0.0; float r[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); } void SigTranmit: : Bpf()//带通 { int i; float a=(N-1)/2; //生成理想带通滤波器的单位取样响应 for(i=0;i {for(i=0;i { for(i=0;i //生成布莱克曼窗 { for(i=0;i } Conv(Sa,GetHb()); Dft(Sa,16*M); } void SigTranmit: : Demodulate()//解调 { float a=0.0; for(int i=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); } void SigTranmit: : Adjust()//判决 { int k=0; int j=0; for(int i=0;i<16;i++) { S1[i]=0; for(j=0;j
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 燕山 大学 数字通信 计算机仿真 课程设计 模板