2025年8月6日水曜日

小ネタ



 デジタルコックピットだからトラディショナルな計器とはだいぶ表示が違うな。あまり変なことをやろうとすると人間側が対応できなくて事故ったりしそうだけど、そのあたりはちゃんと考えているんだろう。

 モックアップにいろいろな機器が接続されているけど、主要部はこれで全部なんだろうか? ここからアクチュエータとかセンサとか、末端が色々増えるんだろうけど。そこそこ配線が多いような気もするけど、ヘリ1機まるごとでこの量はだいぶ少ない気もする。根本は太いけど、データバスをスタブにせずルーターでスター型に分配している感じなのかな。

 Attiセンサを傾けてディスプレイに表示するデモをしているけど、ちょっとレイテンシが大きそうな気がする。完全に計器だけを見て飛ぼうとすると体感のAttiと表示のAttiのタイムラグが違和感になりそうだけど、そもそもHX50はIFR用の信頼性とか認証とかを省略して安くする、みたいな方向だから、少なくともAttiの表示はプライマリではないわけで、とりあえず今の段階ではこれで問題ないということなんだろう。

 ディスプレイプロセッサはXilinxのFPGAかな? 開発用のボードは同じものが秋月に在庫があるけど、1枚20万円だそうだ。実際にレンダリングを行うのはNXPのi.MX 8かな? このボードはマシンビジョンとかいかにもそういう用途で使うためのCortex-Aチップらしい。で、i.MX 8でレンダリングした映像は液晶に表示しつつ、Zynqで読み込んでピクセルレベルで表示内容をチェックしているらしい。それで不整合が出たらなんか対策を行うようだ。メーカーから違う2つのプロセッサで同一のレンダリングを行って、比較をするみたいな設計思想なのかな。やたらと複雑だけど、デジタルコックピットで不正な表示が出たらめちゃくちゃ危険だしな。




 レイセオンの軍用機のトランスポンダのコントロールパネル。Mode 1/2/3/A/C/S/4/5あたりに対応しているらしい。TA/RAモードが有るってことはTCASもあるのかな。

 背面のGND端子がセンターを抜いたTNCコネクタっぽいのが面白い。おそらく元々はM3の丸端子とかで、それにアダプタをけて変換してるんだと思うんだけど。なんでわざわざそんなものを使うんだろうか。


 トランスポンダのモードは、少なくとも使う周波数は同じなわけだから、モード1から5まで、民間用含めて各種取り揃えても、MCUで(デジタルで)応答を作る分には大して手間ではなさそうな気がするな(PSKやPPKの変復調はちょっと面倒としても)。モード4とか5みたいにセキュアなヤツは何らかの拡散とかしているのかもしれないし、そうだとすると民間用に比べれば帯域幅が広いのは大変だろうけど、先に広帯域の無線機を作ってしまえばモード1/2/3/A/C/Sあたりは簡単に作れるだろうし。

 むしろスイッチ類が大量に増えて、人間側のほうが大変そうだ。これだけスイッチが多ければ操作ミスやヒューマンエラーも多そうだが、はたして。民間機ほどの数は飛んでないから運用面で気をつければ大丈夫、みたいなことなのかな。それにしたって直接的/間接的にトランスポンダ周りが原因の航空機事故(事件)だって古今いろいろ起きてるからな。複数のトランスポンダモードを使うとそれだけ誤ったコードを設定する確率が高くなる。1個でも間違っているとそれだけで敵機と判断される可能性が出てくる。/* 西側の軍用航空機は基本的にここ数年で全部モード5に統一してるはずだから、運用時に多数のコードを同時に扱う手間は無いはずだけど、それにしたってM-3/Aは使い続けなきゃいけないし */



「自由な形状でシンチレータを作りたい」に応える 放射線で光る3Dプリンタ材料:材料技術 - MONOist

 2.5万円/250gだから、安いPLAの50倍くらいの値段かな。まあ、構造材とかで多用するようなものではないし。

 Prusaは放射線遮蔽用のタングステン入りフィラメント(W75wt%、PETG)とかも売ってるし、マルチヘッドプリンタで普通のフィラメント(β線を透過する)と、タングステン入りのフィラメント(β線を遮蔽する)と、シンチレータフィラメント(β線で発光する)がそれぞれ入り組んだような形状を作って、複眼みたいにコリメートした検出器とか、シールドの厚さや層数を作り込んでカロリメータ的に使ったりとか、いろいろ応用できたりするんだろうか?



 横浜 みなとみらい 花火大会の会場で打ち上げの台船が炎上 花火暴発 作業員5人全員救助 1人けが | NHK | 神奈川県

 黒色火薬はそりゃコックオフ特性も悪かろうよ。


 前日にも打ち上げ花火の事故があったしな

 兵庫 淡路 花火が筒の中で暴発 花火大会中止に けが人なし|NHK 関西のニュース


 某施設が使っている圧縮空気を使った打ち上げ花火って、コックオフ特性はどうなっているんだろう? 発射薬が無い分で火災の規模は小さくなるだろうけど、それにしたって割薬やら星やら色々入ってるからなぁ。とはいえ、点火は電気的にやっているはずだから、打上げ(加速度)が無いと点火しないみたいな安全装置は入っているだろうし、しきい値の設定次第では危険なほど低い場所や高すぎる場所で破裂しないような安全装置は作れるだろうから、地上や低高度で破裂して火の玉が降ってきて他の玉に燃え移る、みたいなことは無いはずだし。

 空気圧で打って電気で点火する方式は、発射薬が無くなって火薬の消費量が減るとか、黒色火薬の煙が無くなるから自由度が高いとか、色々利点はあるけど、安全面での利点も大きそうだな。砲身の長さがどれくらいなのかわからないけど、黒色火薬みたいな強烈な衝撃が少ない(少なくとも熱応力は少ない)分で発射筒の信頼性も高いだろうし。そりゃ某大手アミューズメント施設が苦労して開発するわけだ。

 日本も全国で使う総量で言えば莫大な量の花火を打ち上げているんだから、何十年、下手したら何百年も変わらないような古いやり方を使うだけじゃなくて、根本的に安全化した打ち上げ花火を考えればいいのにな。新しい方式の安全性をどうやって保証するかとか、そもそも法令でガチガチに縛られているであろう火薬を扱う機器をどうやって開発するんだとか、色々問題があるんだろうけど。あとは空気砲(武器)としての取り扱いとか、高圧空気の問題とかもあるだろうし。日本で空気圧発射式の打ち上げ花火は難しそうだなぁ。花火はただでさえ化学エネルギーが高いモノに大きな運動エネルギーを与えて高い位置エネルギーへ打ち上げるわけだから、あちこちが法律でガチガチに縛られていそうだ。



 ウェザーニュースアプリの津波警報の発表と解除が同じ通知音なの、不便なのでやめてほしいな。いかにも心臓に悪そうな音を警報解除に使うのはちょっとどうかと思うのだが。



 蓄光の画鋲が欲しいんだけど、amazonで探しても見当たらない。モノタロウとかアスクルにも無いらしい。ググってもほとんど出てこない。

 2018年に1箱買っていて、そのときは100本入り800円弱だった。ので、少なくとも製品としてはあるはず(or かつてはあった)。なんで無くなったんだろう。画鋲を落としたときとかにUVで照らせば一発で見つかるから便利だと思うんだけどな。まあ、UV光源を常時持ち歩いている人間が日本に何人いるんだ、という話ではあるけど。それにしたってジェルネイル用とかでUV光源が手の届く範囲にある人は多いはずだし。UVで積極的に照らさなくたって、蓄光画鋲はそれなりに需要がありそうな気がするんだけど。

 蓄光のフックで鍵をぶら下げるみたいな製品はあるから、需要がそっちに吸われてるのかな。


 普通の画鋲に蓄光塗料のスプレーで表面処理するのと、蓄光のPLAフィラメントで画鋲を作るの、どっちが楽かな。3Dプリンタで画鋲を作ろうとすると色々工夫しなきゃいけないし、フィラメントの剥離とかもありそうだし、やっぱり塗るほうが簡単かな。



 PCのメインの音声出力(背面端子)が、音を出すとノイズが乗るという謎の不具合を発症。音量が低いときはノイズは無くて、聞こえるくらいの音量が出ているとノイズも出る。出力レベルを上げて外部で絞っても、出力レベルを下げて外部で増幅しても、ノイズレベルは体感で変わらない。別のオーディオデバイス(Bluetoothイヤホンとか)を使っているときは問題ない。フロント端子からも同じようにノイズが出る。おそらくマザボに乗ってるオーディオ系のトラブルだと思う。

 PC再起しないとだめかな?と思いつつ、試しにデバイスマネージャーからオーディオ処理オブジェクトのデバイスを無効化→有効化してみたら解消した。こうして再起動の機会を逃していくのだ……



 興味本位で予備(遊び用)に使っているWindows PCのNTPの設定を変えて、192.168.1.123:1234みたいに設定して、当該アドレスのPC(物理的に別のマシン)でUDPパケットを待ち受けてみたんだけど、何も来ない。

 試しにWiresharkで覗いてみると、192.168.1.123のときにはNTPパケットが出ているけど(もちろん応答はない)、192.168.1.123:1234はそもそもNTPパケットが出ていないっぽい。192.168.1.123:123でもパケットが出ないから、セミコロンでポート番号を指定する記法はだめっぽい。

 IPv6でアドレスを指定する場合、[アドレス]:1234表記ではポート指定が無視されて普通のNTPリクエスト(123宛)が出て、.や#やpで区切った場合は何も行わないらしい。

 少なくとも、WindowsのNTPクライアントは、ポートを指定した問い合わせはできないっぽい。ググってもそういう設定の説明は見当たらない。

 NTPサーバーのポートを変えて問い合わせたいみたいな需要って無いんだろうか? 昔は123番をブロックするようなルーターがあったからすでに多用されていたポートを使うような設定があったらしいけど、最近は問題になることはないだろうしなぁ。


 オフラインの場所(人里離れた野外とか)でNUCみたいなのを使ってDAQを作るときに、自分で(PCの中で)NTPサーバーを立てて、そこに問い合わせることができれば便利かな、と思ってたんだけど、ちょっと難しそうだ。そもそもそんな場所にWindowsを置くな、という話ではある。

 どうしても必要なら自分でOSの時計を書き換えるとかで保時することは可能だろうけど。



 Mode-3/A/Cのログ

 近くでガソリンエンジンがブンブン回っていた時間帯。約2.76Mspsなので時間分解能は362ns。強い信号が1サンプルしか入っていない。GHzまで来る広帯域なインパルスだからMsps程度じゃ分解できないのは当然と言えば当然だろうけど。

 PRFは高くても数Hz(5Hzとか)程度。ゲートは確か一定以上の信号が入ったらそこで開いて、一定時間で閉じて、直後からサンプリングを再開して、みたいな感じだったはずだから、高いPRFが入ればちゃんと記録されるはず。数Hz程度しか入っていないということは、ガソリンエンジンの回転数(6000rpmとして100Hz程度)に比べて圧倒的に低いから、放電ノイズはそこまで強くはないのかもしれない。数が出ればいくつかは強いやつがある、程度で。あるいはデシメーションで時間積分して消えてるのかもしれないけど。



https://www.gsc-europa.eu/sites/default/files/sites/all/files/EWSS-CAMF_v1.0.pdf

 欧州のガリレオで実装している災害情報の仕様書だと思う(読んでない)。

 おそらくQZSSのDCXと同じメッセージフォーマット。IS-QZSS-DCX-001が80ページに対してこのPDFは117ページある。多少は多く色々書いてありそう。



 マルツで買える(DigiKey経由)SiTimeの28.8MHzクロック4選

 MEMS OSC TCXO 28.800MHZ SIT5358AECFR-33N0-28.800000 SiTime製|電子部品・半導体通販のマルツ

 MEMS OSC XO 28.8000MHZ HCMOS SMD SIT8008BC-11-25S-28.800000 SiTime製|電子部品・半導体通販のマルツ

 OSC MEMS 28.8000MHZ SMD SIT8008BCE11-25S-28.800000 SiTime製|電子部品・半導体通販のマルツ

 MEMS OSC XO 28.8000MHZ LVCMOS SIT8920BM-13-33E-28.800000 SiTime製|電子部品・半導体通販のマルツ

 精度は上から50ppb、20ppm、20ppm、50ppm。値段は50ppbが2.9万円(税込み、1個)、20ppmが200円、50ppmが5000円。

 リードタイムが16週間とか26週間とか書いてあって、プログラマブルで納期が早いみたいなアピールポイントはどこにいったんだ、という感じではある。

 50ppmは精度が低くて値段が高いけど、動作温度範囲が広いので、車載みたいな高信頼用で値段が高いんだと思う。20ppmは型番が同じで商品説明も全く同じ。ざっとデータシートを見てみた感じ、出力ドライバの違いなのかな?

 20ppmは、まあ、あえて採用する理由はないわな。製品を量産するなら水晶よりMEMSのほうが信頼性が高い(製品不良率を下げられる)みたいな利点はあるかもしれないけど、一点物で改造に使うようなメリットは見いだせない。

 50ppbは魅力的だけど、いかんせん値段がな。。。


 ちなみに、SiTimeの高精度クロックには5ppbという製品もラインナップされている。ただし現在のところDigiKey(およびマルツ)には10.000000MHzしか製品が登録されていない。1個1.7万円なので、50ppbより精度10倍で値段は4割安い。デジタルプロセスの進化は凄まじいな。アナログな水晶じゃこうは行かない(水晶が普及し始めた当時はこれくらいのペースで安くなってた可能性もあるけど、当時の需要を考えるとそこまで急激ではないと思う)。



 rtl-sdr blog v3ドングルのBias Tee、適当なスイッチング素子で制御してるものだと思ってたけど、4.5V LDOが入ってるんだな。だからBias Teeが4.5Vと中途半端な電圧が明記してあるのか。

 USBの5Vをポリスイッチ経由でLDOに突っ込んで、LDOのENをGPIOで制御する。出力をCで平滑してLで結合。LDOを低インピーダンスなスイッチング素子として使うのは便利そうだな。それに電源ラインのリプルをある程度除去する効果も期待できるし。

 LDOが入っているので、USBの電圧がちょっと高めだったりしても、Bias Teeの電圧が高くなりすぎることはない。RTL2832UとかR820T2も3.3V系のLDOが入っているはずだから、rtl-sdr blog v3を使う限りは、USB電圧が少し高い程度は問題なさそう。低い方は、3.3V LODはより低ドロップアウトなものを使っているから、ほとんど3.3V付近まで動く、と言っている。もちろんBias Teeの電圧は落ちるけど。

 v4でどう変わったかはわからないけど、大して違いはないんじゃないかな?

 他のドングルだとどうなんだろうか。例えばAirSpy MiniとかもBias TeeにLDOが入っているんだろうか? ググって出てきた画像でBias Tee付近についている部品をググってみると、TIのSOT-5 LDOが2種類出てきた。SMAに近い側が4.5V、遠い側が3.3V、らしい。Bias Tee用の4.5VとR820T2/LPC4370用の3.3V、ってことなのかな? そうなのであれば、AirSpy MiniもBias Teeはちゃんと電圧リミットされるっぽいな。


 Bias Teeにぶら下がるちょっと変な回路を考えていて、USBの電源電圧変動を受けたら(特に高い方が)嫌だなぁ、と思っていたので、LDOが入っていて4.5Vでリミットされるのはありがたいな。


2025年7月30日水曜日

小ネタ



 元米軍パイロットがバードストライクしたタイフーンの写真を見ながら思い出を語ったりとか。バードストライクってそれなりにあるんだな。もっと稀なものだと思ってた。

