1 clear all, close all
2
3 obj=zeros(25,100,15); obj(12,1,1)=1;
4 obj(13,1,1)=1; obj(14,1,1)=1; obj(11,2,1)=1;
5 obj(15,2,1)=1; obj(10,3,1)=1; obj(16,3,1)=1;
6 obj(9,4:15,1)=1; obj(17,4:15,1)=1;
7 obj(12,3,5)=1; obj(13,3,5)=1; obj(14,3,5)=1;
8 obj(11,4,5)=1; obj(15,4,5)=1; obj(10,5,5)=1;
9 10. obj(16,5,5)=1; obj(9,6:15,5)=1; obj(17,6:15,5)=1;
11 obj(12,1,2)=1; obj(13,1,2)=1; obj(14,1,2)=1;
12 obj(11,2,2)=1; obj(15,2,2)=1; obj(10,3,2)=1;
13 obj(16,3,2)=1; obj(12,2,3:4)=1; obj(13,2,3:4)=1;
14 obj(14,2,3:4)=1; obj(11,3,3:4)=1; obj(15,3,3:4)=1;
15 obj(10,4,3:4)=1; obj(16,4,3:4)=1; obj(9,5:15,1:5)=1;
16 obj(17,5:15,1:5)=1; obj(10:17,5:16,5)=1;
17 obj(10,15:17,1)=1; obj(16,15:17,1)=1;
18 obj(10:16,17,1)=1; obj(10:16,17,5)=1;
19 obj(10:16,17,1:5)=1; obj(10:16,17,1:5)=1;
20 % tale
21 obj(10,15:17,5)=1; obj(16,15:17,5)=1;
22 obj(11,18:20,3:4)=1; obj(15,18:20,3:4)=1;
23 obj(12,18:34,3:4)=1; obj(14,18:34,3:4)=1;
24 obj(13,34,3:4)=1; obj(10:16,35:36,3:4)=1;
25 obj(12:14,37:38,3:4)=1;
26 %blade
27 obj(11,4:13,7)=1;
28 obj(11,3,7)=1; obj(12,2,7)=1;
29 obj(13,1,7)=1; obj(14,2,7)=1; obj(15,3,7)=1;
30 obj(15,4:13,7)=1; obj(12,14,7)=1;
31 obj(13,15,7)=1; obj(15,14,7)=1;
32 deltax=1; %distance between two grid nodes
33 deltay=1;
34 deltaz=1;
35 kapa_x=-15;%target initial X coordinate
36 kapa_y=-13;%target initial Y coordinate
37 kapa_z=0; %target initial Z coordinate
38
39 [x,y,z]=meshgrid(1:100,1:25,1:15);
40 index=find(obj~=0);
41
42 xyz(2,:)=kapa_x+deltax.*x(index);
43 xyz(1,:)=kapa_y+deltay.*y(index);
44 xyz(3,:)=kapa_z+deltaz.*z(index);
45
46 scatter3(xyz(1,:),xyz(2,:),xyz(3,:),2.1),
47 set(gca,'fontsize',20);
48 xlhand = get(gca,'title'),
49 set(xlhand,'string','Target image of a
50 helicopter','fontsize',20)
51
52 axis([-30 30 -30 30 0 30])
53 xlabel('x'),ylabel('y'),zlabel('z')
54
55 save object.mat
1 clear all, close all
2
3 load object.mat %Loads the target image
4
5 num=max(size(xyz)); %Number of point scatterers
6
7 %BGISAR transmitter vector-coordinates
8 xrs= input(’Enter transmitter x coordinate: ’);
9 yrs= input(’Enter transmitter y coordinate: ’);
10 zrs= input(’Enter transmitter z coordinate: ’);
11
12 %BGISAR receiver vector-coordinates
13 xrr= input(’Enter receiver x coordinate: ’);
14 yrr= input(’Enter receiver y coordinate: ’);
15 zrr= input(’Enter receiver z coordinate: ’);
16
17 %Object referent plane vector-coordinates
18 input(’Enter reference plane x coordinate: ’);
19 input(’Enter reference plane y coordinate: ’);
20 input(’Enter reference plane z coordinate: ’);
21
22 %Object mass-centre vector-coordinates
23 input(’Enter mass centre x coordinate: ’);
24 input(’Enter mass centre y coordinate: ’);
25 input(’Enter mass centre z coordinate: ’);
26 delta= input(’Enter inter point distance: ’);
27 %Number of emitted pulses
28 N= input(’Enter number of pulses: ’);
29 Nf= input(’Enter number of iterations: ’);
30 a= input(’Enter point reflection coefficient: ’);
31 f=10^10; %Frequency Tp=10^-1; %Pulse repetition period
32
33 omega=2*pi*f; %angular frequency
34 c=3*10^8; %Speed of light
35 %Vector-velocity guiding cosines
36 alpha= input(’Enter velocity angle on x axis: ’);
37 beta= input(’Enter velocity angle on y axis: ’);
38 gama=abs(acos(sqrt(1-(cos(alpha))^2-(cos(beta))^2)));
39 %Object vector-velocity guiding cosines
40 alphao= input(’Enter object velocity on x axis: ’);
41 betao=pi; input(’Enter object velocity on y axis: ’);
42 gamao=abs(acos(sqrt(1-(cos(alpha))^2-(cos(beta))^2)));
43
44 Satellite transmitter vector-velocity
45 V= input(’Enter satellite velocity: ’);
46 Vx=V*cos(alpha);
47 Vy=V*cos(beta);
48 Vz=V*cos(gama);
49
50 object vector-velocity
51 Vo= input(’Enter object velocity: ’);
52 Vxo=Vo*cos(alphao);
53 Vyo=Vo*cos(betao);
54 Vzo=Vo*cos(gamao);
55
56 %Rotation angles coefficients
57 A0=Vz*(y00-y0)-Vy*(z00-z0);
58 B0=Vx*(z00-z0)-Vz*(x00-x0);
59 C0=Vy*(x00-x0)-Vx*(y00-y0);
60 D=(A0)^2+(B0)^2+(C0)^2;
61
62 Ag=(A0*V*cot(galpha)+C0*Vy-B0*Vz)/D;
63 Bg=(B0*V*cot(galpha)+A0*Vz-C0*Vx)/D;
64 Cg=(C0*V*cot(galpha)+B0*Vx-A0*Vy)/D;
65 D1=(Ag)^2+(Bg)^2+(Cg)^2;
66
67 %X, Y, Z rotation angles
68 psi=atan(-Ag/Bg);
69 theta=acos(Cg/sqrt(D1));
70 phi=acos((Vx*Bg-y*Ag)*sqrt(((Ag)^2+(Bg)^2)*((Vx)^2+
71 +(Vy)^2)+(Vz)^2));
72 %Rotation matrix elements
73 a11=cos(psi)*cos(phi)-sin(psi)*cos(theta)*sin(phi);
74 a12=-cos(psi)*sin(phi)-sin(psi)*cos(theta)*cos(phi);
75 a13=sin(psi)*sin(theta);
76 a21=sin(phi)*cos(phi)+cos(psi)*cos(theta)*sin(phi);
77 a22=-sin(psi)*sin(phi)+cos(psi)*cos(theta)*cos(phi);
78 a23=-cos(psi)*sin(theta);
79 a31=sin(theta)*sin(phi);
80 a32=sin(theta)*cos(phi);
81 a33=cos(theta);
82
83 A_rot=[a11 a12 a13; a21 a22 a23; a31 a32 a33];
84 %Transformationf the object coordinates in OXYZ plane
85 transf_xyz=delta.*A_rot*xyz;
86 %Calculation of the range-coordinates
87 p_v=(0:N-1);
88 Xs=kron(x00,ones(num,N))-
89 kron(xrs,ones(num,N))+kron(Vx*(N/2-
90 -p_v)*Tp,ones(num,1))+kron(xyz(1,:),ones(N,1)).'+
91 +kron(Vx*(N/2-p_v)*Tp,ones(num,1));
92 Ys=kron(y00,ones(num,N))-
93 kron(yrs,ones(num,N))+kron(Vy*(N/2-95 -
94 p_v)*Tp,ones(num,1))+kron(xyz(2,:),ones(N,1)).'+
96 +kron(Vy0*(N/2-p_v)*Tp,ones(num,1));
97 Zs=kron(z00,ones(num,N))-
98 kron(zrs,ones(num,N))+kron(Vz*(N/2-
99 -p_v)*Tp,ones(num,1))+kron(xyz(3,:),ones(N,1)).'+
100 +kron(Vzo*(N/2-p_v)*Tp,ones(num,1));
101 Xr=kron(xrr,ones(num,N))-
102 kron(x00,ones(num,N))+kron(Vx*(N/2-
103 -p_v)*Tp,ones(num,1))+kron(xyz(1,:),ones(N,1)).';
104 Yr=kron(yrr,ones(num,N))-
105 kron(y00,ones(num,N))+kron(Vy*(N/2-
106 p_v)*Tp,ones(num,1))+kron(xyz(2,:),ones(N,1)).';
107 Zr=kron(zrr,ones(num,N))-
108 kron(z00,ones(num,N))+kron(Vz*(N/2-
109 -p_v)*Tp,ones(num,1))+kron(xyz(3,:),ones(N,1)).';
110 %Calculation of the round trip range distance
111 Rs=sqrt((Xs).^2+(Ys).^2+(Zs).^2);
112 Rr=sqrt((Xr).^2+(Yr).^2+(Zr).^2);
113 t1=(Rs+Rr)./c; %Round trip time delay
114 Barcercode=[0 0 0 0 0 1 1 0 0 1 0 1 0]; %Barker code
115 %Number of range bins
116 Nt=size(Barcercode,2);
117 Ns=size(Barcercode,1);
118 Nk=Nt*Ns;
119
120 %Pulse width
121 Ts= input(’Enter segment duration: ’);
122 T=Ns*Ts;
123 deltaT=T/Nk;
124
125 p_help=(0:N-1);
126 t=sort(sort(t1));
127
128 %Object length
129 Nx=ceil((max(max(t))-min(min(t)))/deltaT);
130
131 %complex signal preliminary definition
132 S=zeros(N,K,1);
133 mint=zeros(N);
134 check=1;
135 bphase=0;
136 count=0;
137 %Returned signal calculation
138 for q=1:num
170 %Reconstruction procedure
171 A1=fft(Skor);
172 A2=fftshift(A1);
173 absolute=abs(A2);
174
175 %Visualization
176 figure
177 mesh(real(S./max(max(S))))
178 title('BGISAR signal real part'),
179 set(gca,'fontsize',30);xlhand = get(gca,'title'),
180 set(xlhand,'string','BGISAR signal real
181 part','fontsize',30)
182 colormap(flipud(gray))
183 shading flat
184 xlabel('k')
185 ylabel('p')
186
187 figure
188 mesh(imag(S./max(max(S)))); set(gca,'fontsize',30);
189 xlhand = get(gca,'title'),
190 set(xlhand,'string','BGISAR signal imaginary
191 part','fontsize',30)
192 colormap(flipud(gray))
193 shading flat
194 xlabel('k')
195 ylabel('p')
196 figure
197 mesh(real(Skor./max(max(Skor))));
198 set(gca,'fontsize',30);xlhand = get(gca,'title'),
199 set(xlhand,'string','BGISAR signal by correlation real
200 part','fontsize',30)
201 colormap(flipud(gray))
202 shading flat
203 xlabel('k')
204 ylabel('p')
205
206 figure
207 mesh(imag(Skor./max(max(Skor))));
208 xlhand = get(gca,'title'),
209 set(xlhand,'string','BGISAR signal by correlation
210 imaginary part','fontsize',30)
211 colormap(flipud(gray))
212 shading flat
213 xlabel('k')
214 ylabel('p')
215
216 figure
217 mesh(real(A1./max(max(A1))));set(gca,'fontsize',30);
218 xlhand = get(gca,'title'),
219 set(xlhand,'string','Azimuth compressed BGISAR signal
220 by FFT real part','fontsize',30)
221 colormap(flipud(gray))
222 shading flat
223 xlabel('k')
224 ylabel('p')
225
226 figure
227 mesh(imag(A1./max(max(A1))));set(gca,'fontsize',30);
228 xlhand = get(gca,'title'),
229 set(xlhand,'string','Azimuth compressed BGISAR signal
230 by FFT imaginary part','fontsize',30)
231 colormap(flipud(gray))
232 shading flat
233 xlabel('k')
234 ylabel('p')
235 figure
236 mesh(real(A3./max(max(A3))));
237 xlhand = get(gca,'title'),
238 set(xlhand,'string','BGISAR signal by frequency
239 domain shift – real part','fontsize',30)
240 colormap(flipud(gray))
241 shading flat
242 xlabel('k')
243 ylabel('p')
244
245 figure
246 mesh(imag(A3./max(max(A3))));
247 xlhand = get(gca,'title'),
248 set(xlhand,'string','BGISAR signal by frequency
249 domain shift – imaginary part','fontsize',30)
250 colormap(flipud(gray))
251 shading flat
252 xlabel('k')
253 ylabel('p')
254 xx=find(absolute>=0.29*max(max(absolute)));
255 absolute(xx)=0.29*(max(max(absolute)));
256 figure
257 pcolor(absolute);xlhand = get(gca,'title'),
258 set(xlhand,'string','BGISAR target
259 image','fontsize',30)
260 colormap(flipud(gray))
261 shading flat
262 xlabel('k')
263 ylabel('p')
264 axis([0 80 240 300])
265
266 figure
267 mesh(absolute./max(max(absolute)));
268 xlhand = get(gca,'title'),
269 set(xlhand,'string','BGISAR target
270 image','fontsize',30)
271 colormap(flipud(gray))
272 shading flat
273 xlabel('k')
274 ylabel('p')
275 for a2=1:Nf
319 figure
320 mesh(real(Sdem_F2./max(max(Sdem_F2))));
321 xlhand = get(gca,'title'),
322 set(xlhand,'string','BGISAR signal real
323 part','fontsize',30)
324 colormap(flipud(gray))
325 shading flat
326 xlabel('k')
327 ylabel('p')
328
329 figure
330 mesh(imag(Sdem_F2./max(max(Sdem_F2))));
331 set(gca,'fontsize',30);
332 xlhand = get(gca,'title'),
333 set(xlhand,'string','BGISAR signal imaginary
334 part','fontsize',30)
335 colormap(flipud(gray))
336 shading flat
337 xlabel('k')
338 ylabel('p')
339
340 figure
341 mesh(real(Skor2./max(max(Skor2))));
342 set(gca,'fontsize',30);xlhand = get(gca,'title'),
343 set(xlhand,'string','BGISAR signal by correlation real
344 part','fontsize',30)
345 colormap(flipud(gray))
346 shading flat
347 xlabel('k')
348 ylabel('p')
349
350 figure
351 mesh(imag(Skor2./max(max(Skor2))));
352 set(gca,'fontsize',30);xlhand = get(gca,'title'),
353 set(xlhand,'string','BGISAR signal by correlation
354 imaginary part','fontsize',30)
355 colormap(flipud(gray))
356 shading flat
357 xlabel('k')
358 ylabel('p')
359
360 A1=fft(Skor2);
361
362 figure
363 mesh(real(A1./max(max(A1))));
364 set(gca,'fontsize',30);xlhand = get(gca,'title'),
365 set(xlhand,'string','Azimuth compressed BGISAR signal
366 by FFT real part','fontsize',30)
367 colormap(flipud(gray))
368 shading flat
369 xlabel('k')
370 ylabel('p')
371 figure
372 mesh(imag(A1./max(max(A1))));
373 set(gca,'fontsize',30);xlhand = get(gca,'title'),
374 set(xlhand,'string','Azimuth compressed BGISAR signal
375 by FFT imaginary part','fontsize',30)
376 colormap(flipud(gray))
377 shading flat
378 xlabel('k')
379 ylabel('p')
380 A3=fftshift((fft(Skor2)));
381 figure
382 mesh(real(A3./max(max(A3)))); set(gca,'fontsize',30);
383 xlhand = get(gca,'title'),
384 set(xlhand,'string','BGISAR signal by frequency
385 domain shift – real part','fontsize',30)
386 colormap(flipud(gray))
387 shading flat
388 xlabel('p')
389 ylabel('k')
390 figure
391 mesh(imag(A3./max(max(A3))));
392 set(gca,'fontsize',30);xlhand = get(gca,'title'),
393 set(xlhand,'string','BGISAR signal by frequency
394 domain shift – imaginary part','fontsize',30)
395 colormap(flipud(gray))
396 shading flat
397 xlabel('p')
398 ylabel('k')
399 xx=find(Sfoc2>=0.29*max(max(Sfoc2)));
400 Sfoc2(xx)=0.29*(max(max(Sfoc2)));
401 figure
402 pcolor(Sfoc2);
403 set(gca,'fontsize',30);xlhand = get(gca,'title'),
404 set(xlhand,'string','BGISAR target focused image for
405 a_2=49, H_s=0.929','fontsize',30)
406 colormap(flipud(gray))
407 shading flat
408 xlabel('p')
409 ylabel('k')
410 axis([0 80 240 300 ])
411 foc=Sfoc2/max(max(Sfoc2));
412 figure
413 mesh(foc);
414 set(gca,'fontsize',30);xlhand = get(gca,'title'),
415 set(xlhand,'string','BGISAR target focused image for
416 a_2=49, H_s=0.929','fontsize',30)
417 colormap(flipud(gray))
418 shading flat
419 xlabel('p')
420 ylabel('k')
1 clear all, close all
2
3 disp('Short pulse target evaluation procedure has been
4 started')
5
6 load object.mat
7 num=length(xyz);
8
9 xrs= input(’Enter transmitter x coordinate: ’);
10 yrs= input(’Enter transmitter y coordinate: ’);
11 zrs= input(’Enter transmitter z coordinate: ’);
12
13 xrr= input(’Enter receiver x coordinate: ’);
14 yrr= input(’Enter receiver y coordinate: ’);
15 zrr= input(’Enter receiver z coordinate: ’);
16
17 x0= input(’Enter reference plane x coordinate: ’);
18 y0= input(’Enter reference plane y coordinate: ’);
19 z0= input(’Enter reference plane z coordinate: ’);
20 x00= input(’Enter mass centre x coordinate: ’);
21 y00= input(’Enter mass centre y coordinate: ’);
22 z00= input(’Enter mass centre z coordinate: ’);
23
24 delta= input(’Enter inter point distance: ’);
25
26 N= input(’Enter number of pulses: ’);
27
28 a= input(’Enter point reflection coefficient: ’);
29 f= input(’Enter carrier frequency: ’);
30 Tp= input(’Enter pulse repetition period: ’);
31
32 c=3*10^8;
33 lambda=c/f;
34
35 alpha= input(’Enter velocity angle on x axis: ’);
36 beta= input(’Enter velocity angle on y axis: ’);
37 gama=abs(acos(sqrt(1-(cos(alpha))^2-(cos(beta))^2)));
38 galpha=pi/2;
39 V= input(’Enter velocity: ’);
40
41 Vx=V*cos(alpha);
42 Vy=V*cos(beta);
43 Vz=V*cos(gama);
44
45 A0=Vz*(y00-y0)-Vy*(z00-z0);
46 B0=Vx*(z00-z0)-Vz*(x00-x0);
47 C0=Vy*(x00-x0)-Vx*(y00-y0);
48 D=(A0)^2+(B0)^2+(C0)^2;
49
50 Ag=(A0*V*cot(galpha)+C0*Vy-B0*Vz)/D;
51 Bg=(B0*V*cot(galpha)+A0*Vz-C0*Vx)/D;
52 Cg=(C0*V*cot(galpha)+B0*Vx-A0*Vy)/D;
53 D1=(Ag)^2+(Bg)^2+(Cg)^2;
54
55 psi=atan(-Ag/Bg);
56 theta=acos(Cg/sqrt(D1));
57 phi=acos((Vx*Bg-
58 -Vy*Ag)*sqrt(((Ag)^2+(Bg)^2)*((Vx)^2+(Vy)^2)+(Vz)^2));
59
60 a11=cos(psi)*cos(phi)-sin(psi)*cos(theta)*sin(phi);
61 a12=-cos(psi)*sin(phi)-sin(psi)*cos(theta)*cos(phi);
62 a13=sin(psi)*sin(theta);
63 a21=sin(phi)*cos(phi)+cos(psi)*cos(theta)*sin(phi);
64 a22=-sin(psi)*sin(phi)+cos(psi)*cos(theta)*cos(phi);
65 a23=-cos(psi)*sin(theta); a31=sin(theta)*sin(phi);
66 a32=sin(theta)*cos(phi); a33=cos(theta);
67
68 A_rot=[a11 a12 a13; a21 a22 a23; a31 a32 a33];
69 transf_xyz=delta.*A_rot*xyz;
70
71 p_v=(0:N-1);
72
73 Xs=kron(x00,ones(num,N))- kron(xrs,ones(num,N))+
74 +kron(Vx*(N/2-p_v)*Tp,ones(num,1))+
75 +kron(transf_xyz(1,:),ones(N,1)).';
76 Ys=kron(y00,ones(num,N))-
77 kron(yrs,ones(num,N))+kron(Vy*(N/2-p_v)*Tp,ones(num,1))
78 +kron(transf_xyz(2,:),ones(N,1)).';
79 Zs=kron(z00,ones(num,N))-kron(zrs,ones(num,N))
80 +kron(Vz*(N/2-p_v)*Tp,ones(num,1))+
81 +kron(transf_xyz(3,:),ones(N,1)).';
82
83 Xr=kron(xrr,ones(num,N))-
84 kron(x00,ones(num,N))+kron(Vx*(N/2-
85 p_v)*Tp,ones(num,1))+
86 kron(transf_xyz(1,:),ones(N,1)).';
87 Yr=kron(yrr,ones(num,N))-
88 kron(y00,ones(num,N))+kron(Vy*(N/2-
89 p_v)*Tp,ones(num,1))+kron(transf_xyz(2,:),ones(N,1)).';
90 Zr=kron(zrr,ones(num,N))-kron(z00,ones(num,N))+
91 +kron(Vz*(N/2-p_v)*Tp,ones(num,1))+
92 kron(transf_xyz(3,:),ones(N,1)).';
93
94 Rs=sqrt((Xs).^2+(Ys).^2); Rr=sqrt((Xr).^2+(Yr).^2);
95
96 r1=(Rs+Rr);
97
98 p_help=(0:N-1);
99
100 %complex signal calculation
101 func=zeros;
102 rect=zeros;
103 Sr=zeros(num,N);
104 I=zeros(num,N);
105 S=zeros(num,N,1);
106 mint=zeros(N);
107 check=1;
108 bphase=0;
109 count=0;
110
111 for p=1:N
112
113 for q=1:num
114
114 S(q,p)=S(q,p)+exp(1j.*4.*pi.*r1(q,p)./lambda);
115 I(q,p)=I(p)+S(p)*exp(1j*(4*pi*r1(q,p)/lambda));
134 Sim=sum(Sr,1);
135 A=abs(Sim);
136 P=phase(Sim);
137 Punwr=unwrap(P);
138 R=lambda.*Punwr./2.*pi;
139 r1=R(600);
140 r2=R(601);
141 r3=R(602);
142 V1=sqrt(((r1)^2+(r3)^2-2*(r2)^2)/2)/Tp;
143 thet=asin(((R(2))^2+(V*Tp)^2-(R(1))^2)/2*R(2)*(V*Tp));
144 alph=asin(V*Tp*sin(thet)/R(1));
145
146
147 figure
148 plot(real(fft(I1)))
149 figure
150 plot(imag(fft(I1)))
151 figure
152 plot(abs(fft(I1)))
153 figure
154 plot(abs(fftshift(fft(I1))))
1 clear all, close all
2 N= input(’Enter number of pulses: ’);
3 K= input(’Enter number of range resolution cells: ’);
4
5 f= input(’Enter carrier frequency: ’);
6 Tpp= input(’Enter pulse repetition period: ’);
7 T= input(’Enter pulse duration: ’);
8 step=5*T;
9 deltaF= input(’Enter frequency bandwidth: ’);
10 omega=2*pi*f;
11 c=3*10^8;
12
13 b=2*pi*deltaF/T;
14 deltaT=T/K;
15 S=zeros;
16 S2=zeros;
1 clear all, close all
2
3 K= input(’Enter number of range resolution cells: ’);
4 pulse= input(’Enter number of pulses: ’);
5 pause= input(’Enter number of pauses: ’);
6 f= input(’Enter carrier frequency: ’);
7 T= input(’Enter pulse duration: ’);
8 step=T/10^-3;
9 axs=(pulse+pause)*step;
10 Tp=n*T;
11 deltaF= input(’Enter frequency bandwidth: ’);
12 omega=2*pi*f;
13 c=3*10^8;
14 b=2*pi*deltaF/T;
15 deltaT=1/f/K;
16 S=zeros;
17 S2=zeros;
18
19 for k=1:K
28 figure
29 plot(axs/((pulse+pause*n)*length(S)):axs/((pulse+
30 +pause*n)*length(S)):axs,
31 imag([S NaN*ones(1,3*length(S)) S]),
32 'k','linewidth',1),set(gca,'fontsize',30),
33 xlhand = get(gca,'title'),
34 set(xlhand,'string','Linear Frequency Pulse Modulated
35 Signal','fontsize',30)
36 xlabel('Time, ms')
37 ylabel('Amplitude, V')
38 axis([0 axs -1 1])
1 clear all, close all
2
3 load ship.mat
4 num=length(xyz);
5
6 xrs= input(’Enter transmitter x coordinate: ’);
7 yrs= input(’Enter transmitter y coordinate: ’);
8 zrs= input(’Enter transmitter z coordinate: ’);
9
10 xrr= input(’Enter receiver x coordinate: ’);
11 yrr= input(’Enter receiver y coordinate: ’);
12 zrr= input(’Enter receiver z coordinate: ’);
13
14 x0= input(’Enter reference plane x coordinate: ’);
15 y0= input(’Enter reference plane y coordinate: ’);
16 z0= input(’Enter reference plane z coordinate: ’);
17
18 x00= input(’Enter mass centre x coordinate: ’);
19 y00= input(’Enter mass centre y coordinate: ’);
20 z00= input(’Enter mass centre z coordinate: ’);
21
22 N= input(’Enter number of pulses: ’);
23 K= input(’Enter number of range resolution cells: ’);
24 k=1:K;
25
26 f= input(’Enter carrier frequency: ’);
27 Tp= input(’Enter pulse repetition period: ’);
28 T= input(’Enter pulse duration: ’);
29 deltaF= input(’Enter frequency bandwidth: ’);
30 omega=2*pi*f;
31 c=3*10^8;
32 b=2*pi*deltaF/T;
33 deltaT=T/K;
34 a= input(’Enter point reflection coefficient: ’);
35
36 alpha= input(’Enter velocity angle on x axis: ’);
37 beta= input(’Enter velocity angle on y axis: ’);
38 gama=abs(acos(sqrt(1-(cos(alpha))^2-(cos(beta))^2)));
39 galpha=pi/2;
40
41 V= input(’Enter velocity: ’);
42
43 Vx=V*cos(alpha);
44 Vy=V*cos(beta);
45 Vz=V*cos(gama);
46
47 S=zeros(N,K,num);
48
49 delta= input(’Enter inter point distance: ’);
50
51 A0=Vz*(y00-y0)-Vy*(z00-z0);
52 B0=Vx*(z00-z0)-Vz*(x00-x0);
53 C0=Vy*(x00-x0)-Vx*(y00-y0);
54 D=(A0)^2+(B0)^2+(C0)^2;
55
56 Ag=(A0*V*cot(galpha)+C0*Vy-B0*Vz)/D;
57 Bg=(B0*V*cot(galpha)+A0*Vz-C0*Vx)/D;
58 Cg=(C0*V*cot(galpha)+B0*Vx-A0*Vy)/D;
59 D1=(Ag)^2+(Bg)^2+(Cg)^2;
60
61 psi=atan(-Ag/Bg);
62 theta=acos(Cg/sqrt(D1));
63 phi=acos((Vx*Bg-Vy*Ag)*sqrt(((Ag)^2+(Bg)^2)*((Vx)^2+
64 +(Vy)^2)+(Vz)^2));
65
66 a11=cos(psi)*cos(phi)-sin(psi)*cos(theta)*sin(phi);
67 a12=-cos(psi)*sin(phi)-sin(psi)*cos(theta)*cos(phi);
68 a13=sin(psi)*sin(theta);
69 a21=sin(phi)*cos(phi)+cos(psi)*cos(theta)*sin(phi);
70 a22=-sin(psi)*sin(phi)+cos(psi)*cos(theta)*cos(phi);
71 a23=-cos(psi)*sin(theta);
72 a31=sin(theta)*sin(phi);
73 a32=sin(theta)*cos(phi);
74 a33=cos(theta);
75
76 A_rot=[a11 a12 a13; a21 a22 a23; a31 a32 a33];
77
78 transf_xyz=(A_rot)*xyz;
79 p_v=(0:N-1);
80
81 Xs=abs(-kron(x00,ones(num,N))+kron(xrs,ones(num,N))-
82 -kron(Vx*(N/2-p_v)*Tp,ones(num,1))+
83 +kron(transf_xyz(1,:),ones(N,1)).'),
84 Ys=abs(-kron(y00,ones(num,N))+
85 +kron(yrs,ones(num,N))-kron(Vy*(N/2-
86 -p_v)*Tp,ones(num,1))+
87 +kron(transf_xyz(2,:),ones(N,1)).'),
88 Zs=abs(-kron(z00,ones(num,N))+kron(zrs,ones(num,N))-
89 -kron(Vz*(N/2-p_v)*Tp,ones(num,1))+
90 +kron(transf_xyz(3,:),ones(N,1)).'),
91 Xr=abs(kron(xrr,ones(num,N))-kron(x00,ones(num,N))-
92 -kron(Vx*(N/2-p_v)*Tp,ones(num,1))-
93 -kron(transf_xyz(1,:),ones(N,1)).'),
94 Yr=abs(kron(yrr,ones(num,N))-kron(y00,ones(num,N))-
95 -kron(Vy*(N/2-p_v)*Tp,ones(num,1))-
96 -kron(transf_xyz(2,:),ones(N,1)).'),
97 Zr=abs(kron(zrr,ones(num,N))-kron(z00,ones(num,N))-
98 -kron(Vz*(N/2-p_v)*Tp,ones(num,1))-
99 -kron(transf_xyz(3,:),ones(N,1)).'),
100
101 Rs=abs(sqrt((Xs).^2+(Ys).^2+(Zs).^2));
102 Rr=abs(sqrt((Xr).^2+(Yr).^2+(Zr).^2));
103 t=(Rs+Rr)./c;
121 A1=fft(Skor);
122 A2=fftshift(A1);
123 absolute=abs(A2);
124
125 figure
126 mesh(real(S))
127 title(['BFISAR signal real part for x_0_0='
128 num2str(x00) 'm', ' y_0_0=' num2str(y00) 'm', '
129 z_0_0=' num2str(z00) 'm',]);set(gca,'fontsize',20)
130 xlhand = get(gca,'title'),
131 set(xlhand,'string','BFISAR signal real
132 part','fontsize',20)
133 colormap(flipud(gray))
134 shading flat
135 xlabel('k')
136 ylabel('p')
137
138 figure
139 mesh(imag(S))
140 title(['BFISAR signal imaginary part for x_0_0='
141 num2str(x00) 'm', ' y_0_0=' num2str(y00) 'm', '
142 z_0_0=' num2str(z00) 'm',]);set(gca,'fontsize',20)
143 xlhand = get(gca,'title'),
144 set(xlhand,'string','BFISAR signal real
145 part','fontsize',20)
146 colormap(flipud(gray))
147 shading flat
148 xlabel('k')
149 ylabel('p')
150
151 figure
152 mesh(real(S2));set(gca,'fontsize',20);
153 xlhand = get(gca,'title'),
154 set(xlhand,'string','BFISAR signal real
155 part','fontsize',20)
156 colormap(flipud(gray))
157 shading flat
158 xlabel('k')
159 ylabel('p')
160
161 figure
162 mesh(imag(S2))
163 title(['Demodulated BFISAR signal imaginary part for
164 x_0_0=' num2str(x00) 'm', ' y_0_0=' num2str(y00)
165 'm', ' z_0_0=' num2str(z00)
166 'm',]);set(gca,'fontsize',20)
167 xlhand = get(gca,'title'),
168 set(xlhand,'string','BFISAR signal real
169 part','fontsize',20)
170 colormap(flipud(gray))
171 shading flat
172 xlabel('k')
173 ylabel('p')
174
175 figure
176 mesh(real(A1))
177 title(['Range compressed BFISAR signal by FFT – real
178 part for x_0_0=' num2str(x00) 'm', ' y_0_0='
179 num2str(y00) 'm', ' z_0_0=' num2str(z00)
180 'm',]);set(gca,'fontsize',20)
181 xlhand = get(gca,'title'),
182 set(xlhand,'string','BFISAR signal real
183 part','fontsize',20)
184 colormap(flipud(gray))
185 shading flat
186 xlabel('k')
187 ylabel('p')
188
189 figure
190 mesh(imag(A1))
191 title(['Range compressed BFISAR signal by FFT -
192 imaginary part for x_0_0=' num2str(x00) 'm', '
193 y_0_0=' num2str(y00) 'm', ' z_0_0=' num2str(z00)
194 'm',]);set(gca,'fontsize',20)
195 xlhand = get(gca,'title'),
196 set(xlhand,'string','BFISAR signal real
197 part','fontsize',20)
198 colormap(flipud(gray))
199 shading flat
200 xlabel('k')
201 ylabel('p')
202 figure
203 mesh(real(A2))
204 title(['Azimuth compressed BFISAR signal by FFT -
205 real part for x_0_0=' num2str(x00) 'm', ' y_0_0 =
206 ' num2str(y00) 'm', ' z_0_0=' num2str(z00)
207 'm',]);set(gca,'fontsize',20)
208 xlhand = get(gca,'title'),
209 set(xlhand,'string','BFISAR signal real
210 part','fontsize',20)
211 colormap(flipud(gray))
212 shading flat
213 xlabel('p')
214 ylabel('k')
215
216 figure
217 mesh(imag(A2))
218 title(['Azimuth compressed BFISAR signal by FFT -
219 imaginary part for x_0_0=' num2str(x00) 'm', '
220 y_0_0=' num2str(y00) 'm', ' z_0_0=' num2str(z00)
221 'm',]);set(gca,'fontsize',20)
222 xlhand = get(gca,'title'),
223 set(xlhand,'string','BFISAR signal real
224 part','fontsize',20)
225 colormap(flipud(gray))
226 shading flat
227 xlabel('p')
228 ylabel('k')
229
230 figure
231 mesh(real(A3))
232 title(['BFISAR signal by frequency domain shift -
233 real part for x_0_0=' num2str(x00) 'm', ' y_0_0 =
234' num2str(y00) 'm', ' z_0_0=' num2str(z00)
235 'm',]);set(gca,'fontsize',20)
236 xlhand = get(gca,'title'),
237 set(xlhand,'string','BFISAR signal real
238 part','fontsize',20)
239 colormap(flipud(gray))
240 shading flat
241 xlabel('p')
242 ylabel('k')
243 figure
244 mesh(imag(A3))
245 title(['BFISAR signal by frequency domain shift -
247 imaginary part for x_0_0=' num2str(x00) 'm',
248 ' y_0_0=' num2str(y00) 'm', ' z_0_0='
249 num2str(z00) 'm',]);set(gca,'fontsize',20)
250 xlhand = get(gca,'title'),
251 set(xlhand,'string','BFISAR signal real
252 part','fontsize',20)
253 colormap(flipud(gray))
254 shading flat
255 xlabel('p')
256 ylabel('k')
1 clear all, close all
2
3 load CAcode.mat
4 load object.mat
5 num=max(size(xyz));
6
7 xrs= input(’Enter transmitter x coordinate: ’);
8 yrs= input(’Enter transmitter y coordinate: ’);
9 zrs= input(’Enter transmitter z coordinate: ’);
10
11 xrr= input(’Enter receiver x coordinate: ’);
12 yrr= input(’Enter receiver y coordinate: ’);
13 zrr= input(’Enter receiver z coordinate: ’);
14
15 x0= input(’Enter reference plane x coordinate: ’);
16 y0= input(’Enter reference plane y coordinate: ’);
17 z0= input(’Enter reference plane z coordinate: ’);
18
19 x00= input(’Enter mass centre x coordinate: ’);
20 y00= input(’Enter mass centre y coordinate: ’);
21 z00= input(’Enter mass centre z coordinate: ’);
22
23 delta= input(’Enter inter point distance: ’);
24
25 N= input(’Enter number of pulses: ’);
26
27 a= input(’Enter point reflection coefficient: ’);
28 f= input(’Enter carrier frequency: ’);
29 Tp= input(’Enter pulse repetition period: ’);
30
31 omega=2*pi*f;
32 c=3*10^8;
33
34 alpha= input(’Enter velocity angle on x axis: ’);
35 beta= input(’Enter velocity angle on y axis: ’);
36 gama=real(acos(sqrt(1-(cos(alpha))^2-
37 -(cos(beta))^2)));
38 galpha=pi/2;
39 V= input(’Enter velocity: ’);
40
41 Vx=V*cos(alpha);
42 Vy=V*cos(beta);
43 Vz=V*cos(gama);
44
45 A0=Vz*(y00-y0)-Vy*(z00-z0);
46 B0=Vx*(z00-z0)-Vz*(x00-x0);
47 C0=Vy*(x00-x0)-Vx*(y00-y0);
48 D=(A0)^2+(B0)^2+(C0)^2;
49
50 Ag=(A0*V*cot(galpha)+C0*Vy-B0*Vz)/D;
51 Bg=(B0*V*cot(galpha)+A0*Vz-C0*Vx)/D;
52 Cg=(C0*V*cot(galpha)+B0*Vx-A0*Vy)/D;
53 D1=(Ag)^2+(Bg)^2+(Cg)^2;
54
55 psi=atan(-Ag/Bg);
56 theta=acos(Cg/sqrt(D1));
57 phi=acos((Vx*Bg-Vy*Ag)*sqrt(((Ag)^2+(Bg)^2)*((Vx)^2+
58 +(Vy)^2)+(Vz)^2));
59
60 a11=cos(psi)*cos(phi)-sin(psi)*cos(theta)*sin(phi);
61 a12=-cos(psi)*sin(phi)-sin(psi)*cos(theta)*cos(phi);
62 a13=sin(psi)*sin(theta);
63 a21=sin(phi)*cos(phi)+cos(psi)*cos(theta)*sin(phi);
64 a22=-sin(psi)*sin(phi)+cos(psi)*cos(theta)*cos(phi);
65 a23=-cos(psi)*sin(theta);
66 a31=sin(theta)*sin(phi);
67 a32=sin(theta)*cos(phi);
68 a33=cos(theta);
69
70 A_rot=[a11 a12 a13; a21 a22 a23; a31 a32 a33];
71
72 transf_xyz=delta.*A_rot*xyz;
73
74 p_v=(0:N-1);
75 Xs=kron(x00,ones(num,N))-kron(xrs,ones(num,N))+
76 +kron(Vx*(N/2-p_v)*Tp,ones(num,1))+
77 +kron(transf_xyz(1,:),ones(N,1)).';
78 Ys=kron(y00,ones(num,N))-kron(yrs,ones(num,N))+
79 +kron(Vy*(N/2-p_v)*Tp,ones(num,1))+
80 +kron(transf_xyz(2,:),ones(N,1)).';
81 Zs=kron(z00,ones(num,N))-kron(zrs,ones(num,N))+
82 +kron(Vz*(N/2-p_v)*Tp,ones(num,1))+
83 +kron(transf_xyz(3,:),ones(N,1)).';
84
85 Xr=kron(xrr,ones(num,N))-kron(x00,ones(num,N))+
86 +kron(Vx*(N/2-p_v)*Tp,ones(num,1))+
87 +kron(transf_xyz(1,:),ones(N,1)).';
88 Yr=kron(yrr,ones(num,N))-kron(y00,ones(num,N))+
89 +kron(Vy*(N/2-p_v)*Tp,ones(num,1))+
90 +kron(transf_xyz(2,:),ones(N,1)).';
91 Zr=kron(zrr,ones(num,N))-kron(z00,ones(num,N))+
92 +kron(Vz*(N/2-p_v)*Tp,ones(num,1))+
93 +kron(transf_xyz(3,:),ones(N,1)).';
94
95 Rs=sqrt((Xs).^2+(Ys).^2+(Zs).^2);
96 Rr=sqrt((Xr).^2+(Yr).^2+(Zr).^2);
97 t1=(Rs+Rr)./c;
98
99 Nt=size(code,2);
100 Ns=size(code,1);
101 Nk=Nt*Ns;
102
103 Ts= input(’Enter segment duration: ’);
104 T=Ns*Ts;
105 deltaT=T/Nk;
106
107 p_help=(0:N-1);
108
109 t=sort(sort(t1));
110
111 Nx=ceil((max(max(t))-min(min(t)))/deltaT);
112
113 E1=zeros(N,Nx+1,num);
114 func=zeros;
115 rect=zeros;
116 S1=zeros(N,Nx,num);
117 S=zeros(N,Nx,1);
118 mint=zeros(N);
163 title('S_p_k matrix real component')
164 colormap(flipud(gray))
165 shading flat
166 xlabel('k')
167 ylabel('p')
168
169 figure
170 mesh(imag(S))
171 title('S_p_k matrix imaginary component')
172 colormap(flipud(gray))
173 shading flat
174 xlabel('k')
175 ylabel('p')
176
177 figure
178 plot(real(Sop))
179 title('S_p_k matrix of the referent signal real
180 part')
181 colormap(flipud(gray))
182 shading flat
183 xlabel('k')
184 ylabel('p')
185
186 figure
187 plot(imag(Sop))
188 title('S_p_k matrix of the referent signal imaginary
189 part')
190 colormap(flipud(gray))
191 shading flat
192 xlabel('k')
193 ylabel('p')
194
195 figure
196 mesh(real(Skor))
197 title('S_p_k matrix real part after correlation')
198 colormap(flipud(gray))
199 shading flat
200 xlabel('k')
201 ylabel('p')
202 figure
203 mesh(imag(Skor))
204 title('S_p_k matrix imaginary part after correlation')
205 colormap(flipud(gray))
206 shading flat
207 xlabel('k')
208 ylabel('p')
209
210 figure
211 mesh(real(A1))
212 title('S_p_k matrix real part after FFT')
213 colormap(flipud(gray))
214 shading flat
215 xlabel('k')
216 ylabel('p')
217
218 figure
219 mesh(imag(A1))
220 title('S_p_k matrix imaginary part after FFT')
221 colormap(flipud(gray))
222 shading flat
223 xlabel('k')
224 ylabel('p')
225
226 figure
227 mesh(real(A3))
228 title('S_p_k matrix real part after frequency domain
229 shift')
230 colormap(flipud(gray))
231 shading flat
232 xlabel('k')
233 ylabel('p')
234
235 figure
236 mesh(imag(A3))
237 title('S_p_k matrix imaginary part after frequency
238 domain shift')
239 colormap(flipud(gray))
240 shading flat
241 xlabel('k')
242 ylabel('p')
243 figure
244 pcolor(absolute)
245 title('Helicopter image')
246 colormap(flipud(gray))
247 shading flat
248 xlabel('k')
249 ylabel('p')
1 function seq=pcodealgorithm(delay)
2
3 while delay<0||delay>37
4 display('Please enter integer value for the delay
5 between 1 and 37 chips')
6 delay=input(''),
7 end
8
9 A=[0 0 1 0 0 1 0 0 1 0 0 0];
10 B=[0 1 0 1 0 1 0 1 0 1 0 0];
11 C=[1 0 0 1 0 0 1 0 0 1 0 1];
12 D=[0 1 0 1 0 1 0 1 0 1 0 0];
13
14 X1A=A; X1B=B; X2A =C; X2B=D;
15
16 X2=0;
17 seq=zeros;
18
19 p=6.1871*10^12;
20
21 for c=1:p
1 clear all, close all
2
3 disp(‘P – code target evaluation procedure has been
4 started’)
5
6 load Object.mat
7 load Pcode.mat
8
9 num=length(xyz);
10
11 xrs= input(‘Enter transmitter x coordinate: ‘);
12 yrs= input(‘Enter transmitter y coordinate: ‘);
13 zrs= input(‘Enter transmitter z coordinate: ‘);
14 xrr= input(‘Enter receiver x coordinate: ‘);
15 yrr= input(‘Enter receiver y coordinate: ‘);
16 zrr= input(‘Enter receiver z coordinate: ‘);
17
18 x0= input(‘Enter reference plane x coordinate: ‘);
19 y0= input(‘Enter reference plane y coordinate: ‘);
20 z0= input(‘Enter reference plane z coordinate: ‘);
21
22 x00= input(‘Enter mass centre x coordinate: ‘);
23 y00= input(‘Enter mass centre y coordinate: ‘);
24 z00= input(‘Enter mass centre z coordinate: ‘);
25 delta= input(‘Enter inter point distance: ‘);
26
27 N= input(‘Enter number of pulses: ‘);
28 K= input(‘Enter number of range resolution cells: ‘);
29
30 a= input(‘Enter point reflection coefficient: ‘);
31 f= input(‘Enter carrier frequency: ‘);
32 Tp= input(‘Enter pulse repetition period: ‘);
33 omega=2*pi*f;
34 c=3*10^8;
35 Ts= input(‘Enter segment duration: ‘);
36 T=Ns*Ts;
37 deltaT=T/Nk;
38 alpha= input(‘Enter velocity angle on x axis: ‘);
39 beta= input(‘Enter velocity angle on y axis: ‘);
40 gama=abs(acos(sqrt(1-(cos(alpha))^2-(cos(beta) ) ^2) ) );
41
42 galpha=pi/2;
43 Nf= input(‘Enter number of iterations: ‘);
44
45 a21=0;
46 delta2= input(‘Enter coefficient a2 step: ‘);
47 V= input(‘Enter velocity: ‘);
48
49 Vx=V*cos(alpha);
50 Vy=V*cos(beta);
51 Vz=V*cos(gama);
52
53 A0=Vz*(y00-y0)-Vy*(z00-z0);
54 B0=Vx*(z00-z0)-Vz*(x00-x0);
55 C0=Vy*(x00-x0)-Vx*(y00-y0);
56 D=(A0)^2+(B0)^2+(C0)^2;
57
58 Ag=(A0*V*cot(galpha)+C0*Vy-B0*Vz)/D;
59 Bg=(B0*V*cot(galpha)+A0*Vz-C0*Vx)/D;
60 Cg=(C0*V*cot(galpha)+B0*Vx-A0*Vy)/D;
61 D1=(Ag)^2+(Bg)^2+(Cg)^2;
62
63 psi=atan(-Ag/Bg);
64 theta=acos(Cg/sqrt(D1));
65 phi=acos((Vx*Bg-Vy*Ag)*sqrt(((Ag)^2+(Bg)^2)*((Vx)^2+
66 +(Vy)^2)+(Vz)^2));
67
68 a11=cos(psi)*cos(phi)-sin(psi)*cos(theta)*sin(phi);
69 a12=-cos(psi)*sin(phi)-sin(psi)*cos(theta)*cos(phi);
70 a13=sin(psi)*sin(theta);
71 a21=sin(phi)*cos(phi)+cos(psi)*cos(theta)*sin(phi);
72 a22=-sin(psi)*sin(phi)+cos(psi)*cos(theta)*cos(phi);
73 a23=-cos(psi)*sin(theta);
74 a31=sin(theta)*sin(phi);
75 a32=sin(theta)*cos(phi);
76 a33=cos(theta);
77
78 A_rot=[a11 a12 a13; a21 a22 a23; a31 a32 a33];
79 transf_xyz=delta.*A_rot*xyz;
80 p_v=(0:N-1);
81 Xs=kron(xrs,ones(num,N))-kron(Vx.*(N/2-
82 -p_v).*Tp,ones(num,1))-kron(xyz(1,:),ones(N,1)).';
83 Ys=kron(yrs,ones(num,N))-kron(Vy.*(N/2-
84 -p_v).*Tp,ones(num,1))-kron(xyz(2,:),ones(N,1)).';
85 Zs=kron(zrs,ones(num,N))-kron(Vz.*(N/2-
86 -p_v).*Tp,ones(num,1))-kron(xyz(3,:),ones(N,1)).';
87
88 Xr=kron(xrr,ones(num,N))-kron(xyz(1,:),ones(N,1)).';
89 Yr=kron(yrr,ones(num,N))-kron(xyz(2,:),ones(N,1)).';
90 Zr=kron(zrr,ones(num,N))-kron(xyz(3,:),ones(N,1)).';
91
92 Rs=sqrt((Xs).^2+(Ys).^2+(Zs).^2);
93 Rr=sqrt((Xr).^2+(Yr).^2+(Zr).^2);
94
95 t1=(Rs+Rr)./c;
96 t=sort(sort(t1));
97
98 Nt=size(P_code,2);
99 Ns=size(P_code,1);
100 Nk=Nt*Ns;
101
102 p_help=(0:N-1);
103
104 Nx=ceil((max(max(t))-min(min(t)))/Ts); %
105 E1=zeros(N,K+1,num);
106 func=zeros;
107 rect=zeros;
108 S=zeros(N,Nk);
109 mint=zeros(N);
110 check=1;
111 bphase=0;
112 count=0;
113
150 end
151 for p=1:N
152 Skor(p,:)=xcorr(S(p,:),Sop);
153 end
154 toc
155 A1=fft(Skor);
156 A3=fftshift(A1);
157 absolute=abs(A3);
158
159 figure
160 mesh(real(S./max(max(S))))
161 title('BGISAR signal real part'),
162 set(gca,'fontsize',30);xlhand = get(gca,'title'),
163 set(xlhand,'string','BGISAR signal real
164 part','fontsize',30)
165 colormap(flipud(gray))
166 shading flat
167 xlabel('k')
168 ylabel('p')
169
170 figure
171 mesh(imag(S./max(max(S)))); set(gca,'fontsize',30);
172 xlhand = get(gca,'title'),
173 set(xlhand,'string','BGISAR signal imaginary
174 part','fontsize',30)
175 colormap(flipud(gray))
176 shading flat
177 xlabel('k')
178 ylabel('p')
179
180 figure
181 mesh(real(Skor./max(max(Skor))));
182 set(gca,'fontsize',30);xlhand = get(gca,'title'),
183 set(xlhand,'string','BGISAR signal by correlation real
184 part','fontsize',30)
185 colormap(flipud(gray))
186 shading flat
187 xlabel('k')
188 ylabel('p')
189
190 figure
191 mesh(imag(Skor./max(max(Skor))));
192 xlhand = get(gca,'title'),
193 set(xlhand,'string','BGISAR signal by correlation
194 imaginary part','fontsize',30)
195 colormap(flipud(gray))
196 shading flat
197 xlabel('k')
198 ylabel('p')
199
200 figure
201 mesh(real(A1./max(max(A1))));set(gca,'fontsize',30);
202 xlhand = get(gca,'title'),
203 set(xlhand,'string','Azimuth compressed BGISAR signal
204 by FFT real part','fontsize',30)
205 colormap(flipud(gray))
206 shading flat
207 xlabel('k')
208 ylabel('p')
209
210 figure
211 mesh(imag(A1./max(max(A1))));set(gca,'fontsize',30);
212 xlhand = get(gca,'title'),
213 set(xlhand,'string','Azimuth compressed BGISAR signal
214 by FFT imaginary part','fontsize',30)
215 colormap(flipud(gray))
216 shading flat
217 xlabel('k')
218 ylabel('p')
219
220 figure
221 mesh(real(A3./max(max(A3))));
222 xlhand = get(gca,'title'),
223 set(xlhand,'string','BGISAR signal by frequency
224 domain shift – real part','fontsize',30)
225 colormap(flipud(gray))
226 shading flat
227 xlabel('k')
228 ylabel('p')
229
230 figure
231 mesh(imag(A3./max(max(A3))));
232 xlhand = get(gca,'title'),
233 set(xlhand,'string','BGISAR signal by frequency
234 domain shift – imaginary part','fontsize',30)
235 colormap(flipud(gray))
236 shading flat
237 xlabel('k')
238 ylabel('p')
239 xx=find(absolute>=0.29*max(max(absolute)));
240 absolute(xx)=0.29*(max(max(absolute)));
241 figure
242 pcolor(absolute);xlhand = get(gca,'title'),
243 set(xlhand,'string','BGISAR target
244 image','fontsize',30)
245 colormap(flipud(gray))
246 shading flat
247 xlabel('k')
248 ylabel('p')
249 axis([0 80 240 300])
250
251 figure
252 mesh(absolute./max(max(absolute)));
253 xlhand = get(gca,'title'),
254 set(xlhand,'string','BGISAR target
255 image','fontsize',30)
256 colormap(flipud(gray))
257 shading flat
258 xlabel('k')
259 ylabel('p')
305 figure
306 mesh(real(Sdem_F2./max(max(Sdem_F2))));
307 xlhand = get(gca,'title'),
308 set(xlhand,'string','BGISAR signal real
309 part','fontsize',30)
310 colormap(flipud(gray))
311 shading flat
312 xlabel('k')
313 ylabel('p')
314
315 figure
316 mesh(imag(Sdem_F2./max(max(Sdem_F2))));
317 set(gca,'fontsize',30);
318 xlhand = get(gca,'title'),
319 set(xlhand,'string','BGISAR signal imaginary
320 part','fontsize',30)
321 colormap(flipud(gray))
322 shading flat
323 xlabel('k')
234 ylabel('p')
325
326 figure
327 mesh(real(Skor2./max(max(Skor2))));
328 set(gca,'fontsize',30);xlhand = get(gca,'title'),
329 set(xlhand,'string','BGISAR signal by correlation real
330 part','fontsize',30)
331 colormap(flipud(gray))
332 shading flat
333 xlabel('k')
334 ylabel('p')
335
336 figure
337 mesh(imag(Skor2./max(max(Skor2))));
338 set(gca,'fontsize',30);xlhand = get(gca,'title'),
339 set(xlhand,'string','BGISAR signal by correlation
340 imaginary part','fontsize',30)
341 colormap(flipud(gray))
342 shading flat
343 xlabel('k')
344 ylabel('p')
345
346 A1=fft(Skor2);
347
348 figure
349 mesh(real(A1./max(max(A1))));
350 set(gca,'fontsize',30);xlhand = get(gca,'title'),
351 set(xlhand,'string','Azimuth compressed BGISAR signal
352 by FFT real part','fontsize',30)
353 colormap(flipud(gray))
354 shading flat
355 xlabel('k')
356 ylabel('p')
357 figure
358 mesh(imag(A1./max(max(A1))));
359 set(gca,'fontsize',30);xlhand = get(gca,'title'),
360 set(xlhand,'string','Azimuth compressed BGISAR signal
361 by FFT imaginary part','fontsize',30)
362 colormap(flipud(gray))
363 shading flat
364 xlabel('k')
365 ylabel('p')
366 A3=fftshift((fft(Skor2)));
367 figure
368 mesh(real(A3./max(max(A3)))); set(gca,'fontsize',30);
369 xlhand = get(gca,'title'),
370 set(xlhand,'string','BGISAR signal by frequency
371 domain shift – real part','fontsize',30)
372 colormap(flipud(gray))
373 shading flat
374 xlabel('p')
375 ylabel('k')
376 figure
377 mesh(imag(A3./max(max(A3))));
378 set(gca,'fontsize',30);xlhand = get(gca,'title'),
379 set(xlhand,'string','BGISAR signal by frequency
380 domain shift – imaginary part','fontsize',30)
381 colormap(flipud(gray))
382 shading flat
383 xlabel('p')
384 ylabel('k')
385 xx=find(Sfoc2>=0.29*max(max(Sfoc2)));
386 Sfoc2(xx)=0.29*(max(max(Sfoc2)));
387 figure
388 pcolor(Sfoc2);
389 set(gca,'fontsize',30);xlhand = get(gca,'title'),
390 set(xlhand,'string','BGISAR target focused image for
391 a_2=49, H_s=0.929','fontsize',30)
392 colormap(flipud(gray))
393 shading flat
394 xlabel('p')
395 ylabel('k')
396 axis([0 80 240 300 ])
397 foc=Sfoc2/max(max(Sfoc2));
398 figure
399 mesh(foc);
400 set(gca,'fontsize',30);xlhand = get(gca,'title'),
401 set(xlhand,'string','BGISAR target focused image for
402 a_2=49, H_s=0.929','fontsize',30)
403 colormap(flipud(gray))
404 shading flat
405 xlabel('p')
406 ylabel('k')
1 clear all, close all
2 xyz= input(‘Enter points coordinates for example
3 [5 10 10 5; 5 5 10 25;10 10 10 10]: ‘);
4 num=length(xyz);
5
6 xrs= input(‘Enter transmitter x coordinate: ‘);
7 yrs= input(‘Enter transmitter y coordinate: ‘);
8 zrs= input(‘Enter transmitter z coordinate: ‘);
9
10 xrr= input(‘Enter receiver x coordinate: ‘);
11 yrr= input(‘Enter receiver y coordinate: ‘);
12 zrr= input(‘Enter receiver z coordinate: ‘);
13
14 delta= input(‘Enter inter point distance: ‘);
15
16 N= input(‘Enter number of pulses: ‘);
17 K= input(‘Enter number of range resolution cells: ‘);
18
19 f= input(‘Enter carrier frequency: ‘);
20 Tp= input(‘Enter pulse repetition period: ‘);
21 T= input(‘Enter pulse duration: ‘);
22 deltaF= input(‘Enter frequency bandwidth: ‘);
23 omega=2*pi*f;
24 c=3*10^8;
25
26 b=2*pi*deltaF/T;
27 deltaT=T/K;
28 a= input(‘Enter point reflection coefficient: ‘);
29
30 V= input(‘Enter velocity: ‘);;
31
32 Vx= input(‘Enter velocity coordinate on x axis: ‘);
33 Vy= input(‘Enter velocity coordinate on y axis: ‘);
34 Vz= input(‘Enter velocity coordinate on z axis: ‘);
35
36 p_v=(0:N-1);
37
38 Xs=kron(xrs,ones(num,N))-kron(Vx.*(N/2-
39 p_v).*Tp,ones(num,1))-kron(xyz(1,:),ones(1,N)).';
40 Ys=kron(yrs,ones(num,N))-kron(Vy.*(N/2-
41 p_v).*Tp,ones(num,1))-kron(xyz(2,:),ones(1,N)).';
42 Zs=kron(zrs,ones(num,N))-kron(Vz.*(N/2-
43 p_v).*Tp,ones(num,1))-kron(xyz(3,:),ones(1,N)).';
44
45 Xr=kron(xrr,ones(num,N))-kron(xyz(1,:),ones(1,N)).';
46 Yr=kron(yrr,ones(num,N))-kron(xyz(2,:),ones(1,N)).';
47 Zr=kron(zrr,ones(num,N))-kron(xyz(3,:),ones(1,N)).';
48
49 Rs=sqrt((Xs).^2+(Ys).^2+(Zs).^2);
50 Rr=sqrt((Xr).^2+(Yr).^2+(Zr).^2);
51
52 t1=(Rs+Rr)./c;
53 t=sort(t1);
79 A1=fft(S);
80 A2=fft(transpose(A1));
81 A3=fftshift(A2);
82 absolute=abs(A3);
83
84
85 figure
86 mesh(real(S))
87 title(['BSAR signal real part'])
88 colormap(flipud(gray))
89 shading flat
90 xlabel('k')
91 ylabel('p')
92
93 figure
94 mesh(imag(S))
95 title(['BSAR signal imaginary part '])
96 colormap(flipud(gray))
97 shading flat
98 xlabel('k')
99 ylabel('p')
100
101 figure
102 mesh(real(A1))
103 title(['Range compressed BSAR signal by FFT
104 – real part '])
105 colormap(flipud(gray))
106 shading flat
107 xlabel('k')
108 ylabel('p')
109 figure
110 mesh(imag(A1))
111 title(['Range compressed BSAR signal by FFT – imaginary
112 part'])
113 colormap(flipud(gray))
114 shading flat
115 xlabel('k')
116 ylabel('p')
117
118 figure
119 mesh(real(A2))
120 title(['Azimuth compressed BSAR signal by FFT – real
121 part '])
122 colormap(flipud(gray))
123 shading flat
124 xlabel('p')
125 ylabel('k')
126
127 figure
128 mesh(imag(A2))
129 title(['Azimuth compressed BSAR signal by FFT –
130 imaginary part '])
131 colormap(flipud(gray))
132 shading flat
133 xlabel('p')
134 ylabel('k')
135
136 figure
137 mesh(real(A3))
138 title(['BSAR signal by frequency domain shift – real
139 part '])
140 colormap(flipud(gray))
141 shading flat
142 xlabel('p')
143 ylabel('k')
144
145 figure
146 mesh(imag(A3))
147 title(['BSAR signal by frequency domain shift –
148 imaginary part '])
149 colormap(flipud(gray))
150 shading flat
151 xlabel('p')
152 ylabel('k')
153
154 figure
155 mesh(absolute)
156 colormap(flipud(gray))
157 shading flat
158 title(['BFISAR image of a ship target '])
159 xlabel('p')
160 ylabel('k')
1 clear all, close all
2
3 f=input(‘Enter base line length:‘);;
4 N= input(‘Enter number of ellipse:‘);
5 delta=5;
6
7 for n=1:N
8
9 deltax=(2*f + n*delta) ./ 100;
10
11 a=f + n*delta;
12 b=(2*f*n*delta + (n.*delta).^2).^0.5;
13
14 M=-(f + n*delta);
15 N=+(f + n*delta);
16
17 x=M:N;
18 y=(b.^2 * (1.0 – (x.^2 / a.^2))).^0.5;
19
20 figure(1), hold on;
21 plot(x,y,'k'), plot(x,-y,'k'),
22 scatter(-f,0,'k'), scatter(+f,0,'k'),
23 line([0,2*f/tan(50*(pi/180))],[-00,2*f],'color','k',
24 'linestyle', '--')
25 line([0,2*f/tan(60*(pi/180))],[-10,2*f],'color','k',
26 'linestyle', '-.')
27 line([0,2*f/tan(70*(pi/180))],[-00,2*f],'color','k',
28 'linestyle', '-')
29 line([0,0],[-2*f,2*f],'color','k')
30 line([M,N],[0,0],'color','k')
31 title('Range ellipses'),set(gca,'fontsize',30)%.*4./450
32 xlhand = get(gca,'title'),
33 set(xlhand,'string','Range resolution','fontsize',30)
34 axis([-250 250 -150 150])
35
36 figure(2), hold on;
37 plot(x,y,'k'), plot(x,-y,'k'),
38 scatter(-f,0,'k'), scatter(+f,0,'k'),
39 line([0,2*f/tan(50*(pi/180))],[-40,2*f],'color','k')
40 line([0,2*f/tan(60*(pi/180))],[-40,2*f],'color','k')
41 line([0,2*f/tan(70*(pi/180))],[-40,2*f],'color','k')
42 line([0,0],[-2*f,2*f],'color','k')
43 line([M,N],[0,0],'color','k')
44 title('Range ellipses'),set(gca,'fontsize',24)%.*4./450
45 xlhand = get(gca,'title'),
46 set(xlhand,'string','Range resolution','fontsize',24)
47 axis([-250 250 -150 150])
48
49 figure(3), hold on;
50 plot(x,y,'k'), plot(x,-y,'k'),
51 scatter(-f,0,'k'), scatter(+f,0,'k'),
52 line([M,N],[0,0],'color','k')
53 line([0,+f],[f/tan(50*(pi/180)),0],
54 'color','k','linestyle54', '--')
55 line([-160,+f],[f/tan(60*(pi/180)),0],
56 'color','k','linestyle', '-.')
57 line([-220,+f],[f/tan(70*(pi/180)),0],
58 'color','k','linestyle', '-')
59 line([0,0],[-2*f-30,2*f+30],'color','k')
60 title('Range ellipses'),set(gca,'fontsize',30)%.*4./450
61 xlhand = get(gca,'title'),
62 set(xlhand,'string','Range resolution','fontsize',30)
63 axis([-250 250 -150 150])
64
65 end
1 clear all, close all
2 r=input(‘Enter base line length:‘);
3 Index=[1,2,4,5,10,20,100,500,1000,10000];
4
5 % constant term
6 B=input(‘Enter displacement in direction X:‘);
7 % guiding velocity angle
8 ALPHA=input(‘Enter velocity angle‘);
9 ALPHA=ALPHA*pi/180;
10
11 sizeIndex=size(Index);
12
13 deltaR=input(‘Enter resolution cell size‘);;
14
15 xc1=zeros;
16 xc2=zeros;
17 yc1=zeros;
18 yc2=zeros;
19 len=zeros;
20 cc1=zeros;
21 cc2=zeros;
22
23 for i=1:sizeIndex(2)
24
25 I=Index(i);
26 L=r;
27
28 a1=(L ./ 2) + (I .* deltaR)
29 a2=(L ./ 2) + ((I+1) .* deltaR)
30 b1=sqrt( (I .* deltaR)^2 + (L .* (I .* deltaR)))
31 b2=sqrt( ((I+1) .* deltaR)^2 +
32 + (L .* ((I+1) .*deltaR)))
33
34 k=tan(ALPHA);
35 b=B;
36
37 c1=b1^2 – b^2 + a1^2 .* k^2
38 c2=b2^2 – b^2 + a2^2 .* k^2
39
40 x1=(((-b).*k) + (b1/a1) .* sqrt( c1 )) / ((b1./a1)^2+
41 + k^2)
42 x2=(((-b).*k) + (b2/a2) .* sqrt( c2 )) / ((b2./a2)^2+
43 + k^2)
44 y1=k .* x1 + b
45 y2=k .* x2 + b
46
47 length=sqrt((x1 – x2)^2 + (y1 – y2)^2)
48
49 xc1(i)=x1;
50 xc2(i)=x2;
51 yc1(i)=y1;
52 yc2(i)=y2;
53 len(i)=length;
54
55 cc1(i)=c1;
56 cc2(i)=c2;
57
58 end
59 lennorm=len./max(len);
60 lenlog=log10(lennorm);
61 cnorm=cc2./max(cc2);
62 clog=log10(xc1);
63
64 figure
65 hold on
66 plot((Index),len,'k')
67 title('Range resolution'),set(gca,'fontsize',30)
68 xlhand = get(gca,'title'),
69 set(xlhand,'string','Range resolution','fontsize',30)
70 xlabel('Logarithm of the number of resolution
71 ellipses')
72 ylabel('Length of the resolution cell, m')
73
74 axis([0 10000 0 46])
3.142.173.227