📄 channel.cpp
字号:
#include "Common.h"
extern float SNR;
void Channel()
{
int i=0,CycleNum=0,p=0;
complex ChannelOut[CHIP_SIZE]={0.f, 0.f};
complex ChannelMem[MemLength]={0.f, 0.f};
complex Channel_ImpRep[MULTIPATH_NUM]={0.f, 0.f};
float Ps=0.f;
FILE *fpt_ChannelIn, *fpt_ChannelOut;
if(( fpt_ChannelIn=fopen("TxSignal.dat","rb") ) == NULL)
{
printf("Can not open TxSignal.dat\n");
return;
}
else
{
fpt_ChannelOut=fopen("RxSignal.dat","wb");
#if(MULTIPATH_flag == 1)
GenChannel(Channel_ImpRep); //generate the multipath channel
#endif
for(i=0; i<TOTAL_CHIP; i++) //CHIP_SIZE should be 1
{
memset(ChannelOut, 0, CHIP_SIZE*sizeof(complex));
fread(ChannelOut, CHIP_SIZE*sizeof(complex), 1, fpt_ChannelIn);
#if(MULTIPATH_flag == 1)
AddMutiChannel(ChannelOut, Channel_ImpRep, ChannelMem, CHIP_SIZE);
#endif
Ps = (float)BPS/(float)(CHIP_SIZE);
AddGaussNoise(ChannelOut, Ps, CHIP_SIZE);
#if(OFFSET_flag == 1)
AddFrequencyOffset(ChannelOut,i); // Add Frequency offset
#endif
fwrite(ChannelOut, sizeof(complex), CHIP_SIZE, fpt_ChannelOut);
}
fclose(fpt_ChannelOut);
}
fclose(fpt_ChannelIn);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -