How to plot an ultrashort light pulse
Show older comments
Does anybody know how to plot an ultrashort light pulse like following? I know its a kind of Gaussian modulated sine pulse. But I really wonder why it has a step-like oscillation.


Accepted Answer
More Answers (2)
Jakob B. Nielsen
on 6 Feb 2020
Edited: Jakob B. Nielsen
on 6 Feb 2020
A true monochromatic laser beam can never achieve ultrashort pulse lenghts. Ultrashort pulses make use of interference of light with slightly different frequencies but identical phase. So imagine you have an electric field of a given frequency and phase. It will have a cosine shape. Now take a second field of equal amplitude, but a very slightly different frequency, but the same phase. Add those two fields together. What happens? Now add a third, again with a very slightly different frequency but same phase. Where the fields interfere destructively, they will cancel each other out, but where they interfere constructively, they will amplify one another. As a simple demonstration, try to run this bit, where we see one field, sum of 2 fields, sum of 10 fields and sum of 100 fields. Already you see the difference! Note in particular that the y axis goes from -1 to 1 in the first plot to -50 to 100 in the last. Now think of adding thousands and thousands of frequencies together in this way! In the lab where I did my ph.d. we used to illustrate the magnitudes involved by evaluating that our laser beam with an average power of 1 W had a peak intensity equal to the local power plant :)
(Keep in mind the "frequencies" I put in here are extremely different from one another and really rather slow compared to light - this is purely for the sake if illustration ;) )
x=-10:0.01:10;
for i=1:1
y1(:,i)=cos(i*x+0.1);
end
ytot1=sum(y1,2);
subplot(2,2,1)
plot(x,ytot1,'r-');
for i=1:2
y2(:,i)=cos(i*x+0.1);
end
ytot2=sum(y2,2);
subplot(2,2,2)
plot(x,ytot2,'r-');
for i=1:10
y3(:,i)=cos(i*x+0.1);
end
ytot3=sum(y3,2);
subplot(2,2,3)
plot(x,ytot3,'r-');
for i=1:100
y4(:,i)=cos(i*x+0.1);
end
ytot4=sum(y4,2);
subplot(2,2,4)
plot(x,ytot4,'r-');
SUNCHAO HUANG
on 6 Feb 2020
0 votes
Categories
Find more on Digital and Analog Filters in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!