『アポロ18号の殺人』の序盤で、バードストライクで鳥がF-4のキャノピーを貫通するシーンがあるけど、実際に起きるんだな。



 西川善司の3DGE:最新の技術やテクニックがてんこ盛りだった「アサシン クリード シャドウズ」のグラフィックスの秘密


 こういうエンジン周りとかの話結が構好きなので、CGWORLDのゲームグラフィックスとかたまに買って読んでたけど、最近売ってないのが残念。そもそもCGWORLDがCGアニメとかの話題ばっかりでゲームはあんまり特集していない気がする。と思ってバックナンバーを見てみたら、年2回くらいはゲームの特集してるのか。また売って欲しいなー。



『バトルフィールド6(Battlefield 6)』ついに映像公開。マルチプレイモードが8月1日にお披露目へ - AUTOMATON

 FPSのシリーズ作品で現代が舞台で一人でも遊べる新作ってかなり久しぶりじゃない? BFは世界大戦あたりが続いていた気がするし、CoDもブラックオプスの続編かMWのリメイクか、といった感じだった気がするし。

 しかし、BFシリーズってあんまり好きじゃないのよな。一部のシナリオもそうだし、3D酔いしやすい気がするし。とはいえ久しぶりの一人で遊べる現代戦FPSだし、興味はある。しかし、フルプライス1万円弱で販売したところで、その大部分はマルチプレイ用の開発費に吸収されて、シナリオモードは二千円分くらいの出来なんだろうなぁ。それでもインディーゲームに比べれば使えるアセット(開発体制含め)が桁違いだから、ちゃんと作ってあれば面白いんだろうけど。

 BF3はF/A-18のミッションが大嫌いでなぁ。。。BF4は遊んだけど、あんまり印象にないな。たぶんこのあたりでコンソールをあまり遊ばなくなって、それに呼応するようにXbox One Xが故障したはず(実際はXboxの電源周りが劣化して安定性が悪化して遊ばなくなった、というところだと思うけど)。BF1やBFVも同様。そういえばHLはPC版を買い直したけどほとんど遊んでないや。

 ソロとマルチで遊べるゲーム、ソロ/マルチ片方しか遊ばない人向けに片方だけのライセンスを売ってくれないかなぁ。まあ、だからこその抱き合わせ販売なんだろうけど。



 Shipping to Japan? - General Topics - Framework Community

「日本で売るには日本語のロゴを作らなくちゃいけないからコストがかかるんだよ」

「いや、日本メーカーが日本で売るときもロゴはアルファベットだから問題ないよ」

 みたいな話が出てくる。確かに富士通とか東芝もロゴは英語表記だよな。もちろん日本電気も。BIOSについても同じような議論がある(日本語化する必要がある、いや日本人も英語BIOSを使うよ)。

 むしろTESTEDチームがカタカナで「テステド」と書いてあるステッカーを売っていたりするから、日本語ロゴや日本語BIOSは英語圏のギークに若干の人気がありそうな気がする。そして、Frameworkのユーザーはそういう人たちが多そう。

 日本語化云々は置いておいて、英語のままでもいいから(せめてOSの言語は届いてからでもいいから日本語化したいけど)日本でも売って欲しいよなー。WiFi/BluetoothモジュールはIntel製のやつで技適マークも本体に貼ってあるんだから、あまり苦労せずに売れると思うんだけど。サポート体制とかの問題はあるだろうけど、わざわざFrameworkを選ぶような人はそこまでサポートを要求するとも思えんのだが。とはいえ、製品を売るとなるとそういうわけにもいかないんだろうなぁ。せめてオンラインストアで日本から注文したら日本に届けてくれるだけでもありがたいんだけど、やっぱり精密機器ともなると配送の問題もあるだろうしなぁ。



 ゆるゆる古典教室 オタクは実質、平安貴族 | 栞葉 るり, 加藤 昌嘉 |本 | 通販 | Amazon

 ロケットや衛星が好きなら古典も勉強しないとな、ということで(いや、その古典じゃない)。

 かなり読みやすかった。現代オタク向けの感じの本だから万人向けというわけではないけど。挿絵も面白いし。



 最近ゲームのやり過ぎでFr24を見てても雲がかかっていたら「マップ開放にいかなきゃ……」とか思うようになってきたのでやばい。

 天気図を見て荒天が予想される地域に足を運んで祓うみたいなのはファンタジーな世界観のゲームで作れそう。そうでなくても、情報集約を行って祓魔を行うような時代であれば、日本地図の上に確率として雲がかかったような表示はやりそう。時代が下ると自宅でポテチを食べながらパソコンをポチポチしてドローンで祓ったりするようになるんだろうな……



 万博の大屋根リング、木材の体積は2.7万m³で、オリンピックプール10.8杯分くらいなんだそうだ。ATLAS-Iが同6.1杯分くらいだから、その1.8倍近い。ATLAS-Iはファスナーも木材を樹脂で補強したような材料を使っていて、金属を使わずに建設されているけど、大屋根リングはどうなんだろう。伝統構法の貫接合を発展させた、みたいな感じらしいし、主な構造部は金属(ボルトやブラケット等)を使わず、結合も含めて木材で作ってるのかな?


***


 僕が、情報を売る本の誤りに対して厳しいスタンスでいるのは、誤字を、その本の内容がどれくらいチェックされているか、という指標にしているから。

 平均的な日本人として(というか平均的な出版社として)「このくらいの誤りは気がついて当然だよね」というようなレベルの誤字や誤植が残っていると、「この本の中身は誰もチェックしていないんじゃないか」という懸念が生まれる。たとえそれが内容には無関係な、例えば単純な変換ミスとかだったとしても、そういうのが放置されているということは、それ以外の箇所(例えば重要な数値や文脈)もおそらく同様にチェックされていないだろう、というふうに考えている。だから、極端に間違いが多い本は、情報源としての信頼性を低く設定する。無論、数字や重要な記述が間違っていれば、さらに信頼性を下げて評価する。逆に、誤りが少ない本は(誤りが多い本に比べて)それだけ信頼度を高く設定している。

 専門書の内容(ある分野(or装置等)に固有だったり、専門的なロジックだったり)に対して出版社がチェックを行うのは難しいとしても、単純な変換ミスとか、あるいは算数みたいな内容(例えば35と182は量としてどちらが大きいか、とか)くらいは出版社側でもチェックして、おかしいと思ったら著者に確認をいれるくらいはやってほしい。

 そういうふうに見ているから、「内容に関係ない間違いは見逃してやれよ」みたいな意見には賛同できない(あくまでも僕がそう考えている、というだけであって、その人がどう思おうとその人の自由だが)。


 本業の人が作ったYouTubeの解説動画とかでも、あまりにも字幕の誤字が多いと、誰も中身をチェックしないで公開してるんだろうな、というふうに考えて、その動画の信頼性は低く設定している。あるいは、動画なら字幕は読まないで発言だけを参考にする、とかもできるけど。

 某わりとちゃんとしたところ(情報で商売している人たち)が出している動画の誤字が結構多くて、コメ欄で指摘したり、それに対して「大目に見ろよ」みたいなコメがあったりしたので、自分の考え方をちょっとまとめてみた次第。



 査読を受けた論文の信頼性が高いと考えられるのは、同じ分野(その分野に詳しい)かつ利害関係のない人物が内容を確認して、リジェクトするべき重大な瑕疵は発見されなかった、ということをチェックしているからだと思う。逆に、素人が思いつきで書いたブログとか、クリックベイトで稼ぐYouTubeチャンネルは、そういうチェックが無いから、信頼性は全く無い(少なくとも信頼できると考えられる出典が明記されていない限りは)。

 市販の本が信用されるのは、査読論文ほどではないにしても、ちゃんとした内容を記載していると信じられているからのはず。これは特に出版社が校閲作業を行っているという期待によるものが大きい。しかし、実際にはでたらめな内容が多く含まれている本も市販されている。

 そういう本を「いや、間違っているのは一部だけでしょ、それ以外の部分は採用してもいいじゃん」というスタンスで採用していいのか。僕はできればこのような本(or 複数の本でそういう傾向があるなら、その著者の著作全般)は信用するべきではないと思っている。一番の理由は、採用したいその記述が正しいか間違っているかを誰が判断するのか、という問題。採用したい人間が独自に判断するのは、その本を参考文献に使う意味がだいぶ薄くなる気がする。

 極論、様々な説がある分野では、自分に都合のいい内容が書かれているものだけを参考文献に採用して好きなストーリーを作れる可能性もある。一部の分野(業界)ではそもそも最初から中立性なんて無視して作りたいストーリーを作るために文献を探す、みたいなことをやっているような場所もあるだろうけど、例えばWikipediaみたいに可能な限り中立的な記事を書きたい場合に、誤りが多い本を採用すると、そもそも事実を書いてすらいない可能性が出てくる。

 可能であれば、誤っている情報(他の本と矛盾する記述)があまりにも多いと判断した本は、参考文献から除外すべきだと思う。例えば独立した3冊の本を比較して、1冊だけ極端に矛盾していて、残り2冊は矛盾が少ないなら、その1冊は除外して、残りの2冊を使うほうが誤りは少なくできるはず。ただ、この方法を使うには独立した複数の本を入手する必要があって、ただでさえニッチな分野だと参考文献を探すことすらままならない。そしてそういう分野ででたらめな内容を書く著者がいると、マジで大迷惑するわけだ。なので、出鱈目な内容を多く書く著者(特に比較がしづらいニッチな分野で)がいる場合は、声を大にして「この人の著作は間違ってる点が多すぎるぞ!」と叫びたいわけだ(本当に叫ぶ(比喩)かどうかは別として)。


 本とかとはまた違う話だけど、法人とか非営利団体とかでも、自分たちの専門分野の領域で誤字ったり間違った解説をしていたりしてると、対外的に文章を書く人は自社の専門分野に興味がないのかなぁ、と読んでて悲しくなる。

 就活で興味の無い分野の企業しか受からなくて、興味があって入った人が研究分野みたいな領域に行って、そういう場所に行けなかった人(その会社の分野に興味のない人)が広報とかに回されているのかなぁ、とか邪推したり。


***


 先日歯医者に行ってきた。今まで行ってたところとは別の歯科医院(ネガティブな理由で変えた訳ではない)。

 予約したときに3時に来いと言われたので3時ちょうどに行ったら、受付で「遅れるな、時間通りに来い」と怒られた。なんでェ。。。5分前行動が社会人の常識とかマナー講師みたいなこと言われたら黙るしかないけど、それにしたってわざわざ病院の受付で言われるようなことかな。何回も予約に30分とか1時間とか遅れるならともかく、1回目だぜ。それに言われた通りの時間に行ったのに。


 初診なのでレントゲンを(何回も)撮られた。前に行っていた歯科医院ではレントゲンを取るときは基本的に無人か、あるいはフィルムバッジをつけた院長が保護ベスト付きで撮影室に入っていた(建物は自体は古いので「現像室」もあった)。今回行った方も基本は無人での撮影だけど、何枚か院長が部屋に入って撮影して、院長は保護ベストなし、フィルムバッジ無しで撮ってた。それやって良いんか?

 比較的新しい歯科医院だから設備が新しくて、放射線の漏れやそもそもの線量が低いから問題ない、みたいなことなのかもしれないけど。とはいえ部屋はしっかりシールドしてあって、覗き窓も鉛ガラスで「何kV対応」みたいに書いてあるから、やっぱり放射線のリークはそれなりにあるはずなんだけどなぁ。建物は機材より古いとか、フィルムバッジは見える場所につけていないとか、色々考えられるけど。

 治療する場所においてあるPC(レントゲンを見るためのもの)のマウス等が結構汚れていたのも気になる。汚れてるってことはコンタミしてるってことよね。

 自分(患者側)も今回は保護ベストなしだけど、ぐぐってみると、患者側のベストの着用については「効果は殆どないしむしろない方がいい」というような方針らしい。


 2人で作業しているときに、作業者間での会話と患者に対する問いかけが同じ口調なのがちょっと気になる。今回行ったところは顔にタオルを乗せてくれるので、こっちを向いて話しているのか別の人と話しているのかを目で見て確認することができない(前行っていたところはタオルみたいな気の聞いたものはなかったので、誰と話しているのかは視線で一目瞭然だった)。

 あとは、問診票のフォーマットも、「はい」「いいえ」と、「いいえ」「はい(状態1)」「はい(状態2)」「はい(状態3)」みたいに並んでいて、質問の内容によって「いいえ」の場所が右側と左側で別れている、みたいなのもちょっと不便。


 あと、意訳すると「歯磨きだけじゃだめだぞ、食事毎に糸ようじ使えよ、それが嫌なら寝る前だけでも毎日糸ようじ使え」的なことを言われたので、しょうがないなぁ、と思って寝る前に糸ようじやってみたら、歯の隙間からなんか薄片出てきたんだけどなにこれ…… 紫外線を当てたら自分の歯とは違う蛍光を示すから、歯じゃなくて人為的に入れたものだと思うんだけど。

 しかし、歯医者に見られたら助走付きで殴られそうなことを書くけど、糸ようじってコスパ悪くね? 1日10分とか30分とかかけて毎日やって(毎食後ならその数倍)、それで歯石が減るくらいの効率なら、歯磨きだけやって年に何回か歯医者に行って除去してもらうほうが楽じゃね?

 時々海外のMakerが3Dプリンタとかで1発ですべての隙間をフロスできるジグを作って話題になる気がするけど、「食事後毎回やれ」とか言われて、試しに1回やってみると、そういうデバイスが欲しくなるのもわかるな。超絶面倒くさい。自分の場合歯の隙間が狭いからかなり力を入れないと糸が入っていかないから、その分でより面倒ってのもあるのかもしれないけど。

 翌日もう一度フロスしてみたら、ある場所では詰めてある部分が剥がれそうになるし、というか噛み合わせが悪くなってるから事実剥がれてきてるんだろうし、別の場所は入れたら抜けなくなったし、しょうがないので糸をハサミで切って口から出したら血で真っ赤になってるし。こんなのが歯の健康にいいだって!?



https://jsomfr.sakura.ne.jp/wp-content/uploads/2019/09/apron_guideline.pdf

「歯科エックス線撮影における防護エプロン使用についての指針」(2015)


***


 ファン付きベストみたいなやつって熱の仕事みたいな考え方をすると色々な考え方ができそう。

 一番単純なのはファンで外気を取り込んで汗を蒸発させることで熱を移動する。

 別の方法だと、ペルチェ素子みたいなもので気体の温度を下げて供給する。この場合、温度を下げることで飽和水蒸気量が減るから、水分を凝固させて除去すれば、より湿度の低い空気(より汗を蒸発させやすい空気)を供給できる。ただし気温が下がれば体感温度は下がるかもしれないけど、液体を蒸発させる能力も下がるから、一旦ペルチェで冷却した空気を再び何らかの熱交換(例えばペルチェの発熱側)で加温して、低湿・高温の空気で積極的に汗を蒸発させる方法も考えられる。

 どういう構成がいいんだろうな。ファン単体の製品が多いから、それがコスパ良いんだろうけど。


 vortex tubeで低温の空気を出す製品は、コンプレッサー側で除湿したうえに、高圧空気を膨張させて熱エネルギーをさげて、しかも渦で熱エネルギーに勾配を付けて低温側の空気だけを供給するから、vortex tubeを使う冷却服はかなり効率が良さそう。外部に高圧空気が必要なのが欠点。


 Copilot曰く、空気ボンベ(25MPa、25℃、4リットル)を1気圧(101.3kPa、25℃)に膨張させると、550kJくらいの吸熱になるらしい。150W/hくらいだから、活動時間を30分とすると300Wくらいを吸熱してくれる。

 空気ボンベはボンベの頭の部分にレギュレーターがあると思うけど、これは外部の空気から熱を奪っていることになる。例えば消防士の耐火服の中から熱を奪うことができれば、その分体温を下げることができる。はず。人間は活発に動いているときは300W程度の発熱量だそうだから、外部からの入熱も考えると平衡とまではいかずとも、無いよりは遥かに効果がありそう。

 HAZMATスーツは気密服の中にボンベがあるし、外部の熱源はあまりないから、レギュの吸熱はある程度効果はありそうな気がするけど、どうなんだろうか。


