clear all;
close all;
clc;
%constants
c = 3E8; %(m/s) speed of light
% [filename, pathname, filterindex] = uigetfile( { '*.wav','echo file(*.wav)'}, 'Pick a file');
% %read the raw data .wave file here
% datafile=[pathname,filename];
%
% if filterindex==0
% return
% end
% [Y,FS,NBITS] = wavread(datafile);
load shiwai100mat;% 读取数据文件
%radar parameters
Tp =454/441*(20E-3)/2; %(s) pulse time---
N = Tp*FS; %# of samples per pulse
fstart = 2260E6; %(Hz) LFM start frequency for example
fstop = 2590E6; %(Hz) LFM stop frequency for example
%fstart = 2402E6; %(Hz) LFM start frequency for ISM band
%fstop = 2495E6; %(Hz) LFM stop frequency for ISM band
BW = fstop-fstart; %(Hz) transmti bandwidth
BW=150e6;
f = linspace(fstart, fstop, N/2); %instantaneous transmit frequency
zpad = 8*N/2;
%range resolution
rr = c/(2*BW);
max_range = rr*N/2;
deltf=FS/zpad;
Kr=BW/Tp*2;
deltR=deltf*c*2/Kr;
max_range=deltR*zpad;
%the input appears to be inverted
%check to see if triggering works
% plot(trig,'.b');
% hold on;si
% plot(start2,'.r');
% hold off;
% grid on;
%subtract the average
ave = mean(sif,1);
for ii = 1:size(sif,1);
sif(ii,:) = sif(ii,:)-ave ;
end
figure(1);
imagesc(linspace(0,max_range,zpad),time,sif);
thresh=-40;
title('未经过杂波抑制时域图')
weight=(hanning(N)).';
sif=sif.*(repmat(weight,size(sif,1),1));
%RTI plot
figure(2);
v = (fft(sif,zpad,2));
v=20*log10(abs(v));
S = v(:,1:size(v,2)/2);
m = max(max(v));
imagesc(linspace(0,max_range,zpad),time,S-m,[thresh, 0]);
colorbar;
ylabel('时间 (s)');
xlabel('距离 (m)');
title('未经杂波抑制处理频域图');
%% 二次相消器时域(加反馈)
%-----------------递归二次相消杂波抑制(时域)-------------------%
[b,a]=size(sif);
K3=0.6; %要满足K1^2<4*K2
K4=8*(K3^2)/4;
S_4=zeros(b-2,a);
S_4(1,:) = sif(3,:)+2*sif(2,:)+sif(1,:); % s(t)-2*s(t-T)+s(t-2*T)
S_4(2,:) = sif(4,:)+2*sif(3,:)+sif(2,:);
for iiii=3:b
S_4(iiii,:) = sif(iiii,:)+2*sif(iiii-1,:)+sif(iiii-2,:)+K3*S_4(iiii-1,:)-K4*S_4(iiii-2,:);
end
FFT_S_4=fft(S_4,zpad,2);
v=20*log10(abs(FFT_S_4));
S = v(:,1:size(v,2)/2);
m = max(max(v));
figure(3);
imagesc(linspace(0,max_range,zpad),time,S-m,[thresh, 0]);
colorbar;
ylabel('时间 (s)');
xlabel('距离 (m)');
title('递归二次相消杂波抑制(时域)');
% %-----------------递归二次相消杂波抑制(时域)-------------------%