A High-Performance Sound-Card AX.25 Modem #12013/01/28 06:47

Arduino TNC についてググっていたら,soundmodemの解説を見付けた。QEX 誌に 4X6IZ 局が書いた記事 “A High-Performance Sound-Card AX.25 Modem “ だ。

http://www.tau.ac.il/~stoledo/Bib/Pubs/QEX-JulAug-2012.pdf

D/A変換してからビット列を得るまでの処理が丁寧に解説してある。(Arduino TNC の処理を追うときに役に立ちそう。)

4X6IZ局の実装,あの TNC Test CD で 950個以上 の受信性能ですって。Arduino KISS TNC が 870 個なのでスゴイ!モデムと無線機の接続ポイントの違いが 1200Hz/2200Hz の信号強度の違いを産むので,その補正に フィルタ特性がフラットと高域強調した2つのモデムを同時並行で動作させるのがポイントらしい。GitHub に行って公開されているファイルをゲットする。

https://github.com/sivantoledo

配布されているのは java のソース!だけで,実行ファイル無し。コンパイルに関する情報を作者のブログで探す。ビルドには別途 RXTXcomm.jar, javAPRSsrvr.jar が必要。前者はパッケージが用意されていたが,/usr/lib64/jvm/java-1.6.0-sun/jre/lib/ext にファイルをコピーし直す。後者は AE5PL にメイルしてゲットする。

http://sivantoledotech.wordpress.com/2012/07/18/ax25-modem/

コンパイル方法については言及がなかったが,build.xml が用意されていたので,ググって ant を(初めて)実行する。javAX25lib.zip, javAX25all.zip が出来た。

性能評価は 後の お楽しみ。

% java -cp bin -Drate=48000 -Denumerate sivantoledo.ax25test.Test
Available sound devices:
  output: Audio [plughw:0,0]
  input : Audio [plughw:0,0]
  output: Generic [plughw:1,3]
  output: Java Sound Audio Engine
% java -cp bin -Drate=48000 -Dinput=”Audio [plughw:0,0]" sivantoledo.ax25test.Test
No PTT port
decay = 1.444046e-05
decay = 1.444046e-05
samples per bit = 40.000
Available filter length 40
Available filter length 80
Filter length 1 not supported, using length 80
decay = 1.444046e-05
samples per bit = 40.000
Available filter length 40
Available filter length 80
Filter length 1 not supported, using length 80
Callsign in test packet is: NOCALL
Opened an input sound device (target line): Audio [plughw:0,0]
Listening for packets
Listening for packets