📄 channel.cpp
字号:
// definition of channel
#include "GaussianNoiseGenerator.cpp"
class channel
{
private:
long seed;
double variance;
public:
channel(){ seed = -300; variance=1;} /* seed must be a negative integer*/
void SetParameters(double var, long sd) { variance=var; seed=sd; }
void AddAWGN(char InFile[],char Out1[],char Out2[],long int NumSamples);
};
void channel::AddAWGN(char InFile[],char Out1[],char Out2[],long int NumSamples)
{ ifstream ReadFromFile(InFile,ios::in);
ofstream WriteChannelSample(Out1,ios::out);
ofstream WriteNoiseSample(Out2,ios::out);
double temp1,temp2;
cout<<"Adding AWGN(variance="<<variance<<" Mean=0)..."<<endl;
for (int i=0; i<NumSamples; ++i)
{ ReadFromFile>>temp1;
temp2=sqrt(variance)*Gaussian(&seed);
temp1=temp1+temp2; /* add noise here */
WriteChannelSample<<temp1<<endl;
WriteNoiseSample<<temp2<<endl;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -