nn-morse ― 2022/11/26 18:46
ディープラーニングを使ったモールス信号の解読,次は学習を体感すべく,PD0WM局のLSTMによる実装nn-morseを試した。
機械学習は教師データが命だが,モールス信号だと実データを用意しなくても, プログラムで トーン周波数,送信速度,信号/ノイズ強度を変えたサンプルデータを合成すれば良い.見本になっている。
torchな環境を構築して,作者が提供するモデルを使って,実データ/録音したwavファイルを食わせた/再生したら,デコードできない 😟
コードを眺めると教師データのトーン周波数が 100-950Hz だったので,実データに合わせて 200-2800Hz として再学習したらLOSSが0.3あたり(2000 step)でサチった。このアタリはTensorBoardを使ってプロット更新をモニタリングできたので,簡単だった。
ちなみに,学習に要する時間は,WillemさんのGPU(Pascal世代)では半日と書いてあったが,自分のCPU(core i5)では5日かかった。 学習で数時間回したらCPU温度計が真っ赤になったので,長期・連続運転を見越して,Turbo Boostを無効化してCPU温度を下げておいた。計算にはメモリも必要みたいで,主記憶16GBのうち7.4GBを使用していた。
新モデルを以下の3衛星でベンチマークしたら,解読の正答率がsatnogs-clientより高くなって良かった。
HUS-SAT1 耳コピーだと後半部は難しいよね
・・・ 0JS1YHSHSUSAT104.19V0.10A8.46DEEEEETETTTE ・・・
KOSEN-1 符号:ハイフンを教えるのを忘れてた
・・・ R5YGJ KOSENV1 S13E1E 93 AE S21E 00 00 00 ・・・
KITSUNE データ部はデタラメですね
・・・ 3G6YNH KITSUNE D390A534 ・・・
本日の衛星: JO-97で交信,FALCONSAT 3をデコード!PSLV-C54で打ち上げられた衛星(Thybolt)は予約して寝ます。
Airspyの新ドライバ ― 2022/11/23 10:05
Libre Spaceのコミュニティで新ドライバにてgainmodeが追加されたことを知った。 従来のドライバ:SoapyAirspyだと,ゲイン設定が難解なマニュアルのみで linearity,sensitivityなモードを利用した簡易設定ができなかった。
$ SoapySDRUtil --probe ... ---------------------------------------------------- -- Peripheral summary ---------------------------------------------------- Channels: 1 Rx, 0 Tx Timestamps: NO Other Settings: * Bias tee - Enable the 4.5v DC Bias tee to power SpyVerter / LNA / etc. via antenna connection. [key=biastee, default=false, type=bool] * Bit pack - Enable packing 4 12-bit samples into 3 16-bit words for 25% less USB trafic. [key=bitpack, default=false, type=bool] * Gain Mode - 0 = linearity, 1 = sensitivity, 2 = manual [key=gainmode, default=0, type=int]
トライしてみたら,Pi4が[INFO] SoapyAirspy::rx_callback: ringbuffer write timeout なるエラーっぽいメッセージを吐いたので,GitHubにissueを作成して,作者とPE0SAT局からのアドバイス(主にラズパイのパフォーマンス設定)を試したら,USBケーブルの交換が効いて発生回数が激減した。問題は自分のハードにあったというオチだった。
ついでに書くと,放置していたOverrun,Underflowな問題は,Airspy MiniをUSB3端子に接続することで解消できた。
morseangel ― 2022/11/19 17:44

morseangelはSDRangelの作者さんによる深層学習を使ったモールス信号のデコーダ。いま話題の深層学習によりCW解読が劇的に変わるか!?に興味があり,試してみた。
morseangelを動かすにはCPUだけでもOKだ。添付画像は実際の交信を食わせた結果で,解読するには細かい周波数チューニングが必要で,入力〜表示に遅延あり.で微妙な手応えだった。やっぱり実行にも それなりのGPU が必要なのかしら。
Hamlib 4.5 ― 2022/10/30 13:07
Pi4でtmpfsが溢れた ― 2022/10/26 18:36
受信したデータをSatNOGSにアップロードに失敗!したと思ったら,Pi4のtmpfsが100%になってた。
LRPTの受信で/tmp/.satnogs/data/completeなるディレクトリが必要なのだが,rc.localで作成すると失敗する。どうやらBullseyeになってrc.localの挙動が変わったらしい。
安直にsatnogs-setupで環境変数:"satnogs_complete_output_path"を定義して回避したのだが,PNG画像, oggファイル, デコード結果もファイルされてRAMディスクが一杯になっていた。聞いてないよー!だ。
対策として,find で7日以上古いファイルを検索・削除するよう,crontabで定期的に実行し始めた。いまのところ再発してない。
最近のコメント