⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sar.h

📁 上传一个自己开发的合成孔径雷达(SAR)目标成像仿真模拟软件。
💻 H
字号:
// SAR.h: interface for the CSAR class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SAR_H__E363A952_40EB_469B_8275_3A94EEC2B24E__INCLUDED_)
#define AFX_SAR_H__E363A952_40EB_469B_8275_3A94EEC2B24E__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <math.h>
#include <direct.h>
#include <complex>
#include "Fourier.h"
using namespace std;
#define C 300000000 // 光速 =300000000
#define PI 3.141592653592
#define AREA_TARGET 0
#define POINT_TARGET 1
class CSAR  
{
public:
	int TargetSimuType;  //通过该二值变量判断目标类型,是面目标还是点目标
	CString  lpAreaTargetImageFileName;
	void GetAreaInformation(CString *FileName,int *w,int *h,BYTE **lpAreaImage);
	 	
	/* 回波信号有关的参数 */
    complex<double> *LpRangeMatchFilter; //存储距离向匹配滤波器,用于距离向向压缩
	double * LpRecSignalRe; //存储回波接收数据的实部[Na*Nr]
    double * LpRecSignalIm; //存储回波接收数据的虚部[Na*Nr]
    /*与SAR点目标及发射信号有关的参数*/
	
	int NaEffective;//方位向采样有效点数
    int NrEffective;//距离向采样有效点数
	int Na;    //方位向采样点数(NaEffective最接近的2的整数次幂)
	int Nr;    //距离向采样点数 (NrEffective最接近的2的整数次幂)
	
	int NTao;  //脉冲持续时间内采样点数
	int Nrcm;   //脉冲中断时间内采样点数 Nr>= NTao + Nrcm
		
	double Tsyn; //综合孔径时间
	double Rt; //SAR与目标的距离
	double R0;  //脉冲发射时的起始距离
	double Rbin; //距离向每像素代表的实际距离

	double FR; //多普勒信号调频率
	double KR; //发射线性调频信号调频率
	double FS; //接收信号采样率
	double PRF; //脉冲重复率(多普勒信号采样率)
	double B_d; //多普勒带宽
	double B_r; //发射信号带宽  
	double Pulsewidth;  //脉冲宽度 Tao
	double Wavelenth;  //载波长度 c=Wavelength*f
	double V_ami ;  //载机飞行速度
	double A_Res;  //方位向分辨率
	double R_Res;  //距离向分辨率

	double* LpAizm_Time;  //用来存储方位向时间
	double* LpRange_Time; //用来存储距离向时间
    double* LpTranSignalRe; //存储SAR点目标仿真信号数据的实部
	double* LpTranSignalIm; //存储SAR点目标仿真信号数据的虚部
   
	void SARParaInit();  //合成孔径雷达参数初始化
	BOOL LMFSignalProduce(); //产生线性调频信号
	BOOL RecEchoSignal(); //接收点目标回波

    /*距离多普勒R-D算法参数*/
	int A_in;   //方位向插值点数
	int R_in;   //距离向插值点数
	int RCM_in; // 距离徙动校正插值点数
    /*距离多普勒R-D算法函数*/	
	void EchoAzimuthCompress(); //用方位向匹配滤波器在距离多普勒域进行方位向压缩
	void RCMC();              //在距离多普勒域进行距离徙动校正
	void EchoRangeCompress(); //用匹配滤波器对回波信号进行距离向压缩
	
	/*CS算法参数*/
    double * LpVTaoRef;        //CS参考函数的峰值中心
	double * LpVTao;           //存储距离向压缩后的峰值中心
	double* LpRange_Frequency; //用来存储距离向频率
	double* LpAizm_Frequency;  //用来存储方位向频率
	double* LpBeta;
	double* LpKm; 
	double* LpKsrcInv; 
	double Ref;      //CS算法的参考距离,一般取回波成像中心
	/*CS算法函数*/
    void CSARangeFFT();
	void CSAAzimuthCompress(); //CS算法方位向压缩,最终成像 
	void CSARangeCompress();   //CS算法距离向压缩
	void CSAAzimuthFFT();      //CS算法方位向傅氏变换,在多普勒域进行CS处理
	void CSAChirpSacle();      //CS算法 CS处理
	void CSAParaInit();        //CS算法参数初始化
	CSAR();
	virtual ~CSAR();

};

#endif // !defined(AFX_SAR_H__E363A952_40EB_469B_8275_3A94EEC2B24E__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -