2026年5月20日水曜日

小ネタ






 工作機械メーカーはそれぞれで残すみたいな話はどうなったんだろう。本社があれだから、下も無駄なことせず全部まとめて最適化しよう、みたいなことなのかもしれないけど。/* Win7ってだいぶ前からセキュリティパッチないのでわ…… */



 数式を使わない物理学入門 アインシュタイン以後の自然探検 (角川ソフィア文庫) | 猪木 正文, 大須賀 健 | 工学 | Kindleストア | Amazon

 初版は60年以上前なので、現代の理論からは外れた説明もいくつか。そういう意味では他の人に積極的に勧められる本ではない。とはいえ、宇宙論とか天体物理みたいな内容のブルーバックスを5冊とか10冊とか読んだあとにさらっと読んでみると面白い部分もある(主に地の文で)。

 昔の人が書いた文って同じ理論屋とか実験屋でも今の人達とは考え方がだいぶ違うような気がする。というか、たぶん人間性(ユーモア等まで含めて)はそう変わってないんだろうけど、文字として表現する範囲が狭くなったというか。昔はちょっと突飛なことが書いてあってもクスッと笑って読み飛ばしていたような内容が許されなくなったというか。



 今週は日本全国をドライブしたり、運転に疲れたら本棚の整理をしたりしていたので、進捗ありません。


 司書ゲー、数学のベクトルの本には矢印が書いてあったり、芸が細かい。

 最初の400冊ちょっとまで1行も揃わずに進めていたので、いっそのこと魔法無し縛りでやろうか、とか思ったり。全然進まないけど。



