AVRでTNC(9)
夜までかかって誤り訂正とCRC再計算を追加しました。デコード結果は次のようになりました。
【東工大作成テストデータ】
(受信した生データ)JA!YTC0JQ1YCZ0'CONG You're A Meo`ER o譬SRLL Rdbeivers!
(誤り訂正後データ)JQ1YTC0JQ1YCZ0'CONG You're a Member of SRLL Receivers!
これをバイナリ表示すると次のようになります。
(受信した生データ)4A 41 21 59 54 43 30 4A 51 31 59 43 5A 30 27 43 4F 4E(途中省略)80 80 00 00 00 90 CD
(誤り訂正後データ)4A 51 31 59 54 43 30 4A 51 31 59 43 5A 30 27 43 4F 4E(途中省略)00 00 00 00 00 90 CD 90 CD
赤文字部分が誤り訂正機能により訂正されています。また、誤り訂正後データの末尾2バイト(太字緑文字)は訂正後データから再計算したCRC値で、その直前の受信したCRC値(太字青文字)と一致しているので、このデータは信頼性がある(正しいものである)ことがわかります。出力されている文字だけ見ると正しいように見えるデータであっても、CRCが一致していないものもあります。
JA0CAW局のブログ掲載のWAVファイルのデコードデータについても、検証してみました。
【64バイトデータ】
(受信した生データ)JQ1YCZ0JQ3[TC0$A` EEEE(以下省略)
(誤り訂正後データ)JQ1YCZ0JQ1YTC0$タ` EEEEE(以下省略)
このデータは一見誤り訂正で正しいデータ得られたのではと思われますが、バイナリ表示すると次のとおりとなっています。
(受信した生データ)4A 51 31 59 43 5A 30 4A 51 33 5B 54 43 30 24 80 41 60(途中省略)00 00 00 00 00 D6 63
(誤り訂正後データ)4A 51 31 59 43 5A 30 4A 51 31 59 54 43 30 24 C0 01 60(途中省略)00 00 00 00 00 D6 63 B7 B9
CRCが一致しないので、正しくないデータと判断されます。
【32バイトデータ】
(受信した生データ)JQ1YCZ0ハム1YTC0 SR\\ T%3t(以下省略)
(誤り訂正後データ)JQ1YCZ0JQ1YTC0 SRLL Test(以下省略)
これをバイナリ表示すると、次のとおりです。
(受信した生データ)4A 51 31 59 43 5A 30 CA D1 31 59 54 43 30(途中省略)00 00 10 64 2F
(誤り訂正後データ)4A 51 31 59 43 5A 30 4A 51 31 59 54 43 30(途中省略)00 00 00 74 2F 74 2F
赤文字が訂正され、CRCが一致しているため、正しいデータとなっています。
以上に誤りビット数をカウントした結果を末尾に表示するよう付け加えれば、受信機能のできあがりです。東工大紹介のプログラムと機能(表示形式)が一部異なりますが、しばらくはこのデータ形式で受信報告していく予定です。デコード率がよくないので、表示項目の改善と合わせて検討を進める予定です。
| 固定リンク
「ワンチップマイコン」カテゴリの記事
- 受信用TNCの製作(6)(2013.02.13)
- 受信用TNCの製作(5)(2012.12.03)
- 受信用TNCの製作(4)(2012.11.26)
- 受信用TNCの製作(3)(2012.11.25)
- 受信用TNCの製作(2)、XI-IV再び(85)(2012.11.25)
コメント