2025-05-13 17:48:58 +00:00
|
|
|
|
#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>
|
|
|
|
|
|
2025-05-20 07:18:00 +00:00
|
|
|
|
/** <20>˺<EFBFBD><CBBA><EFBFBD> *********************************************************************************************************************/
|
2025-05-13 17:48:58 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><><EFBFBD>㼫<EFBFBD><E3BCAB>ת<EFBFBD><D7AA>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>float<61><74>
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="inangle"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|
|
|
|
/// <param name="alpha">ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|
|
|
|
/// <returns></returns>
|
2025-05-13 18:56:15 +00:00
|
|
|
|
extern __device__ __host__ float Computrer_polartionConver_rpol_f(float inangle, float alpha = 1);
|
2025-05-13 17:48:58 +00:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><><EFBFBD>㼫<EFBFBD><E3BCAB>ת<EFBFBD><D7AA>ϵ<EFBFBD><CFB5> (double)
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="inangle"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|
|
|
|
/// <param name="alpha">ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|
|
|
|
/// <returns></returns>
|
2025-05-13 18:56:15 +00:00
|
|
|
|
extern __device__ __host__ double Computrer_polartionConver_rpol_d(double inangle, double alpha = 1);
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><><EFBFBD><EFBFBD>ɢ<EFBFBD><C9A2>ϵ<EFBFBD><CFB5><EFBFBD>任<EFBFBD><E4BBBB><EFBFBD><EFBFBD>
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="insig">sigma0 (dB)</param>
|
|
|
|
|
/// <param name="inangle"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>)</param>
|
|
|
|
|
/// <param name="alpha">Ĭ<><C4AC>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>ͣ<EFBFBD>0.6Ϊ<EFBFBD><EFBFBD>ķɭ</param>
|
|
|
|
|
/// <param name="isvv">true<75><65>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ΪVV<56><56>falseΪHH</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
extern __host__ __device__ double polartionConver_d(double insig, double inangle, double alpha = 1.0, bool isvv = true);
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><><EFBFBD><EFBFBD>ɢ<EFBFBD><C9A2>ϵ<EFBFBD><CFB5><EFBFBD>任<EFBFBD><E4BBBB><EFBFBD><EFBFBD>
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="insig">sigma0 (dB)</param>
|
|
|
|
|
/// <param name="inangle"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>)</param>
|
|
|
|
|
/// <param name="alpha">Ĭ<><C4AC>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>ͣ<EFBFBD>0.6Ϊ<EFBFBD><EFBFBD>ķɭ</param>
|
|
|
|
|
/// <param name="isvv">true<75><65>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ΪVV<56><56>falseΪHH</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
extern __host__ __device__ float polartionConver_f(float insig, float inangle, float alpha = 1.0, bool isvv = true);
|
|
|
|
|
|
2025-05-13 17:48:58 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-05-20 07:18:00 +00:00
|
|
|
|
|
|
|
|
|
/** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ******************************************************************************************************************************/
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-05-13 17:48:58 +00:00
|
|
|
|
#endif
|
|
|
|
|
|