周波数プログラム

 投稿日:2008年11月27日(木)15時48分15秒
  山中様   大熊です。
周波数のプログラムを有難うございました。
サブルーチンにつなげたら直ぐ軽快に動きました。

(1)最後のDB表示の#3と位相表示の#2のグラフ
   を一緒に表示したいのですが、
   今のままで、「!」マークを外し、そのまま
   つなげても動きませんでした。
   DBの縦目盛りは左側に、位相の0-90度目盛りは
   右側にといった具合です。
   こうすると、本にある「ボード線図」ずばりに
   なります。


(2)位相表示は、なにか周波数の文字の上が表示されて
   ません。
   私の バージョンは、VER 5.02 ですが、
   最新はVER 7.2.8 のようです。
   これが原因でしょうか。
   私は、ハードデスクの「D」に本「ブルーバックス」
   に添付のCD ROM を指示に従い展開したのですが、
   インターネット上の「(仮称)10進BASIC」にある
   VER 7.2.8 のを、そのまま同じ「フォルダー」に
   コピー「展開?}したら駄目でしょうか。
   前のVER 5.02 は、この本のサンプルも一緒に
   入ってるのでどこまでがVER 5.02 本体なのか
   分らずVER 5.02 だけ消すのは困難なのです。

   VER 5.02をVER 7.2.8 で上書きするのはどう
   するのですか。

(3)突然ですが、同じ行数と列数のMATには、
       固有値成るものが、あるそうですが、
   この
 

Re: 周波数プログラム

 投稿者:山中和義  投稿日:2008年11月27日(木)19時37分25秒
  > No.123[元記事へ]

大熊 正さんへのお返事です。


> (1)最後のDB表示の#3と位相表示の#2のグラフを一緒に表示したいのですが、


縦軸の目盛りが違うので、調整が必要かと思います。半固定で表示するようにしてみました。

例.

後半のグラフ描画の部分
!SET bitmap SIZE 600,600 !画面を大きくする
SET WINDOW -0.5,6.5, -50,5 !表示領域
DRAW grid(1,5) !左端の目盛り

FOR f=1 TO 6 !x軸が対数
   PLOT TEXT ,AT f-0.3,-0.15: mid$("10  100 1k  10k 100k1M  ",4*(f-1)+1,4)
NEXT f

FOR f=10 TO 100000 STEP 100 !周波数[Hz]
   CALL routine
   LET vv=vo(1)/vi(1)
   PLOT LINES: LOG10(f),20*LOG10(ABS(vv)); !利得[dB]
NEXT f
PLOT LINES


SET TEXT COLOR 2
FOR i=5 TO -45 STEP -5 !右端の縦軸目盛り
   PLOT TEXT ,AT 6,i: STR$(i*2)&"°"
NEXT i

SET LINE COLOR 2
FOR f=10 TO 100000 STEP 100 !周波数[Hz]
   CALL routine
   LET vv=vo(1)/vi(1)
   PLOT LINES: LOG10(f),DEG(ATN(Im(vv)/Re(vv)))/2; !位相θ ※1/2倍
NEXT f
PLOT LINES


END


> (2)位相表示は、なにか周波数の文字の上が表示されてません。


周波数のグラフは、目盛りが1度ずつ狭いところに重ね書きされて解読できない状態になります。
たとえば、30度ずつ間隔の指定もできますが、今回はしていません。(手抜きです)


>    VER 5.02をVER 7.2.8 で上書きするのはどうするのですか。


・BASIC本体のフォルダ D:\BASIC32w 全体です。これをエクスプローラで削除してください。
・その後、ダウンロードした新しいBASICをこのフォルダにインストールします。
・本のサンプルプログラム、たぶん別のフォルダにまとめられていると思いますので、
 BASIC本体をインストールした後、(BASIC本体とは別のフォルダに)コピーすればいいと思います。
 ※BASIC本体にもかなりのサンプルが添付されています。


> (3)突然ですが、同じ行数と列数のMATには、固有値なるものが、あるそうですが、
>    この命令語は単独で在るのでしょうか。
>    または、此れを解いて表示するプログラムがあれば御教えください。


命令語はありません。プログラムをつくって求める必要があります。


BASIC VER5.02本体
 

戻る