Harmless Weblog

アマチュア無線

日替わり通信術アップデート(過去の日替わり問題の練習機能)

ユーザーの方から、「何日の問題がちょっとおかしかったです」的なご指摘を何度か頂いた。日替わり通信術の電報文は、毎日上書きしていて過去のデータは残していないためにバグの確認もできない。

一応バックアップを残すようにするか、と考え始めたところ、どうせならサーバ上にバックアップをとって、それを参照すれば過去の日替わり問題を練習できるのでは、と思い立って実装を開始。

バックアップはシェルスクリプトで比較的簡単にできたけれど、過去問題の参照はそこそこ苦戦。元々そういう構造にしておらず、日々の問題を同じ場所に上書きして、index.htmlで静的に読み込んでいた。過去問は日々「年/月/日」のフォルダを作って保存されるため、これを動的に読み込む必要がある。

参考になりそうなサイトをググって試してみるものの、こちらの方法はいずれもうまくいかなかった。読み込むタイミングとかの問題だと思うんだけどよくわからず。こちらの方法はうまく動いた。どうやらappendChildメソッドで、headの要素として追加するか、bodyの要素として追加するかで挙動が違うような感じ。

【参考サイト】

これでとりあえず動くようにはなったと思う。ただ、練習問題がたくさんある状態というのが、実力アップに効果があるかどうかは正直わからない。一期一会の日替わり問題だからこそ、毎日真剣勝負で練習できるという面はあると思うし、そのつもりで日替わり形式にした経緯がある。一方で追い込みの時期には毎日2回分の問題では物足りない、というコメントも確かにある。選択肢は用意したので、あとはご自身のスタイルに合わせて使っていただければと思う。

【2022.8.1追記】

1日分の過去データがある状態でデバッグしてリリースしたものの、2日分以上のデータがあると、前日以外のデータが選べないバグがあることがわかった。やはりテストデータも作らず拙速にリリースするとこういうことになる。

過去問題のデータを動的に読み込むと言っても、一度ページを読み込み終わってしまうと、書き換えるためにはページを再読み込みする必要がある。そして再読み込みすると日付選択のカレンダーが前日の日付にリセットされてしまい、毎回前日のデータが読み込まれてしまうというわけ。

そこでCookieに選択した日付を覚えさせてからページをリロードするようにしたら、思ったような動作になった。

日付選択のUIは端末によって動作が異なるし、Cookieとリロードに頼るのもあまり美しくはないけれど、まずは動くことが重要ということで。もっとモダンなコードが書けるようになれたら良いな。

本サイトの固定記事へのリンク

Webアプリ「日替わり通信術」

アプリの詳しい説明

≫ 続きを読む

アマチュア無線   2022/07/31   gena

アマチュア無線(6m and Downコンテスト2022)

毎回運用場所を悩むコンテスト。今年はあいにくの(?)良いお天気で、第一候補地(観光客が来る)は断念。第二候補地の林道入口にかんなさんと二人で移動。

ここはロケーションがそれほど良くない(都内は聞こえてもカスカス)ので、今まで無線の先客がいたことはない。トイレがないし最寄りのコンビニまで車で30分くらいかかるので、3時間くらいの滞在が限度。準備と撤収を考えると運用は2時間まで。

ということでスコアは狙わず、久しぶりの移動運用を楽しむ感じ。心配していた暑さは、木陰になっていて意外と大丈夫だった。かんなさんは車内(エアコン使用)で運用。

IMG_2492_w560.jpg

私はいつものFT-817(USB PDモバイルバッテリー)と7エレ八木でC430。かんなさんはIC-705(ポータブルバッテリー)と50MHzのダイポール。

荷物が多いとしんどいので、最近は踏み立てくんは使わずカメラ三脚にポールをくくりつけている。かんなさんはルーフレールにDPをくくりつけただけ。カメラ三脚はコンパクトなものなので安定も悪いし、この辺はもう少し簡単に安定して設営できる方法を考えておきたいところ。

IMG_2495_w560.jpg

二日目の朝8:45頃から始めて、聞こえる局を呼び回り。Sメータが振らなくても、しっかり聞こえる局にはだいたい届く感じ。ノイズがないので聴きやすい。ただCQを出してもほとんど呼ばれず。たまーに呼ばれることもあるので一応飛んではいると思うんだけど、やっぱり弱いのかな。

11時前には撤収。約2時間で26局(10マルチ)。短時間の割には健闘したかな。都内よりむしろ神奈川や静岡が強くて、これは先方のアンテナの向きの影響かと思う。かんなさんは15局ほど。終わり頃にEスポが出たみたいで、6エリアと交信できたと喜んでおられた。


Freq. Point  Multi  QSO
----------------------------------------
430MHz    26    10    26
----------------------------------------
Score  26 x 10 = 260
マルチ: 福島,茨城,栃木,埼玉,千葉,東京,神奈川,静岡,山梨,長野

IMG_2497_w560.jpg

≫ 続きを読む

アマチュア無線   2022/07/03   gena

アマチュア無線(All Asian DX CWコンテスト2022)

最近はなかなか上がらないコンディションと、調整が難しいベランダの仮設モービルホイップでイライラすることが多いDXコンテスト。国際情勢も悪いし、見合わせることが多かったんだけど、今回はローカルさんからUHV-5という多バンド対応のモービルホイップを譲っていただいたので、調整がてら少しだけ参加してみた。

IMG_2462_w560.jpg

UHV-5はエレメントの付け替えなしで、7/21/50/144/430MHzに出られるのが売り。ただ調整はシビアだよ、と譲ってもらったときにお聞きした。ベランダに三脚基台に立てて調整。アンテナアナライザは持っていないけれど、IC-705を使えば簡易的に周波数をスイープしてSWRのグラフを描いてくれる機能がある。

自宅ベランダでは一度も調整に成功したことがない7MHz。これは意外にも少しエレメント長をいじったらSWRが下がった。ただ、SWRが下がることとアンテナとして使えることは別らしく、国内/海外ともまったく入感せず(ノイズがS9で振っている)。7MHzはだいたいどの時間も国内のどこかは聴こえるはずなので、やはりベランダで使うのは厳しいらしい。

IMG_2464_w560.jpg

21MHzは多少受信はできているものの、エレメントを最長まで伸ばしてもSWRが3以上。もう少し伸ばせば同調しそうなんだけど、金属製のクリップをエレメント先端に付けて伸ばしてみると今度はHi-SWR。そんな単純なものではないらしい。結局元から持っていたモノバンドのモビホの方が軽くて調整もできているので21ならそれを使ったほうがよさそう。

50MHzはSWRは1.5〜2くらいで、使えなくはないと思うんだけど、Eスポが出ないことには受信できているのかどうかもわからず。144/430は無調整で大丈夫そう。

ということで、あわよくば7と21が付け替えなしで出られるなら便利だな、と少し期待していたけれど、そううまくはいかないことがわかった。今のところHFはどうにか調整すれば使えるのが21MHzと14MHzのモノバンドモビホのみという状態。

せっかくアンテナを上げたので、21MHzでオールアジアCWの局を呼んでみる。S9で振っているハワイはIC-705のバッテリー運用(5W)で一発コピーしてもらえた。北米西海岸はS5くらいで、5Wでは何度呼んでも届かず。電源をつないで10Wで呼んで、何度も「?」を返されたけれど、なんとか取ってもらえたかな。オーストラリアも同様。

このように、何度呼んでもスルーされたり、?とAGNを連発されたり、コールバックはあっても、「たぶん交信できたと思うけど、ミスコピーされているかも」みたいな中途半端な状態で非常にストレスがたまる。それに加えてアンテナのSWRが上がったりと、楽しむためにやっているのに、苦行のように感じることもあるので、そういうときはさっさとやめて他のことをするようにしている。

Freq. Point  Multi  QSO
----------------------------------------
21MHz   9     3    3
----------------------------------------
Score  9 x 3 = 27
Multi: K, KH6, VK

≫ 続きを読む

アマチュア無線   2022/06/19   gena
タグ:IC-705 , CW , コンテスト , DX

日替わり通信術アップデート(PWA対応)

2021年10月頃に新しいブランチを切って、ちょっと試してはうまく動かず棚上げして、思い出してはまたちょっと試して、というのを繰り返していたPWAへの対応。ようやくだいたい思い通りの挙動になったので、試験的にリリースしている。

PWAというのは「プログレッシブ ウェブ アプリ」のことで、Webアプリケーションをネイティブアプリのように使えるようにする技術。

日替わり通信術は単純なWebアプリのままでも特に不便はないと思うんだけど、主に技術的興味で対応を進めてみた。強いてPWAに対応させるメリットを挙げるとすると、

  1. スマホやタブレットで「インストール」すると、ホーム画面からネイティブアプリのようにワンタップで起動できる(Webブラウザを開いてブックマークから起動するのに比べて手間がかからない)。
  2. ネットにつながない状態でも(ネイティブアプリのように)起動できて、聞き取り練習できる。ただし最新の問題に更新するためにはネットにつなぐ必要がある。

という感じかな。パソコンからWebブラウザ経由で使って頂いている方には特に何が変わったのかはわからない変化かと思う。

最初にいろいろ調べて試してみたところ、オフライン対応するためのキャッシュが強力すぎて、日替わりの問題更新ができなくなってしまい、この解消に何ヶ月も(週末だけたまに)悩んだ。また、PWAは元々Googleが提唱してChromeブラウザから対応が始まっているという経緯があり、2022年時点でもiOS+Safariの環境だと対応が不完全で、Android+Chromeの場合と挙動が異なるのも苦労した点。

まあiOSで対応が進まないのは仕方がない面もあるとは思う。PWAに完全対応すると、Apple Developer ProgramとApp Storeを経由せずに好きなアプリを開発・インストールできるようになってしまうので。所詮Webアプリでしょ、と思うかもしれないけれど、日替わり通信術の一連の開発を通じて、HTML+Javascriptで相当いろいろなことができることがわかったし、Webアプリならプラットフォームに依存せず開発できるという大きな強みがある。

キャッシュをなかなか手放してくれない問題は、まずはService Worker(SW)を適切に書いてあげて、日替わり問題の更新タイミングでSWのキャッシュ名を変更(日付)してサーバにアップロードする。そうするとアプリが次にService Workerを読みに行った時点で更新があることを認識できる。ただ、それだけだとSWを更新した直後の読み込みでは、更新を検出はするものの、そのときはキャッシュを読んで、次回アプリの起動時に初めて古いキャッシュを捨てて置き換わるという動作になる。

SWの動作の理解は進んだものの、iPhoneとかiPadで試していると、やっぱりなかなかキャッシュを手放してくれない。最終的には、SWのインストール時にskipWaiting()の処理を入れてすぐに新しいSWを反映させて、さらに不要なキャッシュを削除するタイミングで、clients.claim()の処理を入れてすぐに新しいデータを反映させるようにする。

//インストール時処理
self.addEventListener('install', function(event) {
    event.waitUntil(self.skipWaiting()); // 新しいService Workerをすぐ反映
});

// 不要なキャッシュを削除
self.addEventListener('activate', event => {
    event.waitUntil(clients.claim()); // すぐに新しいデータを反映
});

そして日替わり通信術アプリだと、いずれにしても問題が更新された際にアプリの再読込が必要になる。Androidや普通のブラウザの場合はリロードしてもらえば良いんだけど、iOSの場合は今のところPWAのウィンドウをリロードする手段がなく、一度アプリを終了させて再起動してもらわないといけない。これは面倒なので、キャッシュファイルの日付から24時間以上経過している場合は、window.location.reload()を叩くリンクを表示させるようにしてみた。これを叩いて更新すれば新しい問題が読み込まれるし、古い問題をそのまま練習することもできる。オフラインの場合もキャッシュがそのまますべて使えるので、読み込んだ時点の問題は何度でも練習できる。

IMG_2399_w560.jpg

このような感じで、ようやくだいたい意図した動作にはなったかな。日替わり問題が更新されるタイミングでアプリを開きっぱなしにしているとどうしようもないけれど、それはブラウザの場合も同じなので。これに関してはプッシュ通知とか、さらに一段階難解な処理に取り組まないといけないかも。

Service Workerの記述についてはいろいろなサイトを参考にしたけれど、最終的に思い通りに動いたのは以下のサイトの例だった。

【参考サイト】Progressive Web Apps (PWA) 学習者のメモ その1  (Service Worker)

PWA対応によって以前と変わった点を画像で説明しておく。

まずはPWA本家AndroidのChromeの場合、最初にページを開くと、インストールを促す表示が出る。これに従ってインストールすると、ホーム画面にアイコンが追加されて、起動時にスプラッシュ画面が出るようになる。アンインストールは設定のアプリ情報から、他のネイティブアプリと同様に行う。

IMG_1068_w560.jpg

iOS、iPad OSの場合は、表向きはPWAに対応していることがわからない。インストールという表現はなく、共有ボタン[↑]から、「ホーム画面に追加」を選ぶことで、Androidのインストールと同様の動作となる。普通のWebサイトをホーム画面に追加した場合と比べると、URL欄が表示されず、下スワイプでリロードできないなど、ネイティブアプリっぽい動作となる。アンインストールは、アイコンを長押ししてブックマークを削除。

IMG_2398_w560.jpg

パソコンの場合は、ブラウザのURL欄の右にあるボタンからインストールができる(Edge, Chrome)。MacOSのSafariの場合は今のところインストールはできない模様。MacでChromeを使えば普通にインストールできるし、Launchpadにも自動的に登録されるので、特に不便はなさそう。

higawari_chrome_w560.pnghigawari_edge_w560.png

これで安定稼働してくれれば、考えていたアップデートはクローズかな。あとは長く使ってくれている方向けに、和文・欧文の本文プールの拡充とか、名あての住所データベースの拡充などはやりたいけれど、これは時間をかければできる話。

次のプロジェクトは何が良いだろう。モールス受信関係はJI1JDIさんのDitDah Appsでだいたい網羅されているので、何か別なものがないか考え中。

本サイトの固定記事へのリンク

Webアプリ「日替わり通信術」

アプリの詳しい説明

≫ 続きを読む

アマチュア無線   2022/05/24   gena

アマチュア無線(ALL JAコンテスト2022他)

3月から4月にかけては、東海QSOコンテスト、オール東北コンテスト、ALL JAコンテストに社団局のオペレータとして参加。

ALL JAコンテストは久しぶりの長時間のコンテストだったけれど、PCキーイングをメインとすることで、パイルにさえならなければあまり疲れずにCQを出し続けることができるようになった。合計863交信中、私が379QSO、かんなさんが203QSOとなかなか健闘。

ただ、それほど疲れずに交信できたと思っても、やっぱりミスはあって、後日Hamlog e-mail QSLが届いた局を照合したらこちらがコールサインをミスコピーしていたものが数局。実際に初交信の局もいるからパーシャルチェックも万能ではないし、QRN、QSB、QRMの中からピックアップしているので限界もある。

東海QSOコンテスト(X-MCA)

tki2022.png

オール東北コンテスト(MA)

ja7_2022.png

ALL JAコンテスト(CM2)

allja2022.png

一方個人参加のコンテストは低調。ゴールデンウィークの東京コンテストは天気が良く、移動運用場所が使えそうになかったので不参加。

≫ 続きを読む

アマチュア無線   2022/05/06   gena
タグ:CW , コンテスト

日替わり通信術アップデート(反響音効果)

公開後1年の記事に書いたのをきっかけに、改めて反響音(リバーブ処理)の追加に取り組んだ。

しかし、元々のWeb Audio APIを使ったコードが「コピペコーディング」で、どうにか動くようにしたものなので、リバーブの処理をやはり参考のサイトからコピペしても、うまく動かず。

参考サイト:

どうやら非同期処理の影響らしい、ということはなんとなくわかる。インパルス応答のwavファイルをAudioBufferとして読み込んで、Conbolverノードを原音とミックスして出力する、というときに、wavファイルをAudioBufferに読み込む処理が時間がかかるので飛ばされて、先に他の処理が走ってしまう。

このように時間のかかる処理の終了を待ってから次に進む、というのがJavascriptで言うところのコールバック、Promise、Async/Awaitなどで、関数が結果を返すまで実行を待機する。

