(* 単純な打ち切り -J/2≦n≦J/2 に対応するフィルターの周波数特性 *)

omega=0.5;

(* ローパスフィルターの単位インパルス応答 *)

h[n_]:=omega/Pi Sinc[n omega]

ListPlot[Table[h[n],{n,-100,100}],PlotRange->All]

draw[J_]:=Plot[Sum[h[n]Exp[-I n t],{n,-J/2,J/2}],{t,-Pi,Pi},PlotRange->All]

(* J=100 *)

draw[100]

(* 目標(理想)と比較 *)

Plot[If[Abs[x]<omega,1,0],{x,-Pi,Pi}]

(* hann窓 *)

w[x_]:=(1-Cos[2Pi x])/2;

g=Plot[w[x],{x,0,1}]

J=40;
wn=Table[{n,w[n/J-1/2]},{n,-J/2,J/2}];

ListPlot[wn]

draw2[J_]:=Plot[Sum[w[n/J-1/2]h[n]Exp[-I n t],{n,-J/2,J/2}],{t,-Pi,Pi},PlotRange->All]

draw2[100]