日記・備考録 |
2005 |
2006 |
2007 |
2008 |
2009 |
2010 |
2011 |
2012 |
2013 |
2014 |
2015 |
2016 |
2017 |
2018 |
2019 |
2020 | 2021/
1
2
3
4
5
6
7
8
9
10
11
12 |
2022 Search |
August | September 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 |
October | Home |
....................................................................................................................................
Mouserで頼んだTCXO 24 MHzが欠品で届かないので、Pocket SDRのTCXOは16.368 MHzにした。32.736 MHz、24 MHz、でも今のところ正常動作しそうだし。F_LO=1572.42MHz、F_ADC=12MHz (I, 2bit)、F_CEN=3MHz、BW=4.2MHzの条件でSDR動かして、G32 L1C/AのC/N0が51.8 dBHzも出ているので問題はなさそう。しかし、何でGPS PRN32だけ信号強度が高いのだろう。
L6用に12MHz前後のIFフィルターが欲しいのだけど、MAX2771の場合、8.7MHzの次は16.4MHz。少し相関電力が落ちるかもしれないが8.7MHz (3rd Order) で行くか。
-------------------------------------
T.Suzuki, First Place Winner of the Smartphone Decimeter Challenge: Global Optimization of Position and Velocity by Factor Graph Optimization, ION GNSS+ 2021
Taro君、ベストプレゼンおめでとうございます。
....................................................................................................................................
QZS-1 (J01, PRN193) 復旧。航法データのAf1はまた大きな値 (0.1161 ns/s) に戻ってしまった。どうも状況が良く分からない。
-------------------------------------
一体型も出来た、まだ動かないけど。どうもEZ-USB FX2LPのGPIOが有効になっていないみたいだけど、パッケージによって動作が違うとかある?
-------------------------------------
QZS-1 (J01, PRN193) 2021/09/28 09:36 UTCから再度サービス停止。手元の受信機で信号は受信できているが、SVH=0x3e。航法データのAf1=-0.0118 ns/sと急に小さな値になっている。
-------------------------------------
やはりMAX2771のADC 3bitモードは正常動作しない。確か、NSL STEREOのMAX2769もADC 2 bitモードで動かしていたはずだがこれが原因なのか ? まあ, 2bitと3bitの差はそれほどないはずなので我慢するか。
....................................................................................................................................
Pocket SDRのF/Wもやっと安定してきたので、MAX2771用コンフィグツールを作った。作ってみると、苦労して調整したレジスタ設定の間違いが一目瞭然。やはり、遠回りな様でも先に道具を整備するのが早い。
....................................................................................................................................
祝、Pocket SDRで初のL6相関。しかし、長かった。(QZSS L6, PRN193, F_IF=0.000MHz, F_S=16.368MHz (I/Q), FBW=16MHz) 。コードはここあたり参照。
....................................................................................................................................
これ (参照) 来たので、要らない試作基板のTCXOとMAX2771を剥がす。風量は思ったより強くないし、調整もできるので、1608のチップコンデンサでも飛ばないと思う。アルミテープに四角穴空けてマスクにして。300度ではダメで、再度350度で熱風当て続けて1分位で、なんとかTCXOは剥がれた。MAX2771は裏側全部半田面なので、上からの熱風だけで、チップ下まで温度上げるの厳しそう。ということであきらめて、Koizumiのリフロー炉 (参照) で230度まで温めたら (当然) 簡単に剥がれた。しかしカプトンテープ強い。ホントにこの温度でも全然溶けない。
-------------------------------------
つい最近まであったはずのMAX2771の在庫が何処にもない。手元には残り4個。最悪、試作基板のを剥がして使うか。
....................................................................................................................................
ということでポチった。マスク用に耐熱テープも。外すのは多分問題ないと思うんだけど、問題は再はんだ付け。TCXO位の大きさだと最悪手付でも何とかなるはずだけど、端子出てないので、裏返してリードを付けて、ひっくり返して... とする必要がある。
-------------------------------------
メモ。格安EZ-USB FX2LPボードのEEPROMへF/Wイメージを書き込む手順。
(1) J2ジャンパOFF。
(2) リセット
(3) Cypress Control CenterでCypress FX2LP
No EEPROM Deviceを選択。
(4) メニューProgram - FX2 - 64KEEPROM 実行。
(5) 書き込みたいF/Wイメージ (.iic) を選択。
最初は簡単。問題は再書き込み。以上ではダメで、いったんRAMにロードしたF/WでEEPROMの先頭バイトを消去して、EEPROMからのブートを止める必要がある。
(a) J2ジャンパON。
(b) Cypress Control CenterでCypress FX2LP
No EEPROM Deviceを選択。
(c) メニューProgram - FX2 - RAM 実行。
(d) ...\Cypress\USB\CY3684_EZ-USB_FX2LP_DVK\1.1\Firmware\Vend_ax\Vend_ax.hexを選択。
(e) J2ジャンパOFF。
(f) Cypress Control CenterでConfiguration
1 - Control endpoint (0x00) を選択。
(g) Data TransfterでDirection=Out, Req code=0xA9,
Req type=Vendor, Target=Device, wValue=0x0000,
Bytes to transfer=1, Data to send (Hex)=FF,
としてTransfer Dataを押下。
(h) いったんリセットして (1) へ。
(e) をしないとFX2からEEPROMが見えないので (g) が失敗する。複雑な手順でメモがないと再現は無理。面倒なのでF/WイメージをEEPROMに焼くのは、最後だけにするのがよさそう。Vend_axについてはこれ (参照) の7.11参照。
補足: 何故か、EEPROM先頭を消去しないでも書き込みが出来る様になった。結局J2ジャンパOFFのまま書き込みできることになる。何度やってもダメだったのは何故なんだ。手順を再現できないので結局謎のまま。(9/27追記)
-------------------------------------
ということで、Pocket SDR作業再開した訳だが、MAX2771のADCクロック分周回路が思った様に動かんなあ。結局整数分の1の分周しか正常動作しない感じ。ということで、TCXO付け替えたいので、リワーク用にこれ (参照) 買おうか迷っている。
-------------------------------------
念のため、QZS-1航法データ af0の値を以下に。2021/8/30-9/23 GPST。9/16に何らかのイベントがあり、それ以降は安定している様に見えるが。
-------------------------------------
QZS-1 (J01, PRN193) が復旧。サービス停止時間は2021/09/04 12:26 - 09/22 05:15 UTC (17日16時間49分) であった。
2021/09/22 20:50現在、QZS-1航法データ中のaf0は133740.25 ns、af1は+0.1163 ns/s。(2^21*2^-31*1e9-133740.25)/0.1163/86400=83.88 (日)。クロックレートは調整できなそうなので (できてればaf1がこんなに大きい状態でサービス再開するはずないので)、定期的にサービス止めて、クロックオフセットを調整して、QZS-1Rまでしのぐという方針なのであろう。このまま安定すれば良いのだけど。
....................................................................................................................................
なんとか某原稿完。明日はPocket SDR実装するぞ。
....................................................................................................................................
9/4に再度障害を発生したQZS-1 (J01, PRN193) が復旧しない。サービス停止後12日目。現在手元の受信機で信号は受信できているが、SVH=0x3E。2020/7/7〜7/20のサービス停止時間の記録 (13日1時間7分) をもうすぐ超える。
8/30からの航法データが公開されているので、そのデータから計算したQZS-1の衛星クロックバイアスの変動を以下に示す。これを見ると9/13に大きな周波数シフトが見られる。このシフトが作為的な調整なのかどうかは不明である。また、期間を通じてクロックの挙動が不安定で、9/14以降は安定化したかに見えるがそのレートは+0.056 ns/sとかなり大きい。さらに、2021/9/16 12:45 UTC現在、航法データに含まれているレート (af1) は+0.1148 ns/sとさらに大きな値となっている。これを見る限り、航法データが公開されている8/30以降、搭載クロックが不調でその調整も思った様にできなくなっていると推測する。一連の障害の開始 8/19から既に1カ月近くたっている。相当に状況は厳しいと思われ、公式発表はそろそろであろうか。
補足: QZSS L1C/A航法データ (LNAV) のaf0フィールドは22bitでLSB2^-31s、すなわちそのレンジは-0.00098〜0.00098 s。現在のaf1の値0.115 ns/sを今後維持するとすると、約100日でこのレンジをオーバーする。まずはこれが問題であろうか。(9/17追記)
....................................................................................................................................
Fusion PCBから荷物が届いた。発注後7日。部品はほぼ揃っているのだけど、某原稿が終わらないので、実装できるのは多分来週以降。
TCXO周波数をどうするか少し悩んでいたのだけど、データシートを確認すると、MAX2771の場合、PLL周波数もADC周波数もかなり柔軟に変更できるので、大体何でも良いようだ。ということで、手持ちのTCXO 16.368MHzを使うつもり。
L1/L6受信機の場合、PLL周波数は、L1 (HI): 16.368MHz / 1 × 96.25 = 1575.42MHz (RDIV=1, NDIV=96, FDIV=262144)、L6 (LO): 16.368MHz / 1 × 78.125 = 1278.75MHz (RDIV=1, NDIV=78, FDIV=131072)、ADC周波数は、16.368MHz × (375/1023) × (x2) = 12MHz (REFCLK_L_CNT=375, REFCLK_M_CNT=3448, REFDIV=0, PREFRACDIV_SEL=1, ADCCLK_SEL=0, FRCLKIN=0, EXTADCCLK=0) I/Qの予定。MAX2771のADCクロック設定は複雑なので、以下にまとめておく。図中FRCLK_SELとあるが、レジスタ名はFRCLKINなのでマニュアル内で整合していない。
補足: MAX2771のIFフィルタ特性やIQインバランスが良くわからないが、もしかすると、L1はダイレクトコンバージョン (ゼロIF) でない方が良いかも。3bitだと量子化ロス0.4dB位は削減できるし (参照)。この辺、SDRのCPU負荷も関係するので後から評価して決める。(9/15追記)
....................................................................................................................................
Mini-Circuitsから荷物が届いた。たった10個なのにデカいリールに入って。早いのは良いのだけど、受け取り時に、しっかり消費税\1,900とられた。課税価格1万円以下は免税になるのでは (参照) と思ったが、送料も課税価格に含むのか。やっぱりアリエクで注文すればよかった。
補足: アリエク、本物かという問題はあるわけだが (参照)。ところで、TCBT-2R5G+であるが、端子が横に出てないので手付は難しそう。今後、例えばTCXOを換装する場合に備えて、ヒートガン (参照) でのはんだ付も出来るようになった方がよいかも。しかしチップ部品だと飛んで行きそうで、普通どうやって固定するのだろう。あと、ちょっと高いけど電動吸着ピンセット (参照) も欲しい。(12:10追記)
-------------------------------------
The Error Correcting Codes (ECC) Page
QZSS L6やGalileo E6の航法データ復調にはRS(255,223) デコーダやビタビデコーダを実装しなければいけないので、今後の参考にとりあえず貼っておく。
....................................................................................................................................
QZSS,「みちびき初号機後継機」(準天頂衛星)の打ち上げについて, 2021年09月10日
QZS-1R打ち上げ予定 2021/10/25 02:00-03:00 UTC。打ち上げ後の各種試験に通常半年はかかるから、運用に投入されるのは早くて来年春くらい。それまでQZS-1が持つかどうか ?
-------------------------------------
E. Gohler et al., A Galileo E6-B/C Receiver: Signals, Prototype, Tests and Performance, 2016
ということで、E6B/C受信機設計と信号の評価。今後ちゃんと読む。これ見ると、C/NAVのフレーム構成は、sync(8)+page type(14)+CS data(448)+CRC(24)+tail(6) = 500 (bits) みたい。syncにはFECがかかってなくて16シンボルかも。
-------------------------------------
EU, Galileo E6-B/C Codes Technical Note, 2019
ということで、Galileo E6の仕様を調べる。まだこれしか出てなさそうだが。正直たいした情報がない。E6のうち、E6B/Cが民生用。拡散コードは、いわゆるメモリーコードで、E6B/C共 5115チップ長。チップレート5.115Mcps。E6Cには100チップ長、1000cpsのセカンダリコード、E6Bには1000spsのC/NAVデータが重ねあわされる。E6航法データレート448bpsと言われているので、多分E6Bには1/2 FECが入る。航法データフォーマットはこの文書だけでは全く分からない。とりあえず普通のBPSK(5) ぽいので、ADCはI/Q 12MHzあればOK。捕捉にE1の補助がいるかは微妙。5115チップ長なら直接でも行ける気がするが。
補足: E1の捕捉が終わっていればドップラー検索の必要ないので、E6の捕捉はずっと早い。E1とE6両方受信する必要があるなら、先に捕捉した信号のドップラーやコード位相を、もう一方の信号の捕捉アシストに使える。せっかくなのでE1対応もするか。E1B/Cは拡散コード長4092チップ、チップレート1.023Mcps。変調はCBOC(6,1,1/11)。CBOCの構造をちゃんと理解していないが、90%以上 (10/11) の電力はBOC(1,1) なのでこれだけ捕捉・追尾すれば概ねOKのはず。(9/11追記)
-------------------------------------
Galileo E6を受けてGalileo HASとMADOCAの性能比較をするのは少し面白いテーマかも。まだ、HASのICD公開されてないけど、多分年内には出るはずだし。ということで、Pocket SDR少しやる気が出てきた。
....................................................................................................................................
QZS-1 (J01、PRN193) の再度の障害だが、まだ復旧していない。すっかり忘れていたが、昨年7月にも原子時計障害による信号停止を伴う約13日間のサービス停止 (参照) を引き起こしているので、今回も同一原因かもしれない。NAQU2020071 (参照) では「今後、再発生の可能性があり、その場合数日から10日以上のサービス停止を伴う」とある。これも忘れていた。昨年7月の障害時点でQZS-1の正式運用開始後稼働率が97.4%だったので、さすがに今回障害でPS-QZSSの衛星毎稼働率要求95%を下回るのではないか。
-------------------------------------
安いQZSS L6受信機を「いまさら何だかなあ」と書いたのは、今ならAllystar HD9310 (参照) もDrogger VRSC (参照) もあるので。といっても、部品代だけなら5千円位で作れるので、QZSS L6D/E 8CH受かれば少しは意味があるかも。なお一体型の基板幅21.6mmは意味があって、15 x 25 x 1.5 mmのアルミ角パイプ (参照) を加工したケースに入れる予定。
補足: Digi-keyで、EZ-USB FX2LP (56QFN) が@\1,675、MAX2771が@\1,102、SMAコネクタ (エッジマウント) が@\422、RFシールドケースが@\378、TCXO 16.368MHzが@\319、後はほぼ@\100以下。bias-T (TCBT-2R5G+) がちょっと高いので最終版では変更するかも。ちなみに、このbias-T、最小発注10個で@$6.95だけど、送料$114もとられた。(8:36追記)
....................................................................................................................................
Pocket SDR開発再開。EZ-USB FX2LPのslave FIFO取り込みがどうしても動かず、作業中断していたのだけど、osqzssさんがFX2LPボードのシルク印刷が間違っていることを発見してくれたので (参照)。パターン引き直したドーターボード、FX2LP一体型ボード、ステンシルを同時に発注。一体型ボードは、mini-circuitsのbias-tee TCBT-2R5G+ (参照) を追加したが、Digikeyでもmouserでも日本では取り扱いがない。仕方なく米国 mini-circuitsのweb shopで注文したが、送料がやたら高い。後から調べたら、アリエク (参照) でも取り扱っているみたいで、別に急がないのでこっちにすれば良かった。
補足: もともとは安いQZSS L6受信機作りたかった (参照) のだけど、いまさら何だかなあとも。まあ、I/Q 24MHz 2CHあれば、L1+L5受信機としても使えるはずで、GPS+GAL+QZS+BDS3+NavICで動くかなあ。ただ、全部のSDRコード (特に航法データ復調) 書くのしんどそうなので、どこまで出来るかはやる気次第。まあtaro君がGNSS-SDRLIB (参照) 移植してくれるかも。 (18:00追記)
再補足: 過去経験からは、I/Q 24MHzの相関器60CHのCPU負荷は80%程度
(Core i5、4 core/8 threads + AVX2)。L1は帯域的にI/Q
4 5 MHzまで落とせるので、最適化すれば最近のノートPCなら100CH位
(概ね可視全衛星) までいけるのではと予想。(18:39追記)
再々補足: QZSS L6のCSK復調はそれなりに重い処理だが、I/Q 12MHzで良いので、FFTとしてFFTWかMKL使えば8CH復調は余裕 (CPU前記)。14CH (7衛星 x L6D/E) は少し厳しいかも。(18:49追記)
再々再補足: ノートPCだと排熱が弱くて、高負荷の連続運転ですぐクロックが落ちてしまうので、100CHは厳しいかも。あとL1C航法データ復調の実装が大変そう。(9/9追記)
....................................................................................................................................
u-blox, u-center: GNSS evaluation software for Windows
u-centerがバージョンアップしてu-center 2に。一見して画面が綺麗になった様に見えるが、毎回u-bloxアカウントでログインしないと使えないみたいだし、色々と使い勝手が悪くなった気が。
補足: プレスリリース。個人的には、「ゼロから設計」するなら、WindowsアプリではなくWebアプリとしてブラウザ上で動く様にして欲しかった。(9/9追記)
-------------------------------------
QZS-1 (J01, PRN193)、再度の障害。2021/08/30 06:00 〜 09/02 09:16 UTC、および09/04 12:26 UTC 〜。電子基準点のデータで確認すると、8/30〜9/2の障害では測位信号自身が停止している。また、9/4〜 の障害でも同様に測位信号が止まっている。2021/09/05 23:30 UTC現在、手元の受信機で測位信号は確認できているが、何時再開したかは不明。8/19以降まともに信号送信を継続できていない訳で、状況は厳しそうに見える。
....................................................................................................................................
Home | by T.Takasu |