Гауссовский импульсный генератор - PullRequest
0 голосов
/ 09 февраля 2019

Я новичок в 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 голосов
/ 10 февраля 2019

Скорее всего, вам лучше создать свой импульс в MATLAB, а затем использовать Повторяющуюся последовательность , чтобы использовать его в Simulink.

Например, в MATLAB

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

Gaussian pulse

Затем в Simulink

Simulink Model

Я также изменил размер шагадля модели Solver будет 0,01.

Вам нужно будет поиграться с различными из этих параметров, чтобы получить именно ту кривую, которую вы хотите.

...