MATLAB 雷 达 数 据 处 理 : 脉 冲压缩,相干积累,MTI,CFAR 详解 2014-05-14 21:42:29| 分类: 雷达信号处理 | 标签:雷达数据仿真 动目标检测 脉压 恒虚警率 |字号 订阅 % Thanks to M. A. Richards for providing the code. clear, hold off format compact J = sqrt(-1); close all % Get root file name for reading results file=input('Enter root file name for data file: ','s'); eval(['load ',file,'.mat']) fprintf('\nPulse length = %g microseconds\n',T/1e-6) fprintf('Chirp bandwidth = %g Mhz\n',W/1e6) fprintf('Sampling rate = %g Msamples/sec\n',fs/1e6) figure plot((1e6/fs)*(0:length(s)-1),[real(s) imag(s)]) title('Real and Imaginary Parts of Chirp Pulse') xlabel('time (usec)') ylabel('amplitude') grid PRI = 1/PRF; fprintf('\nWe are simulating %g pulses at an RF of %g GHz',Np,fc/1e9) fprintf('\nand a PRF of %g kHz, giving a PRI of %g usec.',PRF/1e3,PRI/1e-6) fprintf('\nThe range window limits are %g to %g usec.\n', ... T_out(1)/1e-6,T_out(2)/1e-6) % Compute unambiguous Doppler interval in m/sec % Compute unambiguous range interval in meters vua = 3e8*PRF/(2*fc); rmin = 3e8*T_out(1)/2; rmax = 3e8*T_out(2)/2; rwin = rmax-rmin; rua = 3e8/2/PRF; fprintf('\nThe unambiguous velocity interval is %g m/s.',vua) fprintf('\nThe range window starts at %g km.',rmin/1e3) fprintf('\nThe range window ends at %g km.',rmax/1e3) fprintf('\nThe sampled range window is %g km long.',rwin/1e3) fprintf('\nThe unambiguous range interval is %g km.\n\n',rua/1e3) % Convert range samples to absolute range units. [My,Ny]=size(y); range=(3e8/2)*((0:My-1)*(1/fs) + T_out(1))/1e3; % T_out(1) 是接收窗的起始时刻,即range 从多远的距离开始观测 pulse = (1:Ny); % Force oversize FFT, and compute doppler scale factor Lfft = 2^(nextpow2(Ny)+3); % Lfft 是慢时间上 FFT 的点数 doppler = (((0:Lfft-1)/Lfft)-...