📄 transmitter.cpp
字号:
#include "Common.h"
void Transmit()
{
int i=0,j=0,k=0,p=0;
int TxPsdu[PSDU_LENGTH_BIT] = {0};
complex TxSymbol[1] = {0.f, 0.f};
complex SpreadSignal[Ns] = {0.f, 0.f};
complex TxSignal[Ns*PULSE_SIZE] = {0.f, 0.f};
complex SFDsequence[PREAMBLE_LENGTH] = {0.,0.};
complex msequence[PREAMBLE_LENGTH] = {0.f, 0.f};
int DataBin[BPS] = {0};
FILE *fpt_TxSignal,*fpt_TxPsdu;
/***************generate data bits**********/
fpt_TxPsdu = fopen("TxBitStream.dat","wb");
#if (RANDOM_flag == 1)
for(i = 0; i < PSDU_LENGTH_BIT; i ++)
{
TxPsdu[i] = (int)((rand()+1.0)/32768.0+0.5);
}
#else
memset(TxPsdu, 0, sizeof(int)*PSDU_LENGTH_BIT);
#endif
fwrite(TxPsdu,sizeof(int)*PSDU_LENGTH_BIT,1,fpt_TxPsdu); //save data bits to a file
fclose(fpt_TxPsdu);
/**************generate the packet**************/
fpt_TxSignal = fopen("TxSignal.dat","wb");
Gen_msequence(msequence);
/*******Write Training sequences to the packet********************/
for (i=0; i<TRAINING_TIMES; i++)
{
fwrite(msequence, sizeof(complex), PREAMBLE_LENGTH,fpt_TxSignal);
}
/*******Write SFD to the packet ********************/
for(i=0; i<PREAMBLE_LENGTH; i++)
{
SFDsequence[i] = ComplexMulR(msequence[i], -1.);
}
fwrite(SFDsequence, sizeof(complex), PREAMBLE_LENGTH, fpt_TxSignal);
/*******Write Data bits to the packet*******************/
for(i=0;i<PSDU_LENGTH_SYM;i++)
{
for(j=0;j<BPS;j++)
{
DataBin[j] = TxPsdu[BPS*i + j];
}
/************** Mapping *************************/
Modulation(DataBin,TxSymbol);
/*************spreading spectrum****************/
SpreadSprectrum(TxSymbol,SpreadSignal);
/**************pulse shaping*********************/
PulseShaping(SpreadSignal,TxSignal);
fwrite(TxSignal,sizeof(complex),Ns*PULSE_SIZE,fpt_TxSignal);
memset(SpreadSignal,0,sizeof(complex)*Ns);
memset(TxSignal,0,sizeof(complex)*Ns*PULSE_SIZE);
}
memset(SpreadSignal,0,sizeof(complex)*Ns);
for(i=0;i<Num_Reserved_Chip;i++) //预留给过多径信道,且接收机作RAKE时使用
{
fwrite(SpreadSignal,sizeof(complex)*PULSE_SIZE,1,fpt_TxSignal);
}
fclose(fpt_TxSignal);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -