« 2020年3月 | トップページ | 2020年5月 »
発端はEEtimesのこの記事を読んだこと。国防総省のHack-a-Vent イノベーティブチャレンジというのがあるそうだ。
https://www.eetimes.com/6-fast-ventilator-designs-volunteered-by-engineers/
紹介されているのは
1: MITのE-VENT
2: Monolithic Power Systems (MPS)
3:Blu3
ダイビングの装置を人工呼吸器に変えるという。
4: OnScale
これはDigital Twinを作る試み。
5: Maryland大学
搾乳機を人工呼吸器に変える。
6:Raspberry PI
これは人工呼吸器そのものというよりも制御を安価に行えるという提案。
ーー
その他にもいろいろやっている人たちがいる。
7:NASA
37日間で作ったプロトタイプ
https://www.nasa.gov/feature/jpl/nasa-develops-covid-19-prototype-ventilator-in-37-days/
8:テヘラン大学
https://spectrum.ieee.org/the-institute/ieee-member-news/engineers-iran-open-source-ventilator
iFixitが人工呼吸器の修理について乗り出しているし、
https://sci.tea-nifty.com/blog/2020/04/post-bdace3.html
こういうのは海外ですぐスタートしますね。
日本は、、、?
アンテナの有効面積がAe=λ^2/4π * G (Gはゲイン)となる件、どうやって出すんだっけと思ったが、思い出せない、、、
送信と受信のアンテナを準備して 送信の有効面積とゲインをAt, Gt、受信をAr,Grとすると、相反定理から
Gt/At=Gr/Ar
が分かって、また微小ダイポールのときは実際に計算できて
Gr=3/2, Ar=3λ^2/8π から、無指向性(等方性)アンテナがGr=1なので
At=λ^2/4π、、、
というのは手持ちの何冊かの本に書いてあったが、直接等方性アンテナの計算してるんじゃない、、、
なんか方法ないのかと思ったらWikiPediaに書いてあった。
https://en.wikipedia.org/wiki/Isotropic_radiator
おお、熱力学を使って出すのか!レイリージーンズの式(あのプランクの式の低周波近似)と電気回路でおなじみの
ジョンソン・ナイキスト雑音を使う。
これはちょっと意外な導出だった。
純電磁気的にはないのかな、と思ってたらこういうのも。
http://www.radio3.ee.uec.ac.jp/ronbun/TR-YK-040_Friis-Formula.pdf
こっちのほうがわかりやすい。
さて次はDeembeddingだ。
まず、素の素子としては、TDKさんのLPFをWebからダウンロードしてきた。
import skrf as rf
import matplotlib.pyplot as plt
import numpy as np
rf.stylely()
LPF=rf.Network('DEA162690LT-5051B1.s2p')
LPF.plot_s_db()
とすると、
と表示できる。
では、これが評価ボードに乗った想定をQucsstudioで作ってみよう。回路は、マイクロストリップラインがボードにひかれていて、SMAコネクタ相当がLC回路になっているとする。こんな感じ。
この特性は、
LPF_with_EVB.plot_s_db()
とすると、
がたがたの特性に想定通りなっている。
EVBの左側のポート1の特性は
EVB_port1.plot_s_db()
のような感じ。
EVBの右側は、、、左側をひっくり返したものなので実はポートの付け替えで作れる。
EVB_port2=EVB_port1.copy()
EVB_port2.renumber([0,1],[1,0])
のような感じで。
ではDe-embedしてみよう。ものすごく簡単に**と.invを使って、
LPF_deembed=EVB_port1.inv**LPF_with_EVB**EVB_port2.inv
LPF_deembed.plot_s_db(show_legend=False)
とするだけ。
結果は、
元の波形が再現できた!
ケールがちょっと苦味があってそれがアクセントになって美味しい。野菜がもっと多くてもいいくらい。