***


 Mode-3/A/C

 1200と0000がかなり長い間継続的に出ていた。VFRの小型機が、Mode-C(高度応答)が壊れた状態で飛んでいるんだと思う。さすがに高度計が壊れた状態で長時間飛ぶことはないだろうから、インターフェースの不具合のはず。


 1時間くらい継続的に出ていたっぽい(未デコード応答もMode-3/A/Cの弱いやつ)。


 TCASってこういう場合どういうふうに機能するんだろう? Mode-Cの0000応答(ギルハムコード未割り当て)なら明らかに気圧センサが起動中(or未接続)だから、その場合は同じ高度プロファイル(高度・昇降率)で飛行中として処理する、みたいな例外処理が入っているのかな。


***


 PCを媒介にしてNISTのUTCとUT1のNTPサーバーの差をグラフ化

 ネットワークの安定性とかでいろいろ誤差が大きいけど、傾向は見える。2ヶ月で60msくらい動いてる。7月下旬に入ってからはちょっと落ち着いている感じもあるが、実際にそうなのか、見かけ上のものなのか。


***


 1575.42MHzのC/Aコードを逆拡散して可聴化してみた


 搬送波に位相ロックして、max(0, 実軸)でBPSKをOOK/AM化して、搬送波のドップラ+5kHzの正弦波を変調している(実軸がP信号とするとC/Aは虚軸というべきかもしれないけど)。

 最初は受信機由来の見かけ上のドップラがあるけど、SF1,2,3を受信して測位演算が始まるとクロックエラーを推定して除去できる。

 航法メッセージの構造を考えながら聴くと(見ると)面白いけど、とはいえ一度やればもう十分かな。


*


 移動経路の図を追加。3Dと、各平面に投影した図。緑色の線が衛星の方向を示している。固定受信だとDOPに応じた分散が見える。この図だと細長く伸びているだけだけど、衛星の分散が悪いとパンケーキが立ったような形になったりもする。

 一応3Dで処理しているので、マウスでドラッグすれば位置や向きを変えて見れる。その都度GDI+で描画しているのでフレームレートはかなり低いけど。

 このときの衛星の配置は南西に多いので、その方向に向いた細長い回転楕円体みたいな分布になっている。直感的には衛星が多い方向へのレンジング精度が高いわけだから、衛星が多い方向の精度が高くなるような気がするけど、実際にはその逆。ノイズが時間方向に感度が高くて衛星が多い方向へ接近・離隔するような動きに出るのかな?



 GPSの説明でよく見る図。

 左が高DOP(精度が悪い)、右が低DOP(精度が良い)、という状況。左は左右方向の拘束が弱くなる。とすると、左右方向(水平面)の精度が悪くて、上下方向には高い精度が出るはず。しかし、実際には、衛星が多い方向(径方向)の精度が悪くて、衛星に直交する方向(周方向)の精度はそれなりに高い気がする。

 GPSは水平方向の精度は高いけど高度方向の精度は低い、という話があるけど、これは衛星が上に固まっている(少なくとも水平面以下には衛星は無い)から、衛星配置の重心がある方向は精度が低いのを表していると思う。

 航空機のDMEを使ったρ-ρだと距離は往復時間で直接計測できるから上図の説明がそのまま適用できるけど、GPSのように時間方向(距離バイアス)にも自由度のある方式は、上図の説明は適用できなさそう。GPSの仕組みは測距測位だけど、処理内容的や誤差の傾向は双曲線測位に近い気がする。

 本格的に測距測位にしたいなら原子時計とかが必要になってくるんだろう。少なくとも、1秒間で1m程度の揺れに収めたいなら、光速の逆数(10^-9)オーダーのクロックが必要になるはず。CSACを研究している人たちはスマホに乗せたいとかIoTで使いたいとか色々言っているけど、少なくともあと2,3年でそういうふうに普及するかというと期待薄な気がする。まだまだ時間かかりそうだなぁ。MicrochipのCSACも3000USD弱(5k個)だから、まだまだ遊びで気軽に使えるようなものじゃない。

 衛星に対する接近・離隔はドップラや搬送波の追跡である程度正確に推定できるはずだから、キャリアスムージングみたいな処理でも平滑化できそうだし、センサに余裕があるなら慣性センサで補強することも考えられるし。CSACの普及(開発)が進まないのは、そもそも需要がないからなんだろうな。一旦普及してみれば有ったほうが良いという話になるのかもしれないし、あるいは有っても大して効果はないのかもしれないし、どちらにしろ普及してみないと判断ができない程度の差なんだろう。

 GPSくらいの用途なら例えば10^1秒で10^-10オーダー(11桁)とかの精度が欲しいわけで、10^3秒とか10^5秒とかの中長周期な安定性はあまり必要ないだろうけど、だからといってその部分がいらないから小さいクロックを作ってくれ、というのもまた難しいんだろうな。


*


 GPS衛星の軌道計算の比較

 エフェメリスから求めた位置を正解値として、1次(位置+速度、カルテシアン6要素)と2次(位置+速度+加速度、カルテシアン9要素)で近似した場合の、正解値からの距離をグラフ化している。

 1次の場合は例えば10ミリ秒後で0.01mmオーダー、1秒後で0.1mオーダーの誤差になる。

 対して2次の場合は0.1秒後までは10nmのオーダー(おそらくdoubleの精度限界。衛星位置が7桁に対して10nmが8桁、足して15桁だから、doubleの桁数に一致する)、1秒後でも10umオーダーで、1次に比べて2-4桁高い精度が得られる。


 IS-GPS-200でカルテシアン9要素の計算方法が説明してあるの、ずっと謎だったんだけど、測位演算でイテレーションするときに一々ケプラリアンから位置を計算することなく、一度カルテシアンに変換してしまえば、その前後数秒程度は単純な計算(p+v*Δt+a*Δt²/2)で衛星位置が十分な精度で計算できる、ということなのか。

 自分は観測量として擬似距離ではなく衛星時刻を使っているので、衛星の位置は1回目の計算で確定するからイテレーションの中で衛星位置を更新する必要はないけど、普通のアルゴリズムではイテレーションの中で衛星位置を更新する必要がある。都度エフェメリスから計算すると計算コストが比較的高いので(特に1980年代当時の技術水準を考えれば)、0.1秒程度ならほぼ誤差のない精度が得られるカルテシアン9要素はかなり有力な気がする。

 擬似距離を求めるための受信機時刻は、測位演算で確定する前にはある程度の誤差があるけど、これは例えば適当なGPS衛星で得たクロックに適当なオフセット(例えば75ms)を加算すれば、ほぼ正しい時刻(10msとか)程度に設定できるから、擬似距離の時刻項はその程度の大きさ(大きくても±0.1秒)に収まるから、カルテシアン6要素では多少誤差が大きいけど、9要素ならほとんど誤差の無い位置が得られる。


 ただ、「GPSのための実用プログラミング」のソースをざっと眺めてみた感じ、イテレーションループの中でエフェメリスから位置3要素を求めているらしい。この本はあくまでもGPSの基本的な説明という内容のはずだから、組み込みMCUでリアルタイムに測位演算を行う、みたいなことは想定していないはず。PCでノンリアルタイムに計算するなら都度エフェメリスから計算しても問題ないだろうし。カルテシアンの元期とかまで管理し始めたら数字が増えすぎて面倒くさいってこともあるんだろうしな。


 厳密に言えば、カルテシアン軌道要素はepochから重力モデルとか輻射モデルで軌道伝播させていくものだから、SBASの軌道9要素(やGPSで計算できるそれ)はカルテシアンとは別物なのかもしれないけど。



 GPSの観測量が時刻じゃなくて時刻の差(時間、実際には光速を乗じて距離)で出力されるの、まだ納得できないんだよなー。時刻で出しておけば観測時の衛星位置を確定できるから、イテレーションの中で処理する必要がない。擬似距離だとイテレーションの中で計算しなきゃいけないから(3次元の2次関数で計算できるとはいえ)面倒くさい気がする。

 RINEXファイルのフォーマットを見ると、擬似距離が直接書いてあるから、受信機と衛星の距離を簡単に把握できる利点はありそう。けど、その程度の利点のためにわざわざそんなフォーマット作るかなぁ。。。


***


 Google IME、0-9の数字を上付きとか下付きのUnicodeに変換してくれるのはありがたいし、+記号も上付き/下付きができるのに、なぜか-記号の上付き/下付きが変換できないのが不思議。なんでだよ、むしろ+より-のほうが必要だろ。

 各種数字やいくつかの記号はUnicode 1.0で上付きや下付きが定義されているけど、かなりバラバラな位置に入っていて謎い。


***


 C#でGUIスレッドが走り終わったことを検出するみたいなことって可能なんだろうか?

 適当なスレッド(Task)の中でBitmapに書き込んで、書き終わったことをGUIスレッドへ通知してPictureBox.Refresh()を呼んで、その後でまたTaskでBitmapへ書き込んで、みたいな処理をやっているんだけど、PictureBox.Refresh()を呼んでGUIスレッドがBitmapを読み終わる前にそのBitmapを使っているGraphicsへ書き込みを行うとInvalidOperationExceptionが出てくる。

 GUIスレッドでもちょっと重い処理を走らせているから、GUIへPictureBox.Refresh()を投げても、それが終わる前にレンダリングスレッドが走り出すと困ることになる。

 Bitmapを2枚持っておいて、Task<Bitmap>で交互に返して、Taskが正常に終わったらPictureBox.Imageへ入れる、みたいな処理にしてみたけど、これでもいまいち正常に動いていないような気がする。

 理想的には、PictureBox.Refresh()を呼んでからPictureBox.Imageに入れているインスタンスを使い終わるまでの範囲を検出したい(その間をセマフォとかでロックするイメージ)。

 int配列とかをピン留めして、それを参照する2個のBitmapを作って、読み出し用と書き込み用を分けてやれば、少なくともアクセスの競合を検出することはなくなるはずだけど、今度はRefreshを呼んだタイミングで書き換えをしていると表示がチラつくはず。


 あと、func(int arg1, int arg2, int arg3)とかfunc(params ReadOnlySpan<int> args)みたいなものに対する呼び出しでvar a = (1, 2, 3);func(a);みたいにタプルを渡せるようにならんかなー。


2025年7月23日水曜日

小ネタ



 Mode-3/A/C応答受信機おいておきましょうよ~

 ラジオのノイズってのも気になるな。AMかFMか、北海道ならAMっぽい気もするけど、じゃあAMラジオの帯域まで漏れる電波って何だよ、って話だし。リンク11とか22みたいなHF帯のデータリンクならAMラジオに漏れ出るor抑圧される可能性もあるのかな?


 こういうイベントを記録するロガーってどういう構成がいいんだろうなー。SDRドングルでMode-3/A/C/Sを記録するのに、RTL2832Uなら2本、AirSpy Miniなら1本。USBカメラで映像を記録するならカメラが1-5台。ストレージはHDD1本あれば足りるはず。SSDはコストと書き込み回数の制限があるのでHDDのほうがいい気がするけど、冬の北海道みたいな場所を想定すると回転機構は避けてSSDのほうがいいかもしれない。データのハンドリングは帯域が足りるならRasPiで行うとして、DIY的にやるなら電源を別とすれば5万円くらいあれば作れそう。とはいえ、数を置こうとするとこれを製品化する必要があって、そうすると数十万円とか下手すると数百万くらい行きそう。



 宇宙の謎を追うSFミステリー『ステラーコード』8月15日発売へ。天才義妹と共に「とんでもない謎」に挑む、『イハナシの魔女』開発チーム新作 - AUTOMATON



『ゴースト・オブ・ヨウテイ』のマップの広さは『ゴースト・オブ・ツシマ』と同程度に抑えた、“密度”が重要だから。開発者にいろいろ訊いた - AUTOMATON

 対馬の面積を700km²として、北海道でその面積の円を書いてみると、結構狭いのよな。北海道の面積が8.3万km²くらいだから、100分の1未満でしかない。この範囲をゲーム内で移動できると考えるとかなり広いマップではあるけど、じゃあ北海道を舞台にしてその範囲しか移動できないとすると……

 他のオープンワールドだと、例えばデスストはアメリカ大陸を横断するけど実際の移動距離はめちゃくちゃ短い気がするし、ACSも実際のスケールの10分の1くらいだし、実在のマップを実スケールで扱う必要はないとしても。それにしたって前作の100倍以上の土地を前作と同じくらいにシュリンクさせるということは、いくらスカスカな北海道とはいえ、ちょっと密度高すぎじゃねって気もしないでもない。


「風景を楽しむための望遠鏡・双眼鏡アイテムも新たに登場します」

 ふーん……


 その点、アサクリシリーズって結構自由度高いよな。劇中劇というか、近未来(もう過去だけど)でフルダイブVRを遊ぶプレイヤーを操作する、みたいな世界観だから、イーグルアイで索敵したり、マウス右長押しで拡大するのも「そういうスキル(ゲームシステム)です」みたいに言い張れる。まあ、記憶云々とかはどうなってんねん、という気はするけど。



 Amazon.co.jp: 工作艦明石の孤独1 (ハヤカワ文庫JA) 電子書籍: 林 譲治: Kindleストア

 ハードSFだいぶ久しぶりに読んだ気がする。

 著者の名前見たことあるなーと思ってたけど、『知能侵略』『知能侵蝕』の人か。明石は'22年、知能は'24年で、明石はまだAI一辺倒という頃ではなかった時代背景かな。それでもかなりのものだけど。

 作中のロジックは結構反論できそうな気がする。たぶん著者がサイエンスというよりエコノミーとかエコシステムとか、あるいは社会情勢というか、より"人間的"な方向に強いんだと思う。その方向は(自分が無知な分野ということもあって)特に気になる点は無い。いや、おまえサイエンスに詳しいんかって言われたらそんなことないんだけど。

 著者は太平洋戦争での兵站に関する本も書いているそうで、やはりそういう方面が得意な人なんだろうな。



 List of chronometers on HMS Beagle - Wikipedia

Voyage of the Beagle-en

 イギリス海軍のHMSビーグル号が1831-1836年の地球一周の航海で使用したクロノメーターの一覧(他の航海で使用したときのリストもある)。図は航海の経路。

 22個のクロノメーターを持ち込んで、5年後に11個が生き残り、その時の誤差は33秒だったそうだ。機械式時計のくせして、アンサンブルとはいえ0.2ppmである。この航海によって経度の基準点が地球を一周したらしい。

 また、この航海にはチャールズ・ダーウィン(当時22歳)も同乗したらしい。食費として現在の価値で6万ポンド近くを請求されたそうだ。5年間の食費が1千万円かぁ…… 1800日で割れば5000円/日くらいだから、そんなに高くはないか。なんせ世界一周船の旅だしな。当時の長期航海で出るメシがどれくらい食えたものかはわからんけど。



