無線部開発班

Journal of Hamradio Informatics

icon

We provide amateur radio contest administration system ATS-4 and communication logging software zLog.

autodyne nextzlog

無線部開発班の技術記事

らくらくコンテスト運営

新機能の開発とバグ追跡

enhancement CW 0

WPM推定アルゴリズムのロバスト化

2024-11-11T16:27:33Z

問題意識

WPMを都度k-meansで推定する現在の実装では、瞬間的に異常なWPM推定値となり、デコード結果が乱れる場合がある。

解決方法

デコード対象のモールス符号のWPM事前分布を仮定し、WPMをMAP推定する。

JG1VPP
ZyLO enhancement 1

app.zlog.orgの設置

2024-11-10T07:36:40Z

概要

#225 のウェブアプリは既に https://jg1vpp.github.io/qth.zlog.org で仮運用中だが、本格的な運用は https://qth.zlog.org で行う。

計画

機能と運用体制が固まってからJS2GGDさんに依頼。

JG1VPP
0

無線部開発班のウェブサイトの改装

2024-11-07T09:21:00Z

概要

無線部開発班のウェブサイトを改装し、実用的なサービスを提供する。

提供するサービス

Volatile ATSを中核に、ATS-4系のコンテスト運営アプリを提供する。

従来のコンテンツ

技術記事のPDFを残す。HTML版のURLはZennに転送する。

JG1VPP
ATS-4 enhancement 2

ATS-4のWASM化

2024-11-03T19:06:43Z

問題意識

ATS-4は、主催者毎にVPSやDocker環境が必要。SaaS化は課金や情報管理の課題がある。WASM化できればATS-4の実行環境をブラウザで完結させることが可能。

解決方法

今後Java11に対応するCheerpJを活用して、ATS-4またはQxSLをブラウザで動かす。DBは仮想ファイルシステムを通じてブラウザに保管する。

JG1VPP
bug ZyLO 4

wincのdockを使ったアプリケーションにおいて、マルチディスプレイが対応できていない可能性がある

2024-11-01T13:30:30Z

概要

wincを使ってウィンドウを作り、list viewなどをdockして、その内容を更新するような場合、ウィンドウを作った画面ではないマルチディスプレイの場所で更新すると真っ白(何も表示されない)になってしまう

再現手順・設定

私の作ったアプリケーションにおいて、マルチディスプレイをして、内容を更新するとそうなる模様

期待される動作

適切に表示される

対応期限

未定

jucky154
ATS-4 enhancement 0

サマリーシートの処理をDSL化する

2024-07-15T14:06:34Z

問題意識

ATS-4がJARLサマリーシートの処理に依存し過ぎている。

解決方法

CabrilloやJARLサマリーシートの処理をDSLに委譲する。また、サマリーシートの内容をJSONに変換する処理は、QxSLに移植する。

JG1VPP
bug ZyLO 4

リアルタイムコンテストプラグインの得点計算

2024-06-28T06:07:21Z

概要

リアルタイムコンテストDLLにおいて適切に得点計算が行われていないのではないかという問い合わせがあった 考えられる理由としては, https://github.com/nextzlog/zylo/blob/c1ea32be8642a0f878cf4328b3d4769643627c92/src/plugins/rules/rttest/rttest.cfg#L39 のようにリアルタイムコンテストのCFGにはDLLが計算をするという指定があるものの,

OnVerifyEvent 
OnPointsEvent

がhttps://github.com/nextzlog/zylo/blob/c1ea32be8642a0f878cf4328b3d4769643627c92/src/plugins/rules/rttest/rttest.go#L87 の リアルタイムコンテストのプラグインのコードに含まれないため, 得点計算などが行われていない可能性がある

jucky154
ATS-4 enhancement 8

N1MMのログ形式の対応

2024-06-27T13:11:29Z

問題意識

ATS4をよりアマチュア無線界隈に広めたいが, コンテスト主催者側から攻めるのは困難が一部存在するということがわかった そのため, 逆にコンテスト参加者側から主催者側に「なんで ATS4にしないの? あれ便利だからそっちにして欲しいんだけど」という方向の作戦もありだと思われる

それを踏まえると, コンテスターの利便性向上が求められる. 有名コンテスターはN1MMを使っていることが多いため, N1MMのログをadifにせずに, そのまま直接提出することができれば, 利便性向上につながると考えられ, 目的の一部達成につながる可能性がある.

また, 世界的にも進出させることを考えると, 世界的なロギングソフトへの対応は, 重要だと考えている

解決方法

N1MMはSQLiteのs3dbなるものを使っているぽい?

jucky154
ATS-4 enhancement 0

ネイティブビルド

2024-06-16T04:20:29Z

問題意識

コンテスト主催者は年配の方が多く、使い慣れたWindowsでATS-4を起動できると良い。

解決方法

https://qiita.com/kijuky/items/ab3d1aecc9e4466145f9

JG1VPP
enhancement CW 3

単純ベイズ分類器による誤検知の検出

2023-08-27T11:28:25Z

問題意識

現状のCW4ISRでは、クリックノイズを拾うことにより、誤ったメッセージを解読する場合がある。これを言語モデルで防ぐ。

解決方法

最も単純な方法として、単純ベイズ分類器により、誤ったメッセージを除去する方法はどうか。

JG1VPP
ToDo 0

PRをブロックするCIの整備

2023-08-27T09:43:46Z

概要

PRに対してCIを実行し、マージをブロックする。

ZyLO系

ZyLOとCW4ISRは、go fmtの実行とgo testの正常終了を条件とする。

ATS-4

ATS-4は、テストを実装したCIが未整備のため、引き続き運用を検討する。

個別にPRを受け付ける運用の場合は、テストの成功をマージの条件とする。

JG1VPP
enhancement CW 1

ベイジアンを用いたアルゴリズムの検討

2023-08-21T13:13:14Z

問題意識

CW解読機に関して、さらなる発展が求められている(ハムフェア)

そして、その中で、CW Skimmerはベイジアンを使っているという話があった

http://ag1le.blogspot.com/2013/01/towards-bayesian-morse-decoder.html 以前も上のブログは読んでいたものの、真面目に読んでいなかったが、いろんな段階でベイジアンを使っているようだ CW4ISRでも、ベイジアンを一部の段階で使ってみるのはありなのかもしれないので、調査や実験が必要だと思われる

jucky154
bug CW 7

デコードが不安定、セキュリティに引っかかる

2023-08-09T08:43:59Z

概要

性能通りのデコードされない。

  • E や T ばかりデコードされたものが上位にくる。
  • 下位にデコードされているっぽいものがあるが、完全ではない

セキュリティに引っかかる

  • windows defender に引っかかり、起動さえできず、強制削除されてしまった。

再現手順・設定

  1. Windows10、firefox で release のページを開き、exe ファイルをダウンロード
  2. ダウンロードした exe ファイルを開く
  3. スマホで、YouTube にアップロードされている CW 音声をパソコンマイクに近づけてデコード
  4. 右上の x を押してプログラムを閉じた
  5. 再度起動させた際に windows defender のセキュリティに引っかかった。自動削除された。

使用したCW 動画 URL: https://www.youtube.com/watch?v=oJfdofz8O8A&t=380s https://www.youtube.com/watch?v=WPwnSe2v3Ts&t=241s 2つ試した。

期待される動作

  • 性能通りのデコード
  • windows のセキュリティに引っかからない

対応期限

特になし。急ぎません。

irukabando
enhancement CW 1

zLog連携機能の整備

2023-08-04T05:12:51Z

問題意識

CW4ISRとzLogを連携させるzLogプラグインを整備する。自動交信を支援する機能を備える。

解決方法

CW4ISRとはプロセス間通信で連携する。例えば、go-winioを使用する?

その他

cwListenerの位置付けが問題だが、不具合もあるので、コードを煩雑化させやすい解読・マイクデバイス選択・履歴表示等の機能はCW4ISRに委ね、自動交信機能に特化させる手もあり。

JG1VPP
enhancement CW 3

スクリプトで操作できる範囲の強化

2023-07-30T05:08:36Z

問題意識

CW4ISRはJavaScript (ES5)でイベントハンドラを定義可能だが、現時点では、読み取ったメッセージの編集ができる程度。

decoder.Program = function(message) {
  message.Text = message.Text.replace('5NN', '599');
  message.Text = message.Text.replace('ENN', '599');
  return message;
}

もっとCW4ISRの設定を細かく調節したり、デバッグ・可視化機能やRPCによる外部連携を強化したい。

解決方法

Goの構造体・メソッドの形式で、JavaScriptから呼び出し可能なライブラリを充実させる。それらは、以下のように渡される。

vm := goja.New()
vm.Set("RPC", RPC{})

JG1VPP
enhancement CW 2

CW4ISRの耐ノイズ性について

2023-07-05T12:05:41Z

問題意識

https://github.com/nextzlog/todo/issues/176  に関連するが…

