BP算法实现圆迹SAR点目标仿真(C++语言)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Destiny0321/article/details/65938240

在圆迹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点目标的成像效果

源代码下载地址:http://download.csdn.net/detail/destiny0321/9793577
(注:本程序运行环境为Visual Studio 2013,64bit,运行该程序需要在VS中配置opencv,对opencv的配置可参考http://blog.csdn.net/destiny0321/article/details/54138434中的部分内容)

猜你喜欢

转载自blog.csdn.net/Destiny0321/article/details/65938240