• ベストアンサー

ハミング符号の問題

ハミング符号で1001という4ビットの情報を送る際、余分なビットを1,2,4ビット目に加えると実際どのようにて送ればよいかという問題なのですが、 要するに ??1?001という記号列になるのでしょうが、 記号列を下記のように関連づけたとします。 (1) (2) (3) (4) (5) (6) (7) ?  ?  1  ?  0  0  1 すると下記の計算ででますか? (1)+(3)+(5)+(7)=0 (2)+(3)+(6)+(7)=0 (5)+(6)+(7)+(8)=0 初歩的な問題ですいません。回答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • info22
  • ベストアンサー率55% (2225/4034)
回答No.2

>余分なビットを1,2,4ビット目に加えると実際どのようにて送ればよい >かという問題なのですが、 >要するに ??1?001という記号列になるのでしょうが、 それで良いでしょう。 つまり、送信符号は「0011001」です。 詳細な計算の仕方は参考URLに載っていますのでご覧下さい。 参考URLによれば 4ビットの情報データを(d1)(d2)(d3)(d4)とし、 付加する3ビットのパリティビットを(p1,p2,p3)とし 7ビットの送信符号のビット列を (p1)(p2)(d1)(p3)(d2)(d3)(d4) とおけば、 p1=d1+d2+d4 p2=d1+d3+d4 p3=d2+d3+d4 演算は「加算してから mod 2 をとる」 または +を排他的論理和として計算します。 ということが表計算の形式で載っています。 そして、(d1)(d2)(d3)(d4)の全てのパターンに対する送信符号の表が載っています。 上のp1,p2,p3の式を質問の式に直せば (1)=(3)+(5)+(7) (2)=(3)+(6)+(7) (4)=(5)+(6)+(7) と言う計算式になります。 「+」の演算は排他的論理和の演算 または単に(mod 2)の加算 で計算します。 行列演算での計算法も参考URLに載っています。 データビットのベクトルp: p=[1 0 0 1]t 生成行列G (参考URLを見てください) 送信符号x: x=G・p=[0 0 1 1 0 0 1]t と求まります。

参考URL:
http://en.wikipedia.org/wiki/Hamming(7,4)

その他の回答 (2)

  • info22
  • ベストアンサー率55% (2225/4034)
回答No.3

#2です。 参考URLの最後の文字がうまく入りません。 (コンマが入るとこのサイトはURLが参考URLにうまく入力できない様です。) 再掲します 「http://en.wikipedia.org/wiki/Hamming(7,4)」

参考URL:
"http://en.wikipedia.org/wiki/Hamming(7,4)"
ottyon
質問者

お礼

回答ありがとうございます。 非常にわかりやすく教えていただき助かりました。 URLも理解しやすかったです。

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

(8)はないのだから、最後の式は、 (4)+(5)+(6)+(7)=0 です。 これらの式から、 (1)=(3)+(5)+(7) (2)=(3)+(6)+(7) (4)=(5)+(6)+(7) なお、+は排他的論理和です。

ottyon
質問者

お礼

回答ありがとうございます。 (8)はミスですね。すいません。

