BP演算法實現圓跡SAR點目標模擬(C++語言)
阿新 • • 發佈:2019-02-14
在圓跡SAR成像模型中,一般採用後向投影演算法(Back Projection Algorithm,BPA)實現。本文采用C++語言建立了圓跡SAR的回波模型,然後採用BP演算法模擬出了點目標,回波幅度圖如圖1所示,點目標成像效果如圖2所示。幾經修改,在Release模式下生成的可執行檔案的執行效率比Matlab在同等引數條件下的執行效率高。模擬引數如下:
// 雷達引數設定
const double C = 3.0e8; // 光速
const double Fc = 10.0e9; // 載頻
const double BW = 600.0e6; // 頻寬
const double R0 = 10.0e3; // 飛行半徑
const int K = 512; // 頻率取樣數
const int Np = 256; // 脈衝數
double elev = 30.0; // 高度角
double minAz = 58.5; // 成像起始角
double maxAz = 61.5; // 成像終止角
// 點目標設定
const int Ntargets = 5;
CPoint3D Ptargets[Ntargets]; // CPoint3D是三維空間中的點類
Ptargets[0] = CPoint3D(0, 0, 0); // (x,y,z)
Ptargets[1] = CPoint3D(6, 6, 0);
Ptargets[2] = CPoint3D(-6, 6, 0);
Ptargets[3 ] = CPoint3D(-6, -6, 0);
Ptargets[4] = CPoint3D(6, -6, 0);
// 成像區域設定
const double Wx = 20.0; // 成像區域X方向長度
const double Wy = 20.0; // 成像區域Y方向長度
const int Nx = 501; // 成像區域X方向取樣點數
const int Ny = 501; // 成像區域Y方向取樣點數
圖1 5點目標的回波幅度圖
圖2 5點目標的成像效果