2020年2月9日日曜日

FT8のデータ圧縮(データエンコード)

データエンコードと聞くと何を連想しますか? データ圧縮でしょうか。インターネットで大きなファイルを送るとき、ZIPをかける、ということは、よくありますね。 画像データのフォーマットでよく使われるJPEGやPNGも元のビット毎データを圧縮してファイルサイズを小さくしています。動画ではMPEG、音楽データはMP3が有名ですね。いろいろな圧縮方法があるのは、そのターゲットであるデータの特性を考慮して、様々な技を使っているからです。圧縮方法には大きく分けて2通りあり、可逆圧縮と非可逆圧縮と呼ばれます。MP3は非可逆圧縮ですが、人間の聴覚の特性を巧みに利用し、たとえば、大きな音が入ったすぐ後は小さな音が聞き取れにくいので少し省略、みたいなことをやっています。

FT8はアマチュア無線の交信の特性を考慮した可逆圧縮を行っています。PC上では6文字のコールサインをASCIIコードで表現するために、1文字あたり8ビット使いますので、8x6=48ビット必要です。FT8では、これを28ビットに圧縮しています。圧縮と言うより、巧みにエンコードしていると言ったほうが正確かもしれません。

標準のアマチュア無線局コールサインは、1文字か2文字のプリフィックス、そのうち少なくとも1つは英字、数字、そして1文字から3文字のサフィックスで構成されます。この構成から得られる組み合わせ数は、37✕36✕10✕27✕27✕27で、およそ2億6千万通りになります。37または27という数が出てくるのは、最初と後ろの3文字が、ブランクか英字か数字になるためです。2の28乗は2億6千万より大きい値になりますから、28ビットあれば標準のコールサインを一意に表現できます。さらに、このなかでも6百万程度コールサインとして使われていない組み合わせがあります。たとえば、0から始まるコールサインや、Q符号と重なるコールサインは使われません。その空いているスペースにCQやDEやQRZを割り当てています。

4桁のグリッドロケータは180✕180=32,400通りあります。2の15乗が32,768ですから、グリッドロケータはは15ビットで表わすことができます。シグナルレポートはグリッドロケータ部分に埋め込まれます。

W6/K1JTやK1JT/1のようなプリフィックス、サフィックスは上に述べた使われていないい6百万の組み合わせかグリッドロケータ部分に埋め込まれます。

このように、アマチュア無線局のコールサインの特性をうまく利用しながら、少ないビット数でコールサインやレポートなどの情報を送っています。すごいですね。トータルとして、FT8の1つのメッセージは(相手の)コールサイン28ビット+(自分の)コールサイン28ビット+グリッドロケータ15ビットの71ビット、FT8のDXpeditionモードのメッセージ、コンテスト、非標準コールサインを表現するための5ビット、そしてオプションの11ビットを加えた77ビットで構成されています。

この77ビットに強力なFEC(Forward Error Correction)前方誤り訂正符号をかけて電波として送り出します。

次回、FECへ続く。。。



0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

WSJT-X 2.7.0-rc3 公開

 WSJT-X 2.7.0-rc3 リリースノート 2024年1月1日 WSJT-X 2.7.0-rc3では、いくつかの新しい機能、たくさんの強化改善、バグの修正を行いました。 「Hamlib更新」機能追加。Windows版では、WSJT-Xから直接Hamlibを更新することがで...