https://www.jstage.jst.go.jp/article/pesj/43/3/43_KJ00005908150/_pdf

 1995年。ガリレオの宗教裁判とかの話。

 最後のまとめで「前述のようにホイヘンスを持って科学はじょじょに神からの訣別をはたす。しかし現在においても科学的に神が否定されたわけではない。生死の問題や宇宙のなぞが完全解明されないかぎり、神はあくまで神として多くの人々の胸中に生きる」みたいに書いてあって、うーん、って感じ。この一文を持ってして著者は宗教側の人間っぽさが透けて見える。

 科学的に神を否定することって、可能なんだろうか? 定義からして悪魔の証明だと思うんだけど。あるいは「神の証明」と言ってもいいけど。科学が宇宙の謎を解き明かして、大統一理論とか色々完成させて、「これで宇宙の始まりから現在に至るまで完全に解明できた!」と言ったところで、宗教は「計算的にはそうかも知れないけど、実際に見てきたわけじゃないよね? あなたの計算ミスで偶然結果が合ってるように見えるだけじゃない?」とか言いそうな気がするけど。宗教がすんなり観測事実を受け入れるなら世界はこんなに混沌としていないだろ、と思うのだが。



 ボーイングの民間機は開発段階でフォーメーションフライトを行う試験手順があるらしい。おそらく同型機ではなく、適当な随伴機に対してだと思うけど。パイロットにストレスを与えて、制御ループの安定性を見るのが目的だそうだ(不適切な制御則だとPIOが起きる)。緊急事態とかでパイロットに強いストレスがかかった条件を再現したいらしい。



 簡単に設置できる対空SSRって無いんだろうか。法人とか市町村レベルで設置できるMode-3/A/Cレーダ。有人安全を期待できる信頼性/精度は必要ないけど、0.1-1km程度の位置精度はほしいところ。時間分解能はそれほど必要はないけど、開口次第なところもある。回転アンテナだと機械可動部の信頼性の問題があるし、ビームフォーミングだと計算機コストの問題があるし。ただ、一瞬で通り過ぎる機体をスポット的に受信するのであればファンビームを回すのはちょっと厳しい気もする。

 マリンレーダはそれこそ個人(たぶん漁船とかプレジャーボートって個人所有もあると思うんだけど)で使っている人もいるはずだけど、対空レーダ(特にSSR)って航空管制や自衛隊以外で使ってる例はほとんどない気がする。JAXAが種子島のSLR局付近に対空レーダをおいてたりするけど、それにしたってPSRだろうし。

 個人所有の航空機に乗っているTCAS用のインテロゲータは個人所有なわけだから、SSRの設備(航空機用に保護された帯域を使用する通信機器)を個人所有すること自体は日本の法律的にも可能だろうけど、かといってそれを地上設置するのはまた別の枠組みだろうし。

 民間が運営する空港は、そこに設置している各種設備も民間が運用しているんだから、ATC SSR等も民間企業が設置できないわけではないはず。ただ、空港と一体で運用するのが原則であって個別に設置するのはまた話が違う、みたいな可能性もありえる。

 日本でも定期的に軍用機の低空飛行とかが問題になってるんだし、軍用機でも実任務でなければMode-Cリプライは返してるだろうから、それを監視するようなシステムが商品化されても良さそうなのにな。どっかのSDR開発の受注みたいなのやってる会社で作ってくれないかな。あるいは三菱電機や東芝、NECあたりでもいいけど、大手が作ると価格も大きくなりそう。



 ACS、諜報を使って指名手配(お尋ね者)を停止できるんだから、同様に指名手配に追加する機能があってもいいのにな。アクセサリーで手配地域の数に応じて攻撃力が増える物があって、全地域で手配されると防御をある程度貫通して攻撃できるから強い。全地域で手配されるには結構手間がかかって、テンポよく手配されに行かないと途中で季節が変わってリセットされるし、全地域で手配されてもファストトラベルを使うと季節が変わってリセットされるから、実質ファストトラベル禁止縛りもつく。強さの代償がかなりデカい。


 Ubiのサポートは翌週(営業日で4-6日?)に回答があった。その後は比較的レスポンスよく返事をくれたけど、PCのいろいろな情報(ハード情報とか、走ってるプロセスの一覧とか)を要求されたので、面倒になって放置してる。そこまでして遊びたいわけでもないし。

 提案された簡単な対策を試していたらゴーストリコンフューチャーソルジャーは起動できるようになった。UbiストアのPC版は日本語化されていない。昔Xbox360版で遊んでたからどうにかなるやろ、と思って最初のミッションだけやってみたけど、さすがにどうにもならなかった。ゲームシステムはある程度覚えてると思うから読めなくても遊べはするだろうけど、それでシナリオやって楽しいかって言うと、そうじゃないだろうしな。

 アサクリの初代もPC版は日本語化されていないし、Ubiのゲームは最近のゲーム以外は日本語化されてないっぽいな。まあ、最近のStop Killing Gamesに対するスタンスとか考えても、古いゲーム(日本でPC版がそれほど売れていなかった時代)のゲームをあとになって日本語化パッチ作ったりとかはやらない企業だろうなぁ。むしろまだ売ってるだけありがたいと考えなきゃいけないレベルの方針だし。


***


 久しぶりにシンプルなレンダリングエンジンを作って遊んでる。System.NumericsのVector3で座標を持っておいて、Matrix4x4で座標変換して、奥の方から順番にGraphicsのDrawLineとかFillEllipseとかに投げるだけの、簡単なやつ。


 約1分間で取得したGPSの座標(ECEF)から、平均値を求めて、そこを原点として各座標のENUを求めて、画像化。おそらく左上が北、右上が東のENU座標。グリッド(水平面)の間隔は1mのはず。視差を設定して2回レンダリングして輝度をRed/Cyanで加算しているので、赤青メガネを使えば立体的に見える。ただ、あんまり見やすくはないかな。

 とはいえ、アナグリフは人間可読性が最低限確保された深度情報を持てる画像フォーマットとして有用な気がする。赤青メガネを使わなくても、裸眼で見ても奥行きをある程度推定できる。少なくとも、複数点を比較してどちらが手前かはそこそこ判断できる。



 サイドバイサイドで書き出して、ffmpegでメタデータをつけて、YouTubeに投げてみた


 昔のYouTubeは単に左右に(or上下に)並べただけの動画を投げて、編集画面でその旨を申告すれば3D動画として扱ってくれたはずなんだけど、最近はmp4かWebMでメタデータをつけてやらないとだめらしい。

 ffmpegで-aspect "1:1" -vcodec libx264 -x264opts "frame-packing=3"みたいなオプションを追加する。YouTubeは投げられた動画のアス比で出力するっぽいので、単純に左右に並べた動画を投げる場合は-aspectで上書きしておく必要がある(今回は元画像が正方形なので1:1を指定)。もしかしたらアス比はパッキングモードで設定すればいいのかもしれない(1がSBS、2がTAB、3がSBSハーフ、4がTABハーフ、とか?)。ただ、ググってもそのあたりの情報が見当たらない。試行錯誤するのも面倒なので、今回は場当たり的に対応した次第。

 YouTubeに投げる場合はサイドバイサイドで出力しなきゃいけないけど、デバッグとかで使うときはアナグリフに焼き込んでAPNGで出力している。数フレーム程度なら妥当な処理時間で出せるけど、さすがに360フレームとかだとそれなりに時間がかかる。


 動画にすればだいぶ立体感が得やすいけど、とはいえ描画コストがなー。動画化するならちゃんとしたエンジンを探すほうが良さそう。


***


 7個の衛星から、2重差基準用の1個と、独立な3個2組から、2種類の格子点を画像化

 緑丸の場所で格子が接近しているけど、ただの偶然のような気もする。

 サンプルを取ったときに2個のアンテナの位置関係を計測したわけじゃないから正解値がわからないけど、それでももっと高低差は少なかったはず。格子点が3組作れればもっとはっきりするんだけど、それには双方で共通の10個の衛星が見える必要がある。どうしても足りないなら別の組で衛星を共有することもできるけど、そうすると共通な平面ができるから、接近しているか否かの判定が難しい(1軸の自由度が減る)。


 こういう図にしても、マーカーが多すぎて結局わけわからん。

 映画『アイアンマン』(2008)でトニー・スタークがCADで不要な部品をまとめてジェスチャーで囲って捨てたりするシーンがあるけど、まさにあんな感じのやつがほしい。まあ、あらかじめ点群をリストに持っておいて、別グループとの距離が一定以上離れているマーカーは描画しない、みたいなロジックを組めばいいんだろうけど。


 一部のパラメータを変えたら予想と違う挙動をするし、そもそも根本的に考え方を間違えている気がする。

 あと、今思い出したけど、PLLでキャリアロックしたときにBPSKの曖昧さを除いていない(NAVはビット反転を意識せずにデコードできるし、SBASもFECはビット反転を意識する必要はない)から、そのあたりも対応する必要がある。

 まずはPLLの作り直し(フレーム同期で180度の曖昧さの除去)かな。その後で、位置関係をある程度把握した状態でアンテナを配置して受信し直して。


 北海道はしばらく暑い予定なので自室(直射日光が入る&PCの排熱がヤバい)でプログラムの改修とか、あるいは野外でのサンプリングは、やりたくないなぁ。


2025年7月16日水曜日

小ネタ





 How To Think About Radiation (Entering a Nuclear Power Plant) - Smarter Every Day 309 - YouTube

 20年近く前にナショジオが原子力発電所のタービン建屋でエピソード1本作ってたけど、YouTuberが格納容器の上(原子炉建屋)に行けるようになったのかぁ。しかし、次回予告で後ろに立ってるセキュリティチームが普通にM4持ってんのさすがアメリカって感じ。まあ、「何かやる気なら撃ち殺すけど、それでもいいなら入ってもいいよ」みたいなこともあるんだろうなぁ。日本じゃ(というか大抵の場合は)そういうわけには行かないから、関係者以外は入れない、入るなら身元が確実な人間だけ、という運用になるんだろう。

 ところで、商用原子炉で実績を積んで、その後って何か具体的に考えているんだろうか? 例えば、潜水艦にもう一度行ってみるとか。さすがにそれは無茶か。



 日本とEU、大規模衛星網の構築で協力 米国依存脱却へ首脳合意案 - 日本経済新聞

 タイトルしか読んでないけど。

 米依存を下げてEUと協力したって、EUでまたブレグジットみたいなことが起きたら意味なくね? そこまで大事じゃなくても、どこかの国が異論を出して日本との連携を縮小するみたいな話が出てきたりしたら面倒なことになる。他国のゴタゴタに巻き込まれたくないなら国際協調ではなく、自国独力で頑張るしかないと思うんだけど。そのうえで、各国独自に構築した情報を同志国が共有する協定を結ぶ、みたいに運用で頑張る感じで。

 ただ、日EUで協力する前提でコンステを作るなら、H3とアリアン6の相互運用みたいな方向性は出てきそう。片方のロケットがトラブったりキャパオーバーしたときに、もう一方に振り分けるとか。防衛関係(ある程度の冗長なコストは許容できる)で一旦H3とアリアン6の相互運用を仕様化(できれば実運用)できれば、民間分野でも指針にできる。軍事予算で作った仕様書を民間に公開してくれれば、という前提ではあるけど。H-IIAとアリアン5でもバックアップ運用(打上げ6ヶ月前までなら相互に載せ替えられる)みたいな話はあったはずだけど、実際に運用されたことはないはずだし。

 去年辺りまでは、H3やアリアン6がトラブったらファルコン9に載せ替える、みたいな議論も(性能差を除けば)現実的だったけど、昨今のアメリカ(orイーロン)のゴタゴタを見てると、「いざとなればファルコンに載せ替えよう」みたいな議論は、特に国防用途の衛星では難しいだろうからなぁ。それしか選択肢がないならともかく、それに依存した計画は立てづらいはず。



 白亜紀の海、イカだらけ 新手法で化石大量発見―北大など:時事ドットコム

https://www.hokudai.ac.jp/news/pdf/250627_pr.pdf

 岩石をマイクロメートル単位で研磨しながら各層を画像化して、そこから特徴的な構造を探して層毎に重ねて3Dモデルを作って、普通に岩を砕くと壊れるような柔らかいものを探す手法。破壊的な記録だからしっかりした化石が含まれるような岩石にそのまま適用するのはもったいないけど、とはいえ化石を掘るために割ったあとの岩石をデジタルデータ化して後から処理するみたいなこともできるだろうし。処理速度次第では岩石サンプルのデジタル保存技術として便利そう。一旦デジタル化してしまえばあとは好きに加工したり解析したりできるし。輝度分解能と色分解能、あと一番大事なのはスループットか。

 どれくらいの速度で処理できるんだろうか。撮影自体は、ステッパで駆動してモザイク状に撮影するとかでもなければ、ほとんど一瞬で終わるだろうし、研磨工程の速度次第な気もするけど、それにしたって岩をマイクロメートル程度削るくらいならすぐ終わりそうな気もする。あとはその精度を得るためにどれくらい慎重に(時間をかけて)処理をするか、とか。まあ、人間ができる作業じゃないし、スループットがほしいなら機械を並べればある程度は上げられるだろうから、サンプル量に応じて、といったところか。



『ゴースト・オブ・ヨウテイ』にはLo-Fiに浸る“サムライチャンプルーモード”搭載。高自由度な新システムや日本語リップシンクなどゲームプレイ映像どどんと披露 - AUTOMATON

 ゲームのタイトルからして羊蹄山のあたりだけ(札幌以西)かと思ってたけど、結構広い範囲に行けるのかな? これを遊んだ人が「北海道旅行しよ~」っつって2泊3日とかで北海道一周旅行の計画をポストして突っ込まれる未来がありありと浮かぶ。



 ASCII.jp:東大工学部で富野節が炸裂!ロボットの開発なんかやめましょう! (1/8)

 2008年の対談の書き起こしの抜粋。

 数年ごとにこの人のこういう発言(宇宙開発に否定的な発言とか)をタイトルにした記事が出てくるような気がする。

 何年か前の対談の書き起こし(あまり長くない記事)では本当に科学技術とか宇宙開発を否定する意図で発言しているような印象だったけど、この記事を見る限りはちゃんと方向性を持って発言しているらしいな。



 Ubisoft+、1ヶ月で解約するつもりで、6月12日に登録したから、7月11日に解約の手続きをして、解約のメールも届いたから安心してたら、翌12日に契約更新のメールが来て、ちゃんと引き落とされてた。そんなぁ。。。

 後になって6月に契約した時のメールを読み直したら、「7月11日に更新するよ」と書いてあったし、解約のメールを読み直したら「8月11日までは遊べるよ」と書いてあった。

 2回目の請求書によると次回更新は8月11日だそうだ。いや、もう解約してあるはずなんだけど。。。6月→7月が11日で、7月→8月も11日ってことは、ちゃんと翌月の同日に契約更新ってことで合ってるのかな? 開始日と更新日が1日違うのはシステム上の問題なのか、あるいは契約を管理する地域との時差の問題なのか。

 それにしても、契約を解除してから数時間後に契約更新のメールが届くのは、ちょっとアレだよなぁ。

 せっかく勝手に延長されたんだから他のゲームでも遊んでみるか、と思ったんだけど、Ubisoft+premiumで遊べるゲームってあんまり魅力的なの無いんだよな…… GRBPとかDivision/2はSteam版を買ったし。あと、2,3個インストールしようと思ったやつはアクティベーションキーを要求されて起動ができない。

 UbiはWebサイトもローカルランチャー経由のライブラリも操作感が悪いし、インストールも素直に進まないし。ゲーム販売プラットフォームとしては微妙な感じだ。やはりSteamに一日の長がある(SteamとUbi、プラットフォームとしてどっちが先なのかは知らないけど)。


 試しにUbiのサポートに「サブスク登録してるのにライセンスキーが要求されるのなんでなん?」的な質問を投げてみたんだけど、未だに返信がない。途中で土日を挟んでいるので実営業日では2,3日だし、質問フォームには「最近忙しいから返信遅れるよ」とは書いてあるけど、それにしても。買い切りライセンスなら多少遅れてもユーザーが怒るとかネガキャンを始めるとかその程度だけど、サブスクライセンスだと1日遊べない毎にユーザーにコンスタントに金銭的な損害が増えていくから、もうちょっとマトモに対応してほしいわね。特にライセンス管理なんてプラットフォーマーが真っ先に対応すべき問題点だろうし。


 なお、6月に遊び始めた当初、ACSのプレイ時間は131時間で、契約更新時点で157時間なので、29日で26時間遊んだのか。ちょうど「ゲームは1日1時間まで」位のペースだった。


