niszetの日記

アナログCMOS系雑用エンジニアが頑張る備忘録系日記

(R) ggbodeパッケージ作るね

完成時期は未定です

以前書いた

niszet.hatenablog.com

niszet.hatenablog.com

はこれの布石でした。

とりあえず、こんな入力に対して

ggbode::ggbode(lpf(c(1,1e9),1e3,1e-9), ggplot2::aes(x=x,y=y))

こうじゃ!

f:id:niszet:20180403083351p:plain

出来た…bode plot出来たよ…。

ちなみにlpf()はy軸にcomplex型を使っています。また、ggbodeはy軸がcomplex型でない場合にstopします。

head(lpf(c(1,1e9),1e3,1e-9))
         x            y
1 1.000000 1-0.0000063i
2 1.122018 1-0.0000070i
3 1.258925 1-0.0000079i
4 1.412538 1-0.0000089i
5 1.584893 1-0.0000100i
6 1.778279 1-0.0000112i

不満点

いくつかissueがあります。

  1. aesで入力したくない
  2. 単位…
  3. y軸はdBじゃないの?
  4. phaseは45か90deg区切りじゃないの…?
  5. dBは20log10なの10log10なの?
  6. ↓コレに対応していない

niszet.hatenablog.com

こんなところかな。

まぁ、出来上がればそれなりに使い道はありそうですが…私以外に誰が使うのかしら…。

Enjoy!!