How to 'break' a Gaussian pulse into discrete parts in Matlab

I need to break down a continuous Gaussian pulse into 50 discrete parts so I can use each of the 50 individual amplitudes in calculations. Here is what I've tried:

% Gauss pulse discretisation
tg = 20*10^(-3);         % pulse duration [sec]
B1 = 1;                  % max amplitude [muT]
t  = -tg/2:tg/50:tg/2;   % sampling times
sd = 0.25;               % pulse standard deviation
% pulse shape
p  = B1*exp(-((t-tg/2).^2)/(2*sd.^2));
plot(t,p);

However, the plot looks nothing like a Gaussian pulse of 20ms in duration! Is there a problem with how the sampling time is defined? For example if the sampling time is defined as

t  = -1:tg/50:1

then the pulse does look like a Gaussian but it is broken down in 5001 parts. Could someone please point me in the right direction?

Answers


In order for your Gaussian to look like a Gaussian when you plot it, you need to make sure that you: (1) sample it around it's center, (2) your sampling interval is much smaller than the standard deviation (SD), and (3) you sample at least 2 or 3 SDs to each side, so you can see the decay. So in your example, since the Gaussian is centered around tg\2, and since your SD is sd = 0.25 (btw the SD sets the pulse duration, not tg), extend the sampling interval, using the SD as a measure (and not tg), and move it so it is centered around the mean. It is easier to do all this using linspace:

t = linspace(-3*sd, 3*sd, 50) + tg\2;

If you further want a 20msec pulse duration, make sd in the order of 20msec, and not tg. Also note that "duration" is really a matter of definition for a Gaussian, as it extends to +- infinity. You have to define something like "pulse duration is from -2 SDs to +2 SDs", which means the effective pulse duration is defined according to how much the tail decayed.

% Gauss pulse discretisation
tg = 0;         % pulse center [sec]
B1 = 1;         % max amplitude [muT]
sd = .5*20*10^(-3);% half the pulse duration (msec)
t  = tg/2 + linspace(-3*sd,3*sd,50);  
% pulse shape
p  = B1*exp(-((t-tg/2).^2)/(2*sd.^2));
plot(t,p,'.-');


Need Your Help

rg.apache.axis2.AxisFault: Transport error: 403 Error: Forbidden

web-services axis2 webservice-client http-status-code-403 transport

I am trying to access a webservices over https, I have the ssl certificates in place. However when I send the webservice request I am getting: