Protocol1とProtocol2について
1.はじめに
TAPRで標準化されているHPSDRに関してのプロトコル規定に関してプロトコル1とプロトコル2がある。SDRソフトのPOWERSDRはプロトコル1を前提に開発されてきたが最近開発されて使われ始めたSDRソフトのThetisがプロトコル2を採用したために両者の違いについての理解が必要になってくるので以下に記してみた。書いているうちにああそうだったのとのことも多い。
2.プロトコル規定からの違い
2つの規定は以下にまとめられている。
OpenHPSDR-Firmware/Protocol 1 at master · TAPR/OpenHPSDR-Firmware (github.com)
OpenHPSDR-Firmware/Protocol 2 at master · TAPR/OpenHPSDR-Firmware (github.com)
プロトコル2は規定が整備されていて最新はV3.8である。
プロトコル1に関しては以下に規定されている。
OpenHPSDR-Firmware/Metis- How it works_V1.33.pdf at master · TAPR/OpenHPSDR-Firmware (github.com)
と思いきや両者の規定にはProtocol 1とProtocol 2の用語が載っていない。どうやら2015年以前にVK6APHがイーサインターフェース基板であるMetisに実装した機能をまとめた「MetisーHow it works」をProtocol1と呼んでいるようである。一方VK6PHが2015年以降に特定のハードに依存せずにプロトコル規定としてまとめたものをProtocol2と呼んでいるようである。
3.実装ハードウエアからの違い
Protocol1はUSBとEthernetの2つのメディアを利用できるがProtocol2はEthernetのみである。
Ethernetの場合プロトコルともUDPを利用するがProtocol1の場合のPORTは1024のみである。これはUSBとの共用を考慮したものである。Protocol1のEthernetは100Mbpsも対象にしているがProtocol2は1Gbpsからである。
Protocol2のパケットは各DDC,UDC,MIC等をPORTで細かく割り当てている。これにより必要な送信パケットのみを送信できるためEthernetの伝送量を低減することが可能である。しかしながら割り当て処理は増加する。一方Protocol1はDDC,UDC,MIC等を1パケットにまとめて固定配置しているためパケットの組み立て、分解処理は簡単になりFPGAを小型化できるが、Ethernet上のパケット効率はよくないため変復調信号(<=狭義のバンドスコープ)の上限は384kHz程度に限定されてくる。一方Protocol2は1.5MHzまで可能である。バンドスコープ機能から両者を比較すると別途両プロトコルともにWideband Dataを用意してADCの全帯域(例えば62MHz)を数秒の遅いフレーム間隔でモニターできるスペアナ機能をサポートしているのでバンドスコープ上からの両者の間で違いはない。以上からマイクロ波のトランスバーターを付けて1.5MHzの広帯域変復調を利用するかHF帯、VHF帯のリグで狭帯域専用とするかの場合にはこのプロトコルの選択が重要になるであろう。
4.実測比較
簡単な実測を行って定量的な比較を行った。
測定はWindows10PCのタスクマネージャーのパーフォーマンスでイーサネットの送信・受信データである。アプリとしてThetisのみ走らせた。Protocol1はPavelのAlgelia対応ソフトでProtocol2はドイツの局のプロトソフトである。サンプルレートはともに192kbpsである。
Protocol1 Protocol2
受信 54Mbps(RX2 on, off共) 10Mbps(Rx2 off) 20Mbps(Rx2 on)
送信 3Mbps 11Mbps 11Mbps
----------------------------------------------------------------------------
計 57Mbps 21Mbps (RX2 off) 31Mbps(RX2 on)
結果として
1) Protocol2は2倍以上の効率である。RX1のみの受信にすると受信の伝送量は半分になりより効率は増す。
2)送信の伝送量はProtocol2が約3倍多い。これは制御機能強化によることで高々11Mbpsであるので問題ないと思われる。
3)1Gbpsのイーサーであれば57Mbpsの伝送量は実用上問題ない。これが20年前であれば大問題だったのですが。。。
5.RedPitayaにとっての違いとまとめ
14ビットのRedPitayaのFPGAはa dual core ARM Cortex A9 + Xilinx Zynq 7010 FPGA system-on-chip (SoC)でありFPGAのLogic Cellは28kである。一方16ビットRedPitayaは85kある。このため、14BitはProtocol1で運用すべきことがわかるが16ビットの場合はProtocol2を実装して広帯域変調を楽しむ向きには良い選択と言える。
感想としてこのProtocol2は最近のHF帯SDRの開発の中で最悪の部類に属するものだと思う。Thetisの開発でProtocol2の開発に携わった人間は人生の数年を無駄に開発で過ごしたと思っているのではないかと気の毒に思うし我々のRedPitaya Communityをはじめとして無駄な論争を巻き起こした責任にどのような落とし前をつけてくれるのかと思うと腹立たしい。
コメント
コメントを投稿