#ifndef _GPURFPC_SINGLE_H_ #define _GPURFPC_SINGLE_H_ #include "BaseConstVariable.h" #include "GPUTool.cuh" #include #include #include #include #define RFPCPIDIVLIGHT -4*PI/(LIGHTSPEED/1e9) extern "C" struct CUDASigmaParam_single { float p1; float p2; float p3; float p4; float p5; float p6; }; extern __device__ float GPU_getSigma0dB_single(const float p1, const float p2, const float p3, const float p4, const float p5, const float p6, float theta) ; extern __device__ float GPU_getSigma0dB_single(CUDASigmaParam_single param, float theta); extern __device__ CUDAVectorEllipsoidal GPU_SatelliteAntDirectNormal_single( float RstX, float RstY, float RstZ, float AntXaxisX, float AntXaxisY, float AntXaxisZ, float AntYaxisX, float AntYaxisY, float AntYaxisZ, float AntZaxisX, float AntZaxisY, float AntZaxisZ, float AntDirectX, float AntDirectY, float AntDirectZ ); extern __device__ float GPU_BillerInterpAntPattern_single(float* antpattern, float starttheta, float startphi, float dtheta, float dphi, long thetapoints, long phipoints, float searththeta, float searchphi); extern "C" void CUDA_RFPC_MainProcess_single( // 天线 float* antX, float* antY, float* antZ, // 天线坐标 float* antXaxisX, float* antXaxisY, float* antXaxisZ, // 天线坐标系的X轴 float* antYaxisX, float* antYaxisY, float* antYaxisZ,// 天线坐标系的Y轴 float* antZaxisX, float* antZaxisY, float* antZaxisZ,// 天线坐标系的Z轴 float* antDirectX, float* antDirectY, float* antDirectZ,// 天线的指向 long PRFCount, long FreqNum, // 脉冲数量,频率数量 float f0, float dfreq,// 起始频率,终止频率 float Pt,// 发射能量 float refPhaseRange, // 天线方向图 float* TransAntpattern, float Transtarttheta, float Transstartphi, float Transdtheta, float Transdphi, int Transthetapoints, int Transphipoints, // 发射天线方向图 float* ReceiveAntpattern, float Receivestarttheta, float Receivestartphi, float Receivedtheta, float Receivedphi, int Receivethetapoints, int Receivephipoints,//接收天线方向图 float maxTransAntPatternValue,float maxReceiveAntPatternValue, float NearR, float FarR, // 距离范围 // 地面 float* targetX, float* targetY, float* targetZ, long* demCls, long TargetPixelNumber, // 地面坐标、地表覆盖类型,像素数 float* demSlopeX, float* demSlopeY, float* demSlopeZ, // 地表坡度矢量 CUDASigmaParam_single* sigma0Paramslist, long sigmaparamslistlen,// 插值图像 float* out_echoReal, float* out_echoImag,// 输出回波 float* d_temp_R, float* d_temp_amp ); #endif