アプリ版:「スタンプのみでお礼する」機能のリリースについて

次のような問題に出くわし、webとか図書館で調べましたが、よく分かりません。どなたか教えていただけると助かります。

問題:
一つの符号を4ビットの2進コードで表し、3個の誤り訂正符号を付加して送信たところ、1110100と受信された。送信コードのフォーマットは、それぞれp3はb2b1b0のパリティ、p2はb3b1b0のパリティ、p1はb3b2b1のパリティでありいずれも奇数パリティとする。またビット誤りは1ビットのみとする。

答えは、b2が誤りであり、訂正したコードは「1110000」だそうですが、アナログ頭では分かりません。宜しくお願いいたします。

A 回答 (6件)

>この中で  


>b2b1b0=100 より p3R=0
>b3b1b0=000 より p2R=1
>b3b2b1=100 より p1R=0
>と言うところが分かりません。
#3で私が想像で書いたようにデータは0100の4ビットになります
b0は0
b1は0
b2は1
b3は0
ということです
ですので
b2b1b0=100
b3b1b0=000   は合ってますが
b3b2b1は 100 では無く 010  となります

>まずp3Rは何を意味しているのか
自前で計算した場のそのビットのパリティということでいいかと思います

>そしてどのようにして b2b1b0=100 より p3R=0 が出てくるのか
データ 100 の奇数パリティは 0  ですよね
そのまんまだと思いますが(自分で計算すれば像なりますよね?)
(これが理解できないなら結局奇数パリティを理解できてないんじゃないですかとしか言えないです)

ところが実際送られてきたパティティは 111 でもって
ビット誤りは1ビットのみとするって条件だから
その条件満たすのはb2のデータが0のときだけということになり
訂正コードは 1110000 になります

お分かりいただけるでしょうか?
    • good
    • 0

#4再訂正


>自前で計算した場のそのビットのパリティということでいいかと思います
自前で該当データのパリティを計算することで求められる値ということでいいかと思います

>そのまんまだと思いますが(自分で計算すれば像なりますよね?)
そのまんまだと思いますが(自分で計算すればそうなりますよね?)
    • good
    • 0

#4訂正


>自前で計算した場のそのビットのパリティということでいいかと思います
自前で該当データのパティティを計算することで求められる値ということでいいかと思います

>そのまんまだと思いますが(自分で計算すれば像なりますよね?)
そのまんまだと思いますが(自分で計算すればそうなりますよね?)
    • good
    • 0

普通2進数書いた場合右側のほうが下位ビットになります


b3~b0ってのは bit3~bit0 を表し
p3~p1ってのは 3個ある(3ビットの)パリティを表してると思われます
その上で1番さんが書かれてるようなパリティで考えると
4ビットで2進コードが0100
3個の誤り訂正ってのが111 (合わせて1110100) では無いかと思います
でもってその問題の条件で誤りのあると思われる4ビットデータを考えると
確かに1110000 ってなると思いますよ

この回答への補足

お手数おかけします。

一寸端折ってしまったのですが、問題にはp3p2p1が誤り訂正符号、b3b2b1b0が情報ビットと説明が有ります。

解答は次のように書いてあります。
奇数パリティだから、コードの「1」の数とパリティビットの和が奇数になるので、受信されたコード「1110100」の内の情報ビットパリティを求めると、
 b2b1b0=100 より p3R=0
b3b1b0=000 より p2R=1
b3b2b1=100 より p1R=0
受信した誤り訂正符号は、p3p2p1=111だから、p3Rとp1Rに誤りが発生していることが分かる。これらに共通なビットはb2とb1であるが、誤りの生じていないp2Rを調べるとb1は誤っていないことが分かるので、ビット誤りは1ビットのみの条件より、b2が誤りであることが分かる。従って、b2を訂正したコードは、「1110000」である。

この中で  
 b2b1b0=100 より p3R=0
b3b1b0=000 より p2R=1
b3b2b1=100 より p1R=0
と言うところが分かりません。まずp3Rは何を意味しているのか、そしてどのようにして b2b1b0=100 より p3R=0 が出てくるのか教えて頂けると助かります。

この問題は第1級陸上無線技士に出てきた問題ですが、これが分かると来月1月の試験に臨むにあたって心が少し穏やかになりますので、宜しくご教授お願いいたします。

補足日時:2009/12/29 23:00
    • good
    • 0

その「b1」とか「p1」ってどの部分のことですか?

この回答への補足

p3p2p1が「111」で、b3b2b1b0が「0100」です。

宜しくお願いいたします。

補足日時:2009/12/29 22:56
    • good
    • 0

奇数パリティについて理解していますか。



奇数パリティビットとは、対象データのビット"1"の数が必ず奇数個になるようにしたビットのことです。
例えば、対象データのビットが"1110"ならば"1"は3個(奇数)なのでパリティは"0"に、対象データがのビットが"1010"ならば"1"は2個(偶数)なのでパリティは"1"になります。

b3b2b1b0は、送信コード4ビットをビット単位で表したものです。
ビットのどちらを銭湯とするかにも寄りますが、例えば、送信データが"1110"ならば、b0="1",b1="1",b2="1",b3="0"と考えます。

これでヒントになりませんでしょうか。

この回答への補足

奇数パリティについては理解しているつもりです。

前の方へも同じ補足をしたのですが、宜しくお願いいたします。

一寸端折ってしまったのですが、問題にはp3p2p1が誤り訂正符号、b3b2b1b0が情報ビットと説明が有ります。

解答は次のように書いてあります。
奇数パリティだから、コードの「1」の数とパリティビットの和が奇数になるので、受信されたコード「1110100」の内の情報ビットパリティを求めると、
 b2b1b0=100 より p3R=0
b3b1b0=000 より p2R=1
b3b2b1=100 より p1R=0
受信した誤り訂正符号は、p3p2p1=111だから、p3Rとp1Rに誤りが発生していることが分かる。これらに共通なビットはb2とb1であるが、誤りの生じていないp2Rを調べるとb1は誤っていないことが分かるので、ビット誤りは1ビットのみの条件より、b2が誤りであることが分かる。従って、b2を訂正したコードは、「1110000」である。

この中で  
 b2b1b0=100 より p3R=0
b3b1b0=000 より p2R=1
b3b2b1=100 より p1R=0
と言うところが分かりません。まずp3Rは何を意味しているのか、そしてどのようにして b2b1b0=100 より p3R=0 が出てくるのか教えて頂けると助かります。

この問題は第1級陸上無線技士に出てきた問題ですが、これが分かると来月1月の試験に臨むにあたって心が少し穏やかになりますので、宜しくご教授お願いいたします。

補足日時:2009/12/29 23:32
    • good
    • 0
この回答へのお礼

akimikayuさん

「b3b2b1=100 より p1R=0」は仰る通り「b3b2b1=010」の書き間違いでした。

取りあえずこの問題については分かりました。これも仰られるようにパリティをそんなに理解はしていないということになりますね。

有難うございました。

お礼日時:2009/12/30 12:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!