Amazon Musicで天月, 狂蘭メロコ, 八雲べに & ライトのNocturnal Night Feverを再生する
サブスク各社で配信開始された模様
学術会議法案は撤回を、歴代会長が声明 処理水〝沈黙〟に元会長「議論の余地あったかも」 - 産経ニュース
大学は軍事研究には一切関わりたくないが、軍事研究の内容の評価は行う、みたいな話。自分が知らない分野をどうやって評価する気なんだろう。君たち、影響力を持った素人から「お前の研究なんか無駄だからやめろ」とか言われたら猛反発するだろに。
国と分離すると軍事研究を強要されるって文脈が謎い。むしろ国の下にいたほうがそういう要求されるものなんじゃないの。
NHKの『ザ・バックヤード』、エンドクレジットで差し込んである映像を見ると、放送されてないシーンで面白そうな話がたくさんありそうなんだよなー。地上波の本放送では枠が足りないから放送できないとしても、YouTubeとか、ある程度大きな配信サイトで拡大版というか、「バックヤードの裏側」みたいなコンテンツを配信してくれたら面白いだろうに。もちろんナレーションとかいう余計なものはつけず。それぞれの研究者が自分の専門分野を語るだけのコンテンツ。素人相手だから噛み砕いて説明してるだろうし。
Kindle PWは端末の検索画面から検索すると、ライブラリにある本の本文からも検索して、その本の中でそのワードが何回出現したかを表示する機能がある(もちろん出現箇所にも飛べる)。ただ、PWはe-inkに応じたプロセッサしか入っていないからレスポンスが悪いのが欠点。あと、1冊の中の検索画面に入ると、ライブラリの検索画面に戻ることができないから、いちいち検索画面に入力する手間がかかる。
Fire TabletのKindleアプリ(Android版Kindleアプリ)は検索画面から本文検索ができないのが欠点。
「前にKindleで読んだはずなんだけど、どの本か覚えてないんだよなぁ」を検索したい場合、PWでライブラリ検索して出てきた本をFireタブで開いて書籍内検索する、ってあたりが落としどころかな? もっとも、検索性能はあまり良くないので、直交性の高いキーワードをズバリ思い出しておく必要はある。
ゲーミングキーボードを衝動買いしてみた。国内OA機器メーカーのゲーミングブランド。デザインで選んで流通在庫(生産終了品)を購入。ガチのゲーミングブランドの製品に比べると安価な製品。
動機としてはDelta Forceを遊んでいるときに明らかにWASD周りで追加のキー入力が認識されてないな、という挙動があったので、組み合わせ制限の緩いゲーミングキーボードがほしいな、と思ったのはあるけど、最近はDelta Forceを遊ばなくなってしまったのでな。普通のゲームならそこまで同時押しを求められることもないし。強いて言えば、今使っているキーボードのShiftが若干認識されづらくなって、ChromeでCtrl-Shift-Tabがうまく使えないのが不便、というくらい(以前はマウスのサイドボタンに割り当てていた操作)。
キーボードとしてはそう変なものではない。全キー同時押しとかRGBライトとかがついているのが普通のキーボードとは違うところ。あとはよく言えば重量感がある。悪く言えばクソ重い。
今まで使っていたキーボードは普通のものだと思ってたけど、大きさが結構違う。実測でキーピッチ17.8mmくらいかな。買ったやつは実測19.2mmなので、7.8%くらい大きくなった。結構違和感ある。指が届かないというほどではないにしても。
ここ10年くらいはずーっとパンタグラフ式を使っていたので、高さのあるキーボードは変な感じ。パームレストがないので腕を浮かせる感じで使っている。ストロークに対して閾値が浅いので、少しでも力を入れると入力される。結局腕から指先まで浮かせて使うので、タブレットのソフトキーボードに入力しているような気分になる。20mmとか1インチとかそれくらいのパームレストがあると良さそう。20x20の押出材をおいてみたけど、高さ的にはちょうどいいかな? 冷たいのが難点。。。
全体的に違和感が大きいけど、大部分は慣れかな。寿司打で軽く遊んだ感じ前のキーボードと大して違いのないスコアだし。
今まで使っていたやつはBluetooth接続なので、数分操作していないとスリープに入って、再接続に1秒とかかかるので、操作性が少し悪かった。今回買ったのは有線なので、あらゆるタイミングでレスポンスがいいのが快適。ただ、机の周りが狭いので、キーボードを片付けようとするといちいちUSBを抜かないといけないのが面倒。もっと軽ければ適当に物の上に置けばいいんだけど、重量感があるのでそういうわけにもいかず、手間がかかる。
https://www.jstage.jst.go.jp/article/conf/35/0/35_107/_pdf
2022年。船舶を想定した天文航法の自動化の研究。スタートラッカのアルゴリズムと通じるような内容。ただし視野角が広めでロバスト性高め(雲等の掩体を想定)がSTTと違うところかな。
星の距離(離角)をカタログ化して探すようなアルゴリズム。ペアの数を2個、3個、4個と変えてモンテカルロシミュレーションで検証。
あくまでも特定の星ペアの同定しか行っていないのかな。カタログを投影して姿勢をイテレーションするみたいな処理はしていないと思う。そのあたりは次の年の人に任せる、って感じか。まあ、大学の論文ならそんなものか。
この段階でのモンテカルロシミュレーションだと、恒星ペアを誤認すると、そのパラーメタ(アルゴリズム)は使えない、という判断になるけど、実際には視野内の輝点とカタログを比較してマッチ率が低ければ棄却する、みたいな処理ができるから、実際にSTTを作るのであれば星の同定で誤認率が多少あっても全く問題はない(多少処理速度にペナルティがあるとしても)。院生が1,2年で作業できる範囲に絞ると特定の星を数学的に同定する手法を開発する、みたいな範囲しかできないんだろうけど、実用化を考えるともう少し広い範囲で作業したほうがいいだろうなー、って気がする。STTはわりと簡単に作れる(作れた)し、民間企業なら1,2年もあれば実際に船に乗せて運用テストとかまで行けそう。
https://www.jstage.jst.go.jp/article/jacc/67/0/67_19/_pdf/-char/ja
太陽位置を使用した位置推定の研究。偏光カメラを使うことで太陽が雲に隠れていても方位・仰角が得られる、みたいなやつだと思う。ヴァイキングのサンストーンの逸話を現代化したって感じかな。
航空機でGNSSが使用できないときにINSと組み合わせて、INSが発散しないようにする、というような使い方を想定しているんだと思うけど、ちょっと誤差が大きそう。2,3桁改善すれば、信頼性とかコストによっては民間機のバックアップには使えそうだけど、とはいえ偏光カメラか……
空中衝突(異常接近)はTCASで回避するとして、あくまでもGNSSが無くなったときに紛争地域(or情勢が悪い国)の近くに行かないように、位であれば10kmオーダーの精度があれば使えそう。その程度の精度があれば着陸時はVORに引き継げるだろうし。
誤差の要因がエアロゾルだとすると、高高度を飛行する航空機であればもう少し良い精度が得られるのかな? 太陽を使うので昼間しか測位できないという問題はあるけど、夜間は恒星を使えばいいだけだし。太陽観測だと低仰角まで見える偏光カメラ、恒星観測だと天頂狙いの挟視野角・高感度カメラが必要になるけど。
アメリカでの国からの研究資金の提供で、研究補助金は伝統的に軍事研究に限られていて、民間の研究に対して国が補助金を出すことは避けていた(民間の研究は民間で競争させて、国が歪めるようなことはしない)、みたいな話を見かけたんだけど、本当なんだろうか。あと、同じような文脈で、ベトナム戦争後の厭戦気分で軍事研究に対する否定的な意見だけでなく、国からの研究資金自体が自由な研究に対する脅威である、みたいな話もあったらしい。前者が事実だとして、後者の発言も実際にあったものだとすると、つまり国の研究資金というのは軍事的な成果を得るためのものであって、それ以外の研究ができないから、国からの研究資金はだめだ、みたいな話なんだろうか。
フェルミ加速器研究所の初代所長の「国防に資する施設ではないが、守るに値する国になるために必要なものだ」(意訳)的な発言を考えると、「軍事研究目的の予算」といっても、結構幅広い分野で認められるのかな。まあ、軍の研究予算で折り紙の研究をする国だしな。軍事予算の幅も広そうだが。
アメリカでは軍事と民間の境界がキッチリ分けられていて、軍事的な組織と民間の組織もかなり分離していたらしい。例えばF-2の共同開発では、MHIがボーイングの旅客機部品を製造していることを理由に、日本に戦闘機技術を渡すとそれが民間航空機部門に流用されて、ひいてはアメリカの民間航空機企業への脅威になる、みたいな考え方。FAA(連邦航空局)も、民間航空機の安全運行を目的としたシステムにGPS(米軍が作ったシステム)を使うことに否定的だった。
ただ、コンピューターが出てくると軍と民間の分離なんてことは言ってられなくなって、ARPAの資金で民間の研究開発を支援したり、というような状況になってきた。軍の装備品はライフサイクルが非常に長くて、近代化改修を入れても数十年毎になる。複数機種を含めても、せいぜい10年に1回とかの頻度でしか開発ができない。F-14に積んだフライトコンピュータは当時の民間のプロセッサより高性能な計算機が使われていたが、その後は民間の半導体技術(の中でも更に枯れた技術)が軍に採用されるようになった。
米軍がデュアルユースとかCOTSとかを本格的に使い始めて、アメリカで軍と民間の境界が曖昧になったのは、1980年から2000年あたりのことなのかな。F-14の初飛行が’70年。湾岸戦争で軍用GPSが足りなくなって民生用GPSを大量購入したのが’90年。タイコンデロガにWindowsを乗せたのが’97年だから、民生用コンピュータがある程度普及してから結構時間がかかっている。大型のドンガラにCOTSハードウェアを乗せるようになったのは、パーソナルコンピュータが普及してからかな。
ただ、このあたりの話を読みたくてググってもいまいちそれらしい資料が見当たらない。大抵は防衛装備庁の補助金制度以降の倫理観とかの議論が大量に出てくる。日本の状況を考えると、数十年くらい前までの、民間と軍事をキッチリと分離したアメリカの予算制度とかは結構参考になりそうな気もするんだけど。なぜアメリカは軍と民間を分離して成長させたのか(国内でクリーンルーム設計を行う非効率性を許容するだけの理由があるはず)、なぜその境界線が薄まったのか、その結果どうなったのか、等。日本の補助金制度の是非はともかくとして、アメリカの制度がどうなったのかを理解するのは意味がありそうだが。日本では防衛装備庁の補助金に対する反対意見(あるいは少なくとも問題提起の形を取ったもの)が非常に多くて、結論ありきで書かれている論文が多い印象。少なくとも、軽くググって出てくる大部分はそういう内容。もっとも、タイコンデロガからまだ30年も経ってないわけで、歴史を振り返るというほどの歴史にはなっていないような気もするが。
***
波形のSinc補間
橙が補間前の波形、青が補間後(32倍)の波形。Sincの長さは128(-64~+63)。Sincをそのまま使っているので振動が強い。
SincをBlackmanで末端処理。振動がだいぶ減る。
拡大すると、補間前と補間後のサンプルが重なっていて、かつある程度正しそうに補間できていそうな事がわかる。
畳み込むSincの波形(8倍補間の0と1の波形、Blackman)
Sincの波形は帯域幅が1のSincのそれで、最初の波形は中央が1のインパルス、それ以外は非対称の波形になる。
Sincの畳み込み処理はFIRフィルタと全く同じ処理だから、例えば32倍に補間するならFIRを32個並べて、一つのサンプルを順番にFIRに入れていくと、補間した波形が得られる。
やっていることはただのインターポレーションなので、1個のFIRに長い係数を設定しているのと同じ。ただし長いFIRだと計算量がかなり多いと思う。SincでN倍にするならN個のFIRを並べたほうが計算コストが桁違いに低いはず。感覚的には、FIRインターポレーションでは途中に0を大量に挿入して、それに対しても係数の掛け合わせが発生する。帯域幅1のSincフィルタを複数個並べた場合、0挿入は行わないから、その分で計算量を減らせる。おそらくこれがいわゆるポリフェーズフィルタというやつだと思う。
さらに言えば0番目のFIRはインパルス応答だから、これをFIRでなく遅延線で処理すればFIR1個分計算リソースを減らせる。FIRで実装するなら全部FIRで処理したほうが楽だろうけど、ポリフェーズフィルタとして実装するならその辺は好きに処理すればいい。
***
若干遠出する用事があったので、GPSのサンプリング
ところどころドロップしている。1.92Mspsでも落ちるときは落ちる。
3区間で前後が移動中(50km/h前後?)、途中が停止中、のはず。移動中はSNRがかなり悪い。相関器のチューニングの問題だと思うけど、停止中のアンテナで取ったサンプルしか使っていないので、移動すると性能がかなり悪化するらしい。
別PRN
だいぶSNRが安定している。単に視線速度の問題かもしれないけど。
相関器を25msブロックで走らせて、40Hzで測位演算。NMEA 0183形式で出力。
Google EarthでNMEA 0183を読み込む場合、最低限GPGGAとGPZDAが必要。GGAで4次元空間を拘束できるが、GGAには年月日が無いので1日の曖昧さがある。それを解決するためにZDAの日時情報が必要。RMCは年月日があるけど高度がないので4次元を表現するには不便(船舶みたいにジオイド面に張り付いている前提なら問題ないんだろうけど)。
0183のセンテンス、基本的なフォーマットだと垂直速度(3次元速度ベクトル)の出力はできないのかな。船舶で垂直速度が問題になるような状況なんてないからということなんだろうか。どうしても必要なら$PECEFでISO 8601に続けて位置と速度を出力するようなセンテンスを勝手に作ればいいんだろうけど。
0183のデータフォーマットが度分秒じゃなくて度分なの、ずっと不思議だったんだけど、これってもしかして海里の近似ってこと? いや、そんな緯度にしか使えないテクニックを採用するわけが…… 経度にしても適当なスケーリング(緯度45度なら3割引)で海里として読めないこともないけど、ちょっと不便。秒で表示されるよりはわかりやすい気もしないでもないが。
0183はインターネットが普及するより前に機材が普及しているはずだから、それ以前の規格(0180~0182?)はググっても情報がほとんど出てこない。以前の規格はLORAN-C受信機で使っていたフォーマットらしい。主に船舶を想定していた機材だろうし、そもそもNMEA自体が海洋向けの規格化団体だから、最小単位を分に設定して海里に合わせたという可能性は無いとは言えなそう。
適当な時間範囲の測位結果をGoogle Earthで表示すると、擬似距離で測位演算した場合は誤差がかなり大きくて、水平10m、垂直50m程度の楕円で暴れる感じ。
ドップラを使うと受信機の移動速度を推定できるけど、これはかなりいい精度で得られる。初期値だけ擬似距離で得た位置を使用して、その後は速度を積分すると、実際に通った距離をかなり高い精度で推定できるし、ノイズ成分(高周波成分)もほとんどない。速度の積分でこんなにきれいに位置が得られるとは思わなかった。ただ、衛星のロックが外れたタイミング?で距離が飛ぶ時がある。速度推定に使う衛星の組み合わせが変わると推定値のバイアスもステップ状に変わるんだと思う。あとは、それなりに精度がいいとはいえ、積分する以上は多少の誤差は防げないわけだし、速度積分だけで長時間の位置推定は厳しいとしても。適当な係数を設定して、位置=(擬似距離位置*k)+((前回位置+速度*計測間隔)*(1-k))みたいな感じで組み合わせると、高周波ノイズをあまり含まず、積分誤差もあまり増えない位置情報が得られる。本来は運動モデルを想定してカルマンフィルタとかを作るべきなんだろうけど。
NMEA 0183は楕円体高ではなく標高で出力する必要があるので、何らかのジオイドモデルを使う必要がある。
国土地理院のジオイド2024(ベータ版)を計算してみた(正式に公開されるのは4月1日の予定で、現在のデータセットは正式な計算には使用できない)。
データセットは一定の間隔(緯度1分角、経度1.5分角)でジオイドの値が固定長文字列で入っているシンプルなデータ。ただ、素直にテキストファイルからfloat配列に読み出すと0.4秒くらいかかる(Releaseビルドだともっと早いかも?)。float配列のバイナリに適当なヘッダ(オフセットとか間隔とか)を含めて保存しておくと、20ミリ秒とか、デバッガの分解能程度の短時間で読み出せる。gzipで圧縮すると読み込みに70ms程度かかるけど、それでもテキストをパースするより圧倒的に早い。テキストファイルは未圧縮で35MB、圧縮しても11MB程度ある。バイナリで書き出すと13MB弱、gzip圧縮で10MBくらいまで小さくなる。
任意の地点のジオイドを計算する場合、周辺4点から線形補間するような感じで使うらしい。そういうふうに実装して、付属しているexeで計算した乱数列と比較すると、十分な精度(exeで出力される分解能(0.1mm)以下)で得られるから、正しく計算できているはず。オンラインの地理院のジオイド計算機と比較すると多少(数十cm程度)差があるけど、モデルの精度の問題だと思う。補間せずに一番近い点を使うと最大で0.5m(大部分は0.1m以下)程度の誤差になる。ジオイドって結構勾配あるんだな。
以前電子基準点付近で取ったサンプルから擬似距離で測位演算
約30秒間のデータを40Hzで出力。サンプルは電子基準点の南側に10mくらい離れた場所で取っている。少し東寄りで上に上がった場所に、上下方向に広く分散している感じ。断面積が一番細い部分では直径10m程度かな。
このサンプル、2.4Mspsで取っていたので時々ドロップしている。一番長いところで13分くらい連続している。13分間のNMEAでも最小断面積の場所で15m程度かな。単独測位でも水平方向はそれなりに安定している。
「GPSのしくみと応用技術」32pの図1-6「GPS衛星に搭載されている送信系のシステム」の図、出典はどこなんだろう。少なくともIS-GPS-200にはこういう図は見当たらないと思うだが(見逃してるだけかもしれないけど)。
GPSの搬送波、L1,2,3,5はシンプルな整数比なのに、L4(1378.9133..)だけ10.23*1214/9という分数比になっているのはなんでだろう? 1381.05MHzとかじゃだめなんだろうか。他の割当との関係とかなのかな。
https://www.echiba.org/wp-content/uploads/2022/12/kenrenshi_054_2.pdf
1999年頃? 千葉県の遺跡のデータベース化に関する話。
途中にNMEA 0182の簡単な説明がある。「NMEA 0183で細かいデータが得られるが、詳細なデータは必要ないからNMEA 0182で十分」みたいな感じで選んだらしい。
0182も度分で表現するのは0183と同じ。度と分のそれぞれにDと'がついているので、桁区切りの曖昧さが無いのが便利そうだ。
***
C#でclassからrecordに派生できない制限、地味に不便な気がする。例えばrecord HogeEventArgs(int Index):EventArgs;的なことができなくて、class HogeEventArgs(int index):EventArgs{public int Index=>index;}みたいに書かなきゃいけない。
C#のswitchのパターンマッチでcase TypeA a: case TypeB b: case TypeC c:みたいに複数型を列挙して、マッチしなかった形にはnullが入る、みたいな処理が欲しいような気がする(現在は全変数で未初期化エラーが出る)。
結局変数のnullチェックが必要になるから、ifとかで分岐するくらいなら内側でもう一回switchでパターンマッチしたほうがいいとかなのかもしれないけど。
0 件のコメント:
コメントを投稿