monocycle.m
上传用户:doryuen
上传日期:2013-10-30
资源大小:23k
文件大小:1k
源码类别:

通讯/手机编程

开发平台:

Matlab

  1. function [y] = monocycle(fs, ts, t, t1, A, pulse_order)
  2. % This function generates one Gaussian pulse
  3. % pulse_order - derivative of Gaussian pulse, if:
  4. %             0 - Gaussian pulse
  5. %             1 - First derivative of Gaussian pulse
  6. %             2 - Second derivative of Gaussian pulse
  7. % fs - Sample rate
  8. % ts - Sample period
  9. % t - Vector with sample instants
  10. % t1 - Pulse width
  11. % A - Positive value gives negative going monopulse;
  12. %     negative value gives positive going monopulse
  13. % y - Output, generated Gaussian pulse
  14. x=(2*t/t1).*(2*t/t1);%x=(t^2/t1^2)(square of (t/t1)
  15. if pulse_order == 0
  16.     y=(1/(sqrt(6.28)*t1))*exp(.5*(-x));%Gaussian pulse function
  17. elseif pulse_order == 1
  18.     y=A*(t/t1).*exp(-x);%first derivative of Gaussian pulse function
  19. elseif pulse_order == 2
  20.     y=A*(1/(sqrt(6.28)*t1))*(1-x).*exp(.5*(-x));%second derivative of Gaussian pulse function
  21. else
  22.     error(' There is no such derivative ! pulse_order can get values from 1 to 3');
  23. end
  24. % figure(1)
  25. % plot(1E9*t,1E-9*y) %multiply t by 1 nanosec to get nanosec instead of sec
  26. % xlabel('Nanoseconds'); ylabel('Amplitude');
  27. % if pulse_order == 0
  28. %     title('Gaussian pulse function');%Gaussian pulse function
  29. % elseif pulse_order == 1
  30. %     title('First derivative of Gaussian pulse function');%first derivative of Gaussian pulse function
  31. % elseif pulse_order == 2
  32. %     title('Second derivative of Gaussian pulse function');%second derivative of Gaussian pulse function
  33. % end
  34. % grid on