2024年12月11日水曜日

小ネタ





 Pixel6aで充電率を80%で止めるオプションが追加されたので設定してみたけど、放電深度が目に見えて深くなる。DoD0%で長時間放置するよりはDoD深めに使うほうがいいのかもしれないけど。



 Razerのマウスがハードもソフトもどうしようもないアホなので、ブラックフライデーでStream Deck Mk.2を買ってみた。

 Razerのサイドボタン12個に対してMk.2は15ボタンなので、割り当てられる数が多い。あとは、階層構造にしたり、ページ切り替えを使ったり、必要に応じて相当数な割り当てができる。ただ、直感的に操作したいとか考えると、13ボタンとか15ボタンが現実的なところかな。

 ボタンの下に液晶が入っているので、そのボタンになんのキーが割り当てられているのかが見ればわかるのが最大の利点。マウスのサイドボタンだといちいちユーティリティの小さい文字を見なきゃいけないから、キー割り当ての変更がほとんどできない(変えると感覚的に押せなくなる)。いちいち手元を見なきゃいけないのが不便ではあるが。スイッチがラバーカップみたいなヌメッとした感じで、感覚では押していても反応していないみたいなことがよくある。あと、低頻度ではあるけどたまにチャタる気がする。ボタンの信頼性としてはイマイチかな。

 ユーティリティでボタンの背景を単色で塗りつぶすようなオプションがないのがちょっと不便。後ろを塗りつぶしたいならその色の画像を用意しなきゃいけない。

 一部のソフトウェア(タスクマネージャとか、一部のゲーム)にフォーカスがあるときに操作が効かない。そのソフトで似たような操作(例えば音量変更とか)をRazerのサイドボタン/ユーティリティから操作すれば可能だから、Stream Deck固有の問題だと思う。操作できないときでもStream Deckのボタンには押下アニメーションが出るから、ユーティリティまでは届いているけど、そこから先に出ていない感じ。そのソフトでも一部の操作(アプリケーションの起動とか)は動く。使える操作と使えない操作の違いが謎い。アプリケーションにキー入力を投げて掴まれずにWindows側でハンドリングするような処理で、一部のアプリと相性が悪いみたいなことなのかな。アプリの起動は直接Windowsにコールするから操作中のアプリとの相性問題が迂回されるんだと思う。

 この手のデバイスを使ってみて実感するのは、マウスのサイドボタンってすごい便利なんだな。Webブラウジングみたいな状況だとマウスはほぼ確実に握っているわけだから、その状態で親指を押すだけでタブやウインドウを切り替えたり、戻ったり進んだりできるのはかなり快適。Stream Deckだとまずそれを手探りで探す挙動が入る。タブを変えたいとか思ってから実際に変えられるまでのレイテンシが桁違い。

 あと、Stream Deckを左手で操作すると、今まで左手で操作していたショートカットがシームレスに入力できなくなる。Ctrl-Rみたいに使用頻度の低い操作(&押しやすい操作)は無意識に左手でキーボードを操作していたので、地味に不便。全部Stream Deckに割り当てるにはキーが足りないし。マウスの操作範囲の外側には色々物が置いてあってStream Deckが置けない。右手で操作できれば便利そうではあるが。

 Webブラウザで調べ物をするときは一通り新しいタブで開いて切り替えながら読んだり閉じたりの操作が多いので、Ctrl-Tab、Ctrl-Tab-Shift、Ctrl-W、あたりがマウスのサイドボタンに有ると良い。あとはブラウザを起動するボタン(新しいウインドウを開く)もあると便利。

 とりあえず、しばらくはSteam Deckに慣れるように努力しつつ、ある程度慣れたらマウス買い替えかな。前に使ってたLogicoolは中ボタンが普通のタクトスイッチだから早々に中クリックが死んで、Razerはハードもソフトも品質が悪い。さて、次はどのブランドを買うか…… ブランド品なら品質もいいだろうと思って買ってたけど、実際のところはLogiもRazerも結構品質は悪いという結論。どちらも1年も持たずに(下手すると半年とかで)壊れる。それなら安物のゲーミングマウスを使い捨てたほうがやすい気がする。まあ、そのあたりの話は、また、そのうち。


 最近は輪をかけて買い物が下手になっている気がする。田舎住みは買う前に現物を確認できないから買い物が下手、という言い訳。マウスとかキーボードみたいな人間に物理的に近い部分は相性の善し悪しが大きいので通販はつらい。あとは本とか。ジャンルによっては中身が確認できないから実店舗も通販も変わらない、というものもあるけど、技術書とかは実店舗で買ったほうがいい気がする。北海道だと札幌あたりでしか買えないと思うけど。交通費を考えると安めの本なら1,2冊無駄に買ったほうが安いまである。それであたりの本を引けなかったら丸損だけど。



 olightの、USBのマグネット充電ケーブルで充電するライト3種類、3個とも充電ケーブルの互換性なくてなんとも。最初の2個は磁石の極性が逆。新しく買った1個は、磁石の極性は2個目と同じだけど、USBケーブル内に制御が入っていて、古いケーブルを新しいライトに使ったり、新しいケーブルを古いライトに使ったりができない。

 充電ケーブルの電極をオシロで見てみると、数秒の周期で4V強まで引き上げて、少し経ったら開放して、みたいなサイクルになっている(磁極性が同じで互換性のない別のケーブルはコンスタントに5Vが出ている)。この程度のデューティー比なら吊りっぱなしでもいいだろ、という気がしないでもない。オープンドレインで通信するようなプロトコルなのかな。単に短絡させただけだと充電モードにもエラーにもならないから、なにかネゴシエーション的なことをやっているのであろう。



