我是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
问题在于该模块的输出仅生成一个脉冲,而我的目标是像脉冲生成器模块一样生成一系列脉冲。 有解决方案吗?
答案 0 :(得分:0)
您最好在MATLAB中设计脉冲,然后使用Repeating Sequence在Simulink中使用它。
例如,在MATLAB中
t = 0:0.01:1;
y = normpdf(t,0.5,0.05);
plot(t,y)
然后在Simulink中
我还将模型求解器的步长更改为0.01。
您需要使用各种这些参数来获得所需的精确曲线。