├── SAR ├── .DS_Store ├── 150905-14s-3gezhibiao.m ├── 150914-14s-05m4km.m ├── CSA.m ├── CSA_squint.m ├── Executables │ ├── ERS.mat │ ├── SAR_focusing_tutorial_solution.m │ ├── SAR_focusing_tutorial_temp.m │ └── Test_Image.mat ├── RCMC.m ├── RDA_SRC.m ├── RDA_dandianxieshi.m ├── RDA_main.m ├── RDA_main_a.m ├── RDA_main_b.m ├── RDA_squint.m ├── RDA_ver100.m ├── RDA_ver101.m ├── RDA_xiaoxieshi.m ├── RDA_zhengceshi.m ├── RDAxiaoxieshi.m ├── echo_creation.m ├── ftx.m ├── fty.m ├── iftx.m ├── ifty.m ├── rda.m ├── show_var.m └── slice.m └── SAR_tools ├── CSA.m ├── CS_SAR.m ├── MyCSSar.m ├── MyRDSar.m ├── NearSAR.m ├── RDA.m ├── RDA_main.m ├── RDA_main_a.m ├── RDA_main_b.m ├── RD_algorithm.m ├── SincSAR.m ├── chirpscaling.m ├── create_echo.m ├── cs.m ├── fftshifttest.m ├── fig5_3.m ├── ftx.m ├── fty.m ├── iftx.m ├── ifty.m ├── maiya.m ├── pulsecompression.m └── testfft.m /SAR/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/.DS_Store -------------------------------------------------------------------------------- /SAR/150905-14s-3gezhibiao.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/150905-14s-3gezhibiao.m -------------------------------------------------------------------------------- /SAR/150914-14s-05m4km.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/150914-14s-05m4km.m -------------------------------------------------------------------------------- /SAR/CSA.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/CSA.m -------------------------------------------------------------------------------- /SAR/CSA_squint.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/CSA_squint.m -------------------------------------------------------------------------------- /SAR/Executables/ERS.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/Executables/ERS.mat -------------------------------------------------------------------------------- /SAR/Executables/SAR_focusing_tutorial_solution.m: -------------------------------------------------------------------------------- 1 | clear all; close all; clc; 2 | 3 | % Tutorial: Focusing of SAR raw data 4 | % Programmed by Diana Weihing & Stefan Auer 5 | % Remote Sensing Technology 6 | % Technische Universit? M?chen 7 | % 2011 8 | 9 | %-------------------------------------------------------------------------- 10 | 11 | % A.) Load raw data 12 | 13 | % Dummy image ('Test_Image') 14 | %raw = load('Test_Image'); % type: field 15 | %max_power = 2.1807e+008; 16 | 17 | % Real SAR data ('ERS') 18 | raw = load('ERS.mat'); % type: field 19 | max_power = 10000; 20 | 21 | % Multilooking on/off? 22 | multilook = 1; % 0: no; 1: yes 23 | ml_factor = 5; % multilooking factor (spatial) 24 | 25 | % Get image size 26 | fn = fieldnames(raw); 27 | Raw_data = getfield(raw,fn{1}); 28 | size_azimuth = size(Raw_data,1); 29 | size_range = size(Raw_data,2); 30 | %-------------------------------------------------------------------------- 31 | 32 | % B.) Sensor parameters (ERS satellite) 33 | fs=18.962468*10^6; % Range Sampling Frequency [Hz] 34 | K_r=4.18989015*10^(11); % FM Rate Range Chirp [1/s^2] --> up-chirp 35 | tau_p=37.12*10^(-6); % Chirp duration [s] 36 | V=7098.0194; % Effective satellite velocity [m/s] 37 | lambda=0.05656; % Length of carrier wave [m] 38 | R_0=852358.15; % Range to center of antenna footprint [m] 39 | ta=0.6; % Aperture time [s] 40 | prf=1679.902; % Pulse Repitition Frequency [Hz] 41 | 42 | %-------------------------------------------------------------------------- 43 | 44 | % C.) Display raw data 45 | figure; 46 | imagesc(abs(Raw_data));colormap('gray'); 47 | title('Raw data (unfocused)'); xlabel('Range pixels'); ylabel('Azimuth pixels'); 48 | axis equal; axis off; 49 | 50 | %-------------------------------------------------------------------------- 51 | 52 | % D.) Define correlation chirp in range 53 | 54 | % Basic definitions 55 | range_chirp=zeros(1,size_range); % empty vector to be filled with chirp values 56 | tau=-tau_p/2:1/fs:tau_p/2; % time axis in range 57 | omega = -fs/2:1/tau_p:fs/2; % frequency axis in range ? 58 | 59 | % Define chirp in range 60 | ra_chirp_temp = exp(1i.*pi.*K_r.*tau.^2); 61 | 62 | % Get size of chirp 63 | size_chirp_r = length(tau); 64 | 65 | %-------------------------------------------------------------------------- 66 | 67 | % Display range chirp (time + frequency domain) 68 | figure; 69 | subplot(2,1,1); plot(tau,real(ra_chirp_temp),'b'); hold on; 70 | plot(tau,imag(ra_chirp_temp),'r'); 71 | title('Range chirp'); xlabel('Time axis [sec]'); ylabel('Amplitude'); 72 | xlim([min(tau) max(tau)]); 73 | subplot(2,1,2); plot(omega, abs(fftshift(fft(ra_chirp_temp)))); 74 | title('Spectrum of range chirp'); xlabel('Frequency [Hz]'); ylabel('Absolute'); 75 | xlim([min(omega) max(omega)]); 76 | 77 | %-------------------------------------------------------------------------- 78 | 79 | % Position chirp in range vector (centered) 80 | % --> used for correlation procedure 81 | range_chirp(ceil((size_range-size_chirp_r)/2):size_chirp_r+ceil((size_range-size_chirp_r)/2)-1)=ra_chirp_temp; 82 | 83 | % Transform vector in frequency domain (fourier transform) 84 | RANGE_CHIRP=fft(range_chirp); 85 | 86 | % Define chirp for correlation 87 | % --> conjugate complex of signal chirp 88 | CON_RANGE_CHIRP=conj(RANGE_CHIRP); 89 | 90 | %-------------------------------------------------------------------------- 91 | 92 | % E.) Define correlation chirp in azimuth 93 | 94 | % Basic definitions 95 | azimuth_chirp=zeros(1,size_azimuth); % empty vector to be filled with chirp values 96 | t=-ta/2:1/prf:ta/2; % time axis in azimuth 97 | v=-prf/2:1/ta:prf/2; % frequency axis in azimuth?? 98 | 99 | % FM Rate Azimuth Chirp 100 | K_a=-2*V^2/(lambda*R_0); 101 | 102 | % Define chirp in azimuth 103 | az_chirp_temp=exp(1i.*pi.*K_a.*t.^2); 104 | 105 | % Get size of chirp 106 | size_chirp_a = length(t); 107 | 108 | %-------------------------------------------------------------------------- 109 | 110 | % Display azimuth chirp (time + frequency domain) 111 | figure; 112 | subplot(2,1,1); plot(t,real(az_chirp_temp),'b'); hold on; 113 | plot(t,imag(az_chirp_temp),'r'); 114 | title('Azimuth chirp'); xlabel('Time axis [sec]'); ylabel('Amplitude'); 115 | xlim([min(t) max(t)]); 116 | subplot(2,1,2); plot(v, abs(fftshift(fft(az_chirp_temp)))); 117 | title('Spectrum of azimuth chirp'); xlabel('Frequency [Hz]'); ylabel('Absolute'); 118 | xlim([min(v) max(v)]); 119 | 120 | %-------------------------------------------------------------------------- 121 | 122 | % Position chirp in azimuth vector (centered) 123 | % --> used for correlation procedure 124 | azimuth_chirp(ceil((size_azimuth-size_chirp_a)/2):size_chirp_a+ceil((size_azimuth-size_chirp_a)/2)-1)=az_chirp_temp; 125 | 126 | % Transform vector in frequency domain (fourier transform) 127 | AZIMUTH_CHIRP=fft(azimuth_chirp); 128 | 129 | % Define chirp for correlation 130 | % --> conjugate complex of signal chirp 131 | CON_AZIMUTH_CHIRP=conj(AZIMUTH_CHIRP); 132 | 133 | %-------------------------------------------------------------------------- 134 | 135 | % F.) Focusing (= 2D correlation) 136 | 137 | % Dummy matrix to be filled with processed data 138 | processed=zeros(size_azimuth,size_range); 139 | 140 | %------------------------------------------------- 141 | 142 | % F.1) Range compression 143 | % --> correction in azimuth time - range frequency domain 144 | % --> result in azimuth-range domain 145 | 146 | for k1 = 1:size_azimuth 147 | vek = Raw_data(k1,:); % Select row in range 148 | VEK = fft(vek); % Fourier Transform 149 | CORR = VEK.*CON_RANGE_CHIRP; % Multiply spectra 150 | if_vek = fftshift(ifft(CORR)); % Inverse Fourier Transform 151 | processed(k1,:) = if_vek; 152 | end 153 | 154 | clear vek VEK CORR if_vek 155 | 156 | %------------------------------------------------- 157 | 158 | % F.2) Azimuth compression 159 | % conducted in azimuth frequency - range time domain 160 | 161 | for k2 = 1:size_range 162 | vek = processed(:,k2); % select row in azimuth 163 | VEK = fft(vek); % Fourier Transform 164 | CORR = VEK.*CON_AZIMUTH_CHIRP.'; % Multiply spectra 165 | if_vek = fftshift(ifft(CORR)); % Inverse Fourier Transform 166 | processed(:,k2) = if_vek; 167 | end 168 | 169 | % F.1) Range compression 170 | % --> correction in azimuth time - range frequency domain 171 | % --> result in azimuth-range domain 172 | 173 | clear vek VEK CORR if_vek 174 | 175 | %-------------------------------------------------------------------------- 176 | 177 | % G.) Spatial Multilooking 178 | 179 | % ERS: resolution in range: approx. 25 m, resolution in azimuth: approx. 5 m 180 | % Aim: pixel should have the same size in azimuth and range 181 | % solution: average 5 azimuth pixels to one azimuth pixel 182 | 183 | if multilook == 1 184 | 185 | % define size of output image 186 | output_image=zeros(ceil(size_azimuth/ml_factor),size_range); 187 | 188 | % Dummy index 189 | index=1; 190 | 191 | % Spatial averaging 192 | for i=1:ml_factor:size_azimuth-ml_factor % jump along azimuth axis according to multilooking factor 193 | vek=processed(i:i+(ml_factor-1),:); % select azimuth bins 194 | m_vek=mean(abs(vek),1); % average value of azimuth bins 195 | output_image(index,:)=m_vek; 196 | index=index+1; 197 | end 198 | 199 | % Final SAR image (multi-looked) 200 | processed = output_image; 201 | 202 | end 203 | 204 | %-------------------------------------------------------------------------- 205 | 206 | % H.) Display SAR image 207 | 208 | figure; 209 | imagesc(abs(processed));colormap('gray') 210 | title('Processed SAR image') 211 | xlabel('Range','FontSize',12); ylabel('Azimuth','FontSize',12); 212 | caxis([0 max_power]); 213 | axis equal; axis off; 214 | 215 | %-------------------------------------------------------------------------- -------------------------------------------------------------------------------- /SAR/Executables/SAR_focusing_tutorial_temp.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/Executables/SAR_focusing_tutorial_temp.m -------------------------------------------------------------------------------- /SAR/Executables/Test_Image.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/Executables/Test_Image.mat -------------------------------------------------------------------------------- /SAR/RCMC.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/RCMC.m -------------------------------------------------------------------------------- /SAR/RDA_SRC.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/RDA_SRC.m -------------------------------------------------------------------------------- /SAR/RDA_dandianxieshi.m: -------------------------------------------------------------------------------- 1 | %2016/11/11 2 | %Liu Yakun 3 | 4 | clc; 5 | clear; 6 | close all; 7 | 8 | C = 3e8; 9 | Fc = 3e9; 10 | lambda = C / Fc; 11 | V = 150; 12 | Theta = 10 / 180 * pi; 13 | Yc = 10000; 14 | D = 4; 15 | beta = lambda / D; 16 | Xc = Yc * tan(Theta); 17 | Rc = Yc / cos(Theta); 18 | 19 | Tslow_begin = -Yc * (tan(Theta + beta/2) - tan(Theta)) / V; 20 | Tslow_end = Yc * (tan(Theta) - tan(Theta - beta/2)) / V; 21 | Tsar = Tslow_end - Tslow_begin; 22 | Ka = 2 * V^2 * cos(Theta)^2 / lambda / Rc; 23 | Ba = Ka * Tsar; 24 | alpha_PRF = 1.3; 25 | alpha_Fs = 1.2; 26 | PRF = round(alpha_PRF * Ba); 27 | Na = (Tslow_end - Tslow_begin) / V * PRF; 28 | 29 | -------------------------------------------------------------------------------- /SAR/RDA_main.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/RDA_main.m -------------------------------------------------------------------------------- /SAR/RDA_main_a.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/RDA_main_a.m -------------------------------------------------------------------------------- /SAR/RDA_main_b.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/RDA_main_b.m -------------------------------------------------------------------------------- /SAR/RDA_squint.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/RDA_squint.m -------------------------------------------------------------------------------- /SAR/RDA_ver100.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/RDA_ver100.m -------------------------------------------------------------------------------- /SAR/RDA_ver101.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/RDA_ver101.m -------------------------------------------------------------------------------- /SAR/RDA_xiaoxieshi.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/RDA_xiaoxieshi.m -------------------------------------------------------------------------------- /SAR/RDA_zhengceshi.m: -------------------------------------------------------------------------------- 1 | %2016/11/14 2 | %Liu Yakun 3 | 4 | clc,clear,close all; 5 | 6 | C = 3e8; 7 | Fc = 1e9; 8 | lambda = C / Fc; 9 | V = 150; 10 | D = 2; 11 | beta = lambda / D; 12 | Br = 60e6; 13 | Tr = 2e-6; 14 | Kr = Br / Tr; 15 | Yc = 10e3; 16 | Xc = 0; 17 | Lsar = beta * Yc; 18 | Tsar = Lsar / V; 19 | Ka = 2 * V^2 / lambda / Yc; 20 | Ba = abs(Ka * Tsar); 21 | Wr = 300; 22 | Wa = 200; 23 | a = 0.3; 24 | b = 0.4; 25 | Targets = [Xc + a * Wa/2,Yc + b * Wr/2,1 26 | Xc + a * Wa/2,Yc - b * Wr/2,1 27 | Xc - a * Wa/2,Yc + b * Wr/2,1 28 | Xc - a * Wa/2,Yc - b * Wr/2,1 29 | Xc ,Yc ,1]; 30 | 31 | Ta_begin = -((Yc + Wr/2)*tan(beta/2) + Wa/2) / V; 32 | Ta_end = ((Yc + Wr/2)*tan(beta/2) + Wa/2) / V; 33 | Fa_alpha = 1.3; 34 | PRF = Fa_alpha * Ba; 35 | PRT = 1 / PRF; 36 | Na = round((Ta_end - Ta_begin) * PRF); 37 | Na = 2^nextpow2(Na); 38 | Tslow = [-Na/2:Na/2 - 1] * PRT; 39 | 40 | Fr_alpha = 1.2; 41 | Fs = Fr_alpha * Br; 42 | Ts = 1 / Fs; 43 | Rnear = Yc - Wr/2; 44 | Rfar = (Yc + Wr/2)/cos(beta/2); 45 | Rmid = (Rnear + Rfar) / 2; 46 | Nr = (2 * (Rfar - Rnear) / C + Tr)/Ts; 47 | Nr = 2^nextpow2(Nr); 48 | 49 | Tfast = [-Nr/2:Nr/2-1]*Ts + (2 * Rmid / C); 50 | 51 | ntarget = size(Targets,1); 52 | echo = zeros(Na,Nr); 53 | 54 | for i = 1:ntarget 55 | x = Targets(i,1); 56 | y = Targets(i,2); 57 | rcs = Targets(i,3); 58 | range = sqrt(y^2 + (x - V*Tslow).^2); 59 | tau = 2 * range / C; 60 | t_center = x / V; 61 | delta_t = y * tan(beta/2); 62 | D = ones(Na,1)*Tfast - tau' * ones(1,Nr); 63 | phase = pi * D.^2 - 4 * pi / lambda * range' * ones(1,Nr); 64 | t = ones(Na,1) * Tfast - tau' * ones(1,Nr); 65 | echo = echo + rcs*exp(1i*phase) .* ((abs(Tslow - t_center) < delta_t)' * ones(1,Nr)) .* ((abs(t) < Tr/2)); 66 | end 67 | 68 | t = Tfast - 2 * Rmid / C; 69 | ref_r = exp(1i*pi*Kr*t.^2) .* (abs(t) < Tr/2);% .* hamming(Nr).'; 70 | ref_R = fty(ref_r); 71 | signal_comp = ifty(fty(echo) .* (ones(Na,1) * conj(ref_R))); 72 | 73 | 74 | -------------------------------------------------------------------------------- /SAR/RDAxiaoxieshi.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/RDAxiaoxieshi.m -------------------------------------------------------------------------------- /SAR/echo_creation.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/echo_creation.m -------------------------------------------------------------------------------- /SAR/ftx.m: -------------------------------------------------------------------------------- 1 | 2 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3 | % Forward FFT w.r.t. the first variable % 4 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 | 6 | function fs=ftx(s) 7 | fs=fftshift(fft(fftshift(s))); 8 | 9 | 10 | -------------------------------------------------------------------------------- /SAR/fty.m: -------------------------------------------------------------------------------- 1 | 2 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3 | % Forward FFT w.r.t. the second variable % 4 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 | 6 | function fs=fty(s) 7 | fs=fftshift(fft(fftshift(s.'))).'; 8 | 9 | -------------------------------------------------------------------------------- /SAR/iftx.m: -------------------------------------------------------------------------------- 1 | 2 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3 | % Inverse FFT w.r.t. the first variable % 4 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 | 6 | function s=iftx(fs); 7 | s=fftshift(ifft(fftshift(fs))); 8 | 9 | -------------------------------------------------------------------------------- /SAR/ifty.m: -------------------------------------------------------------------------------- 1 | 2 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3 | % Inverse FFT w.r.t. the second variable % 4 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 | 6 | function s=ifty(fs); 7 | s=fftshift(ifft(fftshift(fs.'))).'; 8 | 9 | -------------------------------------------------------------------------------- /SAR/rda.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR/rda.m -------------------------------------------------------------------------------- /SAR/show_var.m: -------------------------------------------------------------------------------- 1 | function x = show_var(H,Vr,La,Kr,Tr,alpha_Fsr, -------------------------------------------------------------------------------- /SAR/slice.m: -------------------------------------------------------------------------------- 1 | clc,clear,close all; 2 | t = 0:0.001:1; 3 | x = sin(2*pi*30*t) + sin(2*pi*60*t); 4 | y = interp(x,4); 5 | 6 | subplot 211 7 | stem(0:30,x(1:31),'filled','markersize',3) 8 | grid on 9 | xlabel 'Sample number',ylabel Original 10 | subplot 212 11 | stem(0:120,y(1:121),'filled','markersize',3) 12 | grid on 13 | xlabel 'Sample number',ylabel Interpolated -------------------------------------------------------------------------------- /SAR_tools/CSA.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR_tools/CSA.m -------------------------------------------------------------------------------- /SAR_tools/CS_SAR.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR_tools/CS_SAR.m -------------------------------------------------------------------------------- /SAR_tools/MyCSSar.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR_tools/MyCSSar.m -------------------------------------------------------------------------------- /SAR_tools/MyRDSar.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR_tools/MyRDSar.m -------------------------------------------------------------------------------- /SAR_tools/NearSAR.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR_tools/NearSAR.m -------------------------------------------------------------------------------- /SAR_tools/RDA.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR_tools/RDA.m -------------------------------------------------------------------------------- /SAR_tools/RDA_main.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR_tools/RDA_main.m -------------------------------------------------------------------------------- /SAR_tools/RDA_main_a.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR_tools/RDA_main_a.m -------------------------------------------------------------------------------- /SAR_tools/RDA_main_b.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR_tools/RDA_main_b.m -------------------------------------------------------------------------------- /SAR_tools/RD_algorithm.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR_tools/RD_algorithm.m -------------------------------------------------------------------------------- /SAR_tools/SincSAR.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR_tools/SincSAR.m -------------------------------------------------------------------------------- /SAR_tools/chirpscaling.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR_tools/chirpscaling.m -------------------------------------------------------------------------------- /SAR_tools/create_echo.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR_tools/create_echo.m -------------------------------------------------------------------------------- /SAR_tools/cs.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR_tools/cs.m -------------------------------------------------------------------------------- /SAR_tools/fftshifttest.m: -------------------------------------------------------------------------------- 1 | clear; 2 | 3 | clc; 4 | close all; 5 | t=0:0.001:2; 6 | 7 | n=2001; 8 | 9 | Fs=1000; 10 | 11 | Fc=200; 12 | 13 | x=cos(2*pi*Fc*t); 14 | 15 | y1=fft(x); 16 | 17 | y2=fftshift(y1); 18 | 19 | y3=fftshift(x); 20 | 21 | y4=fft(y3); 22 | 23 | f=(0:2000)*Fs/n-Fs/2; 24 | 25 | hold on; 26 | 27 | plot(f,abs(y1),'r'); 28 | 29 | plot(f,abs(y2),'b'); 30 | 31 | figure; 32 | hold on; 33 | plot(f,abs(y3),'g'); 34 | 35 | plot(f,abs(y4),'y'); -------------------------------------------------------------------------------- /SAR_tools/fig5_3.m: -------------------------------------------------------------------------------- 1 | % use this program to reproduce Fig. 5.2 of text 2 | clear all 3 | close all 4 | nscat = 2; %two point scatterers 5 | taup = 10e-6; % 100 microsecond uncompressed pulse 6 | b = 50.0e6; % 50 MHz bandwdith 7 | rrec = 50 ; % 50 meter processing window 8 | scat_range = [15 25] ; % scattterers are 15 and 25 meters into window 9 | scat_rcs = [1 2]; % RCS 1 m^2 and 2m^2 10 | winid = 0; %no window used 11 | [y] = matched_filter(nscat,taup,b,rrec,scat_range,scat_rcs,winid); -------------------------------------------------------------------------------- /SAR_tools/ftx.m: -------------------------------------------------------------------------------- 1 | 2 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3 | % Forward FFT w.r.t. the first variable % 4 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 | 6 | function fs=ftx(s) 7 | fs=fftshift(fft(fftshift(s))); 8 | 9 | 10 | -------------------------------------------------------------------------------- /SAR_tools/fty.m: -------------------------------------------------------------------------------- 1 | 2 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3 | % Forward FFT w.r.t. the second variable % 4 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 | 6 | function fs=fty(s) 7 | fs=fftshift(fft(fftshift(s.'))).'; 8 | 9 | -------------------------------------------------------------------------------- /SAR_tools/iftx.m: -------------------------------------------------------------------------------- 1 | 2 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3 | % Inverse FFT w.r.t. the first variable % 4 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 | 6 | function s=iftx(fs); 7 | s=fftshift(ifft(fftshift(fs))); 8 | 9 | -------------------------------------------------------------------------------- /SAR_tools/ifty.m: -------------------------------------------------------------------------------- 1 | 2 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3 | % Inverse FFT w.r.t. the second variable % 4 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 | 6 | function s=ifty(fs); 7 | s=fftshift(ifft(fftshift(fs.'))).'; 8 | 9 | -------------------------------------------------------------------------------- /SAR_tools/maiya.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR_tools/maiya.m -------------------------------------------------------------------------------- /SAR_tools/pulsecompression.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR_tools/pulsecompression.m -------------------------------------------------------------------------------- /SAR_tools/testfft.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liuxinyu123/Matlab/73722a0a8b451991f2a2adbdfa740f04763ef39d/SAR_tools/testfft.m --------------------------------------------------------------------------------