H3 誤り訂正符号

誤り訂正回路

実験は、誤り訂正回路の部分であるが、入力データの扱いや、観測や記録のしやすさ等を考慮し、付加回路も合わせて設計することを強く推奨する(自動訂正回路までは求めていない)。正確に実験データを取れる環境づくりだと考えてください。実験方法・実験環境を考え実現することも目的としています。

全自動でカウントやスイッチの切替えなどの回路を付加する班も見られますが、実験レポートのことを考えて付加回路を設計してください。全自動ではダメだとは言いませんが、どのタイミングでスイッチが切り替わるのか/切り替わったのか、LEDの点滅だけで説明ができますか?レポートの実験結果が適切に書けるでしょうか?何を書けば実験レポートの実験結果として提示できるとおもいますか?チームで検討してみてください。

追加補足説明

符号化回路の動作確認用のテストケース(入力だけでなく期待される出力結果も含まれています)のサンプルです。たぶん、あっていると思います。
このBCH(15,11)の生成多項式は G(x)=x^4+x+1 である。

実験に使用するテストパターンは各自が考えてください。下記の動作確認用のテストケースを含める場合は、各自で考えたテストパターンと合わせてテストを行うのに十分なものになるようにしてください。
以下に示すサンプルの提示・表示はレポートへの記載例ではありません。適切だと思われる表記方法は皆さんで考えてください。

これができたからといってすべて正しいとは限りません。これで十分なテストケースである保証もありません。

符号化回路の動作確認のためのテストケース【サンプル】

入力情報データ(11ビット)
(d10,..,d0)
出力符号データ(15ビット)
(d10,..,d0,c4,,..c1)
備考
10100110101 10100110101 0110 下のテストで使用
01101100001 01101100001 1100
00000000000 00000000000 0000 実験データとしては不適切?※
00000000001 00000000001 0011 実験データとしては不適切?※
11111111111 11111111111 1111 実験データとしては不適切?※

※「実験データとしては不適切?」はOや1が連続するため、入力の変化やシフトの状況などの観測・理解が難しくなる。的確・正確に動作していることを示したテスト入力として適切な入力パターンであるかどうかを班で検討してもらいたい。「実験結果に使ってはいけない」という意味ではなく「少なくともこの入力パターンだけでは動作しているかどうかわかりにくい」という意味で入力テストパターンとして適切であるとは言えないということである。少ないテストケースで動作していることを示すのであれば、0/1のパターを散りばめたほうが分かりやすいと思いませんか?

復号化回路の動作確認のためのテストケース【サンプル】

入力情報データ(15ビット)(d10,..,d0,c4,,..c1) シンドローム値4ビット(R1,R2,R3,R4) 備考
10100110101 0110 0000 誤り無し
10100110101 0111 0001 15ビットめ誤り
10101110101 0110 0111 5ビットめ誤り

連絡事項

実験結果の提示について

今回の実験は符号化回路、復号化回路の観測が一番重要な観測項目である。
符号化回路の R_4, …, R_1 を観測していない/観測せずに捏造した(観測したことにして C_4, …, C_1 で代用している)レポートが見受けられる。観測対象が観測されていない実験レポートはデータの不備として受け取れない。

レポートの検討事項(3)について

検討事項(3)の「誤り検出のビット数を増やすにはどうすればよいだろうか検討しなさい」という問に対して、「コードのハミング距離を大きくする」→「誤り訂正可能」⇒「冗長ビットを増やす」→「誤り訂正ビットが増える」ようなロジックで記載されているレポートが目立つが、まったく検討になっていない。誤り訂正符号の符号化だけをして「誤り訂正」できますか?この問には符号化と復号化の両方が記載されてはじめて○がもらえる問いである。
例えば、G_1(x), G_2(x)の2つの生成多項式を使って符号化をすると仮定する。まず、この2つの生成多項式 G_1(x), G_2(x) をどのように使って符号化するのか、符号化したら良いのか?その符号を付加したコードを受け取ってどうしたら誤り検出・訂正ができるのか?生成多項式 G_1(x), G_2(x)とどう関係しているのか?いくつで除算したことにすればよいのか。受信したコードを何で除して剰余はいくつ求まるのか,1つなのか,2つなのか。それをどう使って誤りを検出・訂正するのか。が期待されている解答である。
符号化の方だけでは説明が不十分であることがわかっていただけただろうか?

