高斯脉冲发生器模块问题

时间:2019-02-09 18:35:44

标签: matlab signal-processing simulink

我是Simulink的新手,我正在使用解释的MATLAB功能块创建高斯脉冲发生器。

这是功能:

 function y=mono_gauss(t)

   fs=20E9;                      %sample rate-10 times the highest frequency
   ts=1/fs;                      %sample period
   t1=.5E-9;                     %pulse width(0.5 nanoseconds)
   x=(t/t1).*(t/t1);             %x=(t^2/t1^2)(square of (t/t1);
   A=1; 
   y=(A*(t/t1)-ts).*exp(-x);     %first derivative of Gaussian pulsefunction

   end

问题在于该模块的输出仅生成一个脉冲,而我的目标是像脉冲生成器模块一样生成一系列脉冲。 有解决方案吗?

1 个答案:

答案 0 :(得分:0)

您最好在MATLAB中设计脉冲,然后使用Repeating Sequence在Simulink中使用它。

例如,在MATLAB中

t = 0:0.01:1;
y = normpdf(t,0.5,0.05);
plot(t,y)

Gaussian pulse

然后在Simulink中

Simulink Model

我还将模型求解器的步长更改为0.01。

您需要使用各种这些参数来获得所需的精确曲线。