おそらく、多くの人が求めていることはS/N比がよくない音声でもモールスを解読できることである。 求められていることを実施できるCW4ISRとしたい

解決方法

現在、一般に使われているモールス信号解読機であるCW SkimmerとのS/N比の比較 および CW Skimmerと同程度の耐ノイズ性の取得 (STFTで耐ノイズ性が得られるかは微妙… 音声から波形へのアルゴリズムや波形からモールスのon/off検知アルゴリズムを真面目に考える必要がありそう) CW Skimmerも表示としてはSTFTみたいなものが出るが、どうやってそこからモールスの解読をしているのだろうか?

jucky154
enhancement CW 1

CW4ISRの公称能力について

2023-07-04T12:46:32Z

問題意識

現在、CW4ISRは3局パイルアップ(実際の交信録音)を用いて広報を行い、好評を博している。 その中で、CW4ISRの能力に関する質問が数多くなされている。質問の回答になるような公称能力の確定する公試を行う必要がある。 そのテストデータの作成・公試の実施が必要。行う内容としては、

  • 48000Hzでの最速WPM (150WPMは96000Hzとか使えば、できるが普通にコンピュータの設定ではないので)
  • 周波数分解能 (どれだけ音声周波数的近傍に局がいても解読できるのか)
  • 耐ノイズ性 (S/N比)
  • 耐フェージング性(信号の最大の山と最小の山の比とか?)
  • 耐速度変化(正確には縦振りにどこまで対応できるか)

解決方法

テストデータはzylo/encoderとかをうまく使ってwavを作ればよい?(どうencoderを使うかがわからない…) 公試は繰り返しやって何回正しく解析されるか、から判断する? 以上の観点で試験をして公表・動画化をしたい

jucky154
bug CW 1

符号語の一部が切り取られる

2023-07-02T10:16:03Z

概要

既知の問題だが、送信が開始された瞬間には符号語として検出されず、バッファに蓄積された後に検出されると、バッファから溢れた分の符号語が消失し、例えば、JがOと解読される。

再現手順・設定

CW4ISRで何度か交信の音声を流してみれば再現する。

期待される動作

正しくJと解読する。

対応期限

早めに。

JG1VPP
bug 0

重複コミットの原因調査

2023-07-02T04:04:59Z

nextzlog/use.zlog.org で大量の重複コミット。原因を調査する。

JG1VPP
ZyLO enhancement 2

プラグイン以外のzLog連携方法の模索

2023-07-01T08:13:56Z

問題意識

ZyLOで開発された中には、必ずしも常駐する必要のないプラグインもあり、不必要にzLogのパフォーマンスを低下させる。

解決方法

プロセス間通信の仕組みを整備して、DLL以外の連携方法を開発する。ビルド時にDLLもしくはプロセス間通信を選択できるようにする。

JG1VPP
ATS-4 enhancement 0

国際化対応

2023-07-01T04:42:26Z

問題意識

ATS-4を国際コンテストに対応させるためI18Nを行う。

解決方法

play.api.i18nを活用し、conf/messagesに日本語の文字列を書き出す。

JG1VPP
bug ATS-4 2

サマリ登録時に設定されてないフィールドがどれかわからない

2023-06-28T22:39:49Z

概要

エラーがあると出るだけでどこがエラーなのか不明。

再現手順・設定

タイトル通り

期待される動作

赤で示すなど一般的に行われているUIとすればよいのでは。

対応期限

JK1DVP
ATS-4 0

ATS-4のホスティングサービス

2023-06-24T07:06:54Z

問題意識

ATS-4の運用に必要なサーバと環境構築を行うサービスを提供するとして、採算性を検討したい。

解決方法

まず、どの程度の需要があり、かつ、そのうち何割が実際に導入に漕ぎ着けるのかを把握する必要がある。コンテスト主催者でATS-4に興味のある方は、このIssueに追記していただけると助かります。

JG1VPP
bug ZyLO 37

高校コンテストの規約変更の対応

2023-06-04T13:02:50Z

概要

高校コンテストの規約が我々が作った時と変更になっているようです http://hstest.mg-sci.com/wp-content/uploads/2020/07/2020_31st_hstest_rule.pdf 2020年のルールだとHSマルチは消えないのですが、 http://hstest.mg-sci.com/wp-content/uploads/2022/06/2022_33rd_hstest_rule.pdf 2021年以降のルールだとHSマルチは削除されるようです

期待される動作

SSBとCWで交信した際にはHSマルチが消えるようにする

対応期限

早めに

