📄 hannelclass.h
字号:
// hannelClass.h: interface for the ChannelClass class.
//
// Copyright 2002 The Mobile and Portable Radio Research Group
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_HANNELCLASS_H__BEEB3F69_9D69_4539_9C54_BF3E8E522386__INCLUDED_)
#define AFX_HANNELCLASS_H__BEEB3F69_9D69_4539_9C54_BF3E8E522386__INCLUDED_
//#include "Complex.h" // Added by ClassView
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define SWAP(a,b) temp = (a); (a) = (b); (b) = temp
#define TWO_PI 6.28318530717959
#define SPEED_OF_LIGHT 3e8
#define FREQUENCY 1980
#define CHIPS_PER_FRAME 38400
#define FRAME_DURATION 10e-3
#define FADE_SIGNAL_LENGTH 65536
#define FADE_SAMPLE_RATE 9600.00
#define CHIPS_PER_FADE_SAMPLES 400
#define ROOT2 1.41421356237310
class ChannelClass
{
public:
unsigned MultipathSignalLength;
void NoiseGenerator();
void Combiner(ComplexNumber *OtherSignal);
unsigned long SamplesPerChip;
void MpathProcessor(ComplexNumber *PrevSignal,ComplexNumber *CurSignal,
ComplexNumber *NextSignal,unsigned SignalLength);
ComplexNumber *MultipathSignal;
ChannelClass(SimConfigClass Config, ModulatorClass *Modulator, TransmitterClass *Tx);
ChannelClass();
virtual ~ChannelClass();
private:
unsigned PulseLength;
unsigned FadeSamplesPerFrame;
void FadingProcessor();
ComplexNumber * MultiPathChannel(ComplexNumber *SigLastptr,ComplexNumber *SigCurrentptr,
ComplexNumber *SigNextptr, unsigned long SignalLength);
ComplexNumber **FadingSignals;
double PolynomialFit(double *Xdata,double *Ydata,unsigned N,double x,double *error);
ComplexNumber *Radix2FFT(ComplexNumber *data, unsigned NN, int isign);
unsigned FadingSignalOffset;
unsigned MultiPathComponents;
unsigned *Delays;
double *Amplitudes;
double fDoppler;
double EbNo_dB;
double EbNo;
double NoiseSTDV;
bool FadeInitFlag;
ComplexNumber * RaylieghFadingGenerator( double FDoppler, double FSample, unsigned long NSamples);
ComplexNumber GaussianRandomNumberGenerator(int *InitFlag);
double UniformRandomNumberGenerator(int *idum);
};
#endif // !defined(AFX_HANNELCLASS_H__BEEB3F69_9D69_4539_9C54_BF3E8E522386__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -