3

ウィキペディアの「チェビシェフ フィルター」ページにある極-ゼロ プロットと同様の方法でフィルターの周波数領域応答をプロットしたいと思います: http://en.wikipedia.org/wiki/File:Chebyshev_Type_I_Filter_s- Plane_Response_(8th_Order).svg . 特に、プロットを Y 軸に沿って半分にカットし、カットを周波数応答を表すものとして目立たせたいと考えています。

これまでのところ、私はこれを得ることができました:

継ぎ目が見えますが、溶接したてのように目立ちません。今はもっと良い説明が見つからないので、その意味があなたに伝わることを願っています.

さて、これまでのところ、wxMaxima の draw3d() 関数で得られたものは次のとおりです。

draw3d(logx=false,logy=false,logz=true,
enhanced3d=false,line_width=2,color=red,explicit(cabs(Hs(x+%i*y)),x,-0.01,0,y,-3,3),
enhanced3d=[z**.5,x,y,z],palette=gray,proportional_axes=xy,
/* cbrange=[0.05,100.95], */ view=[0,0],yv_grid=101,xu_grid=101,
explicit(cabs(Hs(x+%i*y)),x,-1,0,y,-3,3))$

ここで、Hs(s) は前に定義されているので、次のように言います。

Hs(s):=0.0248655/((s+0.210329)*(s^2+0.12999*s+0.521695)*(s^2+0.340319*s+0.22661))$

周波数特性を際立たせる方法がわかりません。印刷の順序は関係ないようです。それができるかどうか、もしそうなら、どうやって知っていますか?

4

1 に答える 1

3

Maximaでそれを達成する方法はわかりませんが、gnuplotのみを使用したソリューションを次に示します. これは、+疑似ファイル名を使用して、x=0 の 1D プロットを作成しますsplot。複素数は角かっこで指定されます{x,y}。つまり、次のようになりますi = {0,1}

set terminal pngcairo size 1000,800
set output 'chebyshev.png'

N = 501
set isosamples N
set samples N
set pm3d interpolate 3,3

set palette gray
set cbrange [*:10]
set xrange [-1:0]
set yrange [-3:3]

set logscale z
set autoscale zfix

set view 120,278
unset key
set grid

Hs(s) = 0.0248655/((s+0.210329)*(s**2+0.12999*s+0.521695)*(s**2+0.340319*s+0.22661))

splot abs(Hs(x+{0,1}*y)) w pm3d, \
      '+' using (y = ($0/(N-1.0) * 6 - 3), 0):(y):(abs(Hs({0,1}*y))) w l lw 3

4.6.3 の結果は次のとおりです。

ここに画像の説明を入力

于 2014-03-17T09:18:57.207 に答える