fcdec #42014/03/13 20:13

AO-73のビーコンによると The aim of the switch on 22 Mar is to check the effect on the satellite of continuous amateur mode, especially battery temp. で 3/22日の実験に,期待大です。

さて AO-73の無人受信,FCDが燃えたのでFCD Pro+を使って環境を構築中。

先ず,FCDの制御プログラム:qthidはFCD Pro+をサポートしていないので,FCD Pro+に対応したfcdctlをhackした。fcdctlのhid-libusb.cをqthidのhid-libusb.cのコードで置き換える。

*** hid-libusb.c    2014-03-12 22:12:24.319246694 +0900
--- hid-libusb.c.org    2014-03-04 21:33:51.679667467 +0900
***************
*** 756,767 ****
         if no transfers are pending, but that's OK. */
      libusb_cancel_transfer(dev->transfer);
 
!
!        if (libusb_cancel_transfer(dev->transfer) == 0) {
!                /* The transfer was cancelled, so wait for its completion. */
!                libusb_handle_events(usb_context);
!        }
!        
 
      /* Now that the read thread is stopping, Wake any threads which are
         waiting on data (in hid_read_timeout()). Do this under a mutex to
--- 756,763 ----
         if no transfers are pending, but that's OK. */
      libusb_cancel_transfer(dev->transfer);
 
!     while (!dev->cancelled)
!         libusb_handle_events_completed(usb_context, &dev->cancelled);
 
      /* Now that the read thread is stopping, Wake any threads which are
         waiting on data (in hid_read_timeout()). Do this under a mutex to

テキトウなhackだが,FCD Pro+の受信周波数を 無事? 設定する事ができた。

% fcdctl -f 145.925
Freq set to 145.925000 MHz.
% fcdctl -l
  nr   USB path       firmware   frequency         LNA gain   audio device
  0    0002:0003:02   20.03       145.925000 MHz   enabled    card2

次に録音で躓く。FCD Pro+はサンプリングレートが192k固定なので,録音後に soxで FCDに合わせて 96kで再サンプリングし直す必要がある。

sox -q -r 192k -e signed-integer -b 16 --endian little -c 2 $IQ_FILE1 -r 96k $IQ_FILE2 >> $LOGFILE 2>&1

FCD Pro+で運用を続けると、イロイロと分かってきた。

録音時にoverrunが発生する。soxで指定するAUDIODRIVERをalsaから(作者推奨の)pulseaudioに変更して解消!した。FCD使用時にはOKだったんだけどね。

デコード数が激減している。ログを調べるとfilterコマンドのオプションG=200のときにデコード数=ゼロが多発している。G値の調整が必要みたいで,新パラメータで昨日から運転中,カイゼン!を確認した。

G=25 gave 31 packets; G=50 gave 22 packets
   *** Unique packets: 32