と、教科書的なことはなんとなくわかるんだけど、実装するとうまく動かない。参考にしたコードでは、AudioBufferの読み込みにAsync/Awaitを使っているので、コピペしてみたところ、確かにエラーは出ないけれど、iPhone/iPad環境で、1回目の再生で音が鳴らない。パソコン環境だと動く、という微妙な状況。

結局3週間ほど週末に集中的にデバッグとリファクタリングに取り組んで、ようやくテストしたすべてのデバイスでエラーなく1回目で音が出るようになった。テストした環境は下記。

  • Windows10 Chrome
  • Windows10 Edge
  • MacOS Monterey Chrome
  • MacOS Monterey Safari
  • Android Chrome
  • Kindle Silk
  • iPad Safari
  • iPad Chrome
  • iPhone Safari

一番のキーポイントは、window: loadイベントをasyncにしてAudio Context関係の処理をすべて囲んで、loadイベントの最初にawaitでインパルス応答の読み込み処理を済ませてしまうことだった。これはつまり参考サイトの構成そのまま。やっぱり独自にヘンなことをするのではなくて、基本に忠実にするのが結局一番確実ということだった。

処理はできるようになったんだけど、インパルス応答(IR)のwavファイルをどうするかが問題。理想的には総合通信士の試験会場でインパルス応答を測定できれば良いけれどそれは無理だし、似たような会場で測定しようにも機材がない。ネットでフリーで使える素材も限られている、というのが今回わかった。幸い、非商用に限りフリー、というコンサートホールのIRがあったので、これを使わせていただいた。

higawari_reberb_wave_w560.jpg

重い腰を上げてリファクタリングに取り組んだので、ついでに気になっていたCSSも全面的に修正。pure.cssというフレームワークを使わせていただいているけれど、その親要素で縛られているところがなかなかわからず、cssの指定が効かないと思ってデバッグに時間がかかった。Chromeのデベロッパーツールの要素タブを睨みながらなんとか親要素を部分的にオーバーライドして、所望の動作をするようになった。

これまでの一時停止機能、反響音機能を通してまだまだ汚いながらもリファクタリングはできたと思うし、自分自身のJavascript、CSSの勉強になった。

あとはPWA対応が残っているけれど、日替わりでデータを読み込む必要性があるので、ネイティブアプリっぽくしてもあまりメリットはないかも、と思って優先度は下げている。

本サイトの固定記事へのリンク

Webアプリ「日替わり通信術」

アプリの詳しい説明

≫ 続きを読む

アマチュア無線   2022/04/22   gena

Webアプリ日替わり通信術(公開後1年経過)

Webアプリ日替わり通信術練習(モールス受信)を公開して1年になる。

おかげさまでTwitterやメールでアプリを使っていますとレスポンスをいくつか頂くようになり、嬉しいことにアプリを使って頂いた2名の方が2022年3月期の一総通試験で見事に合格された。元々かんなさん(奥様)の受験サポートのために開発したアプリだったけれど、公開したことで多少なりともお役に立てたようで嬉しい。

冗談半分で合格者倍増を狙っていると公開時に書いたけれど、残念ながら2022年3月期から合格者(受験番号)のネット公開はされなくなって、受験者への個別メール連絡のみとなってしまったため、アプリの効果を定量的に測ることは困難になってしまった。もしアプリを使っておられる方で合格された方はTwitterやjarl.comのメール宛にお知らせ頂ければありがたいです。

ダウンロード不要で利用登録など何もない単なるWebアプリなので、利用者がどれくらいいらっしゃるのかはわからない。レンタルサーバのアクセス記録から、通信術アプリのファイルが読まれた回数を数えて、ざっくり利用者数を推計したのが下のグラフ。9月期の試験までに徐々に利用者が増え、試験後にいったん減って、年明けに3月期の試験に向けて増加が見られる。受験者数は100名ほどだし、なんとなくオーダーは合っているように思う。もちろん日替わり問題を1日に何度もこなしている方もいると思うので、ユニークユーザはもう少し減るだろう。

higawaricw2021.jpg

「一総通 通信術 モールス」等のキーワードで検索するとトップページに表示されるので、今のところモールス受信術の練習アプリとしては高いシェアを獲得しているものと思うけれど、それでも利用者は30名とかその程度。完全無償のアプリでもこうなので、一総通向けの市販教材やツールが皆無なのも仕方がない。まったく商売にならない超ニッチな分野ということがよくわかる。