関連するQ&A

  • ハミング符号について

    ハミング符号について勉強し始めています。いくつか質問させてください。 ・ハミング符号は2ビットの誤りまで検出できて、1ビットの誤りまで訂正できる。 ・ということは、例えば1000000ビットの情報を送りたい場合、より確実に送りたい場合は、ビット列を例えば100ビットくらいに分けて、それぞれにハミング符号(の冗長部分)を付与した方がよい。反対に、情報を軽く送りたい(スピード重視)場合は、ほとんど分割せずに、ハミング符号を作った方がよい。 という理解で、大丈夫でしょうか?よろしくお願いします。

  • ハミング符号の余分な部分

    学校の課題でわからないことがあるので質問させて頂きます。 ハミング符号は、例えば検査符号(冗長ビット)が4のときは、 2^4-4-1で11ビットまでが有効範囲ですが、 もし、送りたい情報が8ビットしかなかったなら、 残り3ビットはどうすればいいのでしょうか? また、足りない状態なのに符号化はできるのでしょうか? 回答いただければうれしいです。

  • ハミング符号の誤り検出ビットについて

    ソフトウエア開発技術者試験のための勉強をしています。 ハミング符号では、例えば情報ビット4ビットには誤り検出ビット3ビットが必要で、この3ビットは情報ビット4ビットのどこに入れても良いとあります。この方式の前提は、あらかじめ送信側と受信側で誤り検出ビットの位置を決めてあるからですよね?つまり受信側が、受け取ったビット列のどこが誤り検出ビットなのかを知らなければ誤りの検出や訂正は出来ない、と理解しています。 よって、「ハミング符号によるチェック方式において”1001101”というビット列を受け取ったが、正しくない。どのビットが誤っているかを示しなさい。」という問題(翔泳社ソフトウエア開発技術者2005年度版P85)は、どこが誤り検出ビットなのか書いていないので解けないと思うのですが、違うでしょうか?

  • 長方形符号について

    学校の課題において、次のような問題が出たのですが明らかに見当違いな値が出てしまい全然合いませんどうか解き方を教えていただけないでしょうか? 【問題】4bitの情報を2行2列として長方形符号にした。以下の問いに答えなさい。 (1)情報化率(情報速度)を既約分数で答えよ。 (2)符号間の最短のハミング距離を答えよ。 (3)訂正可能な誤りの数はいくつか? (4)パリティー検査法で訂正可能な誤りの個数を答えよ。 私が出した答えは、(1)1/2 (2)0 (3)0 (4)0なのですが、明らかにこれほど0が回答として出ることがないのでとても不安です。そうか解き方を含め回答を教えていただけないでしょうか?

  • 線形符号の問い

    ネットで検索できるPDFやPPなどの資料はいくつかみたのですが、いまいち分かりませんでしたので、質問させていただきたいのですが、 情報ビット、x1、x2、x3に対し、検査ビットc1=x1+x2、c2=x2+x3、c3=x1+x3 を付加した(6,3)の線形符号についての問いで、 この符号によって、単一誤りの訂正が可能であることを示しなさいとあるのですが、 解答に、 「符号語は次の8種類、すべての符号語とそのハミング重みを列挙すると 00000 001011 010110 011101 100101 101110 110011 111000 で、全0以外で最小のハミング重みは3、t0=(3-1)/2=1 よって単一誤りの訂正可能」 とあるのですが、この符号語8種類はどこからでてきたのでしょうか。 また、単一誤り訂正可能の条件を教えていただきたいです。

  • 生成行列での符号化

    3ビットの情報 (1)010 (2)101 を生成行列   |100101| G=|010110|   |001011| で符号化したとき、得られる符号は どうなるか。 という問題の答えと考え方を教えて下さい。

  • 巡回符号化について

    生成多項式G(x)=x^4+x^2+1により情報記号列(011)を(7.3)巡回符号化せよ という問題があるのですが、 情報多項式 x+1 生成多項式 次数4 以上によりx^5+x^4 ここまではあってると思うのですが、 x^5+x^4をx^4+x^2+1を割るのはどのように行えばよいでしょうか? 過程を教えてください。よろしくおねがいします。

  • 巡回符号について

    以下の問題についてお解りになる方、どうかご教授お願いします。 なるべく文章で表現したつもりですが、実際には図を見て回答するため、これだけではわからない!となるかもしれません。 問題 符号長7の二元巡回(7,4)の符号器を使用する。 この時、巡回符号の生成多項式を g(x) = x^3 + x + 1 とする。 問題1 情報桁を表す多項式が x^2 + x +1  であるとき 符号器が出力する符号多項式はどのようなものか。 問題2 この巡回符号のパリティ検査行列を求めよ。 問題3 この巡回符号の符号語を送信したとき、 受信多項式 y(x) が x^5 + x^4 + x^3 + x^2 +1 であるとする。この受信多項式y(x)の誤りを訂正せよ。

  • ハフマン符号 情報源記号と符号語の対応表

    S=(a1 0.15 , a2 0.3 , a3 0.05 , a4 0.2 a5 0.25 , a6 0.05) この情報源Sに対するハフマン符号をハフマン符号の木を構成することにより、情報源記号と符号語の対応表を示せ。 という問題があるのですが、これについて質問です。 符号の木は、これらのa1~a6が二進数でどうなるのかがわからないと書けないと思うのですが、この問題にはその二進数の割り当てがしてありません。 これは最初からa1ならば0やa2ならば01という風に決まっていたり、また、勝手に割り当ててもいいのでしょうか? どなたかご教授お願いします。

  • パリティ検査行列

    この問題の解き方を教えてください。 シンドロームが誤り位置を2進数で示される形となる情報ビット数4,検査ビット数3のハミング符号の検査行列を示し、情報[1010]に対する検査ビットを求めなさい。また、3ビット目に誤りを起こし、そのシンドロームが[011]になることを確かめなさい。