成像时,校正回波随距离衰减的

pull/10/head
陈增辉 2025-04-07 15:22:53 +08:00
parent d125abf0d4
commit 99a2d7af0f
3 changed files with 8 additions and 4 deletions

View File

@ -14,6 +14,4 @@ bool GPSPointsNumberEqualCheck(QString& ImageLLPath, QString& InEchoGPSDataPath)
void InterploateAtiByRefDEM(QString& ImageLLPath, QString& ImageDEMPath, QString& outImageLLAPath, QString& InEchoGPSDataPath);
#endif

View File

@ -349,8 +349,6 @@ void QCreateInSARImagePlaneXYZRDialog::LookTableSimulationDopplerProcess(QString
Xp4, Yp4, Zp4, Xv4, Yv4, Zv4,
Xp5, Yp5, Zp5, Xv5, Yv5, Zv5,
dopplerRefrenceTime, r0, r1, r2, r3, r4);
// GPU -> ÄÚ´æ
DeviceToHost(host_R.get(), device_R.get(), sizeof(double) * rowcount * demimg.width);
qDebug() << "GPU computer finished!!: " << rid << "~" << rowcount + rid << "\t:" << demimg.height;
@ -383,3 +381,6 @@ void QCreateInSARImagePlaneXYZRDialog::onaccepted()
QMessageBox::information(this, u8"info", u8"completed!!!");
}

View File

@ -82,6 +82,7 @@ __global__ void processPulseKernel(
//printf("processPulseKernel xmat !!\n");
double R = sqrt(dx * dx + dy * dy + dz * dz);
double ampcorrect = (powf(4 * LAMP_CUDA_PI, 2) * powf(R, 4));
double dR = R - R0;
if (dR < r_start || dR >= (r_start + dr * (nR - 1))) return;
@ -107,6 +108,10 @@ __global__ void processPulseKernel(
phCorr.x = rc_interp.x * cos_phase - rc_interp.y * sin_phase;
phCorr.y = rc_interp.x * sin_phase + rc_interp.y * cos_phase;
// amp correction
phCorr.x = ampcorrect * phCorr.x;
phCorr.y = ampcorrect * phCorr.y;
// Accumulate
im_final[idx].x += phCorr.x;
im_final[idx].y += phCorr.y;