公開後の1年で、メジャーなアップデートとしては以下のような感じ。いずれも利用者さんからのリクエストや指摘で実装したもので、重い腰を上げられたのは利用者さんのおかげだと思う。

現在開発・テスト中のブランチとして、PWA(Progressive Web Apps)への対応がある。これはWebアプリをネイティブアプリのように使えるようにする技術。強力なキャッシュ管理でオフラインでも(まるでネイティブアプリのように)使えるのがメリットなんだけど、iOSだとキャッシュが強力すぎて日替わり更新が反映されないという問題が解決できずにスタックしているところ。

開発頓挫したブランチとしては、音源保存機能の実装がある。元々はラズパイでmp3の音源を作ってアップするところからスタートしているけれど、これだと速度などが決め打ちになってしまうし、スマホ利用だとダウンロードのパケットを消費する。そのためにWeb Audio APIでリアルタイムに生成する方式に変えた経緯がある。このmp3を作るPythonのプログラムがcgiとしてレンタルサーバ上で動かせれば可能かもしれない。

あとリクエストというほどではないけれど、複数の受験者の方から、試験会場ではモールスの音が反響して聴きづらかったという指摘があった。これについてはリバーブをかけるオプションを追加できたら良いと考えているけれど、のんびり取り組もうと思う。→反響音効果を実装しました(2022.4.22)

本サイトの固定記事へのリンク

Webアプリ「日替わり通信術」

アプリの詳しい説明

≫ 続きを読む

アマチュア無線   2022/04/03   gena

日替わり通信術アップデート(本文表示の改良)

日替わり通信術アプリをご利用の方から、本文表示の記号が実際と異なるとご指摘のメールを頂戴した。

これはアプリ開発当初から気になっていた部分で、モールス符号への変換に1バイト文字(半角英数、半角カナ)を使っていることに由来する。1バイト文字を使うと和文の濁点・半濁点の処理が簡単になるメリットはあるものの、すべての記号を1バイト文字にマップしなくてはいけないので、どうしても不自然な記号を使わざるを得ない。

例えば[ホレ]は"<"とか、欧文で[BT]は"メ"にするとか。ご要望があったのは、和文の段落(」)を句点(。)で表現するのがわかりづらいという点。そのうちゆっくり直せばいいかな、と思っていたけれど、せっかくご要望をいただいたことだし、ちょうど総合通信士試験が終わった時期でアプリをメンテナンスしても影響が少ないということで、着手することにした。

【従来の本文表示(和文)】

wabunb.jpg

【従来の本文表示(欧文)】

obunb.jpg

ところでアプリを公開してラズパイ4を買ったあたりから、スクリプトのバージョン管理にgitを使うようになった。一応公開したアプリでもあるし、きちんと管理した方がいいな、という気持ちで始めたものだけど、今では手放せない便利ツールになっている。

今回だとリリース済みのjavascriptのmasterブランチには手をつけず、新たに本文表示改善用のブランチを切って、修正を開始。うまく動いたところまでコミットしながら進めて、試験運用まで。もし不具合があればmasterブランチをチェックアウトすればすぐに戻せるし、NASやGithubのリモートリポジトリにpushすればそのままバックアップになる。試験運用で問題がなければ、masterにマージすれば良い。

gitを使う前はどうしていたかというと、スクリプトファイル自体を別名(バージョンが変わるごとに01,02,03とか)でコピーしたり、コードの中身も変更するところは古いコードをコメントアウトして残しておいたり、ひどいものだった。

今回は1バイト文字で本文を自動生成する部分には手を付けず、Webアプリで本文表示する際に全角文字と記号の変換をさせるようにした。こうすれば電報文の自動生成と音を鳴らすところは従来通りなので新たなバグを作り込むリスクは低い。

javascriptで半角カナ→全角カナの変換は、参考になるサイトがあって、必要な記号もこれでだいたい対応できる。「?」だけはエスケープが必要で、キーマップに入れるとエラーになる。

