テールビット
どうも。今日も気楽に書きたいと思います。
早速ですが、タイトルに書いた「テールビット」とは、一体何でしょう?
説明しよう!
畳み込み符号を用いた通信を行う際に、実際に送信したいデータの後ろに余分なビット列を付加することで、畳み込み符号を生成する際に用いるメモリを初期状態(通常、全部0が入った状態)に戻し、畳み込み符号を復号(ビタビ復号)する際により正確に元のデータに復号する。
この時に付加される余分なビットこそがテールビットなのだ!
気になる方は「畳み込み符号」とか「テールビット」って調べるとよくわかりますよ〜
ここではあえて引用したりしないでおきます。(ただ単に選ぶのがめんどくさい←
まぁ、茶番?はこのくらいにしましょう(笑)
最近では畳み込み符号を用いた通信のシミュレーションに取り組んでいるのですが、ビタビ復号も実装に手間取っていますが、同時にテールビットの生成も手間取っていました。
畳み込み符号を生成するときのメモリ数に応じて付加するテールビットの長さも変わりますし、何より状態遷移を考慮して考えるのがもう。。。
ところが、明朝3時に64状態の非組織的で再帰式の符号器におけるテールビットの生成関数(符号器に組み込んでしまっているので単体の関数ではないですが)を作ることができました(笑)
ランダムに生成した送信信号を元に、何回も何回も腐るほど実行し、確認。
最後のメモリの状態が初期状態に戻っている。すごく気持ちいい。
こんな感じで充実しております(笑)
余談ですが、講義の課題でMATLABでプログラムを書く機会がありました。便利すぎるがゆえに訳がわからないという問題もありましたが、いずれは使いこなしたいものです☆*:.。. o(≧▽≦)o .。.:*☆
ではでは、今日はこの辺で!