SetDirectory["~bastian/Desktop/wave_ranjit"]; 
Namelist=FileNames[]
Namelist//Length;
nfiles=%

Clear[de];
de=ConstantArray[0,31];
nfil={4,15};
AppendTo[nfil,Range[17,31]];
nfil=Flatten[nfil];
filename=Namelist[[4]];
a=ToExpression[StringDrop[StringDrop[filename,55],-9]];
de[[15]]=a;
filename=Namelist[[15]];
a=ToExpression[StringDrop[StringDrop[filename,55],-9]];
de[[16]]=a;
Do[
filename=Namelist[[i]];
a=ToExpression[StringDrop[StringDrop[filename,55],-9]];
de[[i]]=a;
,{i,17,31}];
ListPlot[de]

d=Drop[de,14]
Dimensions[d]

time=ConstantArray[0,{17,1223}];v=ConstantArray[0,{17,1223}];scope=ConstantArray[0,{17,1223,2}];

Do[
filename=Namelist[[nfil[[i]]]];
data=Import[filename,"Table"];
scopedata=Cases[data,{_?NumberQ,_?NumberQ}];
scope[[i]]=scopedata;
(*{time[[3]],v[[3]]}=scopedata*)
,{i,1,17}];

ListPlot[{scope[[1]],scope[[2]],scope[[3]],scope[[4]],scope[[5]],scope[[6]],scope[[7]],scope[[8]],scope[[9]],scope[[10]],scope[[11]],scope[[12]],scope[[13]],scope[[14]],scope[[15]],scope[[16]],scope[[17]]},PlotTheme->"Detailed",PlotRange->{{((0.18`)/(10^8)),(0.5/(10^8))},{-0.02`,0.00}},Joined->True,FrameLabel->{{HoldForm[Volts],None},{HoldForm[time],None}},PlotLabel->HoldForm[Waveforms from TCT edge scan 5 micron steps],LabelStyle->{FontFamily->"Abadi MT Condensed Extra Bold",12,GrayLevel[0]},ImageSize->Large,Frame->True,FrameStyle->Directive[GrayLevel[0,0.62`],Thickness[Large]],PlotLegends->d]

nent=Dimensions[scope[[1]]][[1]];
tt=Table[scope[[1,i,1]],{i,1,nent}]*10^9;
vv=Table[scope[[1,i,2]],{i,1,nent}];
f=Interpolation[Transpose[{tt,vv}]];
f[[1]]=Interpolation[Transpose[{tt,vv}]];
g=Interpolation[Transpose[{tt,vv}]];

nent=Dimensions[scope[[2]]][[1]];
tt=Table[scope[[2,i,1]],{i,1,nent}]*10^9;
vv=Table[scope[[2,i,2]],{i,1,nent}];
f[[2]]=Interpolation[Transpose[{tt,vv}]];
nent=Dimensions[scope[[3]]][[1]];
tt=Table[scope[[3,i,1]],{i,1,nent}]*10^9;
vv=Table[scope[[3,i,2]],{i,1,nent}];
f[[3]]=Interpolation[Transpose[{tt,vv}]];
nent=Dimensions[scope[[4]]][[1]];
tt=Table[scope[[4,i,1]],{i,1,nent}]*10^9;
vv=Table[scope[[4,i,2]],{i,1,nent}];
f[[4]]=Interpolation[Transpose[{tt,vv}]];
nent=Dimensions[scope[[5]]][[1]];
tt=Table[scope[[5,i,1]],{i,1,nent}]*10^9;
vv=Table[scope[[5,i,2]],{i,1,nent}];
f[[5]]=Interpolation[Transpose[{tt,vv}]];
nent=Dimensions[scope[[6]]][[1]];
tt=Table[scope[[6,i,1]],{i,1,nent}]*10^9;
vv=Table[scope[[6,i,2]],{i,1,nent}];
g[[1]]=Interpolation[Transpose[{tt,vv}]];
nent=Dimensions[scope[[7]]][[1]];
tt=Table[scope[[7,i,1]],{i,1,nent}]*10^9;
vv=Table[scope[[7,i,2]],{i,1,nent}];
g[[2]]=Interpolation[Transpose[{tt,vv}]];
nent=Dimensions[scope[[8]]][[1]];
tt=Table[scope[[8,i,1]],{i,1,nent}]*10^9;
vv=Table[scope[[8,i,2]],{i,1,nent}];
g[[3]]=Interpolation[Transpose[{tt,vv}]];
nent=Dimensions[scope[[9]]][[1]];
tt=Table[scope[[9,i,1]],{i,1,nent}]*10^9;
vv=Table[scope[[9,i,2]],{i,1,nent}];
g[[4]]=Interpolation[Transpose[{tt,vv}]];
nent=Dimensions[scope[[10]]][[1]];
tt=Table[scope[[10,i,1]],{i,1,nent}]*10^9;
vv=Table[scope[[10,i,2]],{i,1,nent}];
g[[5]]=Interpolation[Transpose[{tt,vv}]];
sumplot=(f[[1]]+f[[2]]+f[[3]]+f[[4]]+f[[5]]+g[[1]]+g[[2]]+g[[3]]+g[[4]]+g[[5]])/3;

Plot[{f[[1]][x],f[[2]][x],f[[3]][x],f[[4]][x],f[[5]][x],g[[1]][x],g[[2]][x],g[[3]][x],g[[4]][x],g[[5]][x],(f[[1]][x]+f[[2]][x]+f[[3]][x]+f[[4]][x]+f[[5]][x]+g[[1]][x]+g[[2]][x]+g[[3]][x]+g[[4]][x]+g[[5]][x])/4},{x,2,20},AxesOrigin->{0,0},PlotRange->{{2,5},{-0.04,0.}},Frame->True,FrameStyle->Directive[GrayLevel[0,0.62`],Thickness[Large]],FrameLabel->{{HoldForm[Volts],None},{HoldForm[nanoseconds],None}},PlotLabel->"Waveforms for 10 depths and their sum",ImageSize->Large]

Save instead as digital samples with 20 picosecond sampling frequency. This deals with the problem of not being able to do simple operations
with Interpolation functions (ie like adding them to make a new function). The end result also looks like scope data so it will be easy to analyze.

edgescan=ConstantArray[0,{17,150}];
Do[
nent=Dimensions[scope[[i]]][[1]];
tt=Table[scope[[i,j,1]],{j,1,nent}]*10^9;
vv=Table[scope[[i,j,2]],{j,1,nent}];
f=Interpolation[Transpose[{tt,vv}]];
edgescan[[i]]=Table[f[1.98+j*0.02],{j,1,150}];
,{i,1,17}];

time=Range[150]*0.02+1.98;

waveplot=Table[Transpose[{time,edgescan[[i]]}],{i,1,17}];

ListPlot[waveplot,Joined->True,PlotRange->{{2,5},{-.02,0.}}]

(*σ=0.08;μ=1.2;*)
σ=0.25;μ=1.2;
data=RandomReal[LandauDistribution[μ,σ],10^6];
Show[
Histogram[data,{0.0,4,0.1},"PDF",AxesOrigin->{0.0,0}],
Plot[PDF[LandauDistribution[μ,σ],x],{x,0.0,4},PlotRange->Full,PlotStyle->Thick,ImageSize->Large]]

Now generate 100 waveforms with Landau fluctuations introduced.

waveforms=ConstantArray[0,{1000,150}];
Do[
clusters=RandomReal[LandauDistribution[μ,σ],17];
waveforms[[i]]=clusters.edgescan;
,{i,1,1000}];

ListPlot[{Transpose[{time,waveforms[[1]]}],Transpose[{time,waveforms[[2]]}],Transpose[{time,waveforms[[3]]}],Transpose[{time,waveforms[[4]]}],Transpose[{time,waveforms[[5]]}],Transpose[{time,waveforms[[6]]}],Transpose[{time,waveforms[[7]]}],Transpose[{time,waveforms[[8]]}],Transpose[{time,waveforms[[9]]}],Transpose[{time,waveforms[[10]]}],Transpose[{time,waveforms[[11]]}],Transpose[{time,waveforms[[12]]}],Transpose[{time,waveforms[[13]]}],Transpose[{time,waveforms[[14]]}],Transpose[{time,waveforms[[15]]}],Transpose[{time,waveforms[[16]]}],Transpose[{time,waveforms[[17]]}],Transpose[{time,waveforms[[18]]}],Transpose[{time,waveforms[[19]]}]},Joined->True,PlotRange->{{1.5,5},{-.4,0.}}]

MatrixPlot[waveforms,AspectRatio->1]

Definitely better with σ = 0.25  !

peakvalue=Table[Max[-waveforms[[i]]],{i,1,1000}];
Histogram[peakvalue,{0,0.6,.005}]

Export["simlandau2.dat",waveforms,"tsv"];