ZeroFilling

Použití metody ZeroFilling na lepší rozlišení blízkých frekvencí

(Subscript[ν, 0])=30, (Subscript[ν, 1])=31

n=256;
T=1.0;
dt=T/n;
dv=1/T;

data=Table[N[Sin[((30 2 π i)/n)]+Sin[((31 2 π i)/n)]+RandomReal[]-0.5`],{i,0,n-1}];

data>>d:\user\du\vyuka\four\data\d7.dat

data=<<d:\user\du\vyuka\four\data\d7.dat;

data1=Table[{(i-1) dt,data[[i]]},{i,1,n}];

ListPlot[data1,Joined->True]

vys=Fourier[data];

vyspred=Table[{(i-1) dv,vys[[i]]},{i,1,n}];

ListPlot[Abs[vyspred],Joined->True,PlotRange->All]

ListPlot[Abs[vyspred],Joined->True,PlotRange->{{20,40},All}]

data0=Table[0.0,{i,1, n}];

dataZ=Join[data,data0];

T=2.0;
dv=1.0/T;
n2=2 n;

dataZ1=Table[{(i-1) dt,dataZ[[i]]},{i,1,2 n}];

ListPlot[dataZ1,Joined->True,PlotRange->All]

vysZ=Fourier[dataZ];

vysZ1=Table[{(i-1) dv,vysZ[[i]]},{i,1,n2}];

ListPlot[Abs[vysZ1],Joined->True,PlotRange->All]

ListPlot[Abs[vysZ1],Joined->True,PlotRange->{{25,35},All}]

dataZZ=Join[dataZ,data0];

T=3.0;
dv=1.0/T;
n3=3 n;

dataZZ1=Table[{(i-1) dt,dataZZ[[i]]},{i,1,3 n}];

ListPlot[dataZZ1,Joined->True,PlotRange->All]

vysZZ=Fourier[dataZZ];

vysZZ1=Table[{(i-1) dv,vysZZ[[i]]},{i,1,n3}];

ListPlot[Abs[vysZZ1],Joined->True,PlotRange->All]

ListPlot[Abs[vysZZ1],Joined->True,PlotRange->{{25,35},All}]

dataZZZ=Join[dataZZ,data0,data0,data0];

T=6.0;
dv=1.0/T;
n6=6 n;

dataZZZ1=Table[{(i-1) dt,dataZZZ[[i]]},{i,1,6 n}];

ListPlot[dataZZZ1,Joined->True,PlotRange->All]

vysZZZ=Fourier[dataZZZ];

vysZZZ1=Table[{(i-1) dv,vysZZZ[[i]]},{i,1,n6}];

ListPlot[Abs[vysZZZ1],Joined->True,PlotRange->All]

ListPlot[Abs[vysZZZ1],Joined->True,PlotRange->{{25,35},All}]

(Subscript[ν, 0])=30, (Subscript[ν, 1])=31, (Subscript[ν, 2])=32

n=256;
T=1.0;
dt=T/n;
dv=1/T;

data=Table[N[Sin[((30 2 π T i)/n)]+Sin[((31 2 π T i)/n)]+Sin[((32 2 π T i)/n)]+RandomReal[]-0.5`],{i,0,n-1}];

data>>d:\user\du\vyuka\four\data\d8.dat

data=<<d:\user\du\vyuka\four\data\d8.dat;

data1=Table[{(i-1) dt,data[[i]]},{i,1,n}];

ListPlot[data1,Joined->True]

vys=Fourier[data];

vyspred=Table[{(i-1) dv,vys[[i]]},{i,1,n}];

ListPlot[Abs[vyspred],Joined->True,PlotRange->All]

ListPlot[Abs[vyspred],Joined->True,PlotRange->{{10,50},All}]

data0=Table[0.0,{i,1,n}];

dataZ=Join[data,data0];

T=2.0;
dv=1.0/T;
n2=2 n;

vysZ=Fourier[dataZ];

vysZ1=Table[{(i-1) dv,vysZ[[i]]},{i,1,n2}];

ListPlot[Abs[vysZ1],Joined->True,PlotRange->All]

ListPlot[Abs[vysZ1],Joined->True,PlotRange->{{25,35},All}]

dataZZ=Join[dataZ,data0,data0,data0,data0,data0,data0];

T=8.0;
dv=1.0/T;
n8=8 n;

vysZZ=Fourier[dataZZ];

vysZZ1=Table[{(i-1) dv,vysZZ[[i]]},{i,1,n8}];

ListPlot[Abs[vysZZ1],Joined->True,PlotRange->All]

ListPlot[Abs[vysZZ1],Joined->True,PlotRange->{{25,35},All}]