Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.69 KB | None | 0 0
  1. delta_x = 0.6;
  2. Tp = 0.4e-6;
  3. Wr = 575.3;
  4. Wa = 442.9;
  5. Fc = 242.4e6;
  6. alpha = 33.375e6;
  7. BW = 133.5e6;
  8. Fs = 2560e6;
  9. Dr = 1;
  10. Da = 1;
  11. %Kr = 0.89;
  12. %Ka = 0.89;
  13. R_scene = 1000;
  14. Phi_ac = pi / 2;
  15. Theta_ac = pi / 2;
  16. L = 760.8;
  17. dTheta = 0.231 * pi;
  18. N_points = 3;
  19. Ns = 3;
  20. point_coord = [0 0 0; 200 0 0; 0 -100 0];
  21.  
  22. Pc = [1 1 1];
  23. k = -L/2:delta_x:L/2-delta_x;
  24. t = 0:1/Fs:Tp-1/Fs;
  25. f = linspace(Fc-BW,Fc,length(t));
  26. Na = length(k);
  27. Nf = length(t);
  28. V = delta_x/Tp;
  29. c = 3e8;
  30. lambda = c/Fc;
  31. Vsum = zeros(length(k),length(t));
  32. for i = 1:Na
  33.     dist_ant = k(i);
  34.     for n = 1:N_points
  35.         yc = R_scene + point_coord(n,2);
  36.         rc = sqrt((point_coord(n,1) - dist_ant)^2 + yc^2);
  37.         Vc = sqrt(Pc(n))/(rc^2)*exp(-1j*4*pi*rc./lambda).*exp(1j*BW/Tp.*(t-2*rc/c).^2);
  38.         Vsum(i,:) = Vsum(i,:) + Vc;
  39.     end
  40. end
  41.  
  42. Kr = 4*pi*f/c;
  43. Kr = repmat(Kr,Na,1);
  44. Vsum = Vsum.*exp(1j*R_scene*Kr);
  45. %компенсация фазовых набегов %перемещение отражателей по каналам дальности в течение полета – ЛЧМ дальномер
  46. Vsum_compr = fftshift(fft(Vsum,[],2),2);
  47. imagesc(abs(Vsum_compr));
  48.  
  49. %Vsum = fftshift(Vsum,1);
  50. Vsum = fft(Vsum,[],1);
  51. Vsum = fftshift(Vsum,1);
  52. %результат азмиутального сжатия сигнала
  53. Vsum_compr = fftshift(ifft(Vsum,[],2),2);
  54. imagesc(abs(Vsum_compr));
  55.  
  56. Kx = linspace(-pi/delta_x,pi/delta_x,L/delta_x).';
  57. Kx = repmat(Kx,1,Nf);
  58. Ky_sq = Kr.^2-Kx.^2;
  59. Neg = logical(Ky_sq < 0);
  60. Ky_sq(Neg) = NaN;
  61. Vsum(Neg) = NaN;
  62. Kr(Neg) = NaN;
  63. Fmf = -R_scene*Kr+R_scene*sqrt(Ky_sq);
  64. Vsum = Vsum.*exp(1j*Fmf);
  65. Vsum_compr = fftshift(ifft(Vsum,[],2),2);
  66. imagesc(abs(Vsum_compr));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement