日記・備考録
Diary/Memorandum

2005 | 2006 | 2007 | 2008 | 2009 | 2010 | 2011 | 2012 | 2013 | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024/ 1 2 3 4 5 6 7 8 9 10 11 12 | 2025
Search
December January
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Februrary | Home

2024/02/01~

....................................................................................................................................

2024/01/29

ALES, ソフトバンクの独自基準点で観測した高精度な位置データを後処理用に提供する「後処理データサービス」を本格開始 ~ 指定した時間の高精度な位置データの取得が可能に ~, 2024.01.23

....................................................................................................................................

2024/01/25

Pocket SDR - An Open-Source GNSS SDR, ver. 0.11

ver. 0.11 released.

....................................................................................................................................

2024/01/24

苦労したが、BDS B1C, B2a, B2b用のNB-LDPCデコーダがやっと動く様になった。とりあえずpythonでEMSを実装したが、かなり遅く実用的ではないのでCで書き直し中。B1CやB2aではほとんどエラーはおきないのだが、データレートの高いB2bでは結構CRCエラーが発生しているので訂正があった方がベター。

....................................................................................................................................

2024/01/22

bynav M22内蔵IMUのAllan deviation。Z軸ジャイロだけ精度が高く、BI=1.3 °/H、ARW=0.1 °/√H。bynav A1-3Lと同様に、NovAtel互換のRAWIMUBメッセージを出力できるのでそれを解析した。その他の解析結果はこれ参照。

-------------------------------------

Digikeyで追加注文していたUSB-UARTブリッジが届いたので、残っていたbynav M22 (参照) とu-blox ZED-F9P-15B (参照) を実装。まだMS34SNAが正常動作していないが、一応一式評価できる環境は整った。ところで、F9Pって値下げしたんだ (@$129)。もうそろそろ新しいモジュールが発表されるのかもしれない。

-------------------------------------

FURUNO, コラム GPSが1.5秒刻みで時刻をカウントする理由

いつも楽しい喜多さんの記事。これ以外の記事 (参照) も、皆興味深い (特に「セシウム明菜」)。

....................................................................................................................................

2024/01/21

宣伝ではないのだが、JLCPCB (参照) って、4層基板 (50×50mm、5枚) を $2.00 で作れるらしい。MAX2771 30個余っているので、EagleからKiCADに移行して、4層化、USB-C化して、Pocket SDRを作り直そうかと思っている。EZ-USB FX3と4CH化はその次のバージョンで。

....................................................................................................................................

2024/01/20

BDS B1C, B2a, B2bの航法データ復号のためNB-LDPCデコーダ書いているのだけど、試しにAI (Microsoft Copilot) に書かせてみた。もうプログラマ要らないかも。

補足: ネタなので本気にしないように。中身は推して知るべしなんだけどプログラムの構造は自分で書く参考にはなる。(1/21追記)

....................................................................................................................................

2024/01/18

メモ: Acrobat Reader のUIを元に戻す → 左上メニュー "Disable new Acrobat Reader"、逆: メニュー View - "Enable new Acrobat Reader"。

-------------------------------------

Quectel LG69T-AP。受信信号はGPS: L1C/A, Galileo: E1, E5a, BDS: B1I のみ。仕様で書かれているGPS L5, QZSS L1C/A, L5, BDS B2aは受かっていない。設定が必要なのかも。消費電力が多いのかアッチアチで、ヒートシンクないと連続運用は厳しそう。

....................................................................................................................................

2024/01/17

とりあえずQuectel LG69T-AP (参照) とMinewSemi MS34SNA-4YY (参照) を実装した。MS34SNAについてはデータデータシート等詳細文書が公開されていないので、MinewSemiに直接問い合わせて送ってもらった。

-------------------------------------

最適化のために基本のgprof。ということで衝撃的な結果が。相関器ほとんどCPU使ってないじゃん。これホント? 頑張ってAVX2コードを書いた意味が。まあ、まだ最適化の余地があるということで ...

  %   cumulative   self              self     total           
 time   seconds   seconds    calls  ms/call  ms/call  name    
 78.44      9.06     9.06  1260051     0.01     0.01  mix_carr
 11.43     10.38     1.32    24099     0.05     0.05  sdr_corr_fft_
  8.05     11.31     0.93     1168     0.80     2.08  sdr_search_code
  1.90     11.53     0.22      118     1.86     1.86  sdr_corr_max
...

補足: WSL2 + Ubuntu 20.04 LTSのgprofは正常動作しないみたい。ということでWSL2 + Ubuntu 22.04 LTSで取り直した。今度は正常っぽいが、AVX2で書いたコードはプロファイル取れないみたい。仕方ないので関数単位で実行時間測るか。(1/19追記)

....................................................................................................................................

2024/01/15

色々と最適化してノートPCでも 90 CH位まで復調できるようになった。これで多周波・マルチGNSS対応受信機として、ある程度実用的に使えそう。あとは擬似距離生成とRTCM3出力を追加予定。最終的に見栄えの良いWeb UIを追加したいのだけど、これはいつになることやら。

