## GNUPLOT ver.4 以降用 (再帰型システムには使えない) ###### 準備 ###### set dummy n # 横軸の変数を n にする set xlabel "n" # 横軸のラベル設定 set style function impulses # 関数の表示形式設定 set xrange [-20:20] # 横軸方向の表示範囲設定 set sample 41 # 画面あたりの表示点の数(xrange に応じて設定する) ##set yrange [-2:2] # 縦軸方向の表示範囲設定(必要があれば) # 信号の定義 delta(n) = (n == 0) ? 1 : 0 #インパルス信号(デルタ関数) u(n) = (n >= 0) ? 1 : 0 # 単位ステップ信号 s(n) = sin(pi/10.0*n) # 正弦波 n(n) = 0.5 * (rand(0) - 0.5) # 雑音 # rand(0)は 0 から 1 の間の乱数を発生する ###### 信号描画例 ###### plot delta(n) plot u(n) plot u(n)-delta(n-1) plot s(n), n(n) # 正弦波信号と雑音を描画 ###### 移動平均システム ###### y(n) = (x(n) + x(n-1) + x(n-2)) / 3.0 # 入出力関係(3 点移動平均)を定義 # 入力を正弦波+雑音に設定 (p.14(a)) x(n) = s(n) + n(n) # 入力信号 plot x(n) # 入力信号を描画 plot y(n) # 出力信号を描画 # 入出力信号を描画(見やすいように with lines で y(n) を折れ線表示) plot x(n), y(n) with lines # 入力をインパルスにして出力を描画 x(n) = delta(n) plot y(n)