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

传真(Fax)编程

开发平台:

Matlab

  1. % This program computes the monostatic RCS for a frustum.
  2. % Incident linear Polarization is assumed.
  3. % To compute RCP or LCP RCS one must use Eq. (2.24)
  4. % When viewing from the small end of the frustum
  5. % normal incedence occurs at aspect pi/2 - half cone angle
  6. % When viewing from the large end, normal incidence occur at
  7. % pi/2 + half cone angle.
  8. % RCS is computed using Eq. (2.43). This program assumes a geomtry
  9. % similar top Fig. 2.13
  10. clear all
  11. format long
  12. index = 0;
  13. eps = 0.000001;
  14. lambda = 3.0e+8 /10e+9;
  15. % Enter frustum's small end radius
  16. r1 =.02057;
  17. % Enter Frustum's large end radius
  18. r2 = .05753;
  19. % Compute Frustum's length
  20. h = .20945;
  21. % Comput half cone angle, alpha
  22. alpha = atan(( r2 - r1)/h);
  23. % Compute z1 and z2
  24. z2 = r2 / tan(alpha);
  25. z1 = r1 / tan(alpha);
  26. delta = (z2^1.5 - z1^1.5)^2;
  27. factor = (8. * pi * delta) / (9. * lambda);
  28.    % Compute normal incidence, large end
  29.    normal_incedence = (180./pi) * ((pi /2) + alpha)
  30.    % Compute RCS from zero aspect to normal inicedence
  31.    for theta = 0.001:.1:normal_incedence-.5
  32.       index = index +1;
  33.       theta = theta * pi /180.;
  34.       rcs1(index) = (lambda * z1 * tan(alpha) *(tan(theta - alpha))^2) / ...
  35.          (8. * pi *sin(theta)) + eps;
  36.    end
  37.    %Compute broadside RCS
  38.    index = index +1;
  39.    rcs_normal = factor * sin(alpha) / ((cos(alpha))^4) + eps;
  40.    rcs1(index) = rcs_normal;
  41.    % Compute RCS from broad side to 180 degrees 
  42.    for theta = normal_incedence+.5:.1:180
  43.       index = index + 1;
  44.       theta =  theta * pi / 180. ;
  45.       rcs1(index) = (lambda * z2 * tan(alpha) *(tan(theta - alpha))^2) / ...
  46.          (8. * pi *sin(theta)) + eps;
  47.    end
  48.    % Compute normal incedence, small end
  49.    normal_incedence = (180./pi) * ((pi /2) - alpha)
  50.    % Compute RCS from zero aspect to normal inicedence (large end of frustum)
  51.    index2 =0;
  52.    for theta = 0.001:.1:normal_incedence-.5
  53.       index2 = index2 +1;
  54.       theta = theta * pi /180.;
  55.       rcs2(index2) = (lambda * z1 * tan(alpha) *(tan(theta + alpha))^2) / ...
  56.          (8. * pi *sin(theta)) + eps;
  57.    end
  58.    %Compute broadside RCS
  59.    index2 = index2 +1;
  60.    rcs_normal = factor * sin(alpha) / ((cos(alpha))^4) + eps;
  61.    rcs2(index2) = rcs_normal;
  62.    % Compute RCS from broad side to 180 degrees (small end of frustum)
  63.    for theta = normal_incedence+.5:.1:180
  64.       index2 = index2 + 1;
  65.       theta =  theta * pi / 180. ;
  66.       rcs2(index2) = (lambda * z2 * tan(alpha) *(tan(theta + alpha))^2) / ...
  67.          (8. * pi *sin(theta)) + eps;
  68.    end
  69. end
  70. % Plot RCS versus aspect angle
  71. delta = 180 /index;
  72. angle = 0.001:delta:180;
  73. subplot(2,1,1)
  74. plot (angle,10*log10(rcs1),'k');
  75. grid;
  76. xlabel ('Apsect angle - degrees');
  77. ylabel ('RCS - dBsm');
  78. title  ('Wavelength = 0.861 cm')
  79.  subplot(2,1,2)
  80. plot (angle,10*log10(rcs2),'k');
  81. grid;
  82. xlabel ('Apsect angle - degrees');
  83. ylabel ('RCS - dBsm');