JH1LHVの雑記帳

和文電信好きなアマチュア無線家の雑記帳

スポンサーリンク

M5StickC Plus2、CW Decoder アップデート(v0.5 → v1.0)

マイコンの M5StickC Plus2 を使用した CW Decoder プログラムを大幅にアップデートしました。

バージョンはこれまでの v0.5 から v1.0 へ。
いくつもの改良を加え、より実用的に、そして使いやすくなっています。

以下に、今回の主な改良ポイントをご紹介します。

■ 無音時の誤文字表示を抑制

これまで、モールス信号の入力がない待機中にも、ノイズや微細な入力変動によって、意図しない文字が表示されることがありました。
今回のアップデートでは、信号がない状態では余計な文字を表示しないように処理を見直しました。

ただし、テレビやラジオ、会話など周囲に持続的な音源がある環境では、それらの音がモールス信号として誤認識される可能性は残ります。理想的には、静かな環境でのご使用をお勧めします。

■ 最初の文字のデコード性能を改善

従来のバージョンでは、モールス信号の速度が安定するまでの最初の数文字が正しくデコードされない場合がありました。今回のアップデートでは、1文字目から正確にデコードできるようアルゴリズムを見直しました。ただし、高速なモールスや、速度が一定でない場合、送信間隔が不安定な場合には、最初の文字を正しく認識できないことがあります。

■ 表示文字サイズに「特大」を追加

従来の小・中・大の3段階から、新たに「特大」サイズを追加し、4段階の文字サイズ選択が可能になりました。

・文字サイズ「小」



・文字サイズ「中」



・文字サイズ「大」



・文字サイズ「特」

今回追加した「特大文字」は、画面の中央に1文字だけを大きく表示します。

また、各サイズ設定時には、画面下部の情報表示エリアに「小」「中」「大」「特」を表示するようにし、現在の設定がどのサイズになっているかがすぐにわかるようにしました。起動時の設定は「中サイズ」です。

■ 文字表示エリアの表示方法を改善

以前のバージョンでは、デコードした文字が画面の最下行まで達すると画面がクリアされ、上から再表示を始めるため、最後の文字を見落としやすいという問題がありました。

当初は画面スクロール方式で実装を試みましたが、35wpm を超える高速なモールス信号の処理時に、メモリ制約によりスクロール処理中に文字の取りこぼしが発生するという技術的課題に直面しました。M5StickC Plus2 のメモリ容量と画面表示の最適化を試みましたが、高速デコード時の安定性を確保することが困難でした。

最終的には、最下行に達した際に、その行のテキストを画面最上部(1行目)にコピーし、2行目から再度表示を始める方式を採用しました。これにより、直前の文字列の一部を常に画面上に残すことができ、高速なモールスでも文字の読みこぼしはなくなりました。

最下行を次の先頭へコピーして、2行目からデコードした文字を表示します。

■ ストレートキー(電鍵)への対応を強化

エレキーと異なり、電鍵などのストレートキーでは単点と長点の比率が必ずしも理想的な 1:3 にならず、特に長点が長めになる傾向があります。今回のアップデートでは、この人間の手による揺らぎに対応できるよう、長点判定のアルゴリズムに柔軟性を持たせました。

具体的には、長点と短点の比率を厳密に判断せず、ストレートキーでありがちな “長めの長点” にも対応できるように、内部パラメータを調整しています。

完全なマニュアル送信への最適化ではありませんが、ストレートキーでの打鍵にもある程度対応できるように改良を行いました。

■ 各ボタンの機能

和文受信中のカッコ内は、欧文で表示します。
欧文中の和文記号「ホレ」の受信で、それ以降は和文としてデコードします。

■ 今回のアップデートについて

以上のような改良を加えたことで、プログラムのバージョンを v0.5 から v1.0 へと大きくアップデートしました。

すでに本プログラムをお使いいただいている皆様には、最新版(v1.0)のバイナリファイルのダウンロードリンクを、順次メールでお送りします。起動時にはコールサインの表示も含まれるため、メール送付まで少しお時間をいただくことになります。

なるべく2週間以内に対応する予定ですが、3週間以上たってもメールが届かない場合は、お手数ですが催促のご連絡をお願いいたします。

■ バイナリファイルの書き込み手順

M5StickC Plus2 にプログラムのバイナリを書き込む方法を、改めてご案内します。

  1. M5StickC Plus2 をパソコンに接続
     ※事前に通信ポート(COMポート)が正しく認識されている必要があります。
     ※USB シリアルポートドライバのインストールは、このサイトが参考になります。

  2. メールで送付された URL から ZIP ファイルをダウンロードし、解凍

  3. 解凍したフォルダ内の「WriteBinarry.bat」を実行

  4. 表示されるプロンプトに、M5StickC Plus2 の COM ポート番号を入力して Enter キーを押す

以上で、バイナリの書き込みが始まります。進行状況が表示され、100% に達すると正常に書き込みが完了します。

■ 今後の展望

v1.0 の公開を機に、実際の運用データを収集し、さらなる改良を計画しています。ユーザインターフェースの向上など、皆様からのフィードバックを基に継続的な改善を進めてまいります。

モールス信号の世界をもっと身近に、もっと楽しく!

 

www.jh1lhv.tokyo

www.jh1lhv.tokyo