https://www.cs.tsukuba.ac.jp/~ohya/pdf/ROBOSYMP2002-TAK.pdf

 超音波を使用したトランスポンダ。AGVみたいな用途を想定。ダブルパルスの間隔を変えることで質問波と応答波、あるいは複数のインテロゲータやトランスポンダを識別できる。インテロゲータは送信素子1、受信素子3で、到達の時間差から測角ができる。質問から応答までの時間で測距もできるから、ρθで相対位置を追跡できる。

 最近だとLiDARが結構普及しているイメージだけど、今でも開放空間で使う超音波(レーダー的な使い方)の研究って続いているんだろうか。20年前とか15年前に比べれば計算能力は格段に改善しているはずだから、パルス圧縮とか信号処理でゴリ押しする方向性はやりやすくなっていそうだけど。


https://www.jstage.jst.go.jp/article/pscjspe/2020S/0/2020S_680/_pdf

 2020年。Additive Manufacturingを使った導波管の試作。75-110GHzの導波管を金属や樹脂で試作し、市販の導波管と比較。

 樹脂の場合、光造形やインクジェットは挿入損失が高い(インクジェットで5dB、光造形で15-25dB)。表面粗さが低いとメッキが定着しないため。SLSは表面が荒いのでメッキが定着しやすいが、導波管としては表面粗さの影響で挿入損失が高い(1.8dB)。金属も粗さのために挿入損失が高い(2.4dB)。ただし樹脂は以前に試作したときとメッキのパラメータを変えたことで損失が改善したため、パラメータ設定次第ではさらに改善する可能性がある。

 メッキ側からの改善(例えば光造形への適切なメッキ処理)で、樹脂AMで実用的な導波管を作れる可能性はありそうだけど、とはいえ市販の製品をAMで作り直しても、手間とか考えるとほとんどメリットはなさそうな気がする。メッキ屋が光造形機を買って、断面形状や長さや曲率を自由に設定して導波管をオーダーメイドできるようなECサイトがあれば便利そうだけど。


https://www.giho.mitsubishielectric.co.jp/giho/pdf/2018/1805112.pdf

 三菱電機のAM導波管コンポーネント(単なる導波管ではなく、機能的なもの)。Al粉末で作成。表面粗さによる損失は、既存の方式(切削とか)では作れない最短経路で結ぶことで軽減する方向性。