jucky154
bug ZyLO 1

QSO.Insert系メソッドの動作確認

2022-11-03T14:51:15Z

概要

QSO.Insert,Delete,Updateメソッドを呼ぶとzLogが落ちる。

再現手順・設定

func onInsertEvent(qso *reiwa.QSO) {
  qso.Insert()
}

期待される動作

QSOが追加・削除・更新される。

対応期限

未定

JG1VPP
ToDo 4

次の開発計画

2022-10-30T06:10:12Z

概要

新規メンバーも加わったので、何か手頃な開発計画を立てて、一緒に取り組めれば良いですね。ということでやりたいことを何でも書き込みましょう。

JG1VPP
enhancement CW 8

CW4 Identification Surveillance Response System

2022-10-29T14:02:31Z

構想

https://github.com/nextzlog/todo/issues/124 で完成したモールス信号解読の技術とリグコントロールを積極的に活用し、周波数帯の監視及び自動応答の機能を有するプラグインを実現する。

要素

  • モールス信号解読
  • リグコントロール

動作

  1. 周波数帯のワッチを開始する
  2. モールス信号を解読して周波数と呼出しメッセージを記録する
  3. 交信記録を参照して未交信の無線局を自動的にリスト表示する
  4. 自動応答モードの場合は自動選局後にボタンを押すことで交信を開始する

JG1VPP
4

無線部開発班のメンバー募集

2022-10-25T10:00:33Z

概要

GitHubの組織としての無線部開発班は、以下の開発に興味がある方を募集しています。主に無線従事者が対象ですが、大学社団等の所属は問いません。

zLog

image

  • マニュアル整備
  • プラグイン整備

ATS-4

image

既にメンバーになっている方へ

可能であれば、公開メンバーとして活動いただければと思います。設定は各自でお願いします。

JG1VPP
enhancement CW 11

CW解析プラグインの広報

2022-10-24T14:13:15Z

問題意識

運用をなんとかすれば(ウィンドウを閉じない)問題なさそうな問題が解決されていませんが、ボチボチ見栄えのいいプラグインができましたので、広報を検討しないといけない

解決方法

JA1ZLOというお約束のものだけでなく、パイルアップ・カスカスの局の解読もやらせた動画を撮ったのでそれをツイートする?

https://user-images.githubusercontent.com/58735989/197546870-6f7a6e87-83f0-4d80-8b5f-fccf498579d6.mp4

jucky154
bug ZyLO 2

マーケットプレイスの継続的修正

2022-10-22T05:02:41Z

概要

マーケットプレイスは、どれかひとつでも誤りがあると、全体の更新が停止するように構築している。その場合は、管理人は速やかに状況を修正する責任がある。ここでは、そのための連絡を行う。

JG1VPP
bug ZyLO zLog 4

zLogにおいてtelnetやリグコントロールの設定をするとプラグインが無効化されるというエラーが出る

2022-10-08T14:23:41Z

概要

zLogにおいてtelnetやリグコントロールの設定をするとプラグインが無効化されますがいいですかという警告が出る

再現手順・設定

zLog v2.8.3.2の日本語版(英語版は未確認)で各種設定->オプションからリグコントロールやパケットクラスターの設定( どちらか一方でも再現されました。 過去に一度、この警告を見ると見ないこともあるようです。 再現する場合は、zlog2.8.3.2をダウンロードしてすぐにプラグインをインストールして、その直後にここの設定の部分だけしてOKを押せばできると思います)をして、OKを押すと以下のような警告が出る。しかし、自分がやった限りではこの後にも普通にプラグイン(CW解析)は動いた plugin-muko

期待される動作

このような警告は表示されない

対応期限

ALL JA

jucky154
ZyLO enhancement 29

コンテストプラグインの充実

2022-10-06T04:30:06Z

問題意識

京都コンテストなど手計算が必要なコンテストに対応する。

解決方法

CFG/DAT file for zLogを参照。

JG1VPP
bug CW 10

CW解析プラグインが開けない

2022-10-04T17:04:58Z

概要

CW解析プラグインがエラーによって開なかったとの報告をZLO部員からもらった マルウェアとして検知されているらしい

再現手順・設定

以下がエラーコード errormessage.txt

期待される動作

ウイルスとして認識されないようにする

対応期限

ACAG?

jucky154
documentation zLog 0

コンテスト単位の案内

2022-10-04T14:11:14Z

問題意識

CTESTWINではコンテストの対応状況が明記されている。このあたりのドキュメント化が不足している。

解決方法