レポートの記載に関する注意事項

レポートの内容に回路の動作過程が実験結果として含まれていないレポートが多いので、注意しておく。結果は入力と出力の対比だけではない。

  • レポート全体の構成を考えてレポートを書くこと。
    今回の実験を書くにあたり、全体として何を行ったのかをトップダウンに記載して概要がわかるように書く。おおよその概要は以下のようになると思います。

    1. 符号化と復号化の回路の概要
    2. (実験の観測方法と)テストケース
    3. 符号化回路
    4. 符号化の結果
      • クロック動作(少なくとも1つ)
      • 符号動作結果
    5. 符号化の検証(符号化された結果が正しいことの証明)
    6. 復号化回路
    7. 復号化の結果
      • クロック動作(少なくとも1つ)
      • 復号動作結果

レポート(報告書)のチェックシート(H3用)

チェックリストのフォーム(H3用)へ

文章の内容に関する項目

長谷川泉編著,国語表現ハンドブック新訂版,明治書院 より。

+ 内容がしっかりしているか?

□ 論理的に混乱はないか?(道筋の乱れ)

□ 材料・データに矛盾はないか?(部分の乱れ)

□ 文章の展開に飛躍はないか?

+ 表現意図が伝わるか?

□ 読み手に明確に伝わるか?

□ 相手に応じた述べ方をしているか?(後輩の学生を想定してみよ)

□ 自然で素直な文章になっているか?

□ 正確な表現になっているか?

□ 曖昧な表現はないか?

□ わかりやすい長さの文になっているか?

+ 素直で正確な文章になっているか?

□ 視点は統一されているか?

□ 文の構造は正しく整っているか?

+ 文中に混乱や不統一な点はないか?

□ 文中の言葉はきちんと呼応しているか?

□ 語順に不適切な箇所はないか?

□ 文法的な形式が整っているか?

□ 重複した表現はないか?反復は別。

□ 必要な語が脱落していないか?

□ 語形や用法に乱れはないか?

+ 表記は適切か?

□ 誤字脱字、仮名遣いや送り仮名に誤りはないか?また、表記は統一されているか?

□ 句読点の打ち方は適切か?

共通項目

□ 章や節の構成を意識して、文章を構成する。

□ 段落を意識して文章を構成すること。1文が1段落のような文章は良くない。

□ 段落のはじめは1文字字下げする (Wordでは空白を入れなくてもスタイルで調整することができる)。

□ コピーを使用していないこと。回路図を書く練習を目的にしているので、 指導書等の図のイメージを取り込んで張り付けるのもダメ。

□ 実験結果を一目で理解できるように観測データを整理し実験した証として提示保存する。

□ 観測データを見やすいように、表やグラフとして提示する。

□ 図表には全体の通し番号と説明文(キャプション)を付ける(図2 xxxx,表1 ~~~ のように)。

□ キャプション(図のタイトル・説明文)は、図の場合は図の下側、表の場合は表の上側に付ける。

□ 図表は必ず本文から参照し、本文では簡単な説明を書く。「~の実験結果を図●に示す。図●は~」のように本文から参照すること。

□ 一つの図表はページをまたがらないように配置する。

□ 論理回路図の書き方に従い、定められた記号を用いて正しい回路図を記載する。

□ 論理式も標準的な書き方/記法に従い正しい論理式を記載する。

□ レポート用紙の周囲1インチ(2.5cm)程度、余白を設ける。

レポートの上部を3箇所程度(左上、上、右上)、上にめくりやすいようにホチキスで止めること。

□ 作成した回路の回路図にはピン番号やIC番号が正確に記されているか?

□ 使用した論理素子や測定機器等の実験装置は正確に記載されているか?

□ 実験データは入力・出力が正しく分かりやすく示されていること。

個別項目

間違いなく、論理的に動作・振舞いの過程が記述されているか?

□ 入力データをRの値の(過程を提示せず)最終値だけを提示していて良いだろうか?

□ 符号化の結果が正しいことをどうすれば説明・証明できるだろうか?

□ クロックのどこ(立ち上がり/立ち下がり)で出力の値が変化するかが正しく書かれているか?

□ 見やすい位置に表や図が配置されているか?

□ 測定したデータがそのまま記載されているか? そもそも何を観測すべきだったのか

□ 表のデータに誤りはないか?

□ 観測方法に誤りはないか? LEDを使用して観測した入出力か?