Arduinoでモールス符号をLチカ(仕様を考える)

久々に使う Arduino Uno R3 の使い方を思い出してみる(前編)

SFCの音源を鳴らしてみたい(その5)でArduino Uno の動作確認で久々のLチカ。
単にチカチカさせても芸がないなぁ。
と思いつつも、単なる動作確認だからと流していたけれど。
一晩、立って思い出した。

そういや、昔はPICでこの手のLED点灯でモールス符号打ってたなぁ。

仕事から帰った後だと、音の出る工作もできないし。
軽作業ってことで、昔を思いだしてモールスを打ってみましょう。

と、思ったんだけど。あまりに昔過ぎて、モールス自体、すっかり忘れてら。
リハビリを兼ねて、昔の事を思い出しつつメモ出ししてみる。

モールス符号の構造

モールス符号は短点と長点の2種類の組み合わせで文字を符号化したものです。
一般には短点を「・」と文字にしたり「トン」と発音したりします。
長点は「-」と文字にするか「ツー」と発音したりします。
なので、「トンツー」とモールス符号のことを呼んだりもします。

これをちゃんとした符号として考えた場合、短いとか長いとかの感覚的な話ではなく、符号化のプロトコルとしてしっかりと考えてみます。

符号の仕様

一応、私の記憶をたどるとこんな感じだったはず。
(資格を取ったのはもう2桁年以上前なので、今のルールは違うかもしれないけれど。)

  • 基準となるのは「短点」これを任意の時間で定める。
  • 「長点」は「短点」の3倍の長さと定める。
  • 各点の間は「短点」の長さと同じと定める。
  • 各文字の間は「短点」の3倍の長さと定める。
  • 各単語の間は「短点」の7倍の長さと定める。

というものです。
このルールで、”PARIS”と打ってみると、こんな感じ。

こう見ると、パターンで考えると
同期信号がないロジアナの結果見ている感じと同じで、元祖の通信はデジタル通信(ただしエンコーダーもデコーダーも人間)だったんだなぁ。と実感できる。

通信の速度

人間がエンコードして、デコードする世界なので、打てる範囲の速度が送信可能速度で、聞き取れる範囲が受信可能範囲。経験と努力で何とかする話ってのがモールスだけれど。
実際に機械に叩かせるとしての設定値はどうしようか。一般的な数字って?って疑問がわきます。

速度の表記自体は、送信(受信)速度は CPM(Character Per Minute)、もしくはWPM(Words Per Minute)で表します。CharacterとかWordsと言っても、文字ごとに長さが違うので、一概に言えないじゃないか!という事になるので、ここにも基準があって 1 Word = 50 Dot で考えることとします。おおむね50 Dotの基準として”PARIS”と打った時とすることから、PARIS速度とも呼ばれるらしい。書籍などでPARIS速度って言葉は目にしたけれど、実際の電信の現場(アマチュア無線とかコンテストとか)でこの言葉を聞いたことはないんだよなぁ…。まぁ、いいか。

で、速度の単位の定義はいいとして、実際の速度はどう考えるか。

その昔のアマチュア無線国家試験の受信速度(今は音響の試験は廃止されていてないけど。)を参考にすると、

資格 試験内容
1アマ 1分間60字の欧文普通語/50字の和文
2アマ 1分間45字の欧文普通語
電信アマ 1分間25字の欧文普通語

法改正により、電信アマは3アマとなり電信の音響による試験は廃止。1アマ、2アマも1分間25字になったのちに廃止。今となってはどれも廃止だけれど、基準としては旧法のアマ試験の数字は使えるのかな?

1アマの60字/分は “5CPM = 1WPM” と考えると 12WPM 換算。
2アマの45字/分は “5CPM = 1WPM” と考えると 9WPM 換算。
電信アマの25字/分は “5CPM = 1WPM” と考えると 5WPM 換算。

という事で一つの指標として進めてみましょう。

という事で次回に続く。

コメント