***


 APS-C、910mm、トリミング無し。

 体感だいぶ低い高度を飛んでいたドクターヘリ。レジどころかスポンサーロゴまで読める。TOYOTAとHONDAが並んでるのちょっとおもしろいな。パイロットの口元が白いのはマスクかな。まあ、ドクターヘリだしな。



 当該時刻のMode-3/A/C応答

 3グループあって、上は旭川空港から離陸した民間機、中段は1200、下段はMode-C応答。

 1200の応答は13分程度継続して受信できていて、途中で途切れている。どちらともインコヒーレントだけど、パルスのタイミングによっては若干の角速度が見えることがあって、後ろの方で見えている応答は角速度が下向き、前の方では下向きと上向きが両方見えている。

 タイミング的に、ドクターヘリは上向きの角速度のグループだと思う。



 Mode-Cの拡大

 中央右寄りで上向きが旭川空港から離陸した民間機。その他に低高度を飛行している2グループが見える。


 後半グループの高度応答の拡大

 上の図はIQ軸(色付き線)、その振幅(黒線)と位相(灰点)が表示されているが、この位相が1パルス内で複数ポイント見えているところで、下向きであることを指して「下向きの角速度」と表現している。

 パルス間はインコヒーレントっぽいけど、よく見たらコヒーレントな気もする。周波数差が大きすぎてつながって見えないだけかも。


 上向きの角速度の高度応答

 強度でソートするとかなり強い信号が受信できていて、ドクターヘリを撮影した時刻に一致するから、この応答がドクターヘリからのものと考えられる。


 ドクターヘリの飛行高度がFL24として、当該時刻の旭川空港のMETARからQ1005を得て、このあたりの標高を差っ引くと、600mAGL程度を飛行したという結果が得られた。もっと低いところを飛んでいたような感覚だけど、それでも法定最低高度150mに4倍の余裕がある。

 以前この話題で書いたAH-1と、今回のBK117 C-2(テールフィンをよく見るとそう書いてある)は、全長がほぼ同じ(AHが13.41m、BKが13.03m)。AHは対角で画角からはみ出すような大きさで写っていたのに対して、BKは水平で十分に画角に収まっているから、実際の大きさが同じ程度と仮定すると、見かけ上の大きさの差は距離の差に相当する。実際の高度差は見かけ上の距離差以上に大きいけど、これは対象との位置関係の違いからある程度吸収できるはず。

 体感で結構低そうなところを飛んでいた気がするけど、実際にトランスポンダの応答を見てみると、かなり高い高度を飛んでいた。人間の目(特に素人)の距離感って相当デタラメなんだろうなぁ。


***


Gaa4-32bann-oga

 室町時代の製材の様子だそう。

 角材とか板材みたいな、製材したものって労働集約的というか、庶民が大量に消費するのって大変じゃね?って気がするんだけど、そうでもないのかな。

 少なくとも床が普及するには製材が発達する必要があるらしい。そりゃそうか。ってことは、床板が敷いてあるような建物が出てくる時代は角材とかも含めて材木(を作る製材業)はある程度発達してるんだろうな。

 丸太を削って形を整えるような方法だと1本の木から取れる木材は増えない。例えば、表面処理を行わない木をそのまま柱にするのと同じ程度の材料効率でしかない。板材として使った場合も同様。鋸で切った場合、例えば丸太を半分に切れば、木2本分の面積の平面が得られる。細かく切れば切るほど材料効率が改善するから、輸送コストの高い丸太をいかに低コストに使うか、ということを考えると、製材したほうが低コストになりそうな気もする。


***


 一般社団法人日本硝子製品工業会 | 日本のガラスのはじまり

 ビーズとか勾玉みたいな服飾品的なガラスは日本だと8世紀前半あたりから作られ始めていたらしい。ただしこの系譜は一旦途切れることになる。

 光学部品としてのガラス製品はザビエルが1549年に持ち込んだ鏡や眼鏡に端を発するようだ。


 一般社団法人東部硝子工業会のホームページ

 長崎の商人が1620年前後に海外でメガネの製法を習得した、らしい。



https://www.jstage.jst.go.jp/article/jhsj/54/274/54_53/_pdf

「江戸時代前期の日本望遠鏡」(2016年)

 日本に望遠鏡がもたらされたのは1613年で、オランダでの特許申請が行われた1608年からわずか5年後のこと。また、アジア人で最初に望遠鏡に接したのはタイ人の1608年だそうで、使節団が望遠鏡の実演に居合わせていたらしい。

 望遠鏡は遠方の目標や軍隊を見ることができるから、欧州では武器と同様の扱いをしていたそうだ。日本では戦国時代が終わって平定されたあとだから、そういう扱いは受けず、高級玩具という扱いになっていたらしい。

 あとは当時の望遠鏡をいくつか調べた結果とか、考察とか。



https://www.jstage.jst.go.jp/article/jshit/24/e/24_2401/_pdf

「機械時計初伝来の時期に関する考察 -ザビエルから大内義隆への贈り物-」(2023年)

 タイトル通りの内容。機械式時計と一緒にいくつかのアイテムが持ち込まれていて、その中には「眼鏡」「鏡」「望遠鏡」のようなものもある(ただ、本当にこれがすべて含まれているかは疑問である、と)。この資料の中では主に時計を目的としているから光学系のアイテムの話題はあまり触れていないけど。

 日本では鏡は反射する物の認識だけど、中国では透過する光学系(レンズとか)も鏡と表現することがああって、鏡というのは眼鏡の意味ではないか。望遠鏡はこの時点ではヨーロッパでも未発明だからありえないが、反射式望遠鏡は発明時期が早いとする説もあって、それが持ち込まれた可能性もある、みたいな感じで、光学系に関する考察はだいぶふわっとしている。



 1603年の北海道に望遠鏡があるのって「歴史的に正しくない」んじゃねー?と思って日本のガラスの歴史とかを軽く調べてみたんだけど、ガラスに関しては古代の服飾品的なものとか、江戸以降の器(食器)みたいなものは出てくるけど、光学部品としての話はあんまり出てこない。もう少しあとの時代になると日本で作った望遠鏡の話も結構出てくるんだけど、最初期の話はほとんど見当たらないな。

 少なくとも、定説としては1613年に献上されたものが最初らしい。その10年以上前に北海道まで持ち込まれていたと考えるのはちょっと厳しそう。

 まあ、ゲーム(フィクション)の話だしね。メインストリーに関わるわけでもないし。そもそも本人が望遠鏡を使っている描写は無くて、あくまでも視界が丸くなってズームしているだけだから、そういう超能力(集中したら遠くが見える、とか)を持っている、みたいな設定かもしれないし。


***


 Korean Positioning System - Wikipedia

 韓国も衛星測位システム(RNSS)を作るのか。数年以内には最初の1機が上がるのかな? アジア地域、日本、韓国、中国、インドと衛星測位システム(中国以外はRNSS)がたくさんあるな。それだけホットなエリアということか。。。

 韓国は対北朝鮮を考えて、北朝鮮が使うGPSジャマーに影響を受けないように、みたいなことも考えているんだろうか? だとすると、軍用(政府用)の信号は特にジャミング耐性の強い信号を使うのかな。それとは別に受信しやすい民間用も出すんだろうけど。


 KPS、南北非対称な8の字軌道に4機(or5機)、その中央と両側に静止衛星を3機、という何処かで見たことあるような配置。完全に経度だけ変えたような感じだ。非静止衛星の名前はEIGSO(Elliptically Inclined Geosynchronous Orbit)と言って、やってることはQZOと同じ。地上から見たらQZO、それを実現する軌道要素がEIGSO、という感じ。

 カバレッジはソウルを中心に半径1000kmくらいを想定しているのかな。資料によると半径1000kmの円らしいんだけど、図で表現されたサービス範囲が少しおかしい。この図を信じるなら半径は800km未満しか無い。

 図で示された範囲だと中国は北朝鮮を挟んだ2省と黄海の対岸の1省の半分程度、それとロシアの先端部、日本は九州の大部分と四国の大部分がサービス範囲内。図の「1000km」という数値を信じるなら、中国は10省の大部分が入って、北京までサービス範囲内、日本も能登半島や愛知県までが範囲内、という感じ。

 どちらにしろ、静止軌道付近に7,8機も衛星を置くにしてはサービス範囲がかなり限定的な気がする。ググっても他のページでサービス範囲の情報が出てこないから、実際は電波を受信可能な広範囲をサービスエリアにしているのかもしれないけど。

 カバレッジを限定してサービスを行う場合、電波のビームを細くするなら、静止衛星はともかく、EIGSOは地上との位置関係が変化するから、ナロービーム(スポットサイズが直径3000km弱)位を出そうとすると、ボディポインティングするなり、ビームステアリングするなり、何らかの工夫が必要になるはず。現実的なところだとボディポインティングだろうけど、ちょっと面倒くさそう。ビーム幅を地球と同じくらいの径にして、広範囲で受信可能だけど、カバー範囲(例えばソウルから半径1000km)の外で使うには自己責任で、みたいなシステムにするのかな?


*


 GPS受信アプリ

 SBAS IGPを表示したり、受信レベルや天球上の配置を表示したり、といった機能を追加。

 受信レベルはx LSBレベルで表示。例えば0.7と表示されている衛星は、キャリアの振幅が0.7LSBということを示している。はずなんだけど、あんまり自信ない。2~4倍くらいのゲインエラーがあってもおかしくはない。dB(LSB)とかで表示すれば、VGAに指示した利得(dB)と1対1で対応するようにスケールすればいいんだろうけど。本来はN0との差をdBで表示すべきなんだろうけど、dBの取得方法がいまいちよくわからん。適当なPRNから明らかにコード位相やドップラを変えて相関処理をして、振幅を求めるしかないのかな?



 ↓IGPとGPS放送値

 ↓IGPとGPS/QZSS(wide)放送値

 どちらかといえばQZSS放送値のほうがIGPに近いかな?

 IGPはMSAS, SPAN, BDS, GAGAN、あたり。もしかしたらKAASも入ってるかもしれないけど。


*


 The predefined global ionospheric grid point (IGP) grids. | Download Scientific Diagram

 SBAS IGPの図なんだけど、バンド9/10が間違っている気がする。バンド0を数えると201個で正しいけど、バンド10を数えると238個ある(本来は192個のはず)。バンド9は数えてないけど、見た感じ似ているからたぶんこっちも違う。


 SBASはそもそも公式な情報が公開されていないはずだから、仕様を調べるのが難しい。本来は秘密というか、有料で販売しているものだと思うんだけど、某国がオンラインで普通に公開しているので、これを参照している。オフィシャルな情報ではないからどれくらい信じでいいのかはわからないけど、MSAS等を含めていくつかのメッセージを復調して明らかにおかしいという結果にはなっていないから、それなりに正しい情報のはず。


 あとは、ESAのWebサイトに少し情報がある。

 The EGNOS SBAS Message Format Explained - Navipedia #Ionospheric information messages

 バンド0から8は201個(ただしバンド8は201個目が無い)、バンド9と10は192個、トータルで2192箇所、という説明(バンド9/10の一部はバンド0-8と重複)。

 なので、前述のバンド10が238個ある図は明らかに誤りのはず。


 ESAの、電離圏は低緯度のほうが活発だから低緯度は高密度に、高緯度は高密度に配置している、という説明、少し違う気がする。IGPは正距円筒図法で定義しているから、実際の球面に配置すると、密度を変えないと高緯度が密になりすぎるってのが半分じゃないだろうか。高緯度地域は経度方向だけじゃなくて緯度方向も抜いてるから、低緯度地域に比べて若干疎な配置になっているのは事実だけど。


2025年7月9日水曜日

小ネタ



「シャングリラ・フロンティア」がゲーム化、『シャングリラ・フロンティア~七つの最強種~』正式発表。“クソゲーハンター”の冒険が忠実再現されてゲームに - AUTOMATON

 スマホゲー、かぁ…… まあ、メディア展開のターゲット層を考えるとスマホなんだろうなぁ。オープンワールドで自由に遊び回るようなゲームじゃなくて、原作のストーリーをなぞるような内容になるんだろうし、それならコンソール/PC用に作るより手軽に遊べるスマホのほうが、という判断かな。




 3Dプリンタで大雑把な型を作って、切削で軽く仕上げて、カーボンファイバーをフィラメントワインディングみたいに巻いていって、穴加工や切断を行って、最後に中身を抜いて、みたいな感じの工程かな。フチ(先端とかの空力や強度的に厳しい部分)はソリッドにも作れるっぽい。

 どれくらいの手間で使えるんだろうか。形状データとファイバーの向きを指定するテクスチャを層毎に与えたら勝手に作ってくれるくらい手軽なんだろうか? それとも人間がいちいちツールパスを指定してやらなきゃいけないんだろうか?

 CADでデザインしてファイバーの層数や向きを指定すれば強度計算して、そのデータから直接出力できて、計算結果と同じ強度のモノが出てくるんであれば、試作開発はかなり楽になりそう。量産する場合も、品質さえ一貫しているなら機械を大量に並べればいくらでもスループットは増やせるだろうし。まあ、従来の製法に比べてコストはそれなりに高いんだろうけど(特に初期投資が)。



 Elgato、タクタイルスイッチ搭載になった「Stream Deck Scissor Keys」 - PC Watch

 従来のStream Deckの操作感が悪いのはそうなんだけど、じゃあタクタイルスイッチで改善するかというと、操作感以上に、寿命が圧倒的に短くなってユーザー的には改悪だと思うのだが。

 あと、「キー個々にLCDを埋め込んだデバイス」という説明はちがくない? 1個1個のキーにLCDが入っているわけじゃなくて、1枚の大面積のLCDが区切られて見えているだけのはず。少なくとも従来のモデルはそう。


 Stream Deck Scissor Keys | Elgato

 まさか本当にタクタイルスイッチを使うわけないよね?と思って公式サイトを見てみたら、シザーキー(薄型キーボードと同様の機構)を採用しているらしい(商品名もそれが由来)。そりゃそうだよな。マウスについてるタクタイルスイッチの寿命を考えたら、Stream Deckで採用できるわけがない。

 タクタイルという単語は「感触的な」みたいな意味だから、クリック感があるスイッチを「タクタイルなスイッチ」と表現することはできるけど、「タクタイルスイッチ」と書いた場合はある特定の機構(ドーム状のバネの非線形領域を触覚フィードバックに使用する構造)のスイッチのみを指すと考えられる。シザースイッチはタクタイルなスイッチではあるが、タクタイルスイッチではない。


 Elgatoからタクタイルスイッチを搭載した「Stream Deck Scissor Keys」と高速大容量通信に対応した「USB 3.2 C to C cable」の販売を開始 | SB C&S株式会社

 たぶんこのあたりが元凶じゃないかな。

「15個のLCD(Liquid Crystal Display、液晶ディスプレイ)キー」みたいな記述もある。輸入代理店が不正確な(あるいは誤っている)情報をプレスリリースして、ニュースサイトがそれをそのまま使っている感じ。



 ホンダの宇宙開発本格始動 再利用ロケットとそのビジネスモデル - Impress Watch

 途中のRocket Lab Neutronの説明、社名間違ってるし、ロケットの説明も間違ってね? 社名は複数個所で同じ表記だから、意図的に書いてそうだけど。

