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

📄 imagerd.h

📁 本程序是应用于雷达成像的距离多普勒成像算法的c++程序源代码。
💻 H
字号:
#ifndef _CIMAGERD_H
#define _CIMAGERD_H

#include "stdafx.h"
#include "sarsoft.h"

	
#define c 3e+8
#define pi 3.1415926
#define PROCESSER m_paraList.processList
#define SIGNAL1(c1,c2) m_signal[(c1)*m_NumRFFT+(c2)]

class CImageRD
{
public:
	CImageRD();
	virtual ~CImageRD();
public:	  // parameters  
	ParaList m_paraList;		     		 //参数表
	CString m_sParaFile;		 		 //参数文件名称
	LPVOID  m_reflectData;		     		 //回波内存映像
	int m_iRow, m_iCol;			     	  	 //回波范围
	float k_a;				                 // azimuth factor
	float k_r;				                 // range factor
	float sita;			                     // squint angle (正侧视) 
	int i,j,k;                               // variable of circle
	float res_a;		                     // required azimuth resolution
	float res_r;							 // required range resolution
	float H;						         // radar working high
	float Theta;					         // angle of radar's incidence
	float Ra;								 // radar working distance
	float va; 						         // radar/platform forward velocity
	float Tp; 							     // transmitted pulse width      
	float fc;				 				 // carrier frequency 
	float lamda;						     // wavelength
	float Br;				                 // required transmitted bandwidth(k_r*c/2./res_r)
	float Fs;			                     // A/D sampling rate(FsFactor=1.5)
	double bin_r;		                     // range bin
	double La;                               // required synthetic aperture length
	double Ta;					             // required synthetic aperture time
	double fdc;                              // doppler centriod(正侧视就为0)
	double fdr;							     // doppler rate
	double Bd,Kr;				                 // doppler bandwidth
	float prf;					             // PRF(Bd*2)

	float rmin;                             // maximal rang
	
	double rmax;                             // minimal rang
	int Na;                                  //azimuth sampling number
	int Nr;                                  //rang sampling number 
private:
	int m_NumRFFT;						 	 //距离向FFT点数
	int m_NumAFFT;					 		 //方位向FFT点数
	int m_rR;                                //比距离向点数大的并且最接近距离向点数的2的幂次
	int m_rA;                                //比方位向点数大的并且最接近方位向点数的2的幂次

	DComplex *m_buffer;						//临时存储区
	DComplex *m_signal;			            //信号存储区
	//用于创建内存映射文件时产生的句柄
	HANDLE m_hFile;    
	HANDLE m_hFileMap; 
public:
	bool ParaSet(CString strfileName="");
    bool RangeCompress();
    bool AzimuthCompress();
	void MYFFT(DComplex* TD,int r);  
	void MYFFTShift(DComplex* FD,int r);
	void MYIFFT(DComplex* FD,int r);
	int  GetLogNum(int num);
	// void LineInterpolation;
	//void SaveSignal(char *fileName, bool saveRange=true);
	bool CreateMemoryMap(CString strFileName, DWORD dwSize);
	//读取回波数据文件到内存中
	bool ReadReflectWaveData(char *fileName);
};



#endif

⌨️ 快捷键说明

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