人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

通信(?)のプロトコルついての質問です。
概念や言葉をよくわかっておらず、旗の上げ下げで説明します。

(前提)
・AさんからBさんに、10ビット(1024通り)の情報を伝えます。
・声は届かず、Aさんは、一定周期で旗を上げ下げして、情報をBさんに伝えます。
二人は「旗の上げ下げルール」を申し合わせています。
※ 下下下下下上上上上上=32 というように、二進数で伝えます。
・但し、BさんがいつAさんの旗を見はじめるか(データ開始)タイミングが分からず、Aさんは同じパターンで繰り返し旗を動かします。
・Aさんは、旗を上げるか、下げるかどちらかしかできません。
(「これから信号送るよ」というデータの始まりも、旗の上げ下げで表現しなくてはいけません)
・また、先の「一定周期」より短いタイミングで旗を上げたり下げたりすることもできません。

(質問)
・AさんとBさんとの間で、どんなルールを申し合わせると、一番効率よく(=短い上げ下げの回数で)情報を伝えられるでしょうか?

…伝わりにくい質問ですみません。
答えが難しい場合検索キーワードでも助かります。
よろしくお願いいたします。

●質問者: s04364ms
●カテゴリ:コンピュータ 科学・統計資料
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● tea_cup
●250ポイント ベストアンサー

4B/5B符号化変換を応用すると19bitの繰り返しで10bitが送れます。

下下下下に続けて、10bitを2bit,4bit,4bitに分けて4B5B符号化変換した19bitの繰り返しを送付すれば、下が4つ続かないように5bitのテーブルはできているので先頭が区別できます。

4ビット5ビット
0000上上上上下
0001下上下下上
0010上下上下下
0011上下上下上
0100下上下上下
0101下上下上上
0110下上上上下
0111下上上上上
1000上下下上下
1001上下下上上
1010上下上上下
1011上下上上上
1100上上下上下
1101上上下上上
1110上上上下下
1111上上上下上

例:
0:下下下下上上上上下上上上上下上上上上下
494:下下下下下上下下上上上上下下上上上下下
1023:下下下下上下上下上上上上下上上上上下上


s04364msさんのコメント
お礼が遅くなってしまい、失礼しました。 ありがとうございます。4B/5B符号化変換、目からウロコでした。 まさに求めていた回答です。 二点、頂いた回答をもとに少し考えたのですが・・・ ・2bit部分の圧縮 データ部分で4つ以上「下」を連続させないことが条件だとすると、 伝送データが10bitの場合、データ部分の頭の2bitは4B/5B符号化変換が不要で、 4bit(ヘッダ)+2bit(データ)+5bit(4B/5B符号化変換)+5bit(4B/5B符号化変換) と、16bitに圧縮できるかもしれない、、、ですかね? ・先頭パターンの前後連結判定 先頭(下下下下)の前後が「下」になる場合、信号部分の判定が前後にずれて読めてしまうので、 例えば「上下下下下」みたいに、1bit足すと間違いなくなる感じかなと思いました。 ありがとうございました!

tea_cupさんのコメント
・先頭パターンの前後連結判定 例の494を先頭が下下下下になる範囲でずらしてみると、ずれたものは、すべて変換不能になります。これは、変換テーブルが、下下???や上上下下下を使わないようにできているためです。

2 ● cdaotg
●250ポイント

「128b/130b符号化」という方式がPCI-Express 3.0で使用されていますが、私が知る限りこれが最も効率の良い方式です。
旗の上げ下げをデータの0/1に対応させるイメージですね。
詳細は下記URLをご参照下さい。

http://www.ni.com/white-paper/52915/ja/

これですと、通信開始の為のオーバーヘッドが2/130(≒2%弱)で済みますので、非常に効率が良いです。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