「Neutronの特徴は、1段+フェアリングという機体構成で全て再使用可能であるという点です。機体全てを再使用できるようになると、(後略)」

 Neutronは第1段とフェアリングが分離しない形で、その中に第二段が入っているという構造(Neutoronの第2段は前期イプシロンの第3段のイメージ)。再利用するのはこの一体型の第1段とフェアリング部だけであって、最終的に軌道速度を得るための第2段は使い捨て型のはず。そもそも、上記の説明には第2段が含まれていないから、単段で衛星を軌道投入した後に回収して再利用するロケット、みたいな意味合いになっている。

 Neutronの次に説明しているロケットでは「Terran Rは1段を再使用する部分再使用型ですが」と書いているから、Neutronは全段を再利用する前提で、それと対比している意味合いが強そう。

 一つの段落で「ペイロード搭載量が2トンもある中型ロケット」と「搭載量2,000kgの比較的小型のロケット」を明確に区別している部分もあるし。

 全体の平均はともかく、一部だけ見ると、なんだかなぁ、って感じの記事。



 秀和システムが法的整理へ 債務超過で事業継続厳しく:時事ドットコム

 うちの本棚を見ると、昔から最近まで何冊かこの出版社から買ってた(ざっと数えて10冊弱)。昔買ったのは電子工作の解説本とかだったけど、内容は結構良いのが多かった印象。一方で、最近買ったミリタリー系の本は著名な著者の本でも出鱈目な内容が大量に書かれていたり、質はかなり低くなっていた気がする。ジャンルが全然違うので単純に比較はできないとしても。とはいえ、やはり編集部も色々切り詰めて、原稿を確認する余裕もなかったんだろうな(あるいは原稿を確認できるだけの知識・技術を持つ人間を雇う余裕もなかったか)。

 最近のあまりにも内容がひどい本を見ると、めぼしい著者(名前だけで売れるような人)に声をかけて、送られてきた原稿を中身も見ずに印刷所に横流しして、商業誌ルートに乗せるだけの代行業みたいな仕事をしていたのかも。それくらいひどい本も手元にある。例えば「さんすうもんだい」(2,3桁の数字の大小の比較)を間違えているような本とか。まあ、こういうのを見逃すのは出版社の問題としても、そもそも著者の方に問題がある内容だけど、そういう著者にすら頼って本を作らなきゃいけないほどなりふりかまっていられない状況だった可能性もある。


 全然関係ないけど、マイナビニュース(TECH+)も最近(ここ数年)でだいぶ運営方針変わった印象。会員向け記事が増えただけじゃなくて、記事の内容もだいぶ変わった気がする。ファジーに表現すると記事のタイトルに感嘆符が増えた。こういうタイトルの記事って内容もちょっと苦手なんだよな。最近はほとんどすべてと言っていい割合で記事が会員限定公開になっているし、RSSリーダーでタイトルだけ見て流すようになってる。前は会員限定記事でもソース(外部リンク)はログインせずに見れたけど、最近はそれも見れなくなったし。

 TECH+、会員登録で要求するメールアドレスが職場のメアド限定なの、さすが本業が本業だけあるよなぁ。ユーザーが転職したらアカウント作り直させて累計ユーザー数水増ししてるんじゃないかって陰謀論が作れそう。最近は一般市民向けっぽい記事も増やしている印象だけど、そういう人たちにも職場メアド要求する気? 運営方針に一貫性がない印象。


 また関係ない話だけど、サイエンス系の本を探してると、一般市民向けの本は大量にあるけど、そういうのを読んだ後に読む本が無い気がする。別にサイエンス系に限らず、他の分野でも。例えばプログラミング入門の本だと「変数とはなにか」とか、「足し算をするにはどう書くか」みたいな解説の本は多いけど、その言語の文法をある程度知ったうえで、どういうふうに使えばいいか、みたいな本は少ない印象。

 日本の商業的な情報って、たいてい「その分野を知らない人(完全にまっさらな人)相手」と「ガチの専門家相手」の両極端な印象。非商業的な部分だと、たまに個人の趣味で記事を書いてるような人はいても。

 これって「餅は餅屋」みたいな日本の傾向なんだろうか? ある分野をやるには大学とかで勉強する必要があって、そのためには高校の時点ですでに進路を定めて、専門的に勉強せずに社会に出たあとはその分野に入るのは難しい、みたいな。英語圏だと個人の趣味から初めてガチ勢に至る人が多いような気がする。ただ、これは英語の話者数が単純に多いから、という部分もありそうな気もする。単純計算で一つの分野に入る人数が日本語圏の15倍多い。ただ、本当に15倍で足りるかというと、多分足りない気がする。やっぱり文化的と言うか、なにか違いがある気がする。一人あたりの趣味の数の差も結構ありそう。

 あとは、予算構成の違いもありそうか。個人とかの寄付で運営するような研究だと、自分が寄付した金が何に使われているかをある程度突っ込んで知りたい、あるいは寄付する先がどういう研究をしているのかを知りたい、みたいな需要がありそう。日本みたいに税金が大部分を占めるようなところの場合は、税金分の(納税者民向けの)広報活動はしますよ、位のスタンスになりそう。ただ、これはある程度組織的な研究機関には当てはまるけど、個人規模の研究には直接的には関係なさそう。まあ、組織に対する寄付と同じように個人に対して寄付を行って、個人で行う研究が活発になったり、その結果いろいろな情報が出てきたり、みたいな流れはありそうだけど。YouTubeを見てると英語圏の大抵の人はPatreonを使ってる気がするし。

 日本でも個人が当たり前に数十万とか数百万とかを寄付するような社会になれば、寄付をしてもらうために情報公開に積極的になったりするのかな? 今の不景気な世の中じゃ寄付はされないだろうし、されない寄付のための情報公開なんてコストの無駄だ、みたいな判断になりそうだけど。あまり不景気が進むと今度は公的予算じゃ足りねえっつってクラファンとか始めて、いくらか支払った人に謝礼として多少の情報公開をしたりするんだろうけど、その場合は支払った人に対する対価だから、広く一般的に公開するわけじゃなく、むしろ差別化のために一般公開は絞る方向になりそう。



 ACS、いくつかの古墳で全く進めなくて糸口すら掴めない状態だったんだけど、なんのことはない、分かってしまえばめちゃくちゃシンプルだった。まさか弓が当たるだけで起爆するほど敏感な爆弾をブン投げるとはなぁ。その発想はなかったぜ。。。

 起動時に即ゲームを始めると極端に重くなる現象は、PC側のメモリ空き容量の問題っぽい。OSを再起動したら発症しなくなった。長期間起動しっぱなしだといろいろゴミデータが溜まるので仮想メモリに退避入ってパフォーマンスに影響があるらしい。終了時の挙動は相変わらずだけど。



 HackRF Pro Pre-Order: Frequency Range and RF Performance Improvements, USB-C, TCXO Added

 RTL-SDR Blog Review of the HydraSDR

 急に思い出したようにDIY向けっぽい層のSDR受信機が出てきたな。

 HydraSDRはAirspy R2の系譜ではあるけど、会社は別らしい。HydraSDRはSDR#からもR2として見える(扱える)けど、Airspy的にはこの使い方は規約違反だそうだ。



https://www.jstage.jst.go.jp/article/jjspe1933/42/502/42_502_979/_pdf

 1976年。NECの人が書いたパラボラアンテナの説明。

 マイクロ波回線の話がいくつか。通信とか、レーダとか、電波望遠鏡とか。

 透過型のアンテナ。メタルレンズアンテナとパスレングスアンテナ。広帯域性や整合性が良いので当初は使われていたが、コストが高いのでパラボラが実用化されてからは使われなくなった。

 リフレクタアンテナの種類。パラボラ、カセグレン、グレゴリアン、ホーン、オフセット。それぞれの違いとか、特性とか。

 見通し外のマイクロ波通信。対流圏での散乱とか、山岳等の回折とか。元々は軍用だが、一般の回線で使う例も増えてきた。損失が大きいので大きなパラボラを使う。フェージングが大きいのでそれの対策も必要。

 衛星通信用のアンテナ。必要な特性とか、給電方式の違いとか。

 直径10mのアンテナが「商用貨物機により空輸可能」として紹介されている。こんなデカいものもバラせば空輸できるのか。



 DMSP衛星、800kmを周回する米国防総省の気象衛星だけど、これの光学センサは夜間に使えば10Wの電球1個を撮影できる感度があるそうだ。10Wというと豆電球2個分くらい。PMTを積んでいるらしいから、不可能じゃないんだろうけど、とはいえ凄まじいスペックだ。軍用の気象衛星で雲の観測がメインミッションだから、月相の対応のためにゲインの調整を行っているらしい(なので定量的な光量の変化とかを見るにはゲインを推定する必要がある)。センサの解像度は0.55x0.55km²、夜間は5x5ピクセルの平均値を使って2.75x2.75km²、研究者向けに配布するときは1x1km²にリサンプリング、という感じらしい。

 ちなみに、ADEOS AVNIRの場合は1ピクセル(10x10m²)の中に10kWの光源が無いと写らないらしい。

 ADEOSの単位面積当たりの感度は100W/m²。DMSPの10Wというのはどのモードのときかがわからないけど、夜間モードなら1.32uW/m²くらい。ADOESとDMSPで感度が8桁近く違うらしい。DMSPは軍用として夜間で使えることも要求されていただろうし、ADEOSは昼間(10時30分)にしか使わない前提だから感度は控えめということなんだろうけど。



 キヤノンの小型衛星、CE-SATシリーズ、IIBでは高感度画素を積んでいるけど、SPADを積んだ衛星を作る予定はないんだろうか。CIGSとか、身内に超高感度光学衛星を欲しがりそうなところもあるし。小型衛星として商業的に利益を出さなくても、資本関係のある法人だけで画素から解析まで一貫して処理できれば他の会社(研究機関・衛星企業)では作れないソリューションが作れそう。



 GPSで2重相対測位(DDGPS)というのを見かけたけど、ググっても情報が見当たらない。干渉測位の二重差とはまた別っぽい。どういうものなんだろう?

 文脈から想像するに、相対測位(DGPS)受信機を2台使って、測位結果から2台のDGPS受信機の相対的な位置関係を求める、みたいなモノっぽい。搬送波とかコードではなく、位置情報(Lat/Lng)レベルで差分を取る感じで。

 電離圏みたいに近距離で同一と近似できる誤差を除けるのと、RTKやコードの差分を取るよりも機材や計算量のコストが少ないのが利点、みたいな感じかな? ただ、この提案がされた2014年時点ですでにS/Aは解除されているから、GPS受信機の確度はかなり高いし、精度は受信機の熱雑音がかなり大きいはずだから、DDGPSの精度はあまり良くなさそう。精度の評価方法もGPSの確度の評価方法としてはおそらく正しくないやり方をしている。

 そもそも、2点間の差を取るならDGPSを使う必要はなくて、単独測位で比較したっていいはず。それがDGPSの原理なんだし。まあ、比較的最近の時代にDGPSを切れる(完全に単独測位ができる)受信機を探すのも面倒くさそうだし、それならDGPSの差分を取ってDDGPSを、みたいなのもわからんではないけど。



 簡易的なGPS受信アプリを試作中

 簡易的と言っても、rtl_tcpサーバーに接続してIQ信号を受け取って、C/Aコードを復調して、NAVやらSBASやらをデコードして、測位演算やらメッセージ解読やらをやって、みたいな感じで、結構大変。

 測位演算の結果は時刻、位置、クロックエラー、あたりを表示している。今のところ静止受信なので速度情報の表示は無し(内部的には計算している)。

 NAVは最低限エフェメリスとアルマナックの受信に対応、電離圏はパラメータの受信と表示は対応しているけど、今のところ測位演算には使用していない。違いがわかるほどの太陽活動が無い。GPS衛星が出している電離層は全世界で共通のもので、これに追加して準天頂衛星から2種類が放送されている。地図上には3種類の電離層を重ねて表示しているけど、準天頂とGPSでは明らかに値が不連続。パラメータの精度の問題なのか、計算をミスっているのか。

 SBASはエフェメリスとアルマナック、それからQZSS DCRの一部のメッセージの受信だけ実装。台風とか震源とか、位置情報を含むメッセージもいくつかあるから、日本付近を拡大した地図を表示して、そこに重ねて表示しても良さそう。

 受信機はrtl-sdr blog v3を使っているけど、5.5ppmくらいの誤差がある。1ppmで1.6kHzずれるから、5ppmまで許容しようとすると8kHzの範囲をスキャンする必要がある。衛星由来のドップラが5.5kHzとすると、±15kHzくらいをスキャンしなきゃいけなくなるから、かなり時間がかかる。アルマナックと受信機の推定位置があればドップラをかなり正確に推定できるから、正常に動いていればほぼ一瞬で搬送波をロックできるけど、受信機の位置が正しくないときに延々ロックできなくなる懸念もある。

 そこそこ機能が多くて、マルチスレッドとかいろいろ複雑なことをやっているので、安定性が悪いのがネック。スレッドとかネットワークとかに触るとデバッグが大変。



 QZSS L1S DCR、NMEAフォーマット($QZQSM)が指定されているけど、250bitのSBASメッセージに下位2bitを追加して252bitを63文字で保存するの、ちょっと謎い気がする。上位2bitを追加(つまり何もせず)63文字で保存するほうが取り扱いが楽そうな気がする。下位に追加するのだと、8bit(uint8_t)とか64bit(uint64_t)とかの配列で保存したビット列を全部移動する必要がある。面倒そう。



 C#のstackallockをループの中で宣言するとスタックオーバーフロー警告が出るけど、do{...}while(false);の中で宣言しても同様に警告が出るんだな。Visual Studioはif(false){}の中身を到達できないと判断したりできるんだから、明らかにループしない条件なら警告を省略してほしいものだ。後でループ条件が変わったときに問題が起きるかも、みたいなことなんだろうけど。


2025年7月2日水曜日

小ネタ

 特に明確に決めてるわけじゃないんですが、最近は毎週水曜日の昼過ぎに更新することが多いです。前回は火曜日でした。ええ、曜日感覚が壊れてます。水曜日になにか用事があって早く更新したとかではないです。






 諸々想像してたのとだいぶ違うな。あれだけのボリュームを2,3時間の映画に詰め込むんだからそりゃ色々変えなきゃ収まらないんだろうけど。あとは映える見た目も作らなきゃいけないし。




 世界大会を3年連続で同一都市開催ってすごいな。



 プログラムとタイムラインの更新 - YouTube

 Hill Helicopters HX50、エンジンのフル機能テストを12月中旬、初飛行を来年6月下旬、生産開始を27年6月下旬に設定、とのこと。

 現状、エンジンのシーリング周りで手間取っているらしい。ラビリンスシールでオイルとか空気とかを分離するけど、要求精度が高くて、いろいろな部品が複雑に入り組んでいるから調整が大変なんだそうだ。

/* YouTube、最近海外のコンテンツも相当の割合が翻訳されて表示されるけど、オリジナルのタイトルとか説明ってどうやったら見れるんだろう? YouTube自体の環境設定で設定した言語以外は表示できないなんて馬鹿なことはないと思うんだけど、Googleのやることだからなぁ。。。 */



 MQ-28A Ghost Bat Milestone - YouTube

 メインランディングギアの扉の面積がかなり大きいし、比較的後ろの方に配置してあるけど、低速時にベントラルフィンとして使えるみたいなことも考えてたりするんだろうか?



 60年近く動作していなかった人工衛星から強力な電波信号、天文学者を悩ませる(1/2) - CNN.co.jp

「強力な電波信号」とは言っても、いわゆるゾンビ衛星みたいに継続的にテレメとかトランスポンダとかが起動しているわけではなくて、超短パルス信号(30ns、強い部分は3ns)。可能性としては、表面の帯電が放電して電波が出たのではないか、とか。

 軌道上の放電が地上から検出できる可能性があるのは面白いけど、とはいえ電波天文用の超高感度な望遠鏡が必要だろうから、衛星運用側から監視に使えるような手法ではなさそう。



 次世代半導体の実現に欠かせない日本、Playground Globalが目指す日本半導体業界との協業 | TECH+(テックプラス)

 xLight、露光装置の中でEUVを作るのは面倒だから、工場の隣に放射光設備を併設して分配しようぜ、みたいなやつ。すごいな。EUVは反射させるのも大変で、だからこそ装置内(最短距離)で作るのも苦労してるんだけど、外に置くなら桁違いに巨大な装置で強いEUVを作れるから、何回か反射が増えて損失が大きく増えたところで、トータルでは使いやすくなる見込みがあるんだろう。


