rcs_rect_plate.m
上传用户:szahd2008
上传日期:2020-09-25
资源大小:1275k
文件大小:3k
源码类别:

传真(Fax)编程

开发平台:

Matlab

  1. function  [rcsdb_h,rcsdb_v] = rcs_rect_plate(a, b, freq)
  2. % This program computes the backscattered RCS for a rectangular 
  3. % flat plate. The RCS is computed for vertical and horizontal
  4. % polarization based on Eq.s(13.52)through (13.62). Also Physical
  5. % Optics approximation Eq.(13.64) is computed.
  6. % User may vary frequency, or the plate's dimensions.
  7. % Default values are a=b=10.16cm; lambda=3.25cm.
  8. eps = 0.000001;
  9. % Enter a, b, and lambda
  10. lambda = .0325;
  11. ka = 2. * pi * a / lambda;
  12. % Compute aspect angle vector
  13. theta_deg = 0.05:0.1:85;
  14. theta = (pi/180.) .* theta_deg;
  15. sigma1v = cos(ka .*sin(theta)) - i .* sin(ka .*sin(theta)) ./ sin(theta);
  16. sigma2v = exp(i * ka - (pi /4)) / (sqrt(2 * pi) *(ka)^1.5);
  17. sigma3v = (1. + sin(theta)) .* exp(-i * ka .* sin(theta)) ./ ...
  18.    (1. - sin(theta)).^2;
  19. sigma4v = (1. - sin(theta)) .* exp(i * ka .* sin(theta)) ./ ...
  20.    (1. + sin(theta)).^2;
  21. sigma5v = 1. - (exp(i * 2. * ka - (pi / 2)) / (8. * pi * (ka)^3));
  22. sigma1h = cos(ka .*sin(theta)) + i .* sin(ka .*sin(theta)) ./ sin(theta);
  23. sigma2h = 4. * exp(i * ka * (pi / 4.)) / (sqrt(2 * pi * ka));
  24. sigma3h =  exp(-i * ka .* sin(theta)) ./ (1. - sin(theta));
  25. sigma4h = exp(i * ka * sin(theta)) ./ (1. + sin(theta));
  26. sigma5h = 1. - (exp(j * 2. * ka + (pi / 4.)) / 2. * pi * ka);
  27. % Compute vertical polarization RCS
  28. rcs_v = (b^2 / pi) .* (abs(sigma1v - sigma2v .*((1. ./ cos(theta)) ...
  29.    + .25 .* sigma2v .* (sigma3v + sigma4v)) .* (sigma5v).^-1)).^2 + eps;
  30. % compute horizontal polarization RCS
  31. rcs_h = (b^2 / pi) .* (abs(sigma1h - sigma2h .*((1. ./ cos(theta)) ...
  32.    - .25 .* sigma2h .* (sigma3h + sigma4h)) .* (sigma5h).^-1)).^2 + eps;
  33. % Compute RCS from Physical Optics, Eq.(2.62)
  34. angle = ka .* sin(theta);
  35. rcs_po = (4. * pi* a^2 * b^2 / lambda^2 ).*  (cos(theta)).^2 .* ...
  36.    ((sin(angle) ./ angle).^2) + eps;
  37. rcsdb_v = 10. .*log10(rcs_v);
  38. rcsdb_h = 10. .*log10(rcs_h);
  39. rcsdb_po = 10. .*log10(rcs_po);
  40. figure(2)
  41. plot (theta_deg, rcsdb_v,'k',theta_deg,rcsdb_po,'k -.','linewidth',1);
  42. set(gca,'xtick',[10:10:85]);
  43. freqGH = num2str(freq*1.e-9);
  44. A = num2str(a);
  45. B = num2str(b);
  46. title (['Vertical Polarization,  ','Frequency = ',[freqGH],'  GHz, ', '  a = ', [A], ' m','  b = ',[B],' m']);
  47. ylabel ('RCS -dBsm');
  48. xlabel ('Aspect angle - deg');
  49. legend('Eq.(13.52)','Eq.(13.63)')
  50. figure(3)
  51. plot (theta_deg, rcsdb_h,'k',theta_deg,rcsdb_po,'k -.','linewidth',1);
  52. set(gca,'xtick',[10:10:85]);
  53. title (['Horizontal Polarization,  ','Frequency = ',[freqGH],'  GHz, ', '  a = ', [A], ' m','  b = ',[B],' m']);
  54. ylabel ('RCS -dBsm');
  55. xlabel ('Aspect angle - deg');
  56. legend('Eq.(13.53)','Eq.(13.63)')