https://www.ss.cc.tohoku.ac.jp/sscc/refer/pdf_data/v51-4/v51-4_p1-9.pdf

 2018年。非同一形状の対数周期アンテナ(LPDA)で後方散乱の小さいアレーアンテナを作る提案。サイドローブが小さく被探知性が低いので「忍者アレーアンテナ」という名前。アンテナの配置はグリッドにきれいに並べて、素子の形状だけ変える感じかな。アンテナの形を変えてビームパターンを最適化するなら、アンテナの位置を変えてビームパターンを最適化するような方向があっても良さそうなものだけど。


 NICTの資料(ETS8の実験機器)で、コード長1ms(1.023Mcps、1023チップ、1kppsにコヒーレント)の拡散符号で時刻比較するシステムで、1コードの曖昧さを30kmと書いてある資料がある。「衛星の位置を15kmの精度で求められれば計算で誤りを除去できる」と書いてあるから、300kmを30kmと書き間違えたのではなく、30kmとして考えてるんだろうなぁ。

 時刻比較システムの曖昧さ除去のために時刻比較システムの測距情報を使う予定らしいんだけど、蛇が尻尾を咥える形にならないんだろうか。実験報告によると初期値はSLRで得たうえでコード/キャリアを追尾したそうだから、時刻比較システムでの測距はできなさそう。あくまでも距離変化(微分して相対速度)を計測できるだけっぽい。


 スナップショットGNSS的なやつを小型衛星に乗せたらどうかな、みたいな空想。

 適当な周期(数分から数十分毎)で数十ミリ秒程度のサンプリングを行い、測位する。複数点の位置から軌道運動でフィッティングして軌道要素を得る。フィッティングだけなら数十分ごとに測位計算すればいいから、計算リソースが非常に少なくて済む利点がある。ただしメモリ使用量が大きいのがネック。定期的にエフェメリスを受信する必要があるので、少なくとも7秒程度のサンプルを保存できるバッファが必要になる。2.56Mspsで1bitなら2.24Mbyteのメモリが必要。1ワードずつ拾っていくなら256kByte程度でいいので、少し大きめの32bitワンチップマイコンにRFフロントエンドを追加する程度でいけるか。内容の一貫性の保証が面倒ではある(2,3回受信して比較すればいい程度ではあるけど)。

 計測間隔を数分程度にすると単独でコード曖昧さを除去するには-7乗程度のクロック精度が必要になる。サンプリング周期を30秒周期とかに設定すればクロック精度はもう少し低くていい。基本的にはサブフレーム5を受信してアルマナックを保存、定期的にサブフレーム2,3でエフェメリスを更新したり、サブフレーム4で電離層のモデルを受信したり、みたいな感じで。GPSは各サブフレームでの放送内容が決められているので間欠受信がしやすい。あるいは、衛星軌道は軌道の推定がある程度容易だから、300kmの曖昧さを後処理で除去できるのであればクロック精度はさほど必要ない。

 しかし、最近だと小型衛星とかキューブサットに載せれるようなGPS受信機があるから、ソフトウェア実装のスナップショット受信機はあんまり需要がなさそうだよなー。広帯域ADCを1個(+冗長系)だけ積んで、RFスイッチでアンテナを切り替えながら色々なミッションに応用する、みたいな方向性はできそう。LoRa的な機能とか、軌道上に自由に使えるADCがあれば色々遊べそう。その機能の一つに軌道決定とか時刻補正の機能。



 プログラム書いてて何故か動かなくて、一旦怪しいところ全部消してから書き直しているときに「ああ、これが原因だったのか」と思い至って、しかしもう全部消してしまったので「今更気づいてももう遅い」と、比較的最近のなろう系ファンタジーになってしまう。ざまあされる側。こういう事があるとGitでこまめに差分管理するの大事なんだなという実感が得られる。でもいくらローカルとはいえ、動かないコードをコミットする勇気はないんだよなぁ。


 GPSは最初のキャリア周波数やコード位相の推定で苦戦中。あと、キャリア位相。ここをある程度高い精度で推定できれば追尾のPLLで急激に引き込む必要がなくなるので、セトリング時間が短くて済む。ただ、GPS信号はSNRが悪いので、それなりの精度で推定するのも結構難しい。コヒーレント積分長を長くするとノイズは減るけど、処理時間が伸びる。リアルタイムに受信することを考えるとせいぜい0.1秒とかで終わらなきゃいけないので、積分長を長くできない。推定値が悪くてもセトリング時間が伸びるだけなのでそこを気にしなければいいという話ではあるんだけど、とはいえセトリングに20秒かかるなら最初の20秒分はあまり意味のある情報が取り出せないから、デバッグが面倒(より長い時間解析する必要がある)とか、開発効率の問題もある。だからといってその部分に長時間かけていたら開発効率云々という話ではなくなるんだけど。


0 件のコメント:

コメントを投稿