85 lines
2.5 KiB
Plaintext
85 lines
2.5 KiB
Plaintext
|
#ifndef _GPURFPC_SINGLE_H_
|
|||
|
#define _GPURFPC_SINGLE_H_
|
|||
|
|
|||
|
#include "BaseConstVariable.h"
|
|||
|
#include "GPUTool.cuh"
|
|||
|
#include <cuda_runtime.h>
|
|||
|
#include <device_launch_parameters.h>
|
|||
|
#include <cublas_v2.h>
|
|||
|
#include <cuComplex.h>
|
|||
|
|
|||
|
#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(
|
|||
|
// <20><><EFBFBD><EFBFBD>
|
|||
|
float* antX, float* antY, float* antZ, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
float* antXaxisX, float* antXaxisY, float* antXaxisZ, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>X<EFBFBD><58>
|
|||
|
float* antYaxisX, float* antYaxisY, float* antYaxisZ,// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>Y<EFBFBD><59>
|
|||
|
float* antZaxisX, float* antZaxisY, float* antZaxisZ,// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>Z<EFBFBD><5A>
|
|||
|
float* antDirectX, float* antDirectY, float* antDirectZ,// <20><><EFBFBD>ߵ<EFBFBD>ָ<EFBFBD><D6B8>
|
|||
|
long PRFCount, long FreqNum, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
float f0, float dfreq,// <20><>ʼƵ<CABC>ʣ<EFBFBD><CAA3><EFBFBD>ֹƵ<D6B9><C6B5>
|
|||
|
float Pt,// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
float refPhaseRange,
|
|||
|
// <20><><EFBFBD>߷<EFBFBD><DFB7><EFBFBD>ͼ
|
|||
|
float* TransAntpattern, float Transtarttheta, float Transstartphi, float Transdtheta, float Transdphi, int Transthetapoints, int Transphipoints, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߷<EFBFBD><DFB7><EFBFBD>ͼ
|
|||
|
float* ReceiveAntpattern, float Receivestarttheta, float Receivestartphi, float Receivedtheta, float Receivedphi, int Receivethetapoints, int Receivephipoints,//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߷<EFBFBD><DFB7><EFBFBD>ͼ
|
|||
|
float maxTransAntPatternValue,float maxReceiveAntPatternValue,
|
|||
|
float NearR, float FarR, // <20><><EFBFBD>뷶Χ
|
|||
|
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD>
|
|||
|
float* targetX, float* targetY, float* targetZ, long* demCls, long TargetPixelNumber, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꡢ<EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
float* demSlopeX, float* demSlopeY, float* demSlopeZ, // <20>ر<EFBFBD><D8B1>¶<EFBFBD>ʸ<EFBFBD><CAB8>
|
|||
|
CUDASigmaParam_single* sigma0Paramslist, long sigmaparamslistlen,// <20><>ֵͼ<D6B5><CDBC>
|
|||
|
|
|||
|
float* out_echoReal, float* out_echoImag,// <20><><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD>
|
|||
|
|
|||
|
float* d_temp_R, float* d_temp_amp
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|