Diskrétní Fourierova transformace

Data byla vyrobena pomocí příkazu
               data=Table[N[Sin[v0 2 Pi T n/256]+(Random[ ]-1/2)],{n,256}]
d1.dat    pro T=1.0 , v0=30
d2.dat    pro T=1.0 , v0=100
d3.dat    pro T=1.0 , v0=150
d4.dat    pro T=2.0 , v0=30
d5.dat    pro T=1.0 , v0=30 , n=512
d6.dat    pro T=1.0 , v0=150 , n=512

dt ......vzorkovací interval   (T/n)
v0............frekvence signálu
dv............(1/T)
T..............délka signálu

T=1.0;
n=256;
n1=n-1;

dt=(T/n)

dv=(1/T)

data d1.dat

data=<<"e:\\user\\du\\vyuka\\four\\data\\d1.dat";

ListPlot[data,Joined->True]

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

ListPlot[data1,Joined->True,AxesLabel->{"t","s(t)"}]

vys=Fourier[data];

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

vys1=Table[{(i-1) dv,vys[[i]]},{i,1,n1}];

ListPlot[Abs[vys1],Joined->True,AxesLabel->{"v","S(v)"},PlotRange->All]

vys2=Table[vys1[[i]],{i,10,50}];

ListPlot[Abs[vys2],Joined->True,AxesLabel->{"v","S(v)"},PlotRange->All]

data d4.dat

T=2.0;
n=256;
n1=n-1;

dt=(T/n)

dv=(1/T)

data=<<"e:\\user\\du\\vyuka\\four\\data\\d4.dat";

vys=Fourier[data];

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

vys1=Table[{(i-1) dv,vys[[i]]},{i,1,n1}];

ListPlot[Abs[vys1],Joined->True,PlotRange->All,AxesLabel->{"v","s(v)"}]

ListPlot[Abs[vys1],Joined->True,PlotRange->{{10,50},All},AxesLabel->{"v","s(v)"}]

data d2.dat

T=1.0;
n=256;
n1=n-1;

dt=(T/n)

dv=(1/T)

data=<<"e:\\user\\du\\vyuka\\four\\data\\d2.dat";

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

ListPlot[data1,Joined->True,AxesLabel->{"t","s(t)"}]

vys=Fourier[data];

vys1=Table[{(i-1) dv,vys[[i]]},{i,1,n1}];

ListPlot[Abs[vys1],Joined->True,PlotRange->All,AxesLabel->{"v","s(v)"}]

data d3.dat

data=<<"e:\\user\\du\\vyuka\\four\\data\\d3.dat";

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

ListPlot[data,Joined->True,AxesLabel->{"t","s(t)"}]

vys=Fourier[data];

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

ListPlot[Abs[vys],Joined->True,PlotRange->All,AxesLabel->{"t","s(t)"}]

vys1=Table[{(i-1) dv,vys[[i]]},{i,1,n1}];

ListPlot[Abs[vys1],Joined->True,AxesLabel->{"v","S(v)"},PlotRange->{{80,120},All}]

ListPlot[Abs[vys1],Joined->True,AxesLabel->{"v","S(v)"},PlotRange->{{120,170},All}]

data d5.dat

T=1.0;
n=512;
n1=n-1;

dt=(T/n)

dv=(1/T)

data=<<"e:\\user\\du\\vyuka\\four\\data\\d5.dat";

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

ListPlot[data1,Joined->True,AxesLabel->{"t","s(t)"}]

vys=Fourier[data];

vys1=Table[{(i-1) dv,vys[[i]]},{i,1,n1}];

ListPlot[Abs[vys1],Joined->True,AxesLabel->{"v","S(v)"},PlotRange->All]

ListPlot[Abs[vys1],Joined->True,AxesLabel->{"v","S(v)"},PlotRange->{{20,50},All}]

data d6.dat

T=1.0;
n=512;
n1=n-1;

dt=(T/n);

dv=(1/T);

data=<<"e:\\user\\du\\vyuka\\four\\data\\d6.dat";

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

ListPlot[data1,Joined->True,AxesLabel->{"t","s(t)"}]

vys=Fourier[data];

vys1=Table[{(i-1) dv,vys[[i]]},{i,1,n1}];

ListPlot[Abs[vys1],Joined->True,AxesLabel->{"v","S(v)"},PlotRange->All]

ListPlot[Abs[vys1],Joined->True,AxesLabel->{"v","S(v)"},PlotRange->{{120,170},All}]