「きょくていおん」(^ω^#)

 航空宇宙界隈の"極"を"ごく"と読むのってちょっと特殊よな("極上"とか"極楽"とか"ごく(極)最近"とか、広く知られて/使われているいるものもあるけど)。最近は普通のニュースでも極超音速みたいな使い方が出てくるけど、それで航空宇宙分野はこういう読み方をするんだ、と普及するほどではまだないかな。

"極低温 読み方"でググっても"きょくていおん"としか出てこないし。


 前に遊んでいたのはXbox One XのFH4だったので(PCでも少し遊んでたけど)、車のロードやファストトラベルがめちゃくちゃ早く感じる(今回はCPU直結のNVMeにインストール)。

 Gacha City Radioのトークが結構好きなのでもうちょっとバリエーションほしかったな。欲を言えばyoutubeとかでポッドキャストを配信してほしい。

 ゆっくり運転するだけでも楽しいけど、それだとクレジットが稼げないので車を買ったりガチャ(ホイール)を回して限定アイテムを取ったりができないのが難点。ベーシックインカム欲しい。

 Drivatarの分解能はもうちょっと細かくあってほしかったな。標準だと楽に勝てるし、その上の上級は歯が立たないし。

 事前の予告通り、私有地に巨大な電波望遠鏡を設置することもできて、敷地が広いので大きなアンテナを複数個設置して小型の干渉計アレイを作ることもできるけど、とはいえ描画距離が狭いので敷地の数分の1程度の距離(面積比で数%程度)しか同時に見えない。アンテナは巨大なもの1個しかないから、レインボー干渉計みたいにすることもできない。本来は自由にコースを作って遊んでね、というフィールドだと思うんだけど、とはいえ描画範囲狭すぎじゃないか、って気がするのだが。


 FH6はとりあえず金バンドを取って一区切りついたし、今回はサブスクじゃなくて買い切りなので1か月以内に徹底的に遊ばなきゃみたいな理由もないので、次週は平常にある程度戻す予定。

/* そういえばジャック・ライアンの新シーズンが始まるんだっけ…… */



 最近夜中にFr24で北海道周辺に時々詳細不明のドローン(クアッドコプターのアイコン)が写っていて、AIRCRAFT TYPEにMQ-9Bと書いてある。ICAOコードは表示されていなくて、MLATっぽい映り方。ただ、うちのdump1090にはそれらしいレジ/ICAOコードが見えている(位置情報は無し)。自作のM-3AC受信ソフトではわずかにノイズ程度に信号が入っているけど、デコードできるほどの強度ではない。

 dump1090でICAOコードを取れるならFr24に表示されていても良さそうな気もするけど、そうなっていないのが謎い。


2026年5月13日水曜日

小ネタ






 アメリカの陸海空宇軍の公式広報ってあんまり印象にない気がするんだよなー。特にYouTubeでは。空軍なんて動画の投稿頻度は著しく低いし。

 自衛隊も各レベルで広報チームがあって、最近は海自は結構広報に力を入れている感じだけど、陸自はわりあいとっ散らかってるイメージ。ある程度映像制作に強い部隊もいれば、とりあえずありあわせの(画質の悪い)機材で頑張ってるというような感じの映像もある。

 オーストラリア国防軍の広報チャンネルはかなり優秀な印象。継続的に動画を公開しているし、品質も高いし、ちゃんと軍の広報とかリクルートみたいな方向性のコンテンツだし。




 スイス式CNCを縦に4段重ねたような機械。標準でバーフィーダー4本とライブツール対応タレットが4個、追加で対向タレットや刃物台を2or4個載せられる。コンパクトでスループットが出るから細かい高精度部品を大量に作らなきゃいけないような用途には便利そうだ。6主軸みたいな巨大な設備に比べれば安価だろうし、全体をブン回す(&よりを戻す)無駄も無いし。工程毎に工具を用意できるわけじゃなくて、すべての主軸に必要な工具を入れておかなきゃいけないのが大変そうではあるけど。工程分割とか立ち上げの手間も考えれば、中量生産では良さそう。本格的に大量生産しなきゃいけないならもっと別の器械を使うべきだろうけど。



「ニンテンドースイッチ2」1万円値上げへ 半導体価格上昇で | NHKニュース

 PS3が6万円で高いと言われていた時代も今は昔。



 ニュージーランド 新フリゲート艦候補に日本の「もがみ」型も | NHKニュース | 防衛省・自衛隊、ニュージーランド、イギリス

 日本はライセンスとコンポーネントの販売だけやって、船体の製造や組み立てはオーストラリアの造船所でやればいいんじゃねって気もするけど、その場合はオーストラリアから再輸出するみたいな手続きになるから、日本の法的に難しかったりするのかな。海自向けをオーストラリアで作って、日本の造船所のキャパをニュージーランド向けにスライドして、とかならあるいは?



https://www2.jpgu.org/meeting/2016/PDF2016/S-GD23_P.pdf

 日本地球惑星科学連合2016年大会

 一番最初に、閏秒の挿入を回避する方法の提案。提案時点で3年に1回の挿入ペースなので、1秒の定義を1秒/3年だけ変更する。閏秒の挿入は全世界で何万人もが対応する必要があるが、定義の変更は全世界で数人が対応すればいい。

 うーん…… なんで閏秒を入れるようになったかといえば、秒の定義を短期間で変えるのが面倒だからだろ。1秒の長さが変わると時間の逆数である周波数も変わる。-8乗(1Hz/100MHz)で変わると業務用の無線機器はかなりの数が対応を要する。秒の定義を変えるたびにこれらの機器をすべて一斉に更新するのは全く現実的ではない(だから1秒の長さが固定になった)。

 現代では秒の定義はほとんどすべての物理単位の定義に使われているから、秒の定義が変わるとほとんどの値が変わる。秒に紐づいていないSI単位は恣意的な数値を設定したモルだけ(当初の定義では、現在では秒の単位に紐づく単位で組み立てられていた)。角度単位はSIでは定義されていないけど、推奨されているラジアンはSI単位で組み立てるとメートル毎メートルだから、定義上は秒にぶら下がっている(秒の変更には影響を受けないけど)。

 キログラム原器を使っていたような時代(上記の提案時点では現役)ならともかく、今現在では時間の単位を変えるとありとあらゆるサイエンスで数字の換算が必要になる。換算ミスをすれば大きな損失が生じるし、そもそも換算という行為が強制されるだけで莫大な損失になる。

 現在のところ閏秒は2017年を最後に挿入されていないが、逆に言えば2017年の閏秒挿入時に秒の定義を1秒/3年だけ変えていたら、閏秒を回避するどころか、今度はそれ以降3年程度の頻度で負の閏秒を入れ続ける事になった(結果論ではあるけど)。


  著者に所属が書いてないから無所属の人の提案? いくら学問は自由だとはいえ、なんでこんなものが学術団体の大会で発表されてるの。。。

 名前でググると’74年のRRLの資料が出てきて、衛星関連っぽい。その人の論文一覧を見ると衛星を使用した地震予知の話題が多そう。40年も研究者をやってる人が閏秒の導入経緯も調べずに提案するかは怪しい気がするので、同姓同名っぽそう。’72年にもRRLで書いているようだから、'70年初頭からRRLにいたとすれば、1秒の長さが地球に従属している事の手間(度重なる無線機の再調整)もリアルタイムで経験しているだろうし。

 でも全く無名の人が大会で発表できるとも思えないしなぁ。



https://www2.nao.ac.jp/~open-info/engipromo/draftparts_2015/hh14g.pdf

 鏡筒を倒立振子として扱い、トルクをゼロにするフィードバック制御で鉛直に立てる方式の提案。特殊な光学系を使って鉛直を確保する方式に比べてシンプルに作れるので、小型化が可能で、例えば火星に持ち込んで使ったりできる、とのこと。


https://www.ioa.s.u-tokyo.ac.jp/~doi/ilom_summary.pdf

http://rironkon.jp/2004pro/files/hikari_sekigai_group/hanada.pdf

 先の資料だと月だとか水沢のZ項云々とか書いてあるからまずは地上望遠鏡として作るものだと思っていたのだが、月の表面に設置する望遠鏡らしい。口径20cm焦点距離2mで10nm分解能を目指すんだそうだ。スタートラッカ的に使って、姿勢を直接計測する(LLRみたいな地上観測より高い精度を目指す)。

 曰くH-IIA相当で打上げるSELENE後続ミッションだそうで、あの頃に雨後の筍の如く提案された月着陸ミッションの中の一つっぽい。

 トルクセンサの校正とかも大変そうだけど、どうするんだろうか。長周期成分はXYステージの制御量からフィードバックするみたいな形になるのかな。



https://www.mhi.com/jp/technology/review/sites/g/files/jwhtju2326/files/tr/pdf/421/421042.pdf

 できたての美味しさを守る!「炭素の膜」で進化したペットボトル飲料 | 三菱重工機械システム

 30年に及ぶ研究の集大成。DLCコーティングでバリア(遮断)性を高めたPETボトルの開発と実用化|研究者が語る開発秘話|キリンの研究開発

 ペットボトルにDLC(ダイヤモンドライクカーボン)を蒸着させてガスバリア性を高めたもの。MHI技報が2005年で、2018年の記事で「次世代ボトル」と表現しているから、通常の普及にはまだまだかかりそうだな。

 ワインみたいに高価格帯かつ長期保存が可能で劣化(酸素の侵入)に敏感なものでは、実用化されているらしい。炭酸飲料に応用が進まないのはコスト管理が厳しくて消費速度が早い(スループットが高い)から長期間のガスバリア性が問題になりづらい、みたいなことなのかな。あとは、蒸着でボトルが多少茶色っぽい感じになるから、中身を選ぶ(色が濃い飲み物以外入れづらい)というのもあるのかも。ガスや電極を調整して足元(or首元)には色がつかないようにみたいなことをすると、ガスバリア性が悪化するし。

 成膜の原理的にはボトルをチャンバ(電極)に入れて真空引きし、アセチレンをRF(13MHz ISM)でプラズマ化するという感じ。仕組みとしてはシンプルだけど、高スループット(1-2万本/h)を達成するために高速な真空引きが必要で大変、みたいなことらしい。

 炭素と水素なので食品安全的にもクリア、リサイクル性も良好(アルミ等を貼るわけじゃないので)、だそうだ。



 調べ物中に見つけた陸自のSAMの整備用の工具の調達の資料、工具類だけで100種類以上、物によっては同じものを複数個用意していて(例えば同じサイズのスパナを6本)、トータルで1セット200個以上の工具が含まれている。SAM1セット整備するだけでも大変なんだなぁ。

 比較的大きなスパナが複数本入っていたり、かと思えば小さいトルクドライバーも入っていたり、SMA端子用のトルクレンチが異なる製品を1本ずつ指定していたり、結構謎い構成。トルクドライバーやSMA用トルクレンチが入ってるってことは車体の整備だけでなく、SAM本体側も触るんだろうけど、電気的な機器はDMM(米国メーカーの製品指定)が1種類だけだから、せいぜい電圧のチェック程度しかできないはず。情報機器は自己診断で交換すると割り切っているのか、高価なRFチェック機器は別で調達しているのか。あるいは、通常運用の範囲では壊れないという想定なのか。



 同軸ケーブルの締め付けトルク、SMAが1Nm程度、TNCが0.5Nm程度らしくて、TNCのほうが大きいのにトルクが小さいんだな。BNCなんて弱いバネで押し付ける程度だし、TNCもそこまで締め付ける必要もないんだろうけど。そもそもTNCでトルク管理できるものもそう多くないけど。



 Steamのウィッシュリストに入れてたやつがセールになるとメールが来るけど、終了の12時間前とかに「おまえほんとに買わなくて後悔しない?」みたいな追いメールも欲しい感が若干。そういえばあれ安くなってたよーな、と思って見に行ったら定価に戻ってた、が度々。まあ、来たら来たでウザいと思う気もするけど。


 司書ゲー、普通の人は「本は丁寧に扱わなきゃ!」みたいな感じで遊んでるのに、本に慣れてる人は「本を手荒に扱えるのたのしい!!」とか言ってて、面白いなって。本を読まなそうな人がめちゃくちゃ手荒に扱ってたりもするけど。

「百回に一回的中させれば、預言者の面ができる」というタイトルが占いの棚に並んでいるの、我々の世界で天文の棚に占いの本が並んでいるのと同じ感じがして、皮肉が効いてていいな。

 タイトルを読む限り本の内容も面白そうだし、どこかのレーベルが一括でライセンス契約してラノベ作家に書かせたりやってくれないかなー。Kindleで売ったり、ゲームの有料DLCで売ってゲーム内で読めるようになったり。全部10巻としても少なくとも300タイトル、パロディを除いても100タイトル以上はあるだろうから、うまく割り振れば面白いことになりそうだが。



 GPSの測位、とりあえず測位演算で正しそうな結果が出ていそうなところまでは来た。Google Earth比で水平に30m程度、垂直方向に50m程度の誤差。電離圏・対流圏・サニャック効果は未補正、衛星はGPS8+QZS2で、X=Y=Z=t=0から始めて5回で更新ベクトルの長さが5um、擬似距離残差8.2mRMSくらいになる。DLLにフィルタも入れずPD制御で周波数にフィードバックしてトラッキングしているだけにしては、だいぶ優秀な確度。1点でしか測位演算していないから精度は不明だけど。

 サニャック効果を含めても残差は7.6m程度にしかならないし、水平距離で2m程度しか移動しない。衛星の配置とかによっては効いてくるのかもしれないけど、運が良ければ無視できるのかも。適当に使う衛星を選んで、例えば東側(or西側)に密集した衛星群(低GDOP)の観測量を使うとかすれば、サニャック効果の影響が大きく見えたりするのかな。


 今までは測位を行うこと(キャリアPLL/コードDLL含め)が目的だったから測位演算の中身はおざなり(「動けばいいや」)だったけど、今回はRF(IF)周りはまあよほど下手打たなきゃ問題ないだろ、ということで(というかもう航法メッセージやコード観測値は得られているので)余裕を持って測位演算を実装。行列の処理とかもちょっと真面目に考えながら書いたり。GPSくらい有名な技術だと、Google AIとかにファジーに投げてもそれなりに答えてくれるので、調べるのはだいぶ楽になった気がする。


 GPSのクロックのaf1項、最大2^(15-43)で効くから3.73ns/sで、光速を乗じて1.12m/sくらいの感度がある。実際には0.1s程度のオーダーで使うし、実際のaf1は10mm/s程度だから、実用的には(単独測位やDGPS程度では)無視できる量ではあるけど。

 ちなみに、現在使われていないという部分は無視してaf2は1um/s^2程度の感度。



 C#で行列ってどうやって書くのが良いんだろうか。1次元配列で持ったほうがいい気がするけど、インデックスの計算の手間を考えればジャグ配列でも良さそうな気がする。1次元配列を使えばArrayPoolが使いやすい可能性はあるけど、でもいちいちDisposeを呼ぶのも面倒だしなぁ。Disposeを呼び忘れても通常の配列確保/GC負荷と同程度だから別に問題はないのだが。1次元だとストライドの管理をうまくやれば行優先行列と列優先行列を比較的シームレスに扱える利点はありそう(転置がほぼノーコスト)。でも、ジャグ配列は行優先固定とかで設計すれば添字管理が不要なのがデカいんだよなぁ(array[i][j]でアクセスできる)。

 それと、行列の添字を0オリジンにするか1オリジンにするか問題。一番の問題はC#には範囲を指定するRange型があって、行列から一部を切り出すような処理を考えたときにRangeが使えると便利だが、これが非0オリジンと相性が悪い(例えば領域全体を使う場合に..で指定すると必ず0始まりになる)。Range構文で切り出したいなら0オリジンが安全かな。



 C#のクラスでint this[int i]とdouble this[int i]みたいなものが競合するの、getはわからないでもないけど、setはちょっと謎い気がする。C++的にはgetはint getter(int i)とdouble getter(int i)だから戻り値でオーバーロード解決ができないみたいなのは納得できるけど、setはvoid setter(int i, int value)とvoid setter(int i, double value)みたいな感じで解決できそうだけど。


2026年5月6日水曜日

小ネタ


 桜も散った5月に雪が降って草ですわ






 Veritasium Can a quantum sensor detect your heartbeat from 60 km away? - YouTube

 量子磁気センサで60km先から人間の心拍を見つけることは可能か?

 クリックベイトのタイトルはともかくとして、ゼーマン分裂の説明はわかりやすくていいな。「こういう原理だよ」ってアナロジーを見せられるとたしかにそうだと納得せざるを得ない(正しく理解できているかはまた別の問題として)。


 タイトルの結論としては、そんなに弱い信号は見つけられない、という話だけど、でも、人間の心拍に限らなければ可能なんじゃね?という気はする。数Hzとかの強力な交番磁界なんて簡単に作れそうだが。それこそ、ポケベルを鳴らせばスピーカーから強烈な磁場が出てくるんだし。受信専用に設定した無線機に接続したイヤホンのイヤーピースから出る磁場とかも使えるだろうし。無線を受信させてスピーカーなりを鳴らすなら相手が電波を受信できる必要があるけど、送信側は被探知はあまり気にしなくていいから強力な電波を絞って送れば済むし、それが嫌なら向こう側から手動で磁場を出すとかどうにでもできるし。DTMFみたいに適当に変調した磁場を出せばいろいろな情報(健康状態とか)を含めて受信できるし、複数個所で到達時刻を得れば双曲線で測位もできるし。



 GPS普及で役割終えた「ボルデメ」、展望台に…有視界飛行の操縦士目線(読売新聞オンライン) - Yahoo!ニュース

 操縦士目線……??

 面白そうなアイディアではあるな。これだけの設備を撤去するのもだいぶコストかかるだろうし、大量のアンテナを載せられるだけの強度もあるし、マルチパスが大きくならないように高い場所にあるし。グランドプレーンはスカスカだから足場に使えないのが難点ではあるけど。



「ストリートファイター6」とのコラボでeスポーツギアに本格参入 ゲーミングチェア、ゲーミングコントローラー、振動タイプ「ボルレッチ」発売|ミズノ株式会社

 既存商品のラインナップを見る感じ、布製品に強い会社であって、eスポーツのデバイスに活かせるような技術を持ってる感じはしないんだよなぁ。なのでチームのウェアを提供するみたいな話は納得感があるけど、周辺機器に参入したところで……という感はなきにしもあらず。



 日本メーカーのゲーミングデバイス、OA機器某大手が作ったゲーミングマウスがプロゲーマーに酷評されてるのを見て、その動画を見る前に自分も買ってて実際に使っていてこりゃ確かにプロゲーマーから酷評されるのは納得だな、という出来ではあるんだけど、とはいえ日本メーカーらしい部分(コスト配分、日本人の手に馴染むデザイン、細かい気遣い、etc)も感じられるし、たぶん大手が本気でeスポーツに参入して、プレイヤー側からも適切なフィードバックがあれば、日本国内という狭いパイではあってもある程度の競争力はありそうな気がする。

 ただ、例えば韓国・台湾・中国みたいなアジア地域(概ね体格が近い)はすでに各国に強力な周辺機器産業があったりeスポーツに力を入れていたりというのがあるので、今から日本メーカーがそこに食らいつくのは厳しいはず。あと、欧米系の製品が体格に合わないという日本のプレイヤーはすでにアジア系のメーカーの製品を使っているはずだから、あとから参入した日本メーカーが取りに行くには、かなり強力に展開する必要がある。

 OA機器メーカーが、OA機器という「ダサい」イメージを脱却するために本腰入れてかっこいいデバイスを作るみたいな可能性はあるんだけど、とはいえ先述のメーカーはそれで大失敗してるからなぁ。/* 改めてamazonで見てみたらそれなりに新製品を出しているし、レビューもそれほど悪くなさそう。値段もアジア系の海外製品に比べると高いけど、欧米系の製品に比べれば安いし */



 観光施設で起きた事件をマスコミが毎日々々何度も繰り返し報道した挙句、開園したら「風評被害に負けずに!」みたいな報道をするの、マッチポンプがすごい。ネットで炎上したとかならともかく、それ以外の風評被害の大半はマスコミが加害者だろ。北海道のローカル民放局のYouTubeチャンネル、各々1日に何本同じ事件の動画を投稿してるんだよ。しかも容疑者顔大写しのサムネで。

 他の諸々も含めて、世の中のマスコミにもう少しでも良心があればもっと良い世界になるだろうになぁ。



https://www.hattori-hokokai.or.jp/pdf/90th_special.pdf

 光格子時計の公演の書き起こし。

 最後の方に、「提案したころはうまくいかないだろうと言われてcuriosity drivenで研究を進めた」的なことが書いてある。

 光格子時計は提案当初に18桁まで行けると示して、実際に18桁目まで出て、19桁目までは行けそう、みたいな感じらしい。セシウムは当初は10桁だったものが16桁まで、6桁の改善が進んだのと比較すると、光格子時計は2,3桁の改善はできるにしろ、発展性という意味ではちょっと厳しそうな感も拭えない雰囲気。まあ、これから四半世紀も改良を行えばもう何桁か行けるのかもしれないけど。

 光格子時計の精度があれば1ナノ秒ずれるのに30年かかるから、高速な通信で同期が楽になる、とは言われても、光格子時計を使うくらいならクロックを引き回せる距離じゃないから少なくとも数km離れた場所を想定しているんだろうけど、とはいえそんなに離れたら一般論的効果が効いてくるから結局クロック同期は必要なんじゃね?って気がするが。潮汐が同相と仮定してバイアスを掛けるみたいな使い方になるのかもしれないけど。


 モノリシック光格子時計みたいなものって作れるんだろうか? 1cm³+周辺回路くらいで16,7桁のクロックがあれば面白そうだが。しかし光的な周波数だと使いづらいから、周波数コムみたいなものも小型化して一緒に載せないと使いづらいだろうし、それにしたって相当高い周波数だろうし。

 周波数コム周りを調べてみると6G通信で使いたいとか言っているから、普及させようと思えば5年10年程度でスマホに積めるくらいに小型化できる見込みはあるんだろうけど。



https://www.nict.go.jp/publication/kiho/45/001-002/Kiho_Vol45_SI_No001-002_pp019-026.pdf

 1999年。時刻の決め方とか、HM、Rb、Csの大まかな構造とか。


 Cs原子時計でCs原子を使い捨てにしているのってなんでなんだろう? CSACみたいなデザインだとCsガスセルの中身を入れ替えずに使うから、原理的に原子時計では原子の再利用が不可能ということはないと思うんだけど。ある程度の大きさ(相互作用時間)のキャビティで再利用しようとすると原子を運ぶのが面倒(故障率マシマシ)で、10g弱詰め込んでおけば数十年は使えるから、よほどカリカリに小型化しようとしなければ使い捨てにしたほうが設計が楽、みたいなことなんだろうか。

2026-05-07追記:Csクロックは中性原子を使うので、電磁気的な力で輸送(偏向)することができない。Csクロックの図で、キャビティの前後で偏向させる図は量子的な操作によるものであって、物理的な(任意の向きに輸送できる)操作ではない。原子泉方式のように運動量をある程度操作する方式は、レーザ冷却でトラップしている。非冷却型のクロックの場合、蒸発させた原子がそのまま通過するから、かなりの速度(温度)を持っているはず。電磁波で運動量を与えて偏向させるるにはそれなりに冷たい原子(冷却)が必要になるはず。(ラックマウント程度の大きさでもレーザトラップが可能になった場合、そもそもキャビティを通過させた後に再利用するというより、トラップした原子雲をそのまま長時間使う方式になりそう)



 RF64/WAV、ヘッダ部を除けばRIFFと互換のはずだけど、SDR#が吐いたRF64は十分に小さいファイル(数十MB)でも、RIFFファイルサイズ(4バイト目以降)とdataチャンクサイズは-1(FFFFFFFFh)で埋められていて、ds64を参照しないとファイルサイズ/dataチャンクの大きさがわからないようになっている。

 RIFFでファイル/dataチャンクのサイズが-1になっていると、例えばSoundEngine Freeでは音声ファイルの長さを正しく認識できない(実際のデータの後ろに0固定の波形が続く)みたいな挙動があるけど、でも-1埋めのRF64は正しい長さ(SEFはサンプルレートが正しく読めないのでスケールがあるけど)で表示されるから、両方とも-1埋めが正しい実装なんだろうか。

 どうせRF64に非対応ならWAVとして開けないから、中途半端にRIFFとRF64を互換にする必要はない、というようなことなのかもしれないけど。



 RTL2832/R820TのDLLを叩こうとして、"rtl-sdr cb transfer status: 4, canceling"のエラーでデータが取れない現象、rtlsdr_reset_bufferを呼んだら解決。rtl-sdr.hには何も書いてないけど、サンプルアプリのソースにはReset endpoint before we start reading from it (mandatory)とコメントに書いてある。あの、そういう大事なことはライブラリのヘッダの方に書いておいてくれませんかね。。。

 rtlsdr_read_asyncのコメントにRead samples from the device asynchronously. This function will block until it is being canceled using rtlsdr_cancel_async()と書いてあるんだけど、非同期とは一体……

 rtlsdr_read_syncを使うとlibusb_bulk_transferを直接呼ぶので、バッファが埋まるまでブロッキングで動作するけど、少なくとも指定した長さのブロックが埋まれば制御が帰るので、read_asyncで完全にブロックされるよりはマシ(libusbでタイムアウトが0なので低sps+大容量バッファみたいな組み合わせだと長時間ブロックされる)。ただし低レベルを直接コールするから、呼び出し間隔が長いとデータを取りこぼしたりするはず。

 read_syncとread_asyncは、呼び出し側から見たsync/asyncではなく、デバイスに対して同期的か非同期的かという感じなんだろうな。syncは呼び出し側がデバイスと同期的に処理する必要があるから、ノンブロッキングな代わりに動作に余裕がない。asyncは間に1層挟まっているから呼び出し側(コールバック関数に渡した処理)で若干時間がかかっても吸収できる。まあ、間に挟まったバッファも無限に容量があるわけじゃないから、程度の問題だろうけど。

 結局asyncでブロッキングされるくらいなら、C#から呼ぶなら適当なタスクを挟んで、自前でsync読み出しをやるほうが便利そう。でも、適当なタスクからasyncを呼んでも、結局やることは変わらないんだよな。syncだとメモリコピーが2回減るからパフォーマンス的には有利だけど、今どき数MB/s程度のメモリコピーのコストなんて気にしても……


2026年4月30日木曜日

Fusionで螺旋と内径方向の線分を円弧で接続する

 実用的な用途だと、引きバネの末端処理で使われるような形状

***

螺旋の直径
螺旋のピッチ
円弧の半径

* 3つのパラメータには正数を指定すること

* 回転方向や上下が異なる螺旋はYやZを負数として読む

* パラメータに余裕がある(円弧の半径が相対的に十分小さい)場合、直線-円弧-螺旋はG1連続で接続されるはず。余裕がない場合はG0連続になり、さらに進むと計算が発散する

* この手法ではガイドレールは作れない

***

 直径30、ピッチ10、半径5、のようなパラメータで180度の螺旋の両端を末端処理すると以下のようになる


 3Dスケッチで各点の位置を定義し、3点通過平面で円弧を作成する。スケッチはミラーやパターンができないので、両端を処理する場合は3Dスケッチ内で対称な形を作成する。

 コイルは位相を指定できないので、螺旋の始点の角度と位置へ移動させる。コイルは三角(外部)を内側に(あるいは三角(内部)を外側に)つくり、エッジをスイープのパスに指定する(丸線をスイープで伸ばすと正しい形状にならない)。


2026年4月29日水曜日

小ネタ


 牧野フライスTOBに中止勧告、投資ファンド「大きな驚きをもって受け止め」:製造マネジメントニュース - MONOist

 日本企業が買おうとしたときにあれだけ揉めたのに、海外資本がすんなり買えると本当に思っていたんだろうか。それとも運良く買えればラッキーくらいだったんだろうか。


/* 某社は社長人事で揉めていたあたりで社長?会長?の言い回しが嫌いだったんだけど、その後に出てきた問題をみると、やっぱりね、という感じが。。。 */



 北海道新幹線の費用対効果 財務省「中止すべき水準」と試算 | NHKニュース

 なんだかなぁ。


 むしろ北海道全域に新幹線網を引いて観光の利便性(都市間移動の高速化)をすべきでは?って気もするけど、たかが北海道程度の観光(+出張等)需要じゃ新幹線は割に合わないんだろうな。ただでさえJR北海道は既存路線の維持ですら無理とか言ってるのに。

 北海道の外周1300kmくらいを新幹線で結んで、あと適当なところで横断できるような路線も引いて、北海道を1周するだけなら5,6時間、適当なところで3-5泊くらいすれば北海道全体を観光できるようなプランがあれば、観光需要としては面白そうな気がするけどな。北海道の距離感を知らない旅行者が2泊3日で北海道1周を計画する、みたいな半ば都市伝説みたいな笑い話も、あたりまえにできるようになる。でもそれだけの距離を新幹線で結ぶほどの需要があるとは思えないけど(現在の新幹線の総延長の50%程度に相当する路線が必要になる)。


 本来、こういう用途(遠距離の高速移動)は航空路線が担うべきであって、北海道には旅客用の空港が10箇所以上も整備されているにも関わらず、北海道内の移動で空路を使おうとするとかなり厳しい(例えば旭川・帯広・紋別には道内路線が就航していない)。20人クラスのターボプロップで安価に運行されれば便利なんだろうけどな。そもそも地上交通網が貧弱な北海道で空港が10箇所はちょっと足りない気もするし(空港周辺のバスとか公共交通機関次第か)。

 例えばV-22の民間機があれば、北海道内のローカル路線みたいな使い方には便利なんだろうけど。VTOL機ならフルスペックの空港は不要だから、もっと多くの地点を結べるようになるわけだし(ある程度の地上設備は必要としても)。AW609クラスは旅客用に使うにはちょっと小さすぎる気がする。でもDHC-8やATR 42の3,4倍の値段はだいぶキツイ。あるいは、国の予算を使いつつ都道府県単位で機体を購入して、運用を民間に委託して旅客業務に使いつつ、国内で大規模な災害が発生すれば丸ごと救援にシフトする、みたいな使い方をすれば便利そうだが。とはいえ少なくとも数千億円規模の投資か……

 アメリカみたいにゼネラルアビエーション(含地上設備)が発達している国ならちょっとした移動はGAで済むし、V-22は民間用で使うには中途半端で使いづらいんだろうな。石油リグみたいなところに飛ばすには重すぎるだろうし。


 eVTOLが実用化したとしても、当面は都市部での短距離移動がメインになりそうな気がするんだよなー。北海道くらいの面積で端から端までeVTOLで移動するのは結構怖い気がする。冬場の北海道だと電源の問題もあるし。そもそも人口密度が低い場所だと稼働率が稼げないから運航コストが高く付くというデメリットもある。

 人口密度の低さはどうにもならない問題なんだろうな。税金でなにか便利な移動手段を用意してテコ入れしようとしても、人口密度が低いと費用対効果が悪すぎる。何か別のお題目があって、多少の「税金の無駄遣い」を許容できる口実があればいいんだろうけど。

 例えば北海道オリンピックを広域開催して、各競技場は飛行場周辺に作って、各飛行場を結ぶ航空路線を大幅に増やして、空港周辺はeVTOLで移動して、とかをやれば、ある日の午前中は札幌で、午後は稚内で、次の日の午前は紋別で、午後は釧路で、というような感じで、広範囲の観光と絡めて開催できる(観戦を目的に短時間だけの滞在で観光需要が満たせるかは別として)。あるいは1週間飛行機使い放題で20万円、とかの搭乗券で需要を刺激してやれば、航空会社はオリンピック期間中だけというタイムリミット付きで道内路線の効果を確認できる、みたいな。オリンピック競技が可能な場所を空港周辺で探すのは大変だろうけど。あと、あまり航空輸送を発達させすぎると結局札幌付近を拠点にして、他の地域の観光需要を刺激できない、みたいな問題もありそう。

 そもそも、一段とコスト管理に厳しい昨今、そんなに余裕のある事業ができるとも思えないし。



 なんだかんだ言いつつ、僕は田舎アンチの過激派なので、本心では北海道なんて民間人の住民はゼロにするべきだ、位には思っているんだけど。道路も住宅もほとんど無くなっただだっ広い土地を自動運転の農作業機械で耕作地帯にして、輸送も全部無人でやって。最低限必要な人間は農作業を行う時期だけローテで出張(短期の単身赴任)させる程度で。これからの温暖化傾向を考えると、北海道でカロリーを稼ぐ方向はそう外れてはいないはず。台風とかの被害は南の方よりは少ないわけだし。

 田舎アンチの理由の半分は物理的な距離の問題だから、これを一番手っ取り早く(短絡的に)解決するには人口密度の低い場所は居住地に使うことを禁止しろ、という方向なだけで、逆に物理的な距離を解決できる技術があるなら、それでもいいんだけど。とはいえ、インターネットみたいな理論的に距離を短縮するツールでは不十分で、実際に物理的な距離を縮める必要があるから、その一つが航空機だったりという可能性はある。

 ただ、飛行機を使ったとしても、例えば関東へ行こうとすれば早くても片道2時間はかかるわけだし、両端で空港からの移動を含めれば往復の移動時間が8時間とかになるし、交通費も1往復数万円かかるから、現実的な選択肢にはなり得ない。となると、やっぱり人口密度が低い場所は居住地としての使い方を捨てる(人がいなくても良い用途に転用する)のが最適じゃね、って気になる。



 僕が触り程度に技術寄りの人間だからそう感じるというのもあるかもだけど、北海道ってマジで科学技術の基礎がカスなのよな。

 旭川まで出てもろくな本屋は無くて(例えば天文コーナーには占いの本しか並んでいないとか)、まともな教育レベルを期待すると札幌しか選択肢がないが、札幌までの移動手段がほとんどない(特に教育が必要な年齢層を対象とした場合)。他にも、例えば札幌の家電量販店は品揃えがかなり悪くて、ガジェット系の人間が北海道に住むのはかなり絶望的(片っ端から通販で買うようなガチ勢はさておき)。

 科学技術系の教育に話を戻すと、北海道にはろくな展示施設がない。小学生相手の科学館という建付けのものはあるけど、せいぜい自然科学系の展示しかなくて、科学技術系の展示施設は皆無(たぶんニセコの先まで行けばもう少し踏み込んだ施設があるはずなんだけど、僕は行ったことがないし、内容もかなり尖ってるだろうし)。関東・関西とか、あるいは東北でも、科学技術系に限らず展示施設はいろいろあるだろうけど、おそらく青森あたりが北限な気がする。

 もう少しするとラピダスの青田刈りとかが始まるのかもしれないけど、とはいえ周りに科学技術がろくにない田舎の子供を、先端半導体を作らせるようなルートに乗せる方法も想像できないし、結局は関東圏から人を引っ張ってくるのが大半になりそう。あるいは、ラピダスがなにか作るのかもしれないけど。

 そんなこんなで、北海道(というか田舎)には恨みつらみがあるので、田舎なんて民間人の居住は禁止してしまえ、という過激派思想になったってワケ。


 あとは、単純に人口密度が低いと寛容さがなくなる、みたいなロジックもある。1学年10人未満の学校でちょっとでも「普通のこども」と違う興味の対象を見つけると、それだけで誰とも話が合わず、話を理解してくれる大人もおらず、ただ排除されるだけなのよな。周りとは話が合わず、親からも期待されず、自分で興味の対象を伸ばそうとしても、周りにはろくな情報源も無い。

 自分の子供に農家になるのを強制させるつもりなら親が田舎暮らしを選択するのは好きにすればいいけど、でもそれって職業選択の自由を保証した憲法に違反してますよねー? まあ、うちの親が特に科学技術に興味がない人間だったってだけで、今の時代他の家はもう少しマトモなのかもしれないけど。

 とはいえ、やはり人口密度が高ければ似た趣味を持つ人間や、それに詳しい先達を探すことだって現実的だろうし、田舎のデバフは結構大きいはず。それを解消するためにどれくらいの人口密度が必要なのかはわからんが。

 そういう「ちょっと変な子供」を潰さずに伸ばすことを考えても、やはり常設の展示施設って結構重要な気がするのよな。その分野に詳しい学芸員が手伝うことだってできるし、同じ場所に集まった(同じ分野に興味のある)ほかの子供達と出会うことだってできるだろうし。その点、田舎の科学館は、展示スペースにいるスタッフは警備の服を着たおじさんだけ、みたいな状態で、展示内容に興味があっても質問する相手すらいないという点で、やはり田舎はクソ。いや、その基準でいくと札幌も田舎になるんだけどね。。。


 小中学生の興味を伸ばすみたいな方向だけを考えるなら、例えばANAとかJALが、小中高生向けに座席が空いている時期にでも何らかの条件付きで安価なチケットを発行する、みたいな制度があれば、それでもだいぶ解決できるはずなのよな。趣旨を踏まえれば、例えば何らかの展示施設(科学館でも美術館でも)に行ったレポートを壁新聞みたいな形で書かせて、どこかで公表するみたいな形とか。そういうことを目的としたプラットフォームを作って、大学教授なり民間の研究者等ともつなぐ形を作ればなおよし。研究者側からしても、10年後に自分たちの分野に進んでくれる人間を養成するという点でもインセンティブがある。

 内容を考えれば文科省あたりがやるべきじゃねって気もするけど、でもこれで益を得るのは人口密度の低い所に住んでいる人だけだから、大多数の国民からは嫌われる制度になるという欠点がある。逆に、人口密度で言えばコストの掛かる対象はそう多くないことを期待できるから、空席の目立つ路線で燃料代をちょっと追加で負担する程度のコストで社会貢献できると考えると、航空会社側の負担はあまり大きくないはず。

 ただ、そういう事業を考えるうえで、対象となる人数がかなり少ないのがネックになりそう。離島とか東北以北とか、田舎の住民が相手だと、わざわざ企業が相手にするような規模じゃないし、もちろん国が関わるような規模でもない。あるいは、北海道とかローカルな自治体単位で、自分たちでそういうことをやればいいのかもしれないけど。とはいえ、そうやって養成した若者は、順調に育てば関東やらの企業に就職するから将来的な税収等も期待できねぇ、って点が、ローカルな行政単位ではネックになるんだろうな。半導体とかに限ればラピダスみたいに地元の企業も期待できるのかもしれないけど。でも知名度のある企業が所在していれば他の地域から人間を引っ張ってこれるから自分たちで育成しなくても……

 結局、優秀な企業があれば地域は発展するし、魅力的な産業がない地方は……ってことなんだろうな。


***


 GPSの復調は、とりあえず複数衛星を並列に航法メッセージのビット列を取れるようなところまでは作って放置中。搬送波/コードの追尾のフィードバックループの調整がいまいちスッキリしていないというか、動作はしているけど、このパラメータはなぜこの値じゃなきゃだめなのか、みたいな整理ができていない。

 気の所為(or偶然)かもしれないけど、数分程度で全衛星が急にロストする現象が起きてる気がするんだよなー。RTL-SDR blogドングルで受信していたときはRTL2832のバグだろうと思っていたけど、実はR860側の問題なんだろうか? でも、RTL側で検証したときは数十マイクロ秒くらいの固定した長さで丸ごと落ちていたから、RTL側のデータ処理の問題と結論づけていたはず。RTL(デジタル系)で数十usを落とすならせいぜい数十サンプル分を拾いそこねる程度で説明できるけど、R860(アナログ系)で数十us単位を落とそうとすると、少なくとも数km相当の遅延線を付け替える必要があるから、あまり現実的ではない。R860内のPLLで一時的にロックが外れているみたいな可能性もあるけど、それなら毎回固定長で落ちていたはずの現象が説明できない。



 適当な衛星のコードをトラッキングして、コード位相をグラフ化

 330秒くらいの間に4回くらいロストしている。1回目が0.36ms、2回目が0.18ms、3回目が0.47ms、4回目が0.02ms、くらいのジャンプ。

 ロストしたタイミングは、107.5秒、147.2秒、214.9秒、322.2秒、あたり、2回目を除いて107.4秒の整数倍になっている。32bitのRIFF/WAVファイルに10Msps16bitのIQを保存すると約107.4秒で4GiBの制限に達するので、SDR#では4GiBに達したらファイルを分割する。このときに、余った1バイト(虚軸のMSB)を捨てるのではなく、適当な大きさの不定長を捨てているという可能性がありそう。ただしその場合は2回目のロストが説明できないので、別のメカニズムが残っている可能性もある。



 RF64/WAVのフォーマットをぐぐってみたら、結構シンプルっぽい。RIFFの名前がRF64になって、WAVEとfmt_の間にds64が入る。チャンクサイズ等を使わない場合(ストリーム終端まで読み続ける場合)はds64は無視していい。fmt_チャンクもdataチャンクもほぼ互換。基本的にIQファイルはdataチャンクの後ろに追加のチャンクが無いことを期待できるので、その場合はRF64追加仕様はほぼ無視できる。


 ということで、64bit(非分割IQファイル)からコードのトラッキング

 この衛星については、ロストせずにトラッキングできている。少なくとも、明らかに目立つコード位相の飛びは無く、DLLが追えないほどのロスト(1usとして10サンプル以上)も無い。


 今回は手抜きのためにSDR#でサンプリングしたけど、例えばDLLを叩いて自分でWAVに書き込むなら、32bitRIFFに4GiB制限を無視して書き続けてもいい(もちろんRF64で書いてもいいけど)。

 先の2回目のロスト(非ファイル境界)が気になるところではあるけど、再現しないなら当面は無視する。


 しかし、SDR#のファイル分割、サンプルをゴッソリ捨ててるのか…… コード位相しか見ていないから、捨てる量が1ミリ秒未満なのか、それ以上に捨てているのかは不明だけど、少なくとも数百マイクロ秒以上は捨てているということになる。

 RF64が結構楽に読めることがわかったので、今後はRF64メインで使ったほうがいいかな。後々ファイル境界で面倒事に巻き込まれたくない。とはいえ、自分でファイルを書くときは32bitを使い続けるだろうし、結局は読むときは両方とも対応しなきゃだめとかいう面倒なことになりそう。こういうやつがいるから新しいフォーマットの普及が遅々として進まないんだろうな。

 WindowsのエクスプローラーもRF64は対応しているのかな? 4GiBを超えたファイルも、少なくともマウスオーバーで再生時間が正しく表示されるから、ds64やfmt_を正しく参照しているはず。



 改めて取り直したサンプル

 時々ドロップする。うーん、こういうのが一番困る。。。

 ファイル時刻系に対するコード位相の不連続があるから明らかにドロップしているんだけど、それだけでなく、PLLも時々ロックが外れているっぽい挙動。数HzくらいならFLL特性で引き込めるんだろうけど。

 PLLが外れるのはパラメータの調整で頑張るなり方向性はあるけど、原因不明のドロップは結構困る。基本的に測位衛星は非静止衛星だから長期的に見れば定期的にロストするのが当たり前、受信機のバグが有っても吸収できるように実装しよう、というような話ではあるんだけど。



 気まぐれにGLONASS OS PS(英語版)を眺めてみたけど、すごいざっくりしたことしか書かれてない気がする。

 おそらくGLONASS ICDがIS-GSP-200に相当するような文章なんだろうけど、403で見れない。Wayback Machineで見てみると、2022年1月まではアーカイブされているけど、2022年3月以降は403になっていて、「うわぁ……」って感じの。



 自称GLONASS対応アンテナ

 GPS L1とGLONASS L1の間に安定した櫛状のスペクトルが出ている。なんぞこれ。



 興味本位で1/4-36のナットを探してみたけど、全然売ってないのな。amazonにもモノタロウにも無い。1/4-20(三脚でよく使われる)は掃いて捨てるほど売ってるのだが……

 タップは、1/4-36はamazonで何本か売ってるっぽい。モノタロウには20TPI以外だと32TPIしか無いかな。36TPIはUNS(Unified National Special)だから、特殊な規格という扱いになるらしい。


2026年4月22日水曜日

小ネタ



「万有引力定数Gの計測は実験ではなく乱数発生器だ」



【先パイと】MEX金沢2026の出展機をゆるっとごあんない!【後ハイが】 - YouTube

 堅苦しすぎずテンポが良くて良いな。



 豪州政府と次期汎用フリゲートの共同開発・生産に関する契約締結 | 三菱重工

 個人的にはロービジロゴがステルスっぽさ(最新鋭の代名詞)があってカッコいいと思っているので、カンガルーもグレーのロービジになってほしいな。空自のF-35Aも元々は赤色だったのが実際にはロービジになっていたし、模型では目を引くワンポイントとして赤を使いつつ、実際に建造したらロービジに、みたいな可能性もあるけど。



 後工程で高まる精度要求、半導体“積層化”支える2次元スケールで描く成長曲線:FAインタビュー - MONOist

 マグネスケール社。

 ソニーから買った会社で、元々はソニーの磁気記録・再生技術を計測に応用して開発した技術らしい。同様にレーザを使った計測も、ソニーの光学メディア由来だそう。



 アイコムが模倣品対策を強化、製品の正規品判定をQRコード認証に一本化:製造マネジメントニュース - MONOist

 QRコードで個体認証ってどんなすごいぎじゅつを使ったんだ?と思ったら、意外とアナクロだった。でも、こんなもんでもいいんだろうな。



 南極観測船の運用、海自が撤収へ…警戒監視が必要なエリア増大で体制維持が難しく : 読売新聞

 なんかどこかで見た世界線に似た話になってきたぞ……

 JAMSTECに移管するというのは妥当だろうけど、とはいえJAMSTECだって現状でもカツカツ(or不十分)な運用体制だからなぁ。この上さらに地球の裏側に行くような大型船を運用する体力があるのかどうか。

 後続艦の運用が行われたあかつきには現しらせを民間に払い下げて運用資金の足しに……



 NTTとJAXA、低軌道衛星でのMIMO通信を実証 伝送量向上へ(Impress Watch) - Yahoo!ニュース

 衛星MIMOってどんな仕組みなんだろうか。MIMOってマルチパスを積極的に使う手法だと思うんだけど、地対地通信なら(特に都市部なら)建物のマルチパスを使うとか、屋内(WiFiとか)なら壁やら家具やらのマルチパスを使うことができるけど、衛星の場合はどうなるんだろう。


https://journal.ntt.co.jp/wp-content/uploads/2022/09/nttjnl5004_20221001.pdf

 衛星側でアンテナ間0.7m、地上側でアンテナ間70kmで、2x2MIMOで伝送レート2倍、とのこと。

 地上から出すならこれもうビームフォーミングだろ、というような感じだけど、衛星から出してるから、MIMOという考え方でいいんだろう。IoTで主に地上から出した信号を衛星側で受信することを考えているなら、MIMOというよりビームフォーミングのほうが適切な気がするが。


 革新的衛星技術実証4号機(小型実証衛星4号機)による低軌道衛星MIMO技術の軌道上実証実験を開始しました | JAXA | トピックス(2026年)

 IoTのMIMOの使い方はあくまでも軌道上で収集したデータを下ろすのに使うのが目的かな? IoTはプロトコルが乱立しているから衛星では波形のサンプリングだけを行って、それを高帯域幅な回線で地上におろして、地上でソフトウェアで解析したい、ついてはMIMOで高速回線を構築したい、ということか。

 LPWA的なプロトコルはキャリアスケルチと相性が悪いから、信号が入ったところだけ切って下ろす、みたいなことはできないはず。乱立したプロトコルがそれぞれに使っている帯域全体をカバーする必要があるし。MIMOで帯域幅を2倍にしたところで、足りるかな? 民生用FPGAをスクリーニングして軌道上でデコードするほうが楽そうな気がしないでもない。

 IoTを衛星で中継してダウンリンクするってのはARGOSとかDCPと似たような用途になるのかな。ニッチな用途で欲しがる人はいるだろうけど、でも最近は既存のスマホとStarlinkやらを直結してテキストを投げたりとかのサービスが提供され始めているから、こういう用途にも5Gモジュールを積んで、人間の生活範囲では地上回線で、それが届かない場合は自動的に宇宙回線に切り替え、みたいな通信プランが出てくるのも時間の問題だろうし。

 Iridium SBDみたいなモジュールがこの用途に広く普及しないのはコストの問題だろうけど、衛星通信がスマホレベルで普及しちゃえば、SBDとは桁違いに安くなるだろうし。IoT中継用の小型衛星を必要数バラまくコストを考えると、5Gの通信モジュールのほうが安くなりそう。


 ダウンリンク用のMIMOはたしかに便利な技術なんだろうけど、とはいえ若干使いづらそうな気はするなぁ。数カ所の地上局を占有して数倍程度の改善しか得られないなら、観測衛星みたいな用途なら光中継みたいに桁違いに高速な回線を頑張ったほうが良さそうな気がするが。

 ただまあ、MIMOは冗長系の考え方と相性がいい、という利点はあるか。衛星側はブロードなアンテナと送信機の組み合わせを複数個用意しておいて、地上側もサイトダイバーシチを兼ねた複数のアンテナを運用して、定常時はそれらでMIMO通信、地上で片方が悪天候とかトラブった場合はSISO通信、衛星側の送信機が1系統壊れてもSISO通信、ビーム幅で分離するわけではないから衛星側のアンテナの要求が少なくて済む(首振りも不要)、みたいな。

 とはいえ、昔の衛星ならミッション回線もブロードだろうけど、最近の大型衛星なら首振り、小型衛星ならボディポインティングで細いビームを振り回すだろうから、MIMOに使えるかというと……

 むしろそこまでリソースのない、50kg弱クラスの衛星からのダウンリンクを考えれば利点は大きいのかな? その程度の規模の衛星で複数の地上局を占有させるに足るミッションがあるかどうかはさておき。

 使い捨てレベルで運用する超小型光学衛星とかを考えると、とにかく低コスト化したいから光通信はNG、ウインドウが狭いからMIMOで素早くダウンリンク、とかはできるか。20kgくらいの規模で、イプシロンとかで800kmくらいにばらまいておいて、いざ有事になった場合は固体モーターで近地点をガッツリ下げて解像度を稼いで、遠地点側のエネルギーを使って1週間くらい撮影して、みたいな。時間分解能が必要な場合は複数の衛星で交互に撮影していって。うーん…… 大型衛星でいいのでわ?って気が。こういうクリティカルな用途の衛星がブロードな電波をバラ撒けるかというと、怪しいし。低軌道から高解像度な画像を得るなら精密な姿勢制御は必須だから、ならその光学系を流用してレーザーを出すくらいできるだろうし。


 まあ、素直な空間(非マルチパス環境)でのMIMO通信も、基礎データを取っておけば後から色々別の使い方(含衛星以外)をすることだってできるだろうしな。



 最近のウェザーニュースの雨雲レーダー、かなり怪しい気がする。雨降っててあとどれくらいで止むだろと思ってレーダー見たら現在降ってない判定、とか。

 あと、ウェザーニュースアプリの津波注意報は全く信用がない。内陸で発生した地震でも毎回必ず津波注意報を出してくるから、どうせまたいつものやつやろ、とオオカミ少年化している。そのうえで、NHK等はすぐに「津波の心配はありません」みたいな速報を出したあとも、ウェザーニュースは「津波に注意しろ」以降それの解除メッセージは出ないし。

 津波の予測は莫大な実測値や計算リソースが必要だからいち民間企業でどうにかなるものでもないんだろうけど、だからといって何度も誤報を出すくらいなら、多少のレイテンシがあっても気象庁からの情報をリレーするほうがマシな気がする(彼らとしては「津波が来るぞ」と言っているわけではなくて「気をつけろ」としか言ってないから誤報とは思ってないんだろうけど)。

 そもそもウェザーニュースの地震速報って何をソースにしているんだろう? 例えば気象庁から震源の座標を含むデータを受け取っているのであれば、それで一定程度は津波もフィルタリングできるはず(明らかに陸域に震源がある地震には警報を出さない、とか)。そういうことができていないということは、自営の地震計からデータを集めて、観測震度だけで(震源を決めずに)津波警報を出すか決めているんだろうか? とすると、おそらく地震計は陸地にしか設置していないだろうから、遠洋で発生した(陸地での観測震度が低い)地震由来の津波は警報が出せない可能性がありそう? 気象庁は海底の水圧計ネットワークから津波の発生を直接観測して警報を出せるけど、ウェザーニュースはそういうことはできない?



 先日、レコーダの背面周りをいじる機会があって、その時に地上波のラインとBS/CSのラインが逆に刺さっていることに気がついた。レコーダの受信強度の表示だととりあえず問題ない程度ではあるけど、正しい接続に切り替えたら10目盛りくらい改善した(単位不明)。最近このあたりは触っていないから、だいぶ前からこの状態だったはず。それで問題なく視聴できていたのも結構謎い。

 アンテナ類は屋外のプリアンプで地デジとBS/CSのIFを混合して1本にまとめてから窓枠の隙間を通して、レコーダの前でスプリッタで地デジとBS/CSに分離して、レコーダに突っ込んでいる。レコーダ側が地デジ・BS/CSを明確に分離しているのであれば、スプリッタの特性が悪いということになる。そりゃまあ、1000円未満で変えるRFコンポーネントの周波数特性がそんなに良いわけ無いだろうけど。



 ガルパン最終章4話分を視聴。アニメは当時リアルタイムで見てたんだっけか? リアルタイムでは見てない気がする。劇場版はBDが出たらすぐ買って見たはず。最終章は1本あたりアニメ2本分くらいだから、4本なら8話分程度で、1クールよりは楽に見れる。

 最終章は見てなかったんだけど、YouTubeで見かけた、エイブラムスに乗ってた兄ちゃんのリアクション動画(「俺はアニメは見ないんだけどお前らがそこまで言うなら」みたいなスタンスだったのにドハマリしていく様)が面白かったので、予習を兼ねて最終章を視聴した次第。

 内容としてはまあそう唐突なわけでもなく、アニメとして誇張が強くなった感もありつつ、良くも悪くも過去作の延長線上という感じ。


 黒森峰が平気で麦ジュース飲んでるのが面白いな。プラウダも瓶に入った透明な液体を飲んでいるし。

 聖グロもコーヒーや麦ジュースを飲むキャラを出してほしいものだな。紅茶なんてミーハーな飲み物ではなく、伝統ある麦ジュースを……


***


 日中はだいぶ暖かくなってきて、気安く外に10分くらい出ても寒くないので、GPSアンテナを持ち出してAirspy R2でサンプリング。とりあえずテキトーに書いたコードでドップラスキャン。……全然ピークでないでやんの。。。

 コードが悪いんか?と思ってRTL-SDR blog v3ドングルでサンプリングして、サンプルレートとIQファイルの読み出しだけ変えてスキャンしたら、ちゃんとピークが出る。ということで、おそらくAirspy R2側の問題だと思う。

 Linearity Gainを変えてサンプリングしてみると、狭い範囲ではピークが出ることがある。ゲインが低いと当然ピークは出ないし、ゲインが高すぎてもだめっぽい。R2のLinearty Gainというのは結局R860内の3種類のVGAを調整しているだけで、LPC4370側では一切信号処理は行っていないはずで、R860内のVGAに関してはRTL-SDRドングルと全く同じ使い方をしているはずだから、両者で結果に差があるのは釈然としない。

 可能性としてはAirspy host toolsのDLLに入っているフィルタが悪さをしているというのは捨てきれないけど、これを検証するのは面倒くさい。ISDB-T(64QAM)を復調できることを考えると、帯域幅でせいぜい半分のBPSKを通す程度は問題ないと思うんだけどなぁ。


 R860のゲインはそれぞれ15段階が3段なので、トータルで15^3=3375種類の組み合わせがある。仮に1つの設定あたり1秒間サンプリングしたとすると、それだけで132GBにも上る。GPSのドップラスキャンだけなら0.1秒もあれば十分だけど、それでも結構な量になるし、念のためのセトリング時間とかも考えると波形を取得するのに2時間近くかかる。それだけの組み合わせのファイルを解析する手間もある。



 とりあえず、3段ステップで0から12までの計125セットを相関処理(PRN195、50msec)

 相関強度は振幅100%の正弦波を0dBに正規化されているはずなので、ノイズフロアが前段の増幅率に影響を受ける(ただしR2はS16の100%よりはるかに低いレベルで飽和する)。

 比較しづらいので、ピークを基準に正規化

 利得が低いと全く相関が出ない組み合わせもあるし、弱い相関(4dB程度)のものもあれば、強い相関(8dB程度)を示すものもある。まあ、そういう組があるとわかるだけで、その組のゲイン設定がどういうものなのかはわからんが。。。

 変数が3個と結果(相関値)で4次元の画像化が必要になる。凡人がそんなものをどうやって認識しろと…… 手間と工夫を惜しまなければ、2次元平面+アイコンの形で3次元を表現して、輝度なり色度なりで相関強度を表す、みたいなこともできるのかもしれないけど、メンドクセ。


 とりあえずLNAとMixerの設定毎にグラフ化

 一番左の列はLNAを固定してMixとVGAを可変したもの。それ以外の列はLNAとMixを固定してVGAを可変したもの。

 VGAが0の場合はいずれの組み合わせも相関が出ない。VGAが12の場合、LNAが0でもMixが12なら5dB程度の相関は出る。逆に、Mixが0でもLNAが12なら8dB程度の相関が出る。

 今回はゲインの最大値(各14)まで達していないので、最大ゲインにしても問題ないのか、あるいは飽和するのかまでは確認できていない。ただ、比較的早い段階でノイズフロアが下げ止まっているから、LNA, Mix, VGAすべて9くらいに固定しても良さそう。とはいえ、これがすべてのR860に当てはまるのか、それとも個体差があるのか、あるいはGPSアンテナにも依存するのか、といったところは把握できない。

 あとは、ノイズフロアの原因が熱雑音なら、R860チップを積極的に冷却すればSNRが改善する、といった可能性もある。ケース(アルミ)の中にはかなり空間があるから、ペルチェ素子の2段スタックとかも入りそうだけど、とはいえそこまでやって劇的に改善するとも思えないしなぁ。満足な計測環境もなしにそんなこと試したってオカルト以上の結果は得られないだろうし。



 それぞれのゲインを10-14の5段階に設定して相関処理(数時間離れて取り直したので別の衛星で、信号強度が変わってノイズフロアも変化)

 ゲインを最大に設定したら飽和してSNR下がるかと思ったら、そんなこともなく。


 前のゲインを下げてピークが出るようになったサンプルの理由がわからん。たまたまとか? あるいは、たしか今回とは別の個体のアンテナを使っていたはずなので、アンテナの種類によって違うとか? アンテナ側のLNAでめちゃくちゃ増幅するようなデザインだとR860側で増幅したら飽和する、とか?



 縦軸に相関強度、横軸に時間

 10Mspsで取っているので、ちゃんと綺麗な三角形になる(RTLの1.92Mspsとかだとほとんどインパルス信号に見える)。


 QZSSも(ゲイン変えて取り直したサンプルから)

 QZS1RのPNT(L1C/B)とSLAS(L1C/A)。C/Aは綺麗な形だし、C/AとC/Bのピークは同じ位置に出ているけど、でもC/Bってこんな形になるんだっけ? なんか違う気がする。

 C/BってC/Aのチップレートを2倍にしてチップの前後で単に符号を変えただけだと思ってたけど、実は違うのかな。


***


 Airspy R2でrawでサンプリングして、4象限サンプルをゼロ埋めして20Msps相当のWAVに書き出して、SDR#に読み込み

 ゼロ埋めしているので、左右端の5MHzは折り返し。内側の-5MHzから+5MHzまでの10MHz幅が実際の信号。

 サンプリングしたのはFMラジオの帯域なので、ノイズフロアはある程度平坦になるはずだが、高周波側が不自然に高くなっているのと、600kHzくらいは強烈にカットされている。


 SDR受信機の特性の測定か…… IFを見る内だけにしても、少なくとも8MHz程度のフラットな信号源。fl2kで作れないこともなさそうな気はするが。周波数特性がDACのSinc特性ならそれを補償するフィルタを通してある程度フラットにするなり、そもそもそれが問題にならない程度に低い帯域を使うなり。



 試しにfl2kを叩いてみた。そうだ、fl2kってデバイス解放で死ぬんだった。。。使い終わってるからエラーが出たところで、という考え方はあるにしても、気持ち悪いものは気持ち悪い。

 Airspy host toolsのDLLはlibusb-1.0.dllとphtreadVC2.dllに依存している。fl2kのDLLはlibusb-1.0.dllとlibwinphtread-1.dllに依存している。どちらもlibusb-1.0.dllが必要だが、Airspyのv1.0.10に付属しているものはv1.0.20.11004で、fl2kに付属しているものは1.0.25.11692と、バージョンが異なる。fl2kは新しい機能に依存しているので、1.0.20では動かない。1.0.25を入れていても、airspyは動作する(必要な範囲で後方互換性がある)。ただ、1.0.25を使っていると、airspyでもデバイスを閉じるときにFatal Errorが出る。

 試しにgithubからlibusbの最新版(1.0.29.11953)のバイナリを取ってきたところ、airspyもfl2kも、デバイスを閉じるときにFatal error. 0xC0000005が出る。古いバージョンでairspyを使えば問題なくて、新しいバージョンではfl2kもairspyもエラーが出るということは、これはfl2kではなくlibusb側の問題なのか。

 同じく1.0.22を入れてみると、fl2kでデバイスを閉じるときにはwarningが出るが、とりあえずFatal errorは出なくなる(airspyも問題なし)。1.0.23では、airspyでは問題ないが、fl2kではFatal errorが出る。

 とりあえずは1.0.22を使っておくのが良いかな?

 しかし、1.0.23のリリースは2019年8月だから、かなり古い。fl2kやairspyの不具合の原因がlibusb側にあるならかなり長いこと放置されていることになる。流石に考えづらいような……???


***


 QZSSのGNSS ViewのAndroid版、現在位置から見える衛星の配置を表示したい場合、fineの位置情報が必要らしいんだけど、なんでcoarseじゃだめなんだろう? coarseの場合は最大で数km程度の分散になるはずだから、GNSS衛星の方位を大雑把に把握する程度なら問題ないはずなんだけど。

 別に内閣府が配布しているアプリを疑っているというわけじゃないけど、必要もないのに高い精度の位置情報を要求するのは昨今のトレンドからすると……



 プロペラ一体型のアウターローター型モーターという空想。

 コンセプト通り、プロペラの中に磁石が埋め込まれて射出成形されたもの。ドローンを組み立てるときにプロペラを小さなネジで固定しなくていいので楽。プッシャー型で使うならネジ等による保持すら不要(停止時は磁力で保持)。

 プロペラの単価が高くなるので民生用で使うのは難しいのよな。軍事用を始めとした使い捨てドローンみたいな用途だと、ユーザーの手間が減って便利だと思うんだけど。使い捨てに振り切るなら、例えば軸受もベアリングではなくメタル軸受とかを使うことも考えられる。

 今のところこの使い捨てのドローンでも概ね民生品の転用が多い感じで、トータルの製品設計としては過剰な部分もありそうな感じがする(ミサイルの構造を弾性範囲で設計する、みたいな)。かといって、あまり開発コストをかけすぎると低価格という利点が相殺されるから、あまり大規模な基礎研究はできないんだろうけど。このあたりがCOTSの難しいところよなぁ。多少のミスマッチがあっても大局的に見れば安くなるよね、という。でもあまりに大量に消費するなら専用設計したほうがやすくなる可能性もあるし、でもそれでコケたら一大事だし……


2026年4月15日水曜日

小ネタ



 スイマーもすごいけど、微動だにしないパイロットもすごいな。





 最前線で銃を撃ち合うよりマシ、とはいっても、FPVの通信距離じゃ最前線の塹壕の中で迫撃砲に狙われながら飛ばすような状況だってあるだろうし、それにいくら解像度は低いとはいえ、相手の眼の前まで接近して爆破する以上は空軍のRPAと同程度のストレスはかかりそうな気がするけどな(RPAの場合は相手の手の届かない距離から一方的に攻撃するという点が特異ではある。とはいえどちらがと比較するような話でもないが)。



 Forza Horizon 6 Official Initial Drive Trailer - YouTube

 飛びもの周りだと、H-IIB、T-4、CH-47、A400M、あたりを利権者に文句言われない程度にデフォルメした感じのやつがちらほら。4発ターボプロップじゃなくて2発ターボファンの輸送機を出してほしかったなー。

 ついぞGTOには打上げられなかったH-IIBが、ゲーム世界では放送衛星の打上げという大役を務めたぞ。


 あまり情報を仕入れすぎるとネタバレになりそうだなーと思って解説記事とかは読んでないけど、英語圏YouTuberの動画を流し見していた感じ、北海道の観光地も出てくるっぽい? 個人的には追加コンテンツで北海道マップを期待していたので、ちょっと残念な感も。まあ、北海道って、ごく一部の有名な場所を除けば、わざわざゲーム化して面白いような地形もそう無いだろうしなぁ。たいていの地形や景観は関東圏でも見れるだろうし。その例外的なシーナリだけ標準マップに取り込んでやれば、あとは特に必要なものもあまり……

 強いて言えば、太平洋側と日本海側では海辺の雰囲気もだいぶ違うだろうから、都心部周りの太平洋側と、降雪地帯を抜けた先の日本海側、みたいな表現は見てみたかったかも。中部地方の日本海側。



 タイピングバトロワ『Final Sentence』いきなり配信開始。最大40人でキーボード全力タイプ、“ミス=死”の戦慄デスゲーム - AUTOMATON

 レベルが表示されないプレイヤーはボットだと思うんだけど、クイックマッチで遊ぶと大半がボット。20数人のうち人間らしい(レベルが表示されている)のは3,4人だけで、場合によっては自分以外全員レベルが表示されていないということもある。あと、なぜかレベルが表示されても1以外の数字を見たことがない。このゲームは順当に遊べば最初の1マッチでレベルが2とか3とか簡単に行くので、レベル1というのは1度もプレイしていない人ということになるはず。既プレイなプレイヤーと一人もマッチしたことない、なんてそんなことあり得るんだろうか?

 このゲーム、タイピングゲームとしては一般的な価格帯だけど、大抵のタイピングゲームは基本的にソロプレイだから一人で遊んでも成立するゲームが多い。ところがこのゲームはマルチプレイが前提だから、とにかくアクティブなプレイヤーが多くないと面白くない。ということで、ちょっと厳し目のスタートな感じ。

 勝敗とかPvPとか気にせずサクッと遊べるタイピングゲーが遊びたいなら、まあアリかな。1マッチせいぜい3,4分で終わるからわりとサクサク遊べるし(マッチの待ち時間が若干あるけど)。

 でもまぁ、PvPが要らないなら寿司打でよくね?とは思う。

 今後のバージョンアップで日本語問題に対応したとしても、海外のデベロッパーが実装する日本語のタイピングゲーはあまり期待できない気がするからなぁ。



 Xbox新CEOの「Game Passは高すぎる」との発言が報じられる。“2倍に値上げ” で波紋広げたサブスクサービス、テコ入れ検討中か - AUTOMATON

 ゲームサブスクって「◯◯◯本のゲームが遊び放題!」みたいなのが多いけど、いやいや、そんなに遊ばねーよ、、、という。大規模なゲームが発売されたらそれ1本だけ1か月やり込む、みたいなこともあるだろうし。Xboxだとストリーミングサービスもあるけど、不要な人にとっては完全に不要なサービスだし。自社で大規模なデータセンターを展開しているマイクロソフトからすればゲームストリーミングに必要なコストは結構少なくて、これを省いたからと言って安くなるようなものでもないんだろうけど。それともXboxゲームのストリーミングって実は実機でレンダリングしてたりする?

 1か月毎にフルプライス(発売から半年程度以降)を1,2本(ソフト毎に追加課金千円弱で初日から)+ハーフプライス3本くらいを選んで遊び放題(それぞれ毎月選び直せる)で月500円(追加課金で枠拡張)、くらいのプランがあったら遊びやすそうだけどなー。あとは時々冒険用に2,3日だけ開く2,3本の枠とかもあればなおよし。

 ただ、映画みたいな映像コンテンツのレンタルが1本2時間400円とかであることを考えると、在宅での娯楽単価は200円/時くらいは設定できるんだろうか。漫画とかラノベもこのあたりかもう少し高いか、くらいか。そう考えると、週に2日1時間ずつ遊ぶと考えると月1600円、毎日30分遊ぶなら3000円、くらいのレンジになるから、PC用Game Passも当たらずとも遠からずくらいの値段ではあるのか。

 とはいえ、消費者心理で言うと、ガッツリ遊びたい人向けの遊び放題プランと、ちょっと遊びたい人向けの制限プランがあっても良さそうだとは思うのだが。制限と言っても、あまりにも制限しすぎると意味がなくなるから、バランス調整が大変だけど。



 最近読んだニュートン力学っぽい内容の本、最後の方で相対論にも触れているんだけど、「GPSが正しく動くためには特殊相対論が必須です」みたいなことが書いてあって、うーん。。。

 GPS衛星だと軌道速度は(低軌道に比べれば)大したことはないので、一般相対論のほうが効きそう。どちらにしろ、両方とも必要だろうけど。

/* この本、いて座A*の周りのS2のプロットの図でスケールバーが10光年と書いてあったり(実際は10光日)、なんの説明もせず図を出してきたり、本の内容としては結構アレめな感じ。どちらかといえば一般向けの本でこういう内容を書いてくれるのは貴重なんだけど */


 相対論を解説する本で、GPSについて正しく解説している本、無いものかなぁ。綺麗に(正しく)解説するためには衛星技術に詳しくかつ理論物理にも詳しい人じゃないと書けなさそう。特に衛星通信(放送)技術を色々比較して、この方法なら相対論はどれくらい効いてくる、みたいな比較をしようとすると、大変そう。

 相対論を専門に研究しているような理論物理学者にこの手の解説を書かせても、たぶんちゃんとした文は書いてくれないような気がする。かといって衛星技術者が適切に相対論を取り扱えるかというと、それも怪しいだろうし。

 衛星技術者が色々な構成(地上局から衛星、ユーザーまで)を提案して、それに対して理論物理学者が相対論を検証するみたいな、対談みたいな感じで企画すれば面白そうだけど、でもそういう文を面白いと感じる人が日本にどれだけいるか……

 最近の時計(光格子時計とか)だと定常的に相対論も効いてくるだろうし、そういう人と、ISASみたいな地球重力圏外を舞台にしている人が話している様子も面白そうな気がする。「この場所にこれくらいの精度の時計を持っていくと面白い」「それならこれくらいのスペックのロケットが必要で、探査機はこれくらいの大きさで」とか。現状、相対論を検証する専用の探査機を打つようなことはないだろうけど、とはいえどれくらいの規模の装置をいくつくらい用意すればどの程度の相対論の検討ができるのか、あと理論側からはどれくらいの検討をやりたいのか、みたいな話。

 そもそも、人類が作る探査機で相対論の精密な検証って可能なんだろうか? 一般論を(地球周回軌道以上の感度で)見ようとすると、木星に軌道エレベーターを作るくらいしかないだろうけど、地球の軌道エレベーターの比じゃなく巨大な構造物になるぞ。有人安全を気にせず数百kgの機材をぶら下げるだけとはいえ、とても近未来の人類が作れる構造物とは思えん。それくらいなら光格子時計の感度で頑張って短時間で計測できるようにして、軌道上で固体モーターを使うとかのほうがマシな気がする。というか、それくらいの感度があるなら適当に深い坑道に入れるとかでもいいだろうし、そういう目的でスカイツリーを使ったんだろという結論になるのか。固体モーターで数十gの加速度を作ったとして、たかだか1桁ちょっと変わっただけで一般論に矛盾が出るとも思えないしなぁ(今のところはブラックホール合体みたいな極端な重力環境でも矛盾は見つかっていないわけで)。


***


 今週はチマチマしたプログラムを書いたりはしつつ、これと言って記録に残したいような(or残せるような)物は無し。とか言ってると時期を逸したり、後で探したときに困るんだが。。。



 今後STM32F3でI2Cを使いそうな予感があるので、そのあたりをちょっと調べてみたり。

 実はI2Cデバイスってほとんど使った経験がない。昔データロガーにガチ(比較的)っていた頃はSPIばっかり使っていた。STM32F1のI2Cは結構使いづらかったような気がする。初期化の順番が結構クリティカル(GPIO/I2Cの初期化シーケンスを工夫しないと最初からバスエラーになる)とか。

 F3のI2Cは結構シンプルになった気がするけど、とはいえまだどうやって使えばいいのかいまいちよくわからない。汎用のI2Cペリフェラルドライバを用意するより、それぞれのデバイスドライバレベルで直接I2Cのレジスタを触るほうが楽そうな気がする。

 F3のI2CのAUTOENDが若干使いづらい感じ。AUTOENDはTXDRと同時に読んでバッファしておいてほしかったな。読み出しアドレスを書き込んでからリピートスタートするときとかに不便。

 あとは、送信が終了したかを判断する方法がなさそうな気がする。そもそも転送バイト数をカウントして自動でストップを出したりできるから、転送完了を待つ必要がないということなのかもしれないけど。とはいえ、送信後にスタートを発行したら自動ストップの代わりにスタートが出るから、波形的にはリスタートになる。これを回避しようとするとBUSYがクリアされるのを待つしかなさそう。マルチコントローラだと別のコントローラがバスを取ってBUSYになることもあるだろうけど、でもその場合は自身が通信することはできないから、実質的には問題なし、ということなのかな。

 細かいところは不便だったり、ちゃんとエラーハンドリングしようとすると大変なんだろうけど、とはいえちょっと使う程度だと結構楽に使える気がする。

 STM32のペリフェラルは例えばhoge->fuga &= ~msk;とかhoge->fuga |= bit;とかhoge->fuga = (hoge->fuga & ~(msk)) | bit;とか、読んで変えて書いて、みたいなパターンが多いけど、I2C.CR2はどんどん上書きしていくだけで良さそうな感じがする。

 ISRとかを待つ場合はタイムアウト処理が面倒ではある。いちいちHAL_GetTickで1ms分解能のタイマを読まなきゃいけないのが面倒。


 あとは、やはりI2Cは多ノイズ環境(近くにブラシモーターがあるとか)ではバスエラーが発生しやすい気がする。この場合、CR1.PEのクリア・リード・セットシーケンスでペリフェラルをリセットするしかないのかな? あるいは、シングルコントローラ環境なら、通信が終わったらPEをクリアして、通信前にPEをセットして、みたいな方向も考えられるか。非通信中にノイズが入っても無視できるし、通信中にノイズが入っても次の通信時にはリセットされるし。

 結局、I2Cを一番うまく使うのはそれを使わないことである、みたいな結論に戻りつつある。


/* 今回使おうとしていたI2Cデバイスは、その先にぶら下がる機器含めてちょっと特性が悪そうなので、当面放置の方向 */



 ループでフラグを監視して一定時間でタイムアウトさせるような処理って組み込みだと当たり前に存在するような処理だけど、こういう部分をハードウェアでサポートするようなコアってなかったんだろうか? 特定のレジスタに数値とポインタを設定しておいて、1クロックごとに数値がデクリメントされて、ゼロになったらポインタに飛ぶ、みたいな。

 最近のペリフェラルが豊富なマイコンなら、必要に応じてタイマを使えばよくね、というようなことなのかもしれないけど。あとは並列処理との相性が悪いとか。

 そもそもループ内で特定のビットだけ監視するとかならともかく、ちょっとでも他の処理をやろうとするといきなりラベルジャンプする機能は不便だし、いちいちジャンプを許可するなら自分でタイマのカウントをチェックしてgotoしろ、ということなんだろうな。


***


 ヘキサコプターのローターの配置案


 6個のローターをそれぞれ独立な向きに取り付ける(一般的なドローンのローターはすべて真上向きかそれに近い配置)。上の図では垂直方向から30度傾いて、それを水平方向に45度傾けた感じで配置。

 すべてのモーターで一定の推力を出すとベクトル合成で上向きの推力が発生する。6軸で独立なベクトルが6本あるので、6軸の自由度がある(原則として下向きのベクトルは発生しないから、下向きの推力は想定せず、下向きの加速度は重力加速度に依存)。それぞれのモーターに適当な推力を指定すると、任意の向きの推力やトルクを発生させられる。

 推力の計算は、モーターごとの単位6軸成分を行列にすれば、入力6出力6なので逆行列を取るだけで必要な行列が得られる。推力・トルクの要求値のベクトルにこの逆行列をかけると、モーター毎の推力が得られる。

 モーターが垂直に配置されていないので、ベクトル合成で一定の推力損が発生する(30度ならcos30で13%のロス)。

 ベクトル合成で任意の推力・トルクを発生させられるので、例えば水平に移動したい場合に、トルクコマンドを出す必要がない。有人マルチコプターみたいなやつでも、着陸時等の位置制御や横風を受けた際に、変な揺れ(ピッチングやローリング)が発生しないので乗り心地改善。

 LiDAR等で風を先読みすれば風速に振動のある環境とか、乱れた風の中でも安定して飛行できる。地表付近でドップラLiDARみたいなヤバめのビームを水平に飛ばすのが嫌なら、長さ1m程度のプローブの先に1軸の超音波風速計をつけて、4方向に伸ばしてもいい。例えば風速10mの風は1m伝わるのに0.1秒かかるから、この程度の時間なら十分吸収できる。

 有人機で推力13%ロスは結構大きいけど、とはいえこれは離着陸時だけであって、巡航時はまた話が変わる。通常のヘリコプターやマルチコプターは前向きの推力を出す場合は前傾姿勢になって、前進速度が大きくなるとこれは下向きの揚力になるが、ベクトル合成で任意に6軸の制御ができる場合は後ろに傾いた姿勢で前進することもできるから、リフティングボディとして推力が得られる。巡航まで含めて最適化すれば、ホバリング時(離着陸時)の推力損は相殺できるはず。

 今回は計算が簡単なように、6入力6出力の行列だけど、制御する次元を落として、トルクだけゼロにして推力はある程度の傾斜を許容すれば、モーター1個停止でも飛行できる(ホバリングする際は傾いた状態で、水平方向の加速度はトルクコマンドで制御する)。一応、1フェイルセーフと言える。有人航空機を考えると1FSはダメだろって気もするけど、とはいえ現在のeVTOLだって推力1組全損(例えばローターに対するバードストライク)でフルオーソリティの飛行ができるとも思えないし。eVTOLは1つのプロペラに対して2つのモーターで駆動して、片方の電気系統が落ちても推力が半分か強めに回して3割落ち程度、残りは他のプロペラで補償、みたいな考え方のはずで、出力軸以降の機械故障はあまり考えていないはず(実際にはちゃんと適切な安全性は確保しているんだろうけど)。



 VTOLなら紐で地面に固定するとかで航空法の規制を受けずに試作ができるはずだから(それがだめでも屋内で試せばいいわけだし)、6ベクトル合成のヘキサコプターとかを作っても面白そうだけど、日本国内の市場だとドローンの部品ってかなり入手性が悪そう。やはり航空法の規制で国内の無人機開発(含ラジコン飛行機・ヘリ)はかなり縮小してるんだろうな。


 こういう機体は面白そうだし一定の利点はあるはずなんだけど、有人機はもちろん、無人機(ドローン)でもこういうコンセプトの機体は見たことがない。hexacopterとかで画像検索しても出てこない。ローター自体を機械的に向きを変えて任意の姿勢で飛べるみたいな機体の記事は出てくるけど、機械可動部が多いからコストや故障率が高いだろうし、こういう機体に単に「変な動きをするドローン」の話題性以上のものがあるとも思えない。

 欧米でこういうコンセプトのドローンをつくる人がいても良さそうな気もするけど、最近は欧米でもドローンを作ってる人が少なそうな気がする。やはりアメリカだとFAAの規制とかいろいろ厳しくて、航空機(ラジコン飛行機)開発自体がシュリンクしてるのかな?