2025-01-02 10:53:33 +00:00
|
|
|
|
#ifndef _GPURFPC_H_
|
|
|
|
|
|
#define _GPURFPC_H_
|
2024-12-24 07:27:09 +00:00
|
|
|
|
|
|
|
|
|
|
#include "BaseConstVariable.h"
|
|
|
|
|
|
#include "GPUTool.cuh"
|
|
|
|
|
|
#include <cuda_runtime.h>
|
|
|
|
|
|
#include <device_launch_parameters.h>
|
|
|
|
|
|
#include <cublas_v2.h>
|
|
|
|
|
|
#include <cuComplex.h>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern "C" struct CUDASigmaParam {
|
|
|
|
|
|
float p1;
|
|
|
|
|
|
float p2;
|
|
|
|
|
|
float p3;
|
|
|
|
|
|
float p4;
|
|
|
|
|
|
float p5;
|
|
|
|
|
|
float p6;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
extern "C" void SatelliteAntDirectNormal(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,
|
|
|
|
|
|
float* thetaAnt, float* phiAnt, long len);
|
|
|
|
|
|
|
|
|
|
|
|
extern "C" void AntPatternInterpGain(float* anttheta, float* antphi, float* gain,
|
|
|
|
|
|
float* antpattern,
|
|
|
|
|
|
float starttheta, float startphi, float dtheta, float dphi, int thetapoints, int phipoints,
|
|
|
|
|
|
long len);
|
|
|
|
|
|
|
|
|
|
|
|
extern "C" void calculationEcho(float* sigma0, float* TransAnt, float* ReciveAnt,
|
|
|
|
|
|
float* localangle, float* R, float* slopeangle,
|
|
|
|
|
|
float nearRange, float Fs, float pt, float lamda, long FreqIDmax,
|
|
|
|
|
|
cuComplex* echoAmp, long* FreqID,
|
|
|
|
|
|
long len);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern "C" void CUDAInterpSigma(
|
|
|
|
|
|
long* demcls, float* sigmaAmp, float* localanglearr, long len,
|
|
|
|
|
|
CUDASigmaParam* sigma0Paramslist, long sigmaparamslistlen);
|
|
|
|
|
|
|
2025-01-02 10:53:33 +00:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>롢<EFBFBD><EBA1A2><EFBFBD><EFBFBD>
|
|
|
|
|
|
extern "C" void CUDARFPC_Caluation_R_Gain(
|
|
|
|
|
|
float antX,float antY,float antZ, // <20><><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
float* targetX,float* targetY, float* targetZ, long TargetPixelNumber, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2025-01-02 16:15:08 +00:00
|
|
|
|
long* demCls,
|
2025-01-02 10:53:33 +00:00
|
|
|
|
float* demSlopeX, float* demSlopeY, float* demSlopeZ, // <20>ر<EFBFBD><D8B1>¶<EFBFBD>ʸ<EFBFBD><CAB8>
|
|
|
|
|
|
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>
|
2025-01-02 16:15:08 +00:00
|
|
|
|
float Pt,// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2025-01-06 11:56:45 +00:00
|
|
|
|
double refPhaseRange,
|
2025-01-02 10:53:33 +00:00
|
|
|
|
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 NearR,float FarR, // <20><><EFBFBD>뷶Χ
|
2025-01-02 16:15:08 +00:00
|
|
|
|
CUDASigmaParam* sigma0Paramslist, long sigmaparamslistlen,// <20><>ֵͼ
|
2025-01-06 11:56:45 +00:00
|
|
|
|
float* factorj, long freqnum,
|
2025-01-06 04:03:14 +00:00
|
|
|
|
double* outR, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2025-01-06 11:56:45 +00:00
|
|
|
|
float* PRFEcho_real,float* PRFEcho_imag, long prfid
|
2025-01-02 10:53:33 +00:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-01-02 17:05:04 +00:00
|
|
|
|
extern "C" void CUDA_PRF_CalFreqEcho(
|
2025-01-06 04:03:14 +00:00
|
|
|
|
double* Rarr, float* amp, long pixelcount,//
|
2025-01-06 11:56:45 +00:00
|
|
|
|
float* factorj, long freqnum,
|
2025-01-06 04:03:14 +00:00
|
|
|
|
double dx, double nearR,
|
|
|
|
|
|
cuComplex* PRFEcho, long prfid
|
2025-01-02 10:53:33 +00:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-12-24 07:27:09 +00:00
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|