/contests以下にテーブルを配置して、コンテスト毎の案内を掲載する。CFGファイルで対応可能なコンテストは、単にCFGファイルの頒布サイトにリンクを貼る。プラグインで対応しているコンテストの場合は、その導入方法を別のページで明記する。

JG1VPP
ZyLO enhancement 1

CTESTWINとの星取り表

2022-09-18T11:19:41Z

問題意識

SEOを意識して、CTESTWINとzLogの対立軸を明確化して、集客を目論む。

解決方法

星取り表を作って公開する。例えば、

機能 CTESTWIN zLog
ほげ

JG1VPP
ATS-4 enhancement 1

電通大コンテストの正式なサポート

2022-09-03T10:01:10Z

問題意識

ATS-4は電通大コンテストに機能面では対応しているが、ALLJA1とは異なり、コード品質の保証も含めたサポートではない。

解決方法

最低限、電通大コンテストの得点計算のテストをALLJA1と同様に実装してはどうか。

JG1VPP
ZyLO enhancement 7

zLog Forumの設置

2022-08-25T14:12:17Z

問題意識

これはZyLOというよりもzLog令和editionの機能をより多くの人に知ってもらい、その結果利用者が増え、ZyLOの利用者も増えるみたいなことを考えたものです

zLogの機能や設定について説明(wiki)やググってもわからない際に、どうしようもなくなってしまう

解決方法

https://forum.air-hamlog.com/c/support のような「機能の質問や説明を利用者同士(たまに開発者側)が行うサイト」を作る必要がある気がします。

課題

  1. そもそもの設置に関して どこでforumを開くのがいいのか… そのサーバの管理をどうするか… アカウントなどをどうするのがよいのか… githubのアカウント登録は英語ですし、携帯電話による認証など(その対応すら英語)が必要なので、zLogを使う人(年齢層高めが多い)にはハードルが高い気がしています

  2. 運用について 基本的にはCFD Online Forumsやyahoo知恵袋のように利用者同士が教え合う形にしておく必要がある。 上のAir Hamlog のForumは、利用者が開発者に問い合わせる形になっており、開発者が忙しく回答できない場合(メンテができなくなった場合, zLogの2002年以降のように)は使いにくいものとされてしまう

jucky154
QxSL enhancement 1

ats4パッケージのテスト実装

2022-08-25T13:22:54Z

概要

ats4パッケージにテストが実装されていないので、実装する。

JG1VPP
ZyLO enhancement 54

zLogプラグインを妄想するスレ

2022-07-26T11:21:34Z

真面目な話、zLogプラグインは、クラウド連携や自作ハードウェアとの連携が中心になる。 で、これらの分野でキラーアプリが不足している。というわけで、アイディア出しをしよう。

JG1VPP
ZyLO enhancement 3

広報資料作成

2022-07-18T13:17:06Z

問題意識 ZyLOにしてもzLog 令和editionにしても機能が十分に認知されていない(この辺はJR8PPGさんと共通の見解 (https://twitter.com/jr8ppg/status/1548997253658198016 )) そのため、なんらかの周知の工夫を行う必要がある。

解決方法

  • 機能の紹介を動画にしてYouTubeにアップロードする 特にリアルタイムコンテスト周りを優先的に
  • それをhamlifeやCQ ham radioに送って紙面にしてもらう HAMLOGが更新のたびにhamlifeに乗っているし、CQ ham radioには年に一回くらいHAMLOGの使い方というページがある

jucky154
documentation ATS-4 10

書類提出で頻出のトラブル

2022-07-10T09:03:27Z

概要

ATS-4で書類提出するコンテスト参加者が遭遇するトラブルの典型例(実例)をここに自由に記していく。

JG1VPP
ATS-4 enhancement 4

オペレーター向けの説明書の作成

2022-07-10T06:19:39Z

問題意識 自分が持っているATS-4オペレータ向けの知識を広く一般に公開し、ATS-4を利用しやすい形とする

解決方法

  • JARL サマリーシートでの提出について ** ver1.0をver2.0に修正する方法 ** 一般的ではないサマリーシート形式の場合の対応
  • なんらかしらの問題が起きても継続的にログ受付をする方法 などを書く

jucky154
ATS-4 enhancement 1

音声読み上げへの対応

2022-07-09T11:20:00Z

問題意識

音声読み上げ機能を利用して提出する参加者にとって、ATS-4が生成するHTMLは問題ありとの報告があった。

解決方法

HTMLにtitleタグを埋め込む等の対策を進める。

JG1VPP