- ベストアンサー
通信の基礎
通信の基礎 メッセージを送信するさいに通信路が次のように設計されていと家庭します。 。 ひとつI:一次元の時間の矢が一定の有限の時間ごとに区切られています。 。 ひとつII:各区間は全区間において共通する離散二値の値をもてる。その値を今回は(フ、あ)の記号であらわす。 。 この場合に送るデータパターンは次のような形式が最適。 。 *じつは理解できてないまま質問なのでちょっと変な表現になってしまいますがご容赦ください。 。 フフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフ 。 送信開始時には上記のように二値のうち片方の値だけを送ります。 。 送信終了時には次のように二値を交互に一回ごとに送ります。 。 フあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあフあ 。 これは手順として適当か不適当かを理由を含めて教えてください。 自分の感覚的には証明はできないけどこれでいいように思えます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
通常、送受信データパケットフォーマットとして表されているものに対応しているとして考えてみました。 その場合に必要な条件として、次のような項目が上げられます。 a.送信開始が確実に捉えられること ....(送受信回路の動作立ち上がり、ノイズ等で数ビット欠けることも許容すること) b.有効データの伝送効率が良い事 ....(各種データ長について、テキスト、バイナリ両データ共) ....(送信ビット長は送信電力==バッテリー消費電力に直結) c.エラーチェック機能を有している事 例えば16ビットデータを送る場合等では伝送効率が悪いので問題です。 また、送信データ中に終了パターンと同じパターンがあった場合、 何処で終了と判定するのかわかりません。 別の情報で終了は判定済みであれば、終了パターンは単に不必要なだけです。 エラーチェック情報なども取決めておく必要があります。 実際にどのような取決めが使われているかは、例えば次のようにして調べてください。 "通信 基礎 送信パケットフォーマット 同期パターン" 或いは@ITのトップページで 次のようにサーチ下さい。 http://www.atmarkit.co.jp/ "通信 パケットフォーマット" 連載:詳説 TCP/IPプロトコル 第7回 イーサネット(その2 ... の記事が参考になると思います。
その他の回答 (3)
- ninoue
- ベストアンサー率52% (1288/2437)
#3の一部訂正します。 ... c:a,bの一致チェック回路 (a to b, b countdouwn, 0-check etc.) なお回答の例は、無線通信等の場合ですが、もっと簡単にはテレックスのように有効文字と終了文字のみからなる(?)場合、文字バイト数と有効データ、チェックサムバイトからなる場合 等色々の形式があると思います。
お礼
ありがとうございます。
- ninoue
- ベストアンサー率52% (1288/2437)
あまり良くなっていないようです。 1. 終了パターンの一部ビットが誤った時、終了判定が出来なくなってしまう。 2. 終了チェックのために、2個のカウンタ等が必要になる。 ... a:現在の の カウンタ(の:あるべきカウント数) ... b:のが入力される毎にカウントアップ(又はカウントダウン)されるカウンタ ... c:a,bの一致チェック回路 (a to b, a countdouwn, 0-check etc.) 3. バイナリデータの中には終了パターンのシーケンスと同一のものがあるかもしれないので この判定方式は問題あり 4. の は出来るだけ継続して送信し続ける...は無意味でバッテリの消費電力が無駄だと思われる 他の送信したい携帯電話等の送信機会を奪う事になる 送信が終わったら、出来るだけ早く送信パワーをオフにすること。 通常受信側では無信号区間(受信パワー:0)を監視しており、無信号から信号検出開始した事により同期信号判定シーケンスに入り、特定同期パターン(1010の繰り返し等)の一定回数以上繰り返し後、別のパケット開始信号判定に進みます("10011011"等4-8ビット程度) 有線信号回路等ノイズを気にしないで良い場合は、同期パターンを使わない事もあります。 その後にヘッダ情報:パケットタイプ、データバイト数等、ヘッダ部チェックサム、 データ情報、チェックサム、或いはCRCチェックコードが続く形になると思います。 以上を参考に、検討を続けて下さい。
お礼
丁寧にご回答をくださりいつもありがとうございます。 ※ 今現在の自分の能力で通信の基礎がそもそも理解可能なのかどうかも含めて自分自身でもよくわかりません。 ※ !ここでリセット!脳みそ再起動! ※ せっかく教えてくださった様々なことがらがまだ理解できていないのですが次のような思考結果が今現在の状態です。 ※ 1。スタートマークは次のような形式をとる。 1.1。離散二値の符号をそれぞれ、&、%、とする。 1.2。送信装置はパワーオンにしたとき、%をn回出力しつづける。このときのカウンタをjとする。 1.3。n=jとなったら直後に今度はカウンタjを減算しながら先に送出した%と同じ個数だけ&を送信する。 1.4。ここまでの符号は、%%%%・・・・・%%%%%&&&&&・・・・・&&&&&、という形式をとる。 1.5。続けて次のようなパターンを送る。連続する同一符号の個を増やしながらそれぞれがnになるまで送信する。 1.6。%&%%&&%%%&&&%%%%&&&&%%%%%&&&&&%%%%%%&&&&&&%%%%%%%&&&&&&&%%%%%%%%・・・のように送信する。つまり末尾はn個の&で終わる。 1.7。ここまでがスタートマーク。 ※ 2。メッセージ本文はスタートマーク及びエンドマークと一致しないようにエンコードして送信する。 2.1。エンコードの具体的な方法は次のとおり。今回はとても初歩的な方法。 2.2。メッセージ本体を離散二値に符号化し、先頭から順にn/4のデータサイズに均等に切り分ける。この切り分けたものを1チャンクと呼ぶ。 2.3。送信する際には次のようなパターンにして送る。 2.4。 (1)生の1チャンク。 (2)各ビットごとに符号反転した形式で1チャンク。 (3)n/4個の連続する%。 (4)n/4個の連続する&。 ※ 3。エンドマークはスタートマークと同じ。送信終了したら装置をパワーオフ。 ※ すべて理解してからお礼だといつになるかわからないのでいったんお礼です。 ※ もし失礼がありましたらおわびします。よろしくおねがいします。
- chie65536(@chie65535)
- ベストアンサー率44% (8741/19839)
手順として不適切です。 例えば「フフフフフあフあ」を伝送する場合、送り側が フフフフフフフフフフフフ フフフフフあフあ フあフあフあフあフあフあフあフあ (判り易いように空白を挿入してありますが、実際は連続しています) を送信したとします。この時、スタートマークである フフフフフフフフフフフフ が伝送エラーにより「フが1つ欠落した」とします。 受け側は フフフフフフフフフフフフフフフフあフあフあフあフあフあフあフあフあフあ を受信するので、先頭の フフフフフフフフフフフフ までをスタートマークとして伝送データから削除し、末尾の フあフあフあフあフあフあフあフあ をエンドマークとして伝送データから削除します。 結果、得られる有効受信データは 「フフフフあフあ」 になり、データが正しく伝送されません。
お礼
一見正しそうなご回答にも見えるのですが。 私がそう判断する理由は何でありどういう仕組なのでしょう。 またこの御礼兼補足分自体の矛盾や誤謬もありますでしょうか。
お礼
リンクへのみちびきかたなど とても洗練された 回答をくださりありがとうございます。 リンク先はぱっと見でも とても深いせかい にかんじられましたが すこしだけ 現実を目の当たりにして めまいしそうです。 わかりやすさを実現するためにわかりにくくなることもあるのでしょうがおゆるしください。 これはわたくしのタイピングのうりょくが そういう解消すべき点を かかえているということとおもいます。 。 ・・・で再度 考えた結果です。 。 1。データの送信を開始するとき。 。 a.スタートマーク。 b.エンドマーク。 c.メッセージ本体。 。 これら三部分から構成される場合を今回の対象とする。 。 2:スタートマークの送り方は次の通り。 。 レレレレレレ・・・と同じ状態をn回繰り返す。 そして、 のののののの・・・という、レ、と異なる状態を同じくn回繰り返す。 。 3:メッセージ本体を送信する。 。 4:エンドマークは次のようなパターンを送出する。 。 レのレののレのののレののののレのののののレののののののレのの・・・というふうに一個の、レ、に挟むかたちで、の、を一個づつ増やしながら送信していく。そして、の、の個数がnに達したら送信は完了したとみなすと同時にできるだけ、の、は継続して送信しつづけておく。できるだけ。 。 素人丸出しで考えた結果ですが、最初の案よりは、よくなっていますでしょうか。よろしくおねがいします。
補足
拝読しました。朝八時日本。努力の結果をお礼します。