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

传真(Fax)编程

开发平台:

Matlab

  1. function x = train_ambg (taup, n, pri)
  2. if( taup > pri / 2.)
  3.    'ERROR. Pulse width must be less than the PRI/2.'
  4.    return
  5. end
  6. gap = pri - 2.*taup;
  7. eps = 0.000001;
  8. b = 1. / taup;
  9. ii = 0.;
  10. for q = -(n-1):1:n-1
  11.    tauo = q - taup ;
  12.    index = -1.;
  13.    for tau1 = tauo:0.0533:tauo+gap+2.*taup
  14.       index = index + 1;
  15.       tau = -taup + index*.0533;
  16.       ii = ii + 1;
  17.       j = 0.;
  18.       for fd = -b:.0533:b
  19.          j = j + 1;
  20.          if (abs(tau) <= taup)
  21.             val1 = 1. -abs(tau) / taup;
  22.             val2 = pi * taup * fd * (1.0 - abs(tau) / taup);
  23.             val3 = abs(val1 * sin(val2+eps) /(val2+eps)); 
  24.             val4 = abs((sin(pi*fd*(n-abs(q))*pri+eps))/(sin(pi*fd*pri+eps)));
  25.             x(j,ii)=  val3 * val4 / n;
  26.          else
  27.             x(j,ii) = 0.;
  28.          end
  29.       end
  30.    end
  31. end
  32. return