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

传真(Fax)编程

开发平台:

Matlab

  1. function [BR_range] = soj_req (pt, g, sigma, b, freq, loss, range, ...
  2.    pj, bj,gj, lossj, gprime, rangej)
  3. % This function implements equations for SOJs
  4. c = 3.0e+8;
  5. lambda = c / freq;
  6. lambda_db = 10*log10(lambda^2);
  7. if (loss == 0.0)
  8.    loss = 0.000001;
  9. end
  10. if (lossj == 0.0)
  11.    lossj =0.000001;
  12. end
  13. sigmadb = 10*log10(sigma);
  14. range_db = 10*log10(range * 1000.);
  15. rangej_db = 10*log10(rangej * 1000.);
  16. pt_db = 10*log10(pt);
  17. b_db = 10*log10(b);
  18. bj_db = 10*log10(bj);
  19. pj_db = 10*log10(pj);
  20. factor = 10*log10(4.0 *pi);
  21. BR_range = ((pt * 10^(2.0*g/10) * sigma * bj * 10^(lossj/10) * ...
  22.    (rangej)^2) / (4.0 * pi * pj * 10^(gj/10) * 10^(gprime/10) * ...
  23.    b * 10^(loss/10)))^.25 / 1000. 
  24. s_at_br = pt_db + 2.0 * g + lambda_db + sigmadb - ...
  25.    3.0 * factor - 4.0 * 10*log10(BR_range) - loss  
  26. index =0;
  27. for ran_var = .1:1:1000;
  28.    index = index + 1;
  29.    ran_db = 10*log10(ran_var * 1000.0);
  30.    s(index) = pt_db + 2.0 * g + lambda_db + sigmadb - ...
  31.       3.0 * factor - 4.0 * ran_db - loss + s_at_br;
  32.    soj(index) = s_at_br - s_at_br;
  33. end
  34. ranvar = .1:1:1000;
  35. %ranvar = ranvar ./BR_range;
  36. semilogx (ranvar,s,'k',ranvar,soj,'k-.','linewidth',1.5);
  37. xlabel ('Range normalized to cross-over range');
  38. legend('Target echo','SOJ')
  39. ylabel ('Relative signal or jamming amplitude - dB');
  40.