receiverclass.h

来自「对WCDMA的性能进行了仿真」· C头文件 代码 · 共 63 行

H
63
字号
// ReceiverClass.h: interface for the ReceiverClass class.
//
// Copyright 2002 The Mobile and Portable Radio Research Group
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_RECEIVERCLASS_H__1C2E598C_35B7_48F0_B1B3_FFB1C45112AA__INCLUDED_)
#define AFX_RECEIVERCLASS_H__1C2E598C_35B7_48F0_B1B3_FFB1C45112AA__INCLUDED_

//#include "Complex.h"	// Added by ClassView
//#include "stdafx.h"

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


#define CHIPS_PER_FRAME  38400
#define FRAME_DURATION 10e-3


class ReceiverClass  
{
public:
	int * DataBits;
	int * Receiver(ComplexNumber *IncomingSignal, unsigned SignalLength);
	ReceiverClass(SimConfigClass SimConfig,TransmitterConfigClass *TxConfig);
	ReceiverClass();
	virtual ~ReceiverClass();

private:
	bool STTDflag;
	int * STTDReceiver(ComplexNumber *IncomingSignal,unsigned SignalLength);
	int * SimpleReceiver(ComplexNumber *IncomingSignal,unsigned SignalLength);
	ComplexNumber * STTDSoftDecode(DPCH_FormatStructure Format,ComplexNumber *ChannelEstimates,ComplexNumber* DespreadSignal);
	ComplexNumber * SimpleRakeFinger(DPCH_FormatStructure Format,ComplexNumber *IncomingSignal,unsigned SignalLength);
	ComplexNumber * STTDRakeFinger(DPCH_FormatStructure Format,ComplexNumber *IncomingSignal,unsigned SignalLength);
	double * Amplitudes;
	unsigned * Delays;
	unsigned MultiPathComponents;
	int * DetectBits(DPCH_FormatStructure Format,ComplexNumber *DespreadSignal);
	void ApplyChannelEstimates(DPCH_FormatStructure Format,ComplexNumber *DespreadSignal,ComplexNumber *ChannelEstimate);
	ComplexNumber * ChannelEstimator(DPCH_FormatStructure Format,ComplexNumber *DespreadSignal);
	ComplexNumber * STTDChannelEstimator(DPCH_FormatStructure Format,ComplexNumber *DespreadSignal);
	ComplexNumber * DespreadFrame(DPCH_FormatStructure Format,ComplexNumber *DescrambledSignal);
	unsigned PulseLength;
	void Descramble(ComplexNumber *FilteredSignalPtr,ComplexNumber *ScrambleCodePtr);
	ComplexNumber * Filter(ComplexNumber *SignalPtr,unsigned IncomingSignalLength,unsigned FilteredSignalSamples);
	double *GeneratePulseShape();
	int *ChannelCode;
	ComplexNumber *ScrambleCode;
	DPCH_FormatStructure DPCH_Format;
	unsigned SamplesPerChip;
	int LowerBoundT,UpperBoundT;
	double *PulseShape;
	double Rolloff;
	unsigned SamplesPerFrame;
	unsigned TransmittedSignalLength;

};

#endif // !defined(AFX_RECEIVERCLASS_H__1C2E598C_35B7_48F0_B1B3_FFB1C45112AA__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?