https://www.kek.jp/wp-content/uploads/2025/05/pr202505231400euv-fel.pdf

 5月末のKEKのプレスリリース。加速器でエネルギー効率良くEUVを作るための研究開発が採択されたよ、みたいな話。原理とか課題も少し解説してある。

 極端紫外線を出すには800MeV(光速の99.99998%)まで加速する必要がある。現状、エネルギー効率の良い加速器では数十MeV(99.88%)程度で、赤外線までしか出せないので、より高速に加速する技術を研究する必要がある(あくまでもエネルギー効率を稼ぐなら、という話)。


 どうせ電子線を使うなら電子線リソグラフィとかで頑張ったほうがいいんじゃないかって気は若干。そこまでして光にこだわりたいってことはやっぱり電子ビームは色々課題があるんだろうけど。光なら鏡で反射できるから、みたいなことなのかな。



 インカメラVFXに使うLEDウォール、広色域とか色再現性って必要なんかな? RGBで出力された映像信号をカメラで撮影してRGBに戻すんだから、色再現性とかこだわるだけ無駄な気がするんだけど。どうせキャリブレーション(カメラで撮影して正しい色になるように出力する映像を調整)はやるんだから、パネル側の演色性が多少悪くたって、ねえ。



 民間の衛星コンステで光学やSARの画像は得られるようになりつつあるけど、早期警戒衛星みたいなヤツの民主化はいつになるのかな。SRBM以上を速報できるようなシステムがあると時々役に立つと思うんだけど。理想的にはPAC-2程度を見つけたいが。ただ、実際にあったものを「あった」と言うのは良いとしても、無かったものを「無かった」と言うには、かなり精度の良いシステムが必要になる。どれくらいの信頼性が得られるか。

 LEOから上層大気を透かして見るようなセンサになるだろうから、大量の衛星が必要になる。収益化が難しい情報だから、民間主導でやるのは難しそうだ。光学衛星に相乗りして、オンボードでフィルタリングして、怪しいイベントがあれば衛星間通信で隣の衛星にも同様なイベントがないかを問い合わせて、みたいなセンサを作れれば、比較的安価に速報を出すことはできそう。関心度の高い地域では直上を通過する際に目標を指向して光学観測、それ以外は地心指向で地球の縁を観測、みたいな運用モードになるのかな。

 センサのテストが難しいのが難点。米軍とかだと自国のミサイルのテストに合わせてセンサも試すみたいなことができるけど、民間だと気軽に撃つことができない。まあ、最近は軌道投入用のロケットの打上げも多いし、センサさえ軌道にいくつか置ければ、という感じもする。衛星打ち上げ用ロケットはICBMクラスだから小さい方の試験には使えないけど、とはいえでかいものが見えなきゃ小さいものも見えないし、まずは簡単な方から試していく方針で。

 光学衛星の会社だと事前に発射予定が公開されているロケットに関しては上空から撮影したりしてるんだろうか。直上を通るようなパスがあれば高解像度で撮って広報的に使えるし、遠距離からしか見えない軌道でも宇宙空間を背景に見たときに熱源がどういうふうに見えるか試したり。SARでもロケットの打上げに合わせてその周辺を観測して、どういうスペクトルが見えるのか試したりとかはしてるのかな。SARはビームが細いから早期警戒みたいな使い方は難しいのが難点。やはり強烈に光っている相手なら光学のほうが楽そう。



 一定期間で暗号化が解除される(平文に戻る)暗号化方式があったら面白そうだなー、みたいな空想。

 かつての占星術師が残した記録みたいに、その時点では海の物とも山の物ともつかないようなデータだが、とはいえコストを掛けて取得したデータを、短期的には独占したいが長期的には人類が使えるようにしたい、みたいな用途。

 主に企業みたいな営利組織が研究した内容とかを想定しているけど、営利組織が取得した実験データが数百年後に価値を持っているかというとちょっと疑問。まあ、情報保存コストが安くなれば負担できないコストではないだろうし、大量にあればいくつかは価値があるだろ、みたいな楽観的な予測。

 学術的な公開かつ長期保存を目指したアーカイブみたいなものはあるけど、短中期的には非公開だが長期的には公開を目指したアーカイブ、みたいなものってあんまり聞かない気がする。最近は情報セキュリティとかがうるさくて不要なデータは速攻で削除するだろうからなぁ。

 時限で壊れる暗号ってのが難しいよなぁ。100年後のスパコンで解析できるくらいの暗号化、とか考えても、じゃあ具体的にどういう暗号強度ならそれを満たせるんだ、という。

 非対称暗号で秘密鍵を物理的に手の届かない場所、例えば軌道周期が数十年になるような太陽周回軌道に突っ込んで、軌道をうまく調性してやれば直近100年で復号することはできない暗号みたいなものは作れる。ただ、秘密鍵を確実に地球上から破棄したことを保証するのが難しいのと、将来的に宇宙開発が進んで秘密鍵を回収する陣営が出ないとも限らないというのがネック。



 サブmオーダー(UWBの数cmとか)みたいな精度が不要な屋内測位って、やっぱりIMESがあると便利そうよなー。Bluetoothみたいに測角する必要がないからシステムがシンプル。既存のハードウェア(高周波回路)を使えるから追加コストはほとんど不要。普及しなかったのが悔やまれる。まあ、精度が不要なら低出力なBluetoothのビーコンを置いておけばいいのかもしれないけど。IMESと同じように適当な位置情報が入ったメッセージを数秒間隔でブロードキャストする感じで。

 最近だとPTPみたいな時刻同期方式もあるし、Ethernetケーブル1本でPoEで給電しつつPTPで時刻合わせして、みたいなこともできるから、GPSと同じように、時刻ベースで簡単な測位演算を行って、IMESの元々の想定よりも少ない送信機で高い精度が得られそうな気もする。PoE/PTPを使うならEthernetで常時接続が前提だから、ネットワークから分離されたら送信機能をロックするみたいな機能も作れるから、ハードウェアの管理も楽になるし(オリジナルのIMESはハードウェアは管理が厳格だった)。PTPにもNTPと同じように認証の仕組みもあるだろうから、サーバーが正しくないならRFを出さない、みたいなインターロックも作れるだろうし。

 しかし、PoE/PTPだと、施設内にLANケーブルを敷設したり色々とコストがかかるのがネック。工場みたいにノイズの多いところで使おうとすると面倒なことになりそう。そうなると、IMESオリジナルの単独で使うビーコンのほうが楽という話になって、それならBluetoothビーコンでもいいじゃん、ということになるんだろうな。


 原理的には、PTPに対応したWiFi親機と子機があれば、WiFiのToFで測位もできそう。測位精度は頑張って10mオーダーだから精密な測位には向かないけど。PTPが普及して全体的に精度が改善すれば1mくらいは出るかな? メッシュWiFiを常に5台程度の親機が見えるような密度で配置すれば、比較的高精度の測位と、ついでに超高帯域幅の通信ができる。両者を併用したい用途が思いつかないけど。



 YouTubeのURLパラメータでt=0sをつけると指定が勝手に消えるの、地味に不便な仕様。BGMに使っている動画とかで、次に開いたときに最初から再生したい動画とかで。

 t=1s以上にしておけば消えないから、1秒未満だけ特殊な処理が走ってるんだろうけど。



 ACSの最近のバージョン、リソース管理に難あり? 起動直後からゲームを遊び始めるとCPU使用率が100%になって処理落ちする。OS側や他のアプリケーションを含めて広い範囲に影響がある。起動直後の画面(時代を選ぶ画面)で数十秒くらい置いてからゲームに入れば問題ない。

 あと、終了時にもなんか変な挙動がある。ゲームのシステム画面で終了させるとめちゃくちゃ重くなる。タスクマネージャーからアプリケーションを終了させれば問題ない。

 あと、ランチャーが時々(一日に数回)ポップアップしてくるのがウザい。


 収集系のサブクエ、探索中に見かけたけどメインストーリー優先で放置していると、マップに表示されないからあとから探すのが大変なやつ、凡例を開くと未回収を一覧で表示できる機能があるのを知らなかった。こんな便利機能があったなんて。


***


 陸自のUH-1とAH-1




 APS-C、910mm、トリミングなし。

 かなり低い高度を飛んでいた。UHはバタバタというローター音に混じってキーンというタービン音も聞こえた。


 翌日や翌々日もUH-1は飛んでいた(AHは見かけなかった)。ただ、高度は初日に比べてかなり高かった。



 当該時刻のMode-C応答

 高い高度から降下している2つは旭川空港に着陸した民間機。低い高度を上下しているのがAH/UHだと思うけど、40分もずっと受信範囲にいるのはちょっと謎。耳に聞こえる範囲だともっと狭い時間しか飛んでいなかった。近く(聞こえない程度に遠く)をうろうろしていたのかも。

 デコード不良のデータが大量にあるけど、単に信号レベルが低くて、トリガはされたけどデコードはできない、みたいなMode-A/Cが大部分。あとは単にリプライが重なって不正な応答になっていたり、民間機のMode-S系だったり。

 Mode-A応答(非Mode-C応答)は、一つが日高管制区域で使っているスコーク、もう一つが1200だった。


 特に低高度を飛行しているときの拡大

 上にいるのがUH、下にいるのがAHだと思う。

 AHは0320o(FL10)、0330o(FL11)、0730o(FL14)、あたりが出ている。FL11とFL14はハミング距離が1なので、ビット誤りで誤読した可能性がある。FL14は振幅が不安定、波形が汚い、コヒーレンシーが悪い、などの特徴があるので、こちらが誤読、FL11が正しい高度だと思う。FL10もコヒーレントだから、最低高度はFL10まで下がった可能性がある。


 UHと思われる、FL20、FL23の波形

 信号強度が明らかに違うので、たまたま近い高度を飛行していた別の機体からの応答と考えられる。目撃したのはAH-1が2回、UH-1が2回だけど、2回とも同じ機体であるかどうかはわからないから、この時間帯は最小2機、最大4機が飛行していたと考えられる。

 FL20とFL23は角速度が似ているけど、他の機体も似たような角速度だから、おそらく防衛装備用の無線機として精度がキッチリ管理されていて、角速度は受信側が支配的っぽい気がする。機体ごとにトランスポンダに個体差があるとそれを使って機体を識別できるし、機体を識別できれば稼働率とか運用の詳細がわかるから、電子戦や防諜を考えると避けたい(機体のシリアルを読めば同定は可能だけど、文字を読むには高解像度の画像が必要になる。SIGINTで同定できるなら色々楽になる)。トランスポンダに限らず無線機器には同じことが言えるから、自衛隊としても周波数を安定化させるインセンティブはある。角速度に個性がないのはそれで説明できると思う。まあ、サンプル数が少ないから、偶然の可能性も排除できないけど。



 瞬時値であるFL10からQNH1012mbar(Fr24で取得した旭川空港のMETAR)を適用し、このあたりの標高を引くと、対地高度は115m程度となる。ただ、もう少し標高が低い場所をFL11で飛んでいた場合は対地高度160m程度となるから、今回のデータを元に、直ちに航空法違反の飛行を行っていたと断定することはできない。



 たまに米軍機や自衛隊機が異常な低空飛行をしていたみたいなことが話題になるので、じゃあトランスポンダのログ取っておけばよくね?ということでサンプリングして早9ヶ月ほど? ようやく怪しいデータが取得できたけど、結局これだけじゃ判断できないという当たり前の話。Mode-Cは高度情報しかないから、AGLを得るためには水平面を拘束する必要がある。Mode-Cだけじゃできない。

 MLAT受信機を作ってある程度の基線長で4箇所くらいに配置しておけば水平面も固定できるだろうけど、とはいえ運用の手間が大変そうだなぁ。受信機自体は1.09GHzを低い周波数に落として10Mspsくらいでサンプリングして、強い信号が入ってきたらGPSでタイムスタンピングしてSDカードに保存しておいて、後で複数受信機からまとめて回収して解析して、みたいな感じでやるなら、受信機1個あたりの単価はそれほどのものではないだろうけど、とはいえいかんせん数を揃えなきゃいけないのが大変。基線長を稼ごうとすると誰かの敷地に置かせてもらうみたいな交渉も必要になるし。定常運用したいなら個人の遊びの範疇からはみ出しそうだ。


 天球カメラと組み合わせれば、少なくとも方位は得られる。原理的には仰角と高度から距離も得られるけど、低高度の目標には精度が出ない。2箇所のカメラでθ-θで水平面を拘束して、Mode-Cで高度を拘束する、あたりが落としどころか。


*


 別の日

 青地に橙のストライプ、警察のヘリかな。FL50くらい。

 日没後20分くらい。このカメラは流し撮りモードは無いので、手ぶれ補正はOFFで撮影している。APS-Cでf910mmで1/15sでも、連写すれば何枚かはブレずに写る。20枚弱撮ってほぼ完全にブレ無し写ったのはこの1枚だけだから運要素も強いけど。運というか、筋肉の問題というか。あとは慣れの問題もあるだろうし。下手に支えようとせず、角運動量に任せて動かせばいいはず。

 Fr24だとAW139とMil or Govという説明があって、BaroAltとLatLngはあるけど、ICAOアドレスやGPS Altみたいな項目はない。軌跡の感じからいってもMLATっぽいけど、機種や政府所属というのはどうやって情報を得ているんだろう?


***


 車載用みたいなGPSアンテナって、グランドプレーンめちゃくちゃ大事なんだな。延々衛星を見つけられなくて悩んでいたんだけど、屋根の鉄板の上に乗せたらかなりきれいに受信できるようになった。ベランダの手摺みたいな狭い金属に乗せるだけだとあまり効果がない(無いわけではない)。だいぶ時間かかったけど、とりあえず自分で書いたコードの問題じゃないとわかっただけ収穫。



 2.4Mspsでサンプリングして、ファイル系時刻(横軸)と、GPS秒数とファイル系時刻の差をプロット。最初のオフセット分とクロックエラー由来の傾斜は除去してある。不連続な場所が衛星をロストした箇所で、1回あたり40us程度のジャンプがある。

 1ブロック96サンプルで転送して2.4Mspsで40usなのか、偶然にその程度の量が落ちているのかは不明。サンプリングレートを変えて比較してみればいいんだろうけども。


***


 C#の生文字列リテラルでタブ文字を使うの、いちいち\\tを入れて.Replace("\\t","\t")で変換してたんだけど、生文字列リテラルの中にタブ区切りを入れればいいんだな。まあ、そりゃそうか、という気はするけど。Visual Studioは文字列の中身でタブキーを押しても1個以上の空白文字(20h)を挿入するから、生文字列リテラルの中にタブ文字(09h)を入れるのは地味に面倒くさい。別のエディタ(メモ帳とか)でクリップボードにタブをコピーしてくるか、あるいは生文字列リテラルを作るときは一旦\\tを入れておいて、VSの置換で正規表現を使うか。

 改行コードを選べないとか、生文字列リテラルは低レベルの部分で使おうとするとちょっと不便。



 IEnumerable<int> Func()でyield returnを使うみたいに遅延評価されるメソッドを、戻り値は不要だけど処理はやってほしい、みたいに呼ぶときって、どうやって呼ぶのがいいんだろう? Func.ToArray();はちょっと冗長な感じ。foreach(var a in Func());みたいに呼ぶのも、外側には公開されないとはいえvar aの定義がちょっとあれだし。とはいえ、for (var a = Func().GetEnumerator(); a.MoveNext();) ;みたいにやるのもアホらしいし。やっぱりforeachで読み捨てるか、それが嫌ならそれをラップする拡張メソッドを作るしかないのかな?


2025年6月24日火曜日

