77 lines
3.2 KiB
Plaintext
77 lines
3.2 KiB
Plaintext
#include "GPUTool.cuh"
|
|
#include <cuda_runtime.h>
|
|
#include <device_launch_parameters.h>
|
|
#include <cublas_v2.h>
|
|
#include "BaseConstVariable.h"
|
|
|
|
|
|
|
|
|
|
|
|
extern __device__ double getNumberDopplerCenterRate(double R, double r0, double r1, double r2, double r3, double r4,double reftime);
|
|
|
|
extern __device__ double getDopplerCenterRate(double Rx,double Ry,double Rz,double Vx,double Vy,double Vz,double fact_lamda); //fact_lamda lamda 的倒数
|
|
|
|
extern __device__ double getPolyfitNumber(double x, double a0, double a1, double a2, double a3, double a4,double a5);
|
|
|
|
|
|
|
|
//
|
|
extern "C" void RDProcess_dopplerGPU(
|
|
double* demX, double* demY, double* demZ, // 处理入射坐标
|
|
float* outRidx,float* outCidx, // 输出 行列数
|
|
long rowcount,long colcount,
|
|
|
|
double starttime, double nearRange, double farRange,
|
|
double PRF, double Fs,
|
|
double fact_lamda, // lamda 倒数
|
|
|
|
double Xp0 = 0, double Yp0 = 0,double Zp0 = 0,double Xv0 = 0,double Yv0 = 0,double Zv0 = 0, // 轨道参数
|
|
double Xp1 = 0, double Yp1 = 0,double Zp1 = 0,double Xv1 = 0,double Yv1 = 0,double Zv1 = 0,
|
|
double Xp2 = 0, double Yp2 = 0,double Zp2 = 0,double Xv2 = 0,double Yv2 = 0,double Zv2 = 0,
|
|
double Xp3 = 0, double Yp3 = 0,double Zp3 = 0,double Xv3 = 0,double Yv3 = 0,double Zv3 = 0,
|
|
double Xp4 = 0, double Yp4 = 0,double Zp4 = 0,double Xv4 = 0,double Yv4 = 0,double Zv4 = 0,
|
|
double Xp5 = 0, double Yp5 = 0,double Zp5 = 0,double Xv5 = 0,double Yv5 = 0,double Zv5 = 0,
|
|
double reftime=0,double r0 = 0, double r1 = 0, double r2 = 0, double r3 = 0, double r4 = 0
|
|
);
|
|
|
|
|
|
|
|
//
|
|
extern "C" void RDProcess_demSloperGPU(
|
|
double* demX, double* demY, double* demZ, // 处理入射坐标
|
|
double* demSloperX, double* demSloperY, double* demSloperZ, // 处理入射坐标
|
|
float* InRidx, //float* InCidx, // 输出 行列数
|
|
float* outIncAngle,
|
|
long rowcount, long colcount,
|
|
double starttime, double nearRange, double farRange,
|
|
double PRF, //double Fs,
|
|
//double fact_lamda, // lamda 倒数
|
|
|
|
double Xp0 = 0, double Yp0 = 0, double Zp0 = 0, double Xv0 = 0, double Yv0 = 0, double Zv0 = 0, // 轨道参数
|
|
double Xp1 = 0, double Yp1 = 0, double Zp1 = 0, double Xv1 = 0, double Yv1 = 0, double Zv1 = 0,
|
|
double Xp2 = 0, double Yp2 = 0, double Zp2 = 0, double Xv2 = 0, double Yv2 = 0, double Zv2 = 0,
|
|
double Xp3 = 0, double Yp3 = 0, double Zp3 = 0, double Xv3 = 0, double Yv3 = 0, double Zv3 = 0,
|
|
double Xp4 = 0, double Yp4 = 0, double Zp4 = 0, double Xv4 = 0, double Yv4 = 0, double Zv4 = 0,
|
|
double Xp5 = 0, double Yp5 = 0, double Zp5 = 0, double Xv5 = 0, double Yv5 = 0, double Zv5 = 0
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
extern "C" void RDProcess_dopplerGPU_InSARImagePlaneXYZR(
|
|
double* demX, double* demY, double* demZ,
|
|
double* outR,
|
|
long rowcount, long colcount,
|
|
double starttime, double nearRange, double farRange,
|
|
double PRF, double Fs,
|
|
double fact_lamda,
|
|
double Xp0, double Yp0, double Zp0, double Xv0, double Yv0, double Zv0,
|
|
double Xp1, double Yp1, double Zp1, double Xv1, double Yv1, double Zv1,
|
|
double Xp2, double Yp2, double Zp2, double Xv2, double Yv2, double Zv2,
|
|
double Xp3, double Yp3, double Zp3, double Xv3, double Yv3, double Zv3,
|
|
double Xp4, double Yp4, double Zp4, double Xv4, double Yv4, double Zv4,
|
|
double Xp5, double Yp5, double Zp5, double Xv5, double Yv5, double Zv5,
|
|
double reftime, double r0, double r1, double r2, double r3, double r4
|
|
); |