73 lines
2.2 KiB
Plaintext
73 lines
2.2 KiB
Plaintext
#ifndef __GF3CALIBRATIONGEOCODINGFUNCUDA__H__
|
||
#define __GF3CALIBRATIONGEOCODINGFUNCUDA__H__
|
||
#include "gf3calibrationandorthlib_global.h"
|
||
|
||
|
||
#include "BaseConstVariable.h"
|
||
#include "GPUTool.cuh"
|
||
#include <cuda_runtime.h>
|
||
#include <device_launch_parameters.h>
|
||
#include <cublas_v2.h>
|
||
#include <cuComplex.h>
|
||
|
||
/** 核函数 *********************************************************************************************************************/
|
||
/// <summary>
|
||
/// 计算极化转换系数(float)
|
||
/// </summary>
|
||
/// <param name="inangle">入射角</param>
|
||
/// <param name="alpha">转换参数</param>
|
||
/// <returns></returns>
|
||
extern __device__ __host__ float Computrer_polartionConver_rpol_f(float inangle, float alpha = 1);
|
||
|
||
/// <summary>
|
||
/// 计算极化转换系数 (double)
|
||
/// </summary>
|
||
/// <param name="inangle">入射角</param>
|
||
/// <param name="alpha">转换参数</param>
|
||
/// <returns></returns>
|
||
extern __device__ __host__ double Computrer_polartionConver_rpol_d(double inangle, double alpha = 1);
|
||
|
||
/// <summary>
|
||
/// 后向散射系数变换函数
|
||
/// </summary>
|
||
/// <param name="insig">sigma0 (dB)</param>
|
||
/// <param name="inangle">入射角 (度)</param>
|
||
/// <param name="alpha">默认1,基尔霍夫模型,0.6为汤姆森</param>
|
||
/// <param name="isvv">true表示输入为VV,false为HH</param>
|
||
/// <returns></returns>
|
||
extern __host__ __device__ double polartionConver_d(double insig, double inangle, double alpha = 1.0, bool isvv = true);
|
||
|
||
/// <summary>
|
||
/// 后向散射系数变换函数
|
||
/// </summary>
|
||
/// <param name="insig">sigma0 (dB)</param>
|
||
/// <param name="inangle">入射角 (度)</param>
|
||
/// <param name="alpha">默认1,基尔霍夫模型,0.6为汤姆森</param>
|
||
/// <param name="isvv">true表示输入为VV,false为HH</param>
|
||
/// <returns></returns>
|
||
extern __host__ __device__ float polartionConver_f(float insig, float inangle, float alpha = 1.0, bool isvv = true);
|
||
|
||
|
||
|
||
|
||
|
||
|
||
/** 对外调用函数部分 ******************************************************************************************************************************/
|
||
|
||
extern "C" void GPUComputePolarizationConver_f(
|
||
float* insig, float* inangle, float* alpha,
|
||
bool isvv, int count,
|
||
float* outsig
|
||
);
|
||
extern "C" void GPUComputePolarizationConver_d(
|
||
double* insig, double* inangle, double* alpha,
|
||
bool isvv, int count,
|
||
double* outsig
|
||
);
|
||
|
||
|
||
|
||
|
||
#endif
|
||
|