オニオンスープはオニオンだけが具と思っていたらそこにコーンが大量にあった。ちょっと得した気分。
私もずっと在宅勤務だが、結構楽しんでやっている。
海外はどうか?まずはEEtimesの特集。
https://www.eetimes.com/stay-at-home-engineer-how-we-work/
これはすごいな。
次はQualcommはこの機会にいろいろ勉強しようという提案。
https://www.qualcomm.com/news/onq/2020/04/21/working-home-take-time-upskill
そういう意味ではElectricalDesignとか
https://www.electronicdesign.com/resources/webcasts
Microwave JournalとかのWebセミナーがお勧め。
https://www.microwavejournal.com/events/range/archive
あと、3Dスミスチャートのソフトウェアがフリーに。
https://www.microwavejournal.com/articles/33830-d-smith-chart-tool-is-now-free-to-all-students
Dysonが子供とできるチャレンジを提案していたり。
https://www.dezeen.com/2020/04/07/dyson-children-coronavirus-lockdown/
NASAも。
今日はスミスチャートを描いてみよう。
import skrf as rf
import matplotlib.pyplot as plt
TL=rf.Network('TransmissionLine.s2p')
TL.plot_s_smith(m=0,n=0,show_legend=False)
としたら、
と出た。よしよし。
(㏈表示すると、
のような伝送線路です)
マーカー打つには?と思ってAPIを調べると、
skrf.plotting.add_markers_to_lines
というのがあるようだ。やってみると、
from skrf import plotting
TL.plot_s_smith(m=0,n=0,show_legend=False)
plotting.add_markers_to_lines()
あ、線にマーカーが等間隔に打たれている、、、いやそういうのじゃなくて、ある周波数の値がいくらか出す奴なんだけど、、、
まあ周波数指定してプロットすればいいか。
TL['1-2ghz']とかするとその周波数範囲のデータが抜き出せる。めちゃくちゃ便利。
これを使うと、
昨日はとりあえずSパラメータの表示ができるようになった。
今日はTDRやってみよう。もとになるのは、評価ボード(EVB)のスルーラインを模したデータ。
こんな感じで表示できる。(データは2ポートのタッチストーンファイル、.s2pで入っているとする)
import skrf as rf
import matplotlib.pyplot as plt
rf.stylely()
TL=rf.Network('TransmissionLine.s2p')
TL.frequency.unit='ghz'
TL.plot_s_db()
結果がこちら。
どういうデータかはのちほど。
さて、TDRをするためにはDC補間をしないといけない。ネットワークアナライザはDC測定できないので。
それには
TL_DC=TL.extrapolate_to_dc(kind='linear')
とする。これはDCを線形補間している。
で、インピーダンスのステップ応答を見てみると、
TL_DC.s11.plot_z_time_step(window='hamming')
あれ?あ、スケールが全然違うのか。再度やりなおし。
TL_DC.s11.plot_z_time_step(window='hamming')
plt.xlim(-1,2)
想定通りの結果になった。
評価ボードのスルーなのに入り口と出口でなんで低インピーダンス?と思われたらそれは、、、
そういう特殊な基板とコネクタなんで、、、
PythonでSパラメータを表示したり、DeembedしたりTDRを実施したりできるライブラリがあります。
それがscikit-rf。
https://scikit-rf-web.readthedocs.io/
インストールはAnacondaを使っている人なら
https://scikit-rf-web.readthedocs.io/install.html
のように
conda install -c conda-forge scikit-rf
だけでOK。pipの場合は pip install scikit-rf。
importは
import skrf as rf
とする。
さて、このライブラリのデータセットはNetworkという名前になっていて、
rf.Network('タッチストーンのファイル名')
のような形で読み込める。
例題は、TDKのセラミック高周波部品を使わしてもらおう。表示が面白いものを、、、
じゃあダイプレクサとトリプレクサかな。3ポートと4ポート素子なので、touchstoneの拡張子は
.s3pと.s4pになる。
https://product.tdk.com/info/ja/products/rf/index.html
これを以下のように読み込む。
diplexer=rf.Network('DPX165850DT-8086A1.s3p')
triplexer=rf.Network('TPX255850MT-7013A3.s4p')
表示するときは、まずはSパラメータの㏈表示をするときはそれぞれ、
diplexer.plot_s_db()
triplexer.plot_s_db()
うーん、全部表示しているのでぐちゃぐちゃになる、、、
一部だけ表示したいときは?パラメータのmとnを使うとS11,S21などが指定できる。
0から始まるときに注意。S11=> m=0, n=0 とか。
diplexer.plot_s_db(m=0,n=0)
diplexer.plot_s_db(m=1,n=0)
diplexer.plot_s_db(m=2,n=0)
とすると、
同じくトリプレクサも
だいぶましになってきた。
ここで
rf.stylely()
を使うと、もうちょっといい感じで描いてくれる。※warningがでますが。
こんな感じ。
さっきのを使わなくても、matplotlib.pyplotで表示するのと同じようにグラフを修飾できる。
(続く)
もう先月の時点で呼びかけていた。
https://www.ifixit.com/News/36354/help-us-crowdsource-repair-information-for-hospital-equipment
その呼びかけでかなりの数のマニュアルが集まり、
https://www.ifixit.com/News/36860/weve-expanded-our-ventilator-project
5つの州で修理が合法になった。
で資料はこちらにまとまっている。
https://www.ifixit.com/Device/Ventilator
日本はちゃんと修理されたり動く人工呼吸器が多いが、アメリカはそもそも壊れているやつが多いという話もある。
https://www.nytimes.com/2020/04/01/us/politics/coronavirus-ventilators.html
ところで人工呼吸器はどんな回路?というとAnalog DevicesやMAXIMやTI、Infineonの資料を見てみた。
なるほどブラシレスモータとかそのドライバ、センサ類とそのためのADC、DAC、電源の集積らしい。
https://www.maximintegrated.com/en/design/technical-documents/tutorials/4/4692.html
http://www.ti.com/solution/medical-ventilator
https://www.infineon.com/cms/en/applications/industrial/medical-ventilator/
3D sonic sensorというのは超音波指紋センサ。どこを触っても認識するのかな。
次はiFixitによるHuawei Mate Xsの分解。折れ曲がり部分にグラファイトシート(放熱用)があるのが面白い。
https://www.ifixit.com/Teardown/Huawei+Mate+Xs+Teardown/132809
Microwave Journalの4月号はアンプと発信器特集。
https://www.microwavejournal.com/publications/1
特にこれが面白い。
RF SOI can Save $Billions in 5G mmWave Network Costs with Efficient PAs
ResonantのXBARがWiFi/5G共存に使われるという。
音声で動くWiFi調光スイッチ分解。
https://www.edn.com/teardown-voice-activated-wi-fi-connected-dimmer-switch/
先日のSIRモデルに引き続き、
https://sci.tea-nifty.com/blog/2020/04/post-2b0471.html
SEIRモデルも自作式として作ってみた。
SEIRモデルについてはこちらなど参照:
https://ja.wikipedia.org/wiki/SEIR%E3%83%A2%E3%83%87%E3%83%AB
西浦さんたちの解説:
https://www.ism.ac.jp/editsec/toukei/pdf/54-2-461.pdf
微分方程式はこんな感じになる。
リンクはこちら:
画面と説明文:
SIRモデルに引き続き、感染症の流行を表すモデル、SEIRモデルを計算します。ここで、
|
※2021/10/20追記
この本買いました:「感染症疫学のためのデータ分析入門」(西浦博さん編著)
どこからダウンロードするか?が分かりにくい方もいるかと思うので簡単に解説。
の下の方についているExcelファイルへをダウンロードすると、
そこに本の情報と、フリーアクセスへのURLがついている。
ではまず量子力学の本。
| Quantum Theory for Mathematicians | Brian C. Hall |
| Quantum Mechanics | Daniel Bes |
| Foundations of Quantum Mechanics | Travis Norsen |
| Principles of Quantum Mechanics | R. Shankar |
| Quantum Mechanics | K.T. Hecht |
| Advanced Quantum Mechanics | RAINER DICK |
| Introductory Quantum Mechanics | Paul R. Berman |
| A First Introduction to Quantum Physics | Pieter Kok |
| Quantum Mechanics for Pedestrians 1 | Jochen Pade |
| Quantum Mechanics for Pedestrians 2 | Jochen Pade |
電磁気学:
| Engineering Electromagnetics | Nathan Ida |
統計力学:
| Statistical Mechanics for Engineers | Isamu Kusaka |
力学、熱力学:
| Mechanics and Thermodynamics | Wolfgang Demtröder |
| Elementary Mechanics Using Python | Anders Malthe-Sørenssen |
| Elementary Mechanics Using Matlab | Anders Malthe-Sørenssen |
| Engineering Mechanics 1 | Dietmar Gross, Werner Hauger, Jörg Schröder, Wolfgang A. Wall, Nimal Rajapakse |
| Engineering Mechanics 2 | Dietmar Gross, Werner Hauger, Jörg Schröder, Wolfgang A. Wall, Javier Bonet |
まあとりあえずここまで。次はデータサイエンス系かな(これも多そう)。
コロナウイルスが深刻になっていて、私も自宅にほとんどこもっている。暇なのでSIRモデルをカシオの高精度計算サイトkeisan.casio.jpにUPした。4段4次のルンゲクッタ法を使用している。
SIRモデルはこちらを参照。
https://ja.wikipedia.org/wiki/SIR%E3%83%A2%E3%83%87%E3%83%AB
方程式はこんな感じ:
計算結果はこのようにグラフにできる。
リンクはこちら。
説明:
感染症の流行を表す最もシンプルなモデル、SIRモデルを計算します。ここで、
|
※2021/10/20追記
この本買いました:「感染症疫学のためのデータ分析入門」(西浦博さん編著)
« 2020年3月 | トップページ | 2020年5月 »
最近のコメント