苦労したのは時刻のところの数字の略体の解釈。時刻部分に限り、カナの「イウクハホタム」をそれぞれ[一][二][三][七][八][九][〇]にマップしなくてはいけない。これは結局キレイなコードは書けず、replaceのメソッドチェーンでズラズラと並べる力技で解決した。もう少しエレガントなコードを書けるようになりたいものだ。

【改良後の本文表示(和文)】

wabuna.jpg

【改良後の本文表示(欧文)】

obuna.jpg

本サイトの固定記事へのリンク

Webアプリ「日替わり通信術」

アプリの詳しい説明

≫ 続きを読む

アマチュア無線   2022/03/21   gena

日替わり通信術アップデート(語間スペース調整機能)

Webアプリの日替わり通信術(モールス受信)は公開からもうすぐ1年になる。少しずつではあるが、ツイッターやメールで使っていただいていると報告を頂くこともある。アプリ利用者の中から合格者が出ることを祈りたい。

ツイッターで、語間スペースが狭いのでは、とご指摘をいただいた。これはバグわざとで、普通は2語の間の間隔は単点7個分となっているけれど、総通受験者のヒアリングで「語間が狭く感じた」というレポートがあったため、狭くしてある。狭い状態で練習して慣れておけば本番にゆとりが生まれるはず。

とはいえ標準的な間隔を知っておくことも重要だと考えて、語間の調整機能を実装。語間を決め打ちでソースを変更するのは簡単なんだけど、狭いのと標準を選択できたり、その設定をCookieで保存したりするのが久しぶりのコード書きで忘れていて時間を要した。

波形で比較すると、上段が「狭い」、下段が「標準」。

cw_wordspace.jpg

本サイトの固定記事へのリンク

Webアプリ「日替わり通信術」

アプリの詳しい説明

≫ 続きを読む

アマチュア無線   2022/02/23   gena

アマチュア無線(ARRL International DX CWコンテスト)

アメリカのアマチュア無線連盟(ARRL)が主催するDXコンテスト(規約)。参加は4年ぶり。

このコンテストの時期は何かと週末用事があることが多く、なかなか参加できない。今回も土日とも朝から出かける用事があって、参加できたのは日曜日の早朝6時過ぎから8時頃まで。

局数は望めないので、久しぶりに使う21MHzモービルホイップのSWR調整をするつもりで参加。リグもたまには火を入れておこうとFT-1021Xを起動。

ベランダに三脚を立てて三脚基台にモービルホイップを取り付ける。カウンターポイズは以前自作したもの。これでエレメント長やカウンターポイズのはわせ方を変えるとSWRが変化して、だいたい1.5くらいまで追い込めた。エレメント長は標準だと長すぎて最短にしてもHi-SWRなので、買った時に金鋸で1cmほど切ってある。

IMG_2092_w560.jpg

FT-1021Xも久しぶりなので、ドライブレベルの調整から。送信は問題なさそうだけど、しばらく電源を入れておくと受信は信号にガリガリ音が乗る。バックグラウンドノイズは大丈夫なんだけど、CWのトーンが歪むような感じ。古いリグなので経年劣化は避けられないか。フルパワーは怖いのでパワーは100W。

この設備で、S5くらい振ってCQ空振りしている局なら拾ってもらえる感じ。でも聴こえるのは西海岸のお馴染みさんばかり。2015年の同コンテストでは中部の州や一部東海岸まで聞こえたのはサイクル24のピークだったからだとわかる。サイクル25に向けて底は脱したと思うんだけど、Condxが上がってくるのはもう少し先かな。

というわけで2時間で10局と交信。WASの新州追加はなく、初交信は3局であとはお馴染みさん。FT-1021Xの状態が心配だけど、がっつりDXをやりたい時はかんなさんにFT-991Aを借りるので、1021はもうしばらくインテリアとして飾っておこう。

WASは18州で変わらず。googleのGeochartで交信済みの州を塗ってみた。色の濃いのが今回交信した7州。

was_jh1cfv_w560.jpg

Freq. Point  Multi  QSO
----------------------------------------
21MHz   30     7    10
----------------------------------------
Score  30 x 7 = 210
Multi: NM, CA, AZ, MT, OR, WA, CO

≫ 続きを読む

アマチュア無線   2022/02/20   gena
タグ:CW , コンテスト , DX , FT-1021X