小ネタ



 だいぶデカいけど、機能を考えればまあしょうがない大きさではあるか。量産するんだったらひと回り小さくなるんだろうけど。

 見た目とか名前が自衛隊装備品っぽいけど、自衛隊の無線通信のセキュアな情報に関わるから自衛隊が管理したいのか、あるいは他の組織(警察や消防)には配備/教育する余裕がないから、ある程度特殊な通信機器でも組織的に扱えるという理由で自衛隊が持つことになったのか。

 近距離高速の通信だけでなくて、山を回り込めるような長距離通信機能もあると便利そうよなー。端末を運んで大容量通信を行うだけでなくて、どういう情報を誰が持っているか、どこに行けば入手できるかを把握できるような機能。HAPSが普及すればそういう機能もわりと簡単に作れそうだけど、現状はHFとかで飛ばすしかないから厳しそう。



 次の選挙で投票を呼びかける某政党のパンフレット等が入ってたけど、「内部資料」と書いてあるのがアレだな。普通にパンフレットを配布したら多分何らかの法に引っかかるんだろうな。で、「これは有権者に配布する資料ではありませんよ、関係者しか見ちゃいけない内部資料ですよ」という扱いにしてるんだろうな。



 10年以上前に買ったJustSystemsのソフト(大昔に使用を終了)、最近になって「重要なご案内」と称してサポート終了済みである通知と新しいバージョンへの買い替えの案内が毎日届く。いくらなんでも毎日送ってくるのはやりすぎだろうよ。。。



 Amazon | TRB/TRB MIL-STD-1553B Twinaxケーブルアセンブリ、長さ2フィート、PL75-47コネクターx2。 | Remington Industries | ケーブル 通販

 amazon.co.jpってこんなものまで売ってるのか…… 価格だけ見れば、ちゃんとしたケーブルAssyっぽい値段。こんなもの売れると思えないんだけど、なんで20近い出品者が合わせて30本くらい出品してるんだろう?



 ChromeでYouTubeを再生したら「オーディオレンダラエラー」が出て、OSの再起動を要求する画面。数ヶ月に1回くらい起きる気がする。原因がよくわからない。OSを再起動しなくても勝手に治る気がする。前はどうだったか覚えてないけど、今回は再起動しなくても治った。ただ、何を契機として治るのかもわからない。

 この症状のときは、ChromeからはYouTubeだけでなく、ローカルのMP4ファイルを開いても再生できない。同じ動画をEdgeで開けば問題なく再生できる。で、また同じファイルをChromeで開くと、再生できる。その後はYouTubeとかも問題なく再生できる。謎い。



 AndroidのQuick Share、対Windowsで使おうとすると不便な気がする。

 Windows側でQuick Shareクライアントを起動しなきゃいけないけど、1回目の起動時は高確率でハングアップするから、タスクマネージャからnearby_shareを殺して蘇生させなきゃいけないし、受信するときもPC側で受信許可の操作が必要になる。1回正常に起動してしまえば問題ないから、OS再起動のたびに1回の手間と考えれば、そう大きい手間ではないとしても。

 Quick Shareがもっと使いやすいならそっちを使ってもいいんだけど、現状ではBluetoothのほうが便利。ただ、最近はAndroid側でBluetooth転送を選択すると毎回Quick Shareへリダイレクトする画面が挟まるから、操作が煩雑になっている。

 Googleって時々ユーザーエクスペリエンスを悪化させる変更を平気でやるからなぁ。最近はChromeのデザインが変わって訪問済みと未訪問のリンクの色がめちゃくちゃ似てて不便になったり(セキュリティ云々のvisitedとはまた別)。訪問済みと未訪問のリンクの色が似てるって相当不便なはずなんだけど。色分けしたら訪問済みのサイトが別のサイトにリークするから危険、とか言ったって、じゃあ以前訪問した正規のサイトと新しく出てきた偽造のサイトが同じ色(見分けがつかない状態)で表示されるのは危険じゃないのかよ、って話だし。まあ、Chromeは訪問済みと未訪問で別の色が表示されるから、「同じ色で表示されるようになった」じゃなくて「似たような色で表示されるようになった」という、単純な改悪だけなんだけど。Googleは時々本当に頭の悪いことをやる。


***


 コードレスチャイムのリモコン(何年か前に買った製品)。なんか調子悪かったので、ついでにRFのサンプリング(結局、リモコン側の電池の電圧低下だったっぽい)。


 このチャイムは3chを設定できるので、切り替えながら3回送信している。1個目の振幅変調成分は見かけ上のものだと思う。


 ch Aの全体(I軸だけ、以下同じ)。


 末尾の拡大

 13個のパルスを繰り返し送っていて、その中9パルス目は立ち上がりが早い。

 繰り返しの最後はバーストを一回送っている。


 ch Bの末尾

 同様に13パルスの繰り返しと、最後にバースト。長いパルスは8パルス目。


 ch Cの末尾

 同様。長いパルスは7パルス目。


 13パルスを36ペア、その後にバースト、パルスの立ち上がり位置を替えてチャンネル番号を変調、という感じか。

 最後にバーストがあるってことは、各ペアを積分してSNRを稼いで、最後にバーストで積分を壊している感じなのかな。


 受信機側をバラしてみると、RF周りはコンデンサ・コイル・トランジスタで共振させて、それをCOBに引き込んでるっぽい。アンテナっぽいパターンとかワイヤが一切無いのが面白い。インダクタに磁場を拾わせてるんだろうか? 


***


 GPSの電離圏補正情報を受信する方法を考えてるんだけど、なかなか難しい。

 DataId1, SvId56だけに限っても、更新タイミング(コンステへ伝播する速度が遅い)の関係で新しい情報と古い情報の識別を考えなきゃいけない(単に受信タイミングだけで振り変えると、コールドスターで最悪値24時間古い情報を使い続ける)。

 QZSSも含めると、DataId3, SvId56とかDataId3, SvId61も、同様に識別して、受信機位置で使い分けなきゃいけない。

 電離圏補正情報にもIODx(IODI?)が欲しかったな。SvId56には14bitの予備ビットがあるんだから、IODIを乗せても良かっただろうに。



 GPS衛星のエフェメリスの計算で位置・速度・加速度が得られるけど、衛星の加速度って何に使うんだろう? ドップラーレートと合わせて受信機の加速度が計算できるはずだけど、ドップラーレートはドップラの微分だから、速度を微分して得た加速度と大して変わらない気がするのだが。

 車でカーブを曲がったときのデータからドップラを微分してドップラレートを得て、加速度を計算してみたけど、意味の有りそうな結果は得られなかった。計算方法が間違ってるのか、車程度の加速度だとノイズに埋もれてるのか。交差点みたいに減速・加速のデータならともかく、巡航中のカーブはよほどの速度・曲率でもない限りはあんまり加速度もなさそうだしなぁ。



 前に札幌に行ったときに取ったIQファイルから測位演算

 サニャック、電離層(QZSS Japan)だけ考慮、対流圏とかは未補正。衛星9個でHDOP1.24くらい。右上から左上に向かっていて、右下側の車線を走っているけど、ちゃんと道路の片側を通っている。さすがに車線レベルの精度は出ないけど。

 高度方向はノイズが多い。若干上にバイアスがあるけど、概ね妥当な結果が得られている。アンテナは車の屋根に積んであるから、路面から車1台分上にオフセットすると考えれば、かなり良い結果とも言える。


 QZSS SLASの補正値を加えると、水平方向には若干変わるけど、ほぼ変化しない一方で、垂直方向はかなり上に(10m程度)バイアスが出る。基準点(札幌)とは30kmくらいの距離で、標高も石狩平野の中でほぼ同じ高さだから、補正値に対する補正は行っていない。

 本来は対流圏の補正を行うべきなんだろうけど、SLASの補正結果の擬似距離は 補正後擬似距離 = 擬似距離観測値 + 補正値 + ユーザー対流圏補正値 - 基準点対流圏補正値 で計算して、対流圏はユーザーと基準点の差分を加える形になる。つまりユーザーと基準点の距離が十分に近い場合は打ち消して対流圏補正値は消えるから、今回の場合は無くてもいいはず。

 電離層の計算方法はIS-GPS-200にも書いてあるけど、対流圏の計算方法ってIS-GPS-200でもIS-QZSS-PNTでも全く言及されていないのが不思議。IS-QZSS-PNTでは1箇所だけ出てくるけど、UREの説明で「電離層や対流圏も含むよ」と言及しているだけに過ぎない。



 ΔPRの残差

 単独測位とSLAS補正を、電離層と対流圏の有無で比較。全衛星のRMSで比べればどの手法も差は無い。



 空港のシュードライトの研究で「特に垂直方向」の精度が改善するみたいな話があるけど、GNSS(含シュードライト)の観測値って視線方向の距離だから、地上にシュードライトを置いても垂直方向の改善は期待できないような気がするんだけど。


***


 試しに放物面を3Dプリンタで出力

 壁の厚さは1mmに設定。下部は問題ないけど、上部はかなりペラペラ。外周を囲うような補強が必要だな。底面はベッドに張り付く+三脚固定用の穴とか色々開けてるので4mmの厚さだけど、造形時間の半分近くがここに食われた。

 焦点近くにマイクをつけて、前方で音源を動かしてみると、確かに指向性はありそう。ただ、思ったほどじゃない。大きさが大きさだから指向性はあまり無いだろうとは予想していたけど、集音性はもっと高いと思っていたのだが、かなり小さい。マイクの音を受ける部分が直径数mm程度だろうから、それより遥かに広い面積(前から見て150x100mm)から集めたらかなり高い利得が得られると思っていたんだが。さすがに波長に比べて小さすぎるか。とはいえ音響の波長って。。。



 なんか既視感あるなーと思ったら、イギリスの東海岸に置いてあるやつだ

 Acoustic mirror - Wikipedia

 試作だけしたけどChain Homeの実用化のほうが早くて結局使われなかったと言われているやつ。

 音響ミラーは放物面でなく球面で作っていたらしい。開口率は悪くなるけど、焦点の位置を選んでビームステアリングできるのが利点だそう。アレシボ300mやFAST500mが球面なのも同じ理由。



 Parabolic microphone - Wikipedia

 Parabolic microphones were used in many parts of the world as early as World War II, especially by the Japanese. (Google翻訳:パラボラマイクは第二次世界大戦初期から世界各地で使用され、特に日本では広く使用されていました)

 まあ、使ってないわけ無いだろうけど、あんまり印象ないな。



 もう少し大面積

 230x150mm、f200mm、軸外し。造形時間がかなり長い。ちなみに、短辺を上下に立ててスライスすると6時間、長辺を立ててスライスすると7時間、くらい。また、背面をグリッドでなく100%ソリッドにすると3時間くらいになる。インフィルは早送りで一気に詰め込めるから、かなり早い。レジンとかパウダーだと体積率がそのまま消耗品の使用量になるけど、FFFなら内側は中空になるから、下手に凝って肉抜きするよりもスライサーでスカスカにしたほうが圧倒的に楽。見た目にこだわりたいとかならともかくとして。


 230x230mm、f175mmの軸外し

 170gで4.5時間。

 150x100に比べれば面積比で3.5倍程度だけど、1辺では2倍弱程度だから、音響の波長(1m弱~)だとどちらも波長未満であることに違いはない。


***


 C#のCursor.Show()/Cursor.Hide()ってカウントするんだな…… なんでェ。。。

 Curosr.Show/HideはWinuser.hのShowCursorを呼んでいるだけ

 ShowCursor 関数 (winuser.h) - Win32 apps | Microsoft Learn

 初期値0のカウンタがあって、Showでインクリメント、Hideでデクリメントして、0以上の場合は表示される。

 定期的に条件を判定してShow/Hideを切り替えるような処理をするときはラップしなきゃいけないのがちょっと面倒。



 C#のGraphics系の処理、いつの間にかparams ReadOnlySpan<PointF>とかに対応しててすごいな。GDI+系処理って完全に捨てられたものだと思ってた。

 Graphics.DrawLines メソッド (System.Drawing) | Microsoft Learn

 .NET 9から対応したらしい。最近はConsoleばっかりでBitmapをゴリゴリ使うような遊びをしてなかったので気が付かなかった。

 Spanの対応で、List<(float,float)>list;みたいなのを用意して、適当に座標を突っ込んで、g.DrawLines(Pens.Black, MemoryMarshal.Cast<(float, float), PointF>(CollectionsMarshal.AsSpan(list)));みたいにGraphicsに書き込めるようになった。List<PointF>で座標ごとにPointFを作らなくても済むし、list.ToArrayとかで配列に変換する必要もない。

 ソースリンクを見てみても、ちゃんとSpanをfixedで固定して得たポインタをGdipに渡しているから、ToArrayをラッパーで隠しているわけでもない。


 こうなるといよいよMarshal.CopyでSpanが使えないのが結構不便。



 C#でint配列に入ったARGBをBitmapにするやつ。

var ptr = GCHandle.Alloc(argb, GCHandleType.Pinned);
try
{
    using var bmp = new Bitmap(
        width, height, width * 4,
        PixelFormat.Format32bppArgb,
        ptr.AddrOfPinnedObject());

    bmp.Save("log.png");
}
finally
{
    ptr.Free();
}

 argbの型は何でもいい(GCHandle.Allocはobjectで受け取るので)。今回はint配列でargbを入れているけど、好きな形を使えるはず(タプルはワードアライメントがあるはずなので、24bppとかを使うならreadonly record structとかでラップする必要があるはず)。

 Bitmapはポインタを持っているだけなので、Bitmapを捨てるまではgcHandleを捨てちゃだめ。Bitmapのインスタンスを作るときにメモリコピーが発生するわけではない。逆に言えば、bmp.SetPixelとかGraphics経由で書き込めば、argbにも反映される。Bitmapを戻り値で返すとかで、与えられた配列が生きていることを保証できないなら、BitmapのコンストラクタやCloneでメモリをコピーする必要がある。

 ちなみに、bmp.LockBitsでポインタを取ってそこに書き込んだら元の配列に反映される。ただ、gcHandleとBitmapData.Scan0では別の場所を指している。論理アドレスが違うだけかもしれないけど。BitmapのインスタンスとLockBitsで同じPixelFormatを与えた場合はMarshal.WriteInt32とかで書き込んだ値が直ちにargbに反映されるけど、違う値を与えた場合はすぐには反映されず、bmp.UnlockBitsで閉じたら反映される。また、その場合、例えばBitmapのインスタンスが32BppArgbでLockBitsが24BppRgbの場合、argbがゼロクリア(完全透過画像)でも、UnlockBitsで閉じたらargbの上位8bitは0xFF埋めになる。

 一部の操作でちょっと不思議な挙動をしているような気もするけど、今回はデバッグ用に画像を保存するのが目的だったので、あまり深堀りせず、放置。


 固定したint配列を取ってきて開放したりするクラスを書いて、Bitmapのインスタンスにそれを与えてやれば、Bitmap経由でGraphicsも使えるし、Span経由で読み書きもできるから、MarshalのSpanが使えない制限は多少回避できる。内部でどういう処理が走ってるのかわからないので本当に効率が良くなっているのかはさておき。



 C#の引数でoutはf(out var result);みたいに受け取れるのに、refは先に変数を宣言しなきゃいけないのが地味に不便な気がする。f(ref var result=default)みたいな機能があれば便利そうな気がする。



 usingでDisposeを呼ぶ構文で無名変数を作りたいんだけど、C#だとそういう処理ができないっぽいんだよなー。確実にクローズをやりたいメソッドで戻り値にIDisposeを返してそのクラスでクローズを行い、実際に触るデータはoutで返す、みたいなときに、using _ = method(arg1, arg2, out var result);みたいな感じで呼びたい。_ = method();みたいに戻り値を明示的に破棄する構文はあるんだから、同様に明示的に破棄しつつusingでDisposeは呼んでもらう、みたいな構文もほしい。


 Taskの静的プロパティとかでIsCompletedにtrueを返すようなモノって無いのかな。タスクを実行しているかどうかの変数を使い回すときに、ひとまずnull以外の状態を入れておきたいような場合。var task=Task.Run(()=>{});みたいに空のタスクを入れてすぐ終わらせてもいいんだけど。というか空のタスクを1回走らせてそのタスクを使い回せばいいのかもしれないけど。