あと4CH版 Pocket SDRとか、Spider SDRによるアンチジャミング受信機とか色々やりたいことはあるのだけど、どれも構想だけになるかも。

....................................................................................................................................

2024/01/13

かなり安定して動くことが分かったので、Pocket SDR ver.0.10で最大サンプリング周波数を24MHzから32MHzに変更した。これでL1帯でのGPSとGLONASSの同時受信がぎりぎり可能になるはず。ただし手元のノートPCでは、データ落ちのせいで、たまに全CH信号ロストする。環境を選ぶかも。

補足: pocket_trk ver.0.10では信号毎にIF周波数を設定できないのでGPSとGLONASSの同時受信にはプログラム改修が必要。(8:19追記)

再補足: 懸念だった Ubuntu 20.04 LTSでも32MHzでデータ落ちなく動いている。結局、USBホストドライバの問題じゃなくて、HDDの書き込み速度が原因だったのかも。サンプリング32MHzだとHDDに128MB/sの書き込みスループットが要求されるので。(1/15追記)

....................................................................................................................................

2024/01/12

Pocket SDR - An Open-Source GNSS SDR, ver. 0.10

ver. 0.10 released.

....................................................................................................................................

2024/01/11

ノートPCだと60CH位が限界らしいので、デスクトップPC (Core i9 9960X, 16C/32T, RAM 64 GB, Ubuntu 22.04.3 LTS) でPocket SDR ver. 0.9を動かしてみた。GNSS L1+L5フル構成、サンプリング24MHzで、全 596 CH中 105 CH LOCK。CPU負荷は36~37%、RAM消費は22%。CH数が足らないのでsrc/pocket_sdr.hのSDR_MAX_NCHは1024に書き換えている。第9世代のCPU (Skylake-X refresh) なので、第12世代のノートPC (Core i7 1260P, 12C/16T) に比較してFFTが2割位遅いが、200 CH位までは実用になりそうな感じ。最新CPUを載せたPCならもう少し行けるかも。なお、9960XはAVX512が使えるので、相関器をAVX512で書き換えてみたが、速度はAVX2+FMAとほとんど変わらなかった。L1CやB1C等、長い拡散コードの捕捉が遅くて、全CHのサーチに10分以上かかるので、次は捕捉アシスト機能と複数CHサーチ機能を追加しようかと思っている。

....................................................................................................................................

2024/01/09

Pocket SDR (ver. 0.10b) による、GLONASS-K2 PRN26 L1OCd, L1OCp, L2OCp信号のリアルタイム受信確認。公開されたものとしては世界初では ?

補足: GLONASS-K2に関するGPS Worldの記事 (参照)。 "The first satellite ... already started to broadcast the new CDMA signals." とある。(1/10追記)

....................................................................................................................................

2024/01/08

Pocket SDRでGLONASS CDMA L1OCd, L1OCp, L2OCp信号の追尾に対応。L1OCdとL1OCpはPRN26、L2OCpはPRN25, 26の信号受信を確認。IAC (参照) によればPRN25は2022/10/10打ち上げのGLONASS-K。PRN26については、情報が見つからないが、2023/8/7打ち上げのGLONASS-K2と予想される。

これでほぼ全部のGNSS (OS) 信号の追尾に対応。あとは航法データの復調。

補足: GLONASS PRN25のL2OCp信号はオーバレイコードがICDと異なる様。(1/9追記)

....................................................................................................................................

2024/01/07

PythonコードをCに移植。リアルタイムでも、NavIC L1-SPSの追尾・航法データ復調に対応。ICDから抜き出したLDPC H-matrix用テーブルだけで900行以上ある。残りの信号対応はGLONASS-K2で追加されたL1OCd, L1OCp, L2OCp位。あと積み残しとなっているBDS B1C, B2a, B2b用NB-LDPCデコーダの実装。これらは間に合えばver. 0.10に入れる予定。ver. 0.9のサポート信号一覧は以下参照 (ただしBDS B1C, B2a, B2bの航法データ復調は未)。

Pocket SDR Signal IDs

ところで今回の改修で気づいたのだけど、GLONASS 奇数FCNだけ2ms周期のマンチェスターコードが含まれているみたいなのだけど、これってICDのどこかに書いてある ?

....................................................................................................................................

2024/01/06

Pocket SDRでNavIC (IRNSS) L1-SPS信号の追尾に対応。IZ4と呼ぶ拡散コードの生成は複雑で、ちゃんと動くまで結構大変だった。

補足: 市販受信機のNavIC L1-SPS対応状況: JAVAD, Qualcomm (19:10追記)。

再補足: NavIC L1-SPS航法データのデコードにも対応。画像差し替え。データ構造はGPS L1Cとよく似ているのだけど少し違う。(1/7追記)

....................................................................................................................................

2024/01/05

Pocket SDR - An Open-Source GNSS SDR, ver. 0.9

ver. 0.9 released.

....................................................................................................................................

2024/01/01

今年もよろしくお願いいたします。

....................................................................................................................................

〜2023/12/31


Home by T.Takasu