(57)【要約】【課題】データ量が大きい場合でも指定されたデータ量でデータ通信可能であり、且つデータの変動が小さい場合に正確なデータを通信可能とする。【解決手段】送信対象データを圧縮して送信データを生成する送信装置であって、一周期前の送信対象データを格納する第１カウンタ列２２１と、今回の送信対象データを格納する第２カウンタ列２２２と、今回の送信対象データと一周期前の送信対象データとの差分に応じて、第２カウンタ列２２２からいずれか１つのカウンタを選択する選択部２２３と、選択されたカウンタを識別するカウンタ番号と選択されたカウンタのカウンタ値とから固定長の送信データを生成する送信データ生成部２２６とを備える。【選択図】図２
2008072255.tif 000002
【特許請求の範囲】
【請求項１】
送信対象データを圧縮して送信データを生成する送信装置と、前記送信データを伸張して受信データを得る受信装置とを具備するデータ通信システムであって、
前記送信装置は、
一周期前の送信対象データを格納する第１カウンタ列と、
今回の送信対象データを格納する第２カウンタ列と、
前記今回の送信対象データと前記一周期前の送信対象データとの差分に応じて、前記第２カウンタ列からいずれか１つのカウンタを選択する選択部と、
前記選択されたカウンタを識別するカウンタ番号と前記選択されたカウンタのカウンタ値とから固定長の前記送信データを生成する送信データ生成部とを備え、
前記受信装置は、
一周期前に得られた受信データを格納する第３カウンタ列と、
今回受信された前記送信データに含まれる前記カウンタ番号及び前記カウンタ値と、前記一周期前に得られた受信データとに基づき、仮受信データを生成する仮受信データ生成部と、
前記仮受信データを格納する第４カウンタ列と、
前記仮受信データと前記一周期前に得られた受信データとを用いて、前記受信データを生成する受信データ生成部と
を備えることを特徴とするデータ通信システム。
【請求項２】
前記送信データがｐビット（ｐ≧２）である場合に、２ｑ個（０＜ｑ＜ｐ）の２ｐ−ｑ進カウンタによって前記第１〜第４カウンタ列のそれぞれを構成するとともに、ｑビットの前記カウンタ番号と（ｐ−ｑ）ビットの前記カウンタ値とからなる前記送信データを生成するよう前記送信データ生成部を制御する構成制御部を更に備えることを特徴とする請求項１に記載のデータ通信システム。
【請求項３】
前記構成制御部は、前記送信対象データのデータ量をＵビットとして、
Ｕ≦２ｑ（ｐ−ｑ）
を満たす最小のｑの値を設定することを特徴とする請求項２に記載のデータ通信システム。
【請求項４】
送信対象データを圧縮して送信データを生成する送信装置であって、
一周期前の送信対象データを格納する第１カウンタ列と、
今回の送信対象データを格納する第２カウンタ列と、
前記今回の送信対象データと前記一周期前の送信対象データとの差分に応じて、前記第２カウンタ列からいずれか１つのカウンタを選択する選択部と、
前記選択されたカウンタを識別するカウンタ番号と前記選択されたカウンタのカウンタ値とから固定長の前記送信データを生成する送信データ生成部と
を備えることを特徴とする送信装置。
【請求項５】
前記送信データがｐビット（ｐ≧２）である場合に、２ｑ個（０＜ｑ＜ｐ）の２ｐ−ｑ進カウンタによって前記第１及び第２カウンタ列のそれぞれを構成するとともに、ｑビットの前記カウンタ番号と（ｐ−ｑ）ビットの前記カウンタ値とからなる前記送信データを生成するよう前記送信データ生成部を制御する構成制御部を更に備えることを特徴とする請求項４に記載の送信装置。
【請求項６】
送信装置が圧縮して送信する送信データを伸張して受信データを得る受信装置であって、
一周期前に得られた受信データを格納する第１カウンタ列と、
今回受信された前記送信データに含まれるカウンタ番号及びカウンタ値と、前記一周期前に得られた受信データとに基づき、仮受信データを生成する仮受信データ生成部と、
前記仮受信データを格納する第２カウンタ列と、
前記仮受信データと前記一周期前に得られた受信データとを用いて、前記受信データを生成する受信データ生成部と
を備えることを特徴とする受信装置。
【請求項７】
前記送信データがｐビット（ｐ≧２）である場合に、前記第１及び第２カウンタ列を２ｑ個（０＜ｑ＜ｐ）の２ｐ−ｑ進カウンタとして構成する構成制御部を更に備え、
前記送信データは、ｑビットの前記カウンタ番号と（ｐ−ｑ）ビットの前記カウンタ値とによって構成されていることを特徴とする請求項６に記載の受信装置。
【請求項８】
送信対象データを圧縮して送信データを生成する送信装置に、
一周期前の送信対象データを第１カウンタ列に格納する手順と、
今回の送信対象データを第２カウンタ列に格納する手順と、
前記今回の送信対象データと前記一周期前の送信対象データとの差分に応じて、前記第２カウンタ列からいずれか１つのカウンタを選択する手順と、
前記選択されたカウンタを識別するカウンタ番号と前記選択されたカウンタのカウンタ値とから固定長の前記送信データを生成する手順と
を実行させることを特徴とする送信プログラム。
【請求項９】
送信装置が圧縮して送信する送信データを伸張して受信データを得る受信装置に、
一周期前に得られた受信データを第１カウンタ列に格納する手順と、
今回受信された前記送信データに含まれるカウンタ番号及びカウンタ値と、前記一周期前に得られた受信データとに基づき、仮受信データを生成する手順と、
前記仮受信データを第２カウンタ列に格納する手順と、
前記仮受信データと前記一周期前に得られた受信データとを用いて、前記受信データを生成する手順と
を実行させることを特徴とする受信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信対象データを圧縮して送信データを生成する送信装置と、送信データを伸張して受信データを得る受信装置とを具備するデータ通信システム、このデータ通信システムに用いられる送信装置、受信装置、送信プログラム、及び受信プログラムに関する。
【背景技術】
【０００２】
車や多関節ロボットなどのメカトロニクスシステムは、モータや、バッテリー、センサなど多くのコンポーネントと、これらのコンポーネントを制御するコントローラとから構成される。コントローラとコンポーネントとの間では、指令値データやセンサデータなどが信号線を介して送受信されるため、コンポーネントの数の増大に伴って信号線数が増加する。この結果、信号線用の空間を圧迫するほか、信頼性の劣化や、システム拡張の妨げとなるという問題がある。そこで、車や一部の多関節ロボットなどでは、システム内にＬＡＮ（Local Area Network）を構築し、コントローラとコンポーネントとの間でＬＡＮを介してデータを送受信する方法が用いられる。
【０００３】
このようなシステム内ＬＡＮにおいては、通信プロトコルが規定するデータフレーム単位での通信が行われており、１ミリ秒から十数ミリ秒の期間内で、コントローラとすべてのコンポーネントとの間のデータ送受信を行う必要がある。このため、コンポーネントの数と、各コンポーネントが送受信するデータ量は、データフレームが格納可能なデータ量によって上限が決まる。例えば、１つのデータフレーム内にＡビットのデータが格納できる場合に、コンポーネントの数がＢ個、各コンポーネントが送信あるいは受信するデータ量がＣビットである場合、Ａ≧Ｂ×Ｃが成立する。
【０００４】
したがって、データフレームのデータ量とコンポーネントの数から決定されるデータ量まで、各コンポーネントが送信あるいは受信するデータ量を圧縮することが求められる。一方で、データの圧縮手法としては、ハッシュアルゴリズムや、ランレングス符号化、ハフマン符号化などが知られている（例えば、特許文献１及び２参照）。
【特許文献１】特開平６−３２６６１６号公報
【特許文献２】特開平１１−１０３３９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ハッシュアルゴリズムはデータの暗号化にも使用される一般的な方法であるが、複雑な演算を要する。数ミリから十数ミリ秒の間隔でデータ圧縮及び通信を行う必要のあるサーボ系メカトロニクスシステムでは、時間的制約から、簡素な方法で圧縮を行うことが望ましい。このため、ハッシュアルゴリズムはサーボ系メカトロニクスシステムに適していないといえる。
【０００６】
ランレングス符号化やハフマン符号化は、圧縮対象のデータをいくつかに分割し、分割された各データについて固定長データへの圧縮が行われる。しかし、サーボ系メカトロニクスシステムでは、コントローラとすべてのコンポーネントが１つのデータフレーム内でデータの送受信を行う必要がある。よって、ランレングス符号化やハフマン符号化もサーボ系メカトロニクスシステムには適していない。
【０００７】
また、サーボ系メカトロニクスシステムの応答性には物理的な上限があり、コントローラとコンポーネントとの間で送受信されるデータの変動が大きい場合、（例えば、ステップ応答やパルス応答）には送信データと受信データとの間の誤差がある程度許容できるが、データの変動が小さい場合（例えば、ランプ応答）には送信データと受信データとの間の誤差は許容できない。
【０００８】
上記問題点に鑑み、本発明は、データ量が大きい場合でも指定されたデータ量でデータ通信可能であり、且つデータの変動が小さい場合に正確なデータを通信可能なデータ通信システム、送信装置、受信装置、送信プログラム、及び受信プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の特徴は、送信対象データを圧縮して送信データを生成する送信装置と、送信データを伸張して受信データを得る受信装置とを具備するデータ通信システムであって、送信装置は、一周期前の送信対象データを格納する第１カウンタ列と、今回の送信対象データを格納する第２カウンタ列と、今回の送信対象データと一周期前の送信対象データとの差分に応じて、第２カウンタ列からいずれか１つのカウンタを選択する選択部と、選択されたカウンタを識別するカウンタ番号と選択されたカウンタのカウンタ値とから固定長の送信データを生成する送信データ生成部とを備え、受信装置は、一周期前に得られた受信データを格納する第３カウンタ列と、今回受信された送信データに含まれるカウンタ番号及びカウンタ値と、一周期前に得られた受信データとに基づき、仮受信データを生成する仮受信データ生成部と、仮受信データを格納する第４カウンタ列と、仮受信データと一周期前に得られた受信データとを用いて、受信データを生成する受信データ生成部とを備えることを要旨とする。
【００１０】
この特徴によれば、送信装置がカウンタ番号とカウンタ値とを送信するので、データ量を大幅に削減可能となる。また、今回の送信対象データと一周期前の送信対象データとの差分に応じてカウンタの選択が行われるので、データ変動量に応じて、送信するカウンタ番号とカウンタ値とを選択可能となる。受信装置は、このようにして送信されたカウンタ番号及びカウンタ値と、一周期前に得られた受信データとに基づいて受信データを生成する。したがって、あらかじめ定められたデータ量までデータ量を圧縮可能であり、データの変動が小さい場合には高い精度でデータ通信可能なデータ通信システムを提供できる。
【００１１】
本発明の一の特徴は、送信データがｐビット（ｐ≧２）である場合に、２ｑ個（０＜ｑ＜ｐ）の２ｐ−ｑ進カウンタによって第１〜第４カウンタ列のそれぞれを構成するとともに、ｑビットのカウンタ番号と（ｐ−ｑ）ビットのカウンタ値とからなる送信データを生成するよう送信データ生成部を制御する構成制御部を更に備えることを要旨とする。
【００１２】
この特徴によれば、送信データのデータ構成、つまりカウンタ番号及びカウンタ値のビットを適切に設定可能となるので、限られたデータ量で効率的なデータ通信が実現できる。
【００１３】
本発明の一の特徴は、構成制御部は、送信対象データのデータ量をＵビットとして、Ｕ≦２ｑ（ｐ−ｑ）を満たす最小のｑの値を設定することを要旨とする。
【００１４】
この特徴によれば、ｑの値を良好に設定可能となる。具体的には、ｑの値は、ｐ未満の整数であれば値が大きいほど通信できるデータ量も大きくなる。一方で、送信装置が今回送信するデータと受信装置が今回受信したデータとの誤差が大きくなる可能性と、誤差の大きな値を受信してから誤差のない値を受信するまでの時間が長くなる可能性と、送信値の決定と受信データの決定に時間を要する可能性がある。このため、Ｕ≦２ｑ（ｐ−ｑ）を満たす最小のｑの値を設定することで、ｑの値を良好に設定可能としている。
【００１５】
本発明の特徴は、送信対象データを圧縮して送信データを生成する送信装置であって、一周期前の送信対象データを格納する第１カウンタ列と、今回の送信対象データを格納する第２カウンタ列と、今回の送信対象データと一周期前の送信対象データとの差分に応じて、第２カウンタ列からいずれか１つのカウンタを選択する選択部と、選択されたカウンタを識別するカウンタ番号と選択されたカウンタのカウンタ値とから固定長の送信データを生成する送信データ生成部とを備えることを要旨とする。
【００１６】
本発明の一の特徴は、送信データがｐビット（ｐ≧２）である場合に、２ｑ個（０＜ｑ＜ｐ）の２ｐ−ｑ進カウンタによって第１及び第２カウンタ列のそれぞれを構成するとともに、ｑビットのカウンタ番号と（ｐ−ｑ）ビットのカウンタ値とからなる送信データを生成するよう送信データ生成部を制御する構成制御部を更に備えることを要旨とする。
【００１７】
本発明の特徴は、送信装置が圧縮して送信する送信データを伸張して受信データを得る受信装置であって、一周期前に得られた受信データを格納する第１カウンタ列と、今回受信された送信データに含まれるカウンタ番号及びカウンタ値と、一周期前に得られた受信データとに基づき、仮受信データを生成する仮受信データ生成部と、仮受信データを格納する第２カウンタ列と、仮受信データと一周期前に得られた受信データとを用いて、受信データを生成する受信データ生成部とを備えることを要旨とする。
【００１８】
本発明の一の特徴は、受信されるデータがｐビット（ｐ≧２）である場合に、第１及び第２カウンタ列を２ｑ個（０＜ｑ＜ｐ）の２ｐ−ｑ進カウンタとして構成する構成制御部を更に備え、受信されるデータは、ｑビットのカウンタ番号と（ｐ−ｑ）ビットのカウンタ値とによって構成されていることを要旨とする。
【００１９】
本発明の特徴は、送信対象データを圧縮して送信データを生成する送信装置に、一周期前の送信対象データを第１カウンタ列に格納する手順と、今回の送信対象データを第２カウンタ列に格納する手順と、今回の送信対象データと一周期前の送信対象データとの差分に応じて、第２カウンタ列からいずれか１つのカウンタを選択する手順と、選択されたカウンタを識別するカウンタ番号と選択されたカウンタのカウンタ値とから固定長の送信データを生成する手順とを実行させる送信プログラムであることを要旨とする。
【００２０】
本発明の特徴は、送信装置が圧縮して送信する送信データを伸張して受信データを得る受信装置に、一周期前に得られた受信データを第１カウンタ列に格納する手順と、今回受信された送信データに含まれるカウンタ番号及びカウンタ値と、一周期前に得られた受信データとに基づき、仮受信データを生成する手順と、仮受信データを第２カウンタ列に格納する手順と、仮受信データと一周期前に得られた受信データとを用いて、受信データを生成する手順とを実行させる受信プログラムであることを要旨とする。
【発明の効果】
【００２１】
本発明によれば、データ量が大きい場合でも指定されたデータ量でデータ通信可能であり、且つデータの変動が小さい場合に正確なデータを通信可能なデータ通信システム、送信装置、受信装置、送信プログラム、及び受信プログラムを提供できる。
【発明を実施するための最良の形態】
【００２２】
次に、図面を参照して、本発明の実施形態を説明する。以下の実施形態における図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【００２３】
（システムの全体構成例）
本実施形態に係る送信装置及び受信装置の説明の前に、本実施形態に係る送信装置及び受信装置が適用されるシステムの全体構成例について説明する。
【００２４】
図１（ａ）は、本実施形態に係る送信装置２及び受信装置４をサーボ系メカトロニクスシステムに適用した例を示している。図１（ａ）に示すシステムは、コントローラ１と、送信装置２と、ＬＡＮ３と、複数の受信装置４と、複数のモータ５とを備えている。
【００２５】
コントローラ１は、モータ５に対する指令値データを送信装置２に供給する。送信装置２は、ＬＡＮ３を介して、コントローラ１からの指令値データを複数の受信装置４へ周期的に送信する。
【００２６】
また、送信装置２は、ＬＡＮ３で定められるデータフレームに各モータ５への指令値データを格納するため、コントローラ１からの指令値データのデータ量を圧縮する機能を有する。なお、ＬＡＮ３は、例えばＣＡＮ（Controller Area Network）プロトコルに準拠して構成されている。
【００２７】
受信装置４は、受信した指令値データをモータ５に周期的に供給する。更に、受信装置４は、送信装置２からの指令値データをデータ伸張する機能を有する。モータ５は、供給された指令値データに応じて動作する。
【００２８】
このようなサーボ系システムにおいて、変化の大きい指令値データを各モータ５に供給する場合、モータ５の慣性や摩擦などによって、その応答性に物理的な限界が存在するため、指令値データには蓋然性があれば十分であり、精緻な値であることを要しない。
【００２９】
したがって、送信装置２及び受信装置４は、指令値データの変動が大きいときには誤差を許容しつつ、各モータへの指令値データのデータ量が大きくても、データ量を一定量に圧縮可能なように構成されている。
【００３０】
図１（ｂ）は、本実施形態に係る送信装置２及び受信装置４をセンシングシステムに適用した例を示している。図１（ｂ）のシステムは、複数のセンサ６と、送信装置２と、ＬＡＮ３と、受信装置４と、コントローラ１とを備えている。
【００３１】
複数のセンサ６は、例えばバッテリーに設けられている。電気自動車などのように、数十個のバッテリーを持ち、充放電を行うシステムにおいて、各バッテリーの電圧、温度、正極や負極の重量などのセンサデータを、数ミリ秒から数十ミリ秒の周期で検出することは、効率的な充放電を行い、健全な使用によってバッテリーの寿命を増加させることに貢献する。
【００３２】
このようなセンシングシステムにおいて、バッテリーなどの電圧、温度、正極や負極の重量などのセンサデータは、急激には変動しないが高精度なデータ通信が要求される。したがって、送信装置２及び受信装置４は、センサデータの変動が小さく、それらを数ミリ秒から数十ミリ秒の周期でセンシングする場合には、センサデータと受信データとの誤差を極めて小さくするような圧縮・伸張動作を行うよう構成されている。
【００３３】
なお、以下においては、モータ５やセンサ６などの装置を「コンポーネント」と呼び、モータ５やセンサ６などが出力するデータを必要に応じて「送信対象データ」と呼ぶ。
【００３４】
（送信装置の構成例）
次に、送信装置２の構成例について説明する。図２は、送信装置２の構成例を示す機能ブロック図である。送信装置２は、上述したように、コントローラ１やセンサ６から周期的に入力される送信対象データを固定長の送信データに圧縮し、圧縮されたデータをデータフレーム単位で送信する。
【００３５】
送信装置２は、構成制御部２１と、データ圧縮部２２と、通信インターフェース（通信Ｉ／Ｆ）部２３とを備える。
【００３６】
構成制御部２１は、データフレームのデータ量とコンポーネントの数とから、各コンポーネントに割り当て可能なデータ量を判定し、判定されたデータ量に応じてデータ圧縮部２２の構成を制御する。
【００３７】
データ圧縮部２２は、送信対象データを圧縮して固定長の送信データを生成する。通信Ｉ／Ｆ部２３は、ＬＡＮ３との間で各種のデータを授受する。
【００３８】
更に、データ圧縮部２２は、第１カウンタ列２２１と、第２カウンタ列２２２と、選択部２２３と、カウンタ値算出部２２４と、更新部２２５と、送信データ生成部２２６とを備える。
【００３９】
第１カウンタ列２２１は、１周期前の送信対象データを格納する。第２カウンタ列２２２は、今回の送信対象データを格納する。第１カウンタ列２２１及び第２カウンタ列２２２のそれぞれには、カウンタ番号が割り振られた複数のカウンタが設けられている。
【００４０】
選択部２２３は、第１カウンタ列２２１及び第２カウンタ列２２２のそれぞれから送信対象データを取得し、これらの差分に応じて、第２カウンタ列２２２に格納された送信対象データからいずれか１つのカウンタを選択する。
【００４１】
カウンタ値算出部２２４は、選択部２２３が選択したカウンタ番号のカウンタ値を取得する。送信データ生成部２２６は、カウンタ番号及びカウンタ値から固定長の送信データを生成する。生成された送信データは、通信Ｉ／Ｆ部２３を介してＬＡＮ３に送出される。
【００４２】
更新部２２５は、選択部２２３が選択したカウンタよりも下位の各カウンタに所定のカウンタ値を設定し、所定のカウンタ値が設定された送信対象データを１周期前の送信対象データとして第１カウンタ列２２１に格納することで、第１カウンタ列２２１を更新する。
【００４３】
（受信装置の構成例）
次に、受信装置４の構成例について説明する。図３は、受信装置４の構成例を示す機能ブロック図である。
【００４４】
受信装置４は、通信Ｉ／Ｆ部４１と、構成制御部４２と、データ伸張部４３とを備えている。
【００４５】
通信Ｉ／Ｆ部２３は、ＬＡＮ３との間で各種のデータを授受する。具体的には、通信Ｉ／Ｆ部２３は、送信装置２が送信した送信データを受信する受信部として機能する。
【００４６】
構成制御部２１は、各コンポーネントに割り当て可能なデータ量に応じてデータ圧縮部２２の構成を制御する。データ圧縮部２２は、入力されたデータを伸張して受信データとして出力する。
【００４７】
データ伸張部４３は、第１カウンタ列４３１と、第２カウンタ列４３２と、仮受信データ生成部４３３と、受信データ生成部４３０とを備える。
【００４８】
第１カウンタ列４３１は、１周期前に得られた受信データを格納する。
【００４９】
仮受信データ生成部４３３は、送信データに含まれるカウンタ番号及びカウンタ値と、１周期前に得られた受信データとに基づき、仮受信データを生成する。
【００５０】
第２カウンタ列４３２は、仮受信データを格納する。
【００５１】
受信データ生成部４３０は、仮受信データと１周期前に得られた受信データとを用いて、受信データを生成する。
【００５２】
具体的には、受信データ生成部４３０は、判定部４３４と、受信データ出力部４３５と、桁上がり・桁下がり処理部４３６とを備える。
【００５３】
判定部４３４は、仮受信データと１周期前に得られた受信データとの差分に応じて、仮受信データを受信データとするかを判定する。
【００５４】
桁上がり・桁下がり処理部４３６は、判定部４３４の判定結果により、桁上がり・桁下がり処理を実行する。
【００５５】
受信データ出力部４３５は受信データを出力するとともに、第１カウンタ列４３１を更新する。
【００５６】
（カウンタ列の構成例）
次に、送信装置２内の第１カウンタ列２２１及び第２カウンタ列２２２と、受信装置４内の第１カウンタ列４３１及び第２カウンタ列４３２の構成例について説明する。図４は、第１カウンタ列２２１、第２カウンタ列２２２、第１カウンタ列４３１、及び第２カウンタ列４３２の構成例を示す図である。
【００５７】
第１カウンタ列２２１は１周期前の送信対象データを格納するカウンタ列であり、第１カウンタ列４３１は１周期前の受信データを格納するカウンタ列であり、以下において、これらのカウンタ列を「カウンタ列Ｐ」と呼ぶ。
【００５８】
第２カウンタ列２２２は今回送信する送信対象データを格納するカウンタ列であり、第２カウンタ列４３２は今回受信したデータを格納するカウンタ列であり、以下において、これらのカウンタ列を「カウンタ列Ｃ」と呼ぶ。
【００５９】
上記の構成制御部２１，４２は、各コンポーネントに割り当て可能な送信データがｐビット（ｐ≧２）である場合に、各カウンタ列を、２ｑ個（０＜ｑ＜ｐ）の２ｐ−ｑ進カウンタによって構成する。なお、各カウンタは０から２ｐ−ｑ−１までの値をとる。また、構成制御部２１，４２は、送信データが、ｑビットのカウンタ番号と（ｐ−ｑ）ビットのカウンタ値とによって構成されるような制御を行う。
【００６０】
ｐビットの送信データを、ｑビットのカウンタ番号と（ｐ−ｑ）ビットのカウンタ値とによって構成することによって、最大２ｑ（ｐ−ｑ）ビット（０＜ｑ＜ｐ）のデータ量を通信可能としている。
【００６１】
送信装置２において、今回の送信対象データＴｃは、カウンタ列Ｃのカウンタ値（ｘ０〜ｘＤ：ただしＤ＝２ｑ−１）を用いて次のように表される。
【数１】
2008072255.tif 000003
【００６２】
同様に、一周期前の送信対象データＴｐは、カウンタ列Ｐのカウンタ値（~ｘ０〜~ｘＤ：ただしＤ＝２ｑ−１）を用いて次のように表される。
【数２】
2008072255.tif 000004
【００６３】
一方、受信装置４において、今回の受信データＲｃについては式（１）と同様に表される。一周期前の受信データＲｐについては式（２）同様に表される。
【００６４】
（送信装置による送信処理フロー）
次に、送信装置２による送信処理フロー例について説明する。この送信処理フローは、（１）カウンタ番号の選択処理と、（２）カウンタ値の算出処理と、（３）データ更新処理の３つに大別できる。図５は、送信装置２による送信処理フロー例を示すフローチャートである。
【００６５】
（１）カウンタ番号の選択処理
図５のステップＳ１０１において、選択部２２３は、今回の送信対象データＴｃと、１周期前に送信したデータＴｐとの差の絶対値Δを算出する。また、各カウンタを指定するための変数ｋを初期化する。
【００６６】
ステップＳ１０２において、選択部２２３は、ステップＳ１０１で算出された絶対値Δと各カウンタが示す値の中間値（カウンタ番号ｋのカウンタが示す値の中間値Ｍｋは２（ｋ＋１）（ｐ−ｑ）−１）とを比較する。絶対値Δが中間値Ｍｋ以下である場合には、ステップＳ１０３の処理に進む。一方、絶対値Δが中間値Ｍｋを超える場合には、ステップＳ１０４の処理に進む。
【００６７】
ステップＳ１０４において、選択部２２３は、変数ｋが２ｑ−１であるかを判定する。変数ｋが２ｑ−１である場合には、ステップＳ１０３の処理に進む。変数ｋが２ｑ−１でない場合には、ステップＳ１０５の処理に進む。ステップＳ１０５では、変数ｋに１が加算される。
【００６８】
ステップＳ１０３において、選択部２２３は、カウンタ番号Ｎとして変数ｋを設定する。
【００６９】
このようにして、ステップＳ１０１で算出された絶対値Δと各カウンタが示す値の中間値をカウンタ番号０から２ｑ−１まで昇順に比較し、中間値ＭＮが絶対値Δ以下であるとき、そのカウンタ番号Ｎを送信するカウンタ番号とする。ただし、Ｄ＝２ｑ−１としたとき中間値ＭＤが絶対値Δよりも大きい場合には、２ｑ−１を送信するカウンタ番号とする。
【００７０】
（２）カウンタ値の算出処理
ステップＳ１０６において、カウンタ値算出部２２４は、今回の送信対象データＴｃをｙｋ、ｋを２ｑ−１とする。
【００７１】
ステップＳ１０７において、カウンタ値算出部２２４は、ｙｋを２ｋ（ｐ−ｑ）で割り、その商をカウンタ番号ｋのカウンタ値ｘｋ、剰余をｙｋ−１とする。
【００７２】
ステップＳ１０８において、カウンタ値算出部２２４は、カウンタ番号Ｎが０であるかを判定する。カウンタ番号Ｎが０である場合には、ステップＳ１１１の処理に進む。一方、カウンタ番号Ｎが０でない場合には、ステップＳ１０９の処理に進む。
【００７３】
ステップＳ１０９において、カウンタ値算出部２２４は、変数ｋがカウンタ番号Ｎと等しいかを判定する。変数ｋがカウンタ番号Ｎと等しい場合には、ステップＳ１１３の処理に進む。一方、変数ｋがカウンタ番号Ｎと等しくない場合には、ステップＳ１１０の処理に進む。
【００７４】
ステップＳ１１０において、カウンタ値算出部２２４は、変数ｋから１を減算し、その後ステップＳ１０７の処理に戻る。
【００７５】
ステップＳ１１１においては、カウンタ値算出部２２４は、変数ｋが１であるかを判定する。変数ｋが１である場合には、ステップＳ１１２の処理に進む。一方、変数ｋが１でない場合には、ステップＳ１１０の処理に戻る。
【００７６】
ステップＳ１１２において、カウンタ値算出部２２４は、剰余ｙ０をカウンタ値ｘ０とする。
【００７７】
このように、ｋを漸次減少させ、決定したカウンタ番号Ｎのカウンタ値ｘＮを求める。ただし、送信するカウンタ番号Ｎが０のときは、剰余ｙ０をカウンタ値ｘ０としている。この結果、カウンタ値Ｎとカウンタ値ｘＮが決定され、ステップＳ１１３において、送信データ生成部２２６は、カウンタ番号Ｎとカウンタ値ｘＮとを送信する。
【００７８】
（３）データ更新処理
ステップＳ１１４において、更新部２２５は、カウンタ番号Ｎが０であるかを判定する。カウンタ番号Ｎが０である場合には、ステップＳ１１５の処理に進む。一方、カウンタ番号Ｎが０でない場合には、ステップＳ１１５の処理に進む。
【００７９】
ステップＳ１１５において、更新部２２５は、カウンタ番号Ｎが１であるかを判定する。カウンタ番号Ｎが１である場合には、ステップＳ１１７の処理に進む。一方、カウンタ番号Ｎが１でない場合には、ステップＳ１１８の処理に進む。
【００８０】
ステップＳ１１６において、更新部２２５は、一周期前のカウンタ番号０から２ｑ−１までのカウンタ値を、上記で求めたカウンタ値に更新する。
【００８１】
ステップＳ１１７において、更新部２２５は、一周期前のカウンタ番号１から２ｑ−１までのカウンタ値を、上記で求めたカウンタ値に更新し、カウンタ番号０のカウンタ値を中間値（２ｐ−ｑ−１）とする。
【００８２】
ステップＳ１１８において、更新部２２５は、カウンタ番号Ｎから２ｑ−１までのカウンタ値を上記で求めたカウンタ値に更新し、カウンタ番号０からＮ−２までのカウンタ値を０、カウンタ番号Ｎ−１のカウンタ値を中間値（２ｐ−ｑ−１）とする。
【００８３】
ステップＳ１１９においては、更新されたカウンタ値を用いてＴｐを求める。
【００８４】
（受信装置による受信処理フロー）
次に、受信装置４による受信処理フロー例について説明する。この受信処理フローは、（１）仮受信データ生成処理と、（２）判定処理と、（３）桁上がり・桁下がり処理とに大別できる。図６は、受信装置４による受信処理フロー例を示すフローチャートである。
【００８５】
（１）仮受信データ生成処理  
図６のステップＳ２０１において、通信Ｉ／Ｆ部４１は、カウンタ番号Ｎ及びカウンタ値ｘＮ’を受信する。カウンタ番号Ｎ及びカウンタ値ｘＮ’を用いて、第２カウンタ列４３２を更新する。
【００８６】
ステップＳ２０２において、仮受信データ生成部４３３は、ステップＳ２０１で受信したカウンタ番号Ｎが０であるかを判定する。ステップＳ２０１で受信したカウンタ番号Ｎが０である場合には、ステップＳ２０３の処理に進む。一方、ステップＳ２０１で受信したカウンタ番号Ｎが０でない場合には、ステップＳ２０４の処理に進む。
【００８７】
ステップＳ２０４において、仮受信データ生成部４３３は、ステップＳ２０１で受信したカウンタ番号Ｎが２ｑ−１であるかを判定する。ステップＳ２０１で受信したカウンタ番号Ｎが２ｑ−１である場合には、ステップＳ２０５の処理に進む。一方、ステップＳ２０１で受信したカウンタ番号Ｎが２ｑ−１でない場合には、ステップＳ２０６の処理に進む。
【００８８】
ステップＳ２０６において、仮受信データ生成部４３３は、ステップＳ２０１で受信したカウンタ番号Ｎが１であるかを判定する。ステップＳ２０１で受信したカウンタ番号Ｎが１である場合には、ステップＳ２０７の処理に進む。一方、ステップＳ２０１で受信したカウンタ番号Ｎが１でない場合には、ステップＳ２０８の処理に進む。
【００８９】
ステップＳ２０３において、仮受信データ生成部４３３は、カウンタ番号１から２ｑ−１までのカウンタ値を前回受信したデータの各カウンタ値、カウンタ番号０のカウンタ値をｘＮ’とする。
【００９０】
ステップＳ２０５において、仮受信データ生成部４３３は、カウンタ番号Ｎのカウンタのカウンタ値はｘＮ’、カウンタ番号Ｎ−１のカウンタ値は２ｐ−ｑ−１、カウンタ番号０からＮ−２までのカウンタ値は０とする。
【００９１】
ステップＳ２０７において、仮受信データ生成部４３３は、カウンタ番号２から２ｑ−１までのカウンタ値は前回送信したデータの各カウンタ値、カウンタ番号１のカウンタのカウンタ値はｘＮ’、カウンタ番号０のカウンタ値は２ｐ−ｑ−１とする。
【００９２】
ステップＳ２０８において、仮受信データ生成部４３３は、カウンタ番号Ｎ＋１から２ｑ−１までのカウンタ値は前回送信したデータの各カウンタ値、カウンタ番号Ｎのカウンタのカウンタ値はｘＮ’、カウンタ番号Ｎ−１のカウンタ値は２ｐ−ｑ−１、カウンタ番号０からＮ−２までのカウンタ値は０とする。
【００９３】
ステップＳ２０９において、仮受信データ生成部４３３は、ステップＳ２０３，Ｓ２０４，Ｓ２０７，又はＳ２０８で更新された第２カウンタ列４３２から仮受信データＲｃ’を算出する。
【００９４】
（２）判定処理
ステップＳ２１０において、判定部４３４は、ステップＳ２０１で受信したカウンタ番号Ｎが２ｑ−１であるかを判定する。ステップＳ２０１で受信したカウンタ番号Ｎが２ｑ−１である場合には、ステップＳ２１３の処理に進む。ステップＳ２０１で受信したカウンタ番号Ｎが２ｑ−１でない場合には、ステップＳ２１１の処理に進む。
【００９５】
ステップＳ２１１において、判定部４３４は、ステップＳ２０９で計算された仮受信データＲｃ’と前回受信したデータＲｐとの差の絶対値Δを算出する。
【００９６】
ステップＳ２１２において、判定部４３４は、ステップＳ２１１で算出された絶対値Δが、カウンタ番号Ｎが示す値の中間値ＭＮ（ＭＮ＝２（Ｎ＋１）（ｐ−ｑ）−１）よりも大きいかを判定する。絶対値Δが中間値ＭＮよりも大きい場合には、ステップＳ２１４の処理に進む。一方、絶対値Δが中間値ＭＮ以下である場合には、ステップＳ２１３の処理に進む。
【００９７】
ステップＳ２１３において、判定部４３４は、仮受信データＲｃを今回受信したデータＲｃとする。
【００９８】
（３）桁上がり・桁下がり処理
ステップＳ２１４において、桁上がり・桁下がり処理部４３６は、仮受信データＲｃ’が前回受信したデータＲｐよりも小さいかを判定する。仮受信データＲｃ’が前回受信したデータＲｐよりも小さい場合には、ステップＳ２１５の処理に進む。一方、仮受信データＲｃ’が前回受信したデータＲｐ以上である場合には、ステップＳ２２０の処理に進む。なお、以下のステップＳ２１５〜Ｓ２１９の処理は桁上がり処理を示し、ステップＳ２２０〜Ｓ２２４の処理は桁下がり処理を示している。
【００９９】
ステップＳ２１５において、桁上がり・桁下がり処理部４３６は、カウンタ番号Ｎ＋１のカウンタ値を１増やす。
【０１００】
ステップＳ２１６において、桁上がり・桁下がり処理部４３６は、変数ｋが２ｑ−１以上であるかを判定する。変数ｋが２ｑ−１以上である場合には、ステップＳ２２５の処理に進む。変数ｋが２ｑ−１よりも小さい場合には、ステップＳ２１７の処理に進む。
【０１０１】
ステップＳ２１７において、桁上がり・桁下がり処理部４３６は、カウンタ値ｘｋが２ｑ−ｐ−１よりも大きいかを判定する。カウンタ値ｘｋが２ｑ−ｐ−１よりも大きい場合には、ステップＳ２１８の処理に進む。一方、カウンタ値ｘｋが２ｑ−ｐ−１以下である場合には、ステップＳ２１８の処理に進む。
【０１０２】
ステップＳ２１８において、桁上がり・桁下がり処理部４３６は、カウンタ値ｘｋを０とし、カウンタ値ｘｋ＋１をｘｋ＋１＋１とする。
【０１０３】
ステップＳ２１９において、桁上がり・桁下がり処理部４３６は、変数ｋに１を加算して、その後ステップＳ２１６の処理に戻る。
【０１０４】
また、ステップＳ２２０においては、桁上がり・桁下がり処理部４３６は、カウンタ値ｘＮ＋１をｘＮ＋１−１とする。
【０１０５】
ステップＳ２２１において、桁上がり・桁下がり処理部４３６は、変数ｋが２ｑ−１以上であるかを判定する。変数ｋが２ｑ−１以上である場合には、ステップＳ２２５の処理に進む。一方、変数ｋが２ｑ−１よりも小さい場合には、ステップＳ２２２の処理に進む。
【０１０６】
ステップＳ２２２において、桁上がり・桁下がり処理部４３６は、カウンタ値ｘｋが０よりも小さいかを判定する。カウンタ値ｘｋが０よりも小さい場合には、ステップＳ２２３の処理に進む。一方、カウンタ値ｘｋが０以上である場合には、ステップＳ２２５の処理に進む。
【０１０７】
ステップＳ２２３において、桁上がり・桁下がり処理部４３６は、カウンタ値ｘｋを２ｐ−ｑ−１、カウンタ値ｘｋ＋１を１減らす。
【０１０８】
ステップＳ２２４において、桁上がり・桁下がり処理部４３６は、変数ｋに１を加算して、その後ステップＳ２２１の処理に戻る。
【０１０９】
ステップＳ２２５において、桁上がり・桁下がり処理部４３６は、更新されたカウンタ値を用いて今回受信したデータＲｃを算出する。
【０１１０】
ステップＳ２２６において、受信データ出力部４３５は、１周期前に受信したデータの更新を行う。つまり、１周期前に受信したデータＲｐとして今回受信したデータＲｃを採用する。
【０１１１】
（具体例）
次に、送信データのデータ量の上限が６ビットであり、送信したいデータ量が１４ビットである場合について具体例を用いて説明する。ここでは、図７に示すように、送信データのデータ量の上限６ビットをカウンタ番号用に２ビット、カウンタ値用ビットに４ビットに分割する場合を例に説明する。
【０１１２】
（１）桁上がり、桁下がりがなく、送信・受信間の誤差が発生しない例
図８は、桁上がり、桁下がりがなく、送信・受信間の誤差が発生しない例を示す図である。ここでは、送信装置２において、１周期前に送信したデータが４０９６であり、今回送信したいデータが４１０３である場合について説明する。
【０１１３】
１周期前に送信したデータと今回送信したいデータとの差の絶対値Δは７であり、カウンタ０が示す値の中間値Ｍ０（Ｍ０＝８）よりも小さいことから、送信するカウンタ番号は０、送信するカウンタ値はｘ０（この場合は７）である。
【０１１４】
受信装置４は、カウンタ番号０とカウンタ値７とを受信し、ステップＳ２０３とステップＳ２０９に従って仮受信データを４１０３と算出する。仮受信データと１周期前に受信したデータとの差の絶対値Δが、カウンタ０が示す値の中間値Ｍ０（Ｍ０＝８）よりも小さいことから、仮受信データを今回受信したデータとして決定する。
【０１１５】
（２）桁上がり、桁下がりがなく、送信・受信間の誤差が発生する例
図９は、桁上がり、桁下がりがなく、送信・受信間の誤差が発生する例を示す図である。ここでは、送信装置２において、１周期前に送信したデータが４０９６であり、今回送信したいデータが５３７６であり、その後受信装置４が正しく５３７６を受信するまでの過程について説明する。
【０１１６】
先ず、送信装置２が５３７６を送信する１回目について説明する。
【０１１７】
１周期前に送信したデータと今回送信したいデータとの差の絶対値Δは１２８０であり、カウンタ２が示す値の中間値Ｍ２（Ｍ２＝２０４８）よりも小さいことから、送信するカウンタ番号は２、送信するカウンタ値はｘ２（この場合は５）である。
【０１１８】
受信装置４では、カウンタ番号２とカウンタ値５とを受信する。上記のステップＳ２０６に従いカウンタ番号０のカウンタ値を０、カウンタ番号１のカウンタ値を８として、仮受信データを５５０４と算出する。仮受信データと１周期前に受信したデータとの差の絶対値Δが、カウンタ２が示す値の中間値Ｍ２（Ｍ２＝２０４８）よりも小さいことから、仮受信データを今回受信したデータとして決定する。
【０１１９】
次に、送信装置２が５３７６を送信する２回目について説明する。
【０１２０】
送信装置が５３７６を送信する場合、１周期前に送信したデータが５５０４であるため、１周期前に送信したデータと今回送信したいデータとの差の絶対値Δは１２８であり、カウンタ１が示す値の中間値Ｍ１（Ｍ１＝１２８）と等しいことから、送信するカウンタ番号は１、送信するカウンタ値はｘ１（この場合は０）である。
【０１２１】
受信装置４では、カウンタ番号１とカウンタ値０とを受信する。カウンタ番号０のカウンタ値を８として、仮受信データを５３８４と算出する。仮受信データと１周期前に受信したデータとの差の絶対値Δが、カウンタ１が示す値の中間値Ｍ１（Ｍ１＝１２８）よりも小さいことから、仮受信データを今回受信したデータとして決定する。
【０１２２】
次に、送信装置２が５３７６を送信する３回目について説明する。
【０１２３】
送信装置が５３７６を送信する場合、１周期前に送信したデータが５３８４であるため、１周期前に送信したデータと今回送信したいデータとの差の絶対値Δは８であり、カウンタ０が示す値の中間値Ｍ０（Ｍ１＝８）と等しいことから、送信するカウンタ番号は０、送信するカウンタ値はｘ０（この場合は０）である。
【０１２４】
受信装置４では、カウンタ番号０とカウンタ値０とを受信し、仮受信データを５３７６と算出する。仮受信データと１周期前に受信したデータとの差の絶対値Δが、カウンタ０が示す値の中間値Ｍ０（Ｍ０＝８）と等しいことから、仮受信データを今回受信したデータとして決定する。
【０１２５】
このようにして、送信・受信間に誤差が発生した場合にも、繰り返し送信することで、最終的に誤差の無いデータ通信が行われる。誤差が発生した際に送信されたカウンタ番号をＮとすると、最大Ｎ＋１回繰り返し送信することで、誤差のないデータが通信される。
【０１２６】
（３）桁上がり、桁下がりがあり、送信・受信間の誤差が発生しない例
図１０は、桁上がり、桁下がりがあり、送信・受信間の誤差が発生しない例を示す図である。ここでは、送信装置２において、１周期前に送信したデータが４０９６であり、今回送信したいデータが４０９０である場合について説明する。
【０１２７】
１周期前に送信したデータと今回送信したいデータとの差の絶対値Δは６であり、カウンタ０が示す値の中間値Ｍ０（Ｍ０＝８）よりも小さいことから、送信するカウンタ番号は０、送信するカウンタ値はｘ０（この場合は１０）である。
【０１２８】
受信装置４は、カウンタ番号０とカウンタ値１０とを受信し、仮受信データを４１０６と算出する。仮受信データと１周期前に受信したデータとの差の絶対値Δが、カウンタ０が示す値の中間値Ｍ０（Ｍ０＝８）よりも大きいこと、１周期前に受信したデータよりも仮受信データの方が大きいことから、桁下がりが発生したと判断する。
【０１２９】
このため、受信したカウンタ番号０の１つ上位のカウンタ値（この場合はｘ１）を１つ減らす。ｘ１は負の値になってしまうので、値を１５へ変更して、更に上位のカウンタ値（この場合はｘ２）を１つ減らす。ｘ２は負の値になってしまうので、値を１５へ変更して、更に上位のカウンタ値（この場合はｘ３）を１つ減らす。ｘ３は負の値にならないので、これで桁下がり処理を終了する。このようにして修正された仮受信データを今回受信したデータとして決定する。
【０１３０】
（４）桁上がり、桁下がりがあり、送信・受信間の誤差が発生する例
図１１は、桁上がり、桁下がりがあり、送信・受信間の誤差が発生する例を示す図である。ここでは、送信装置２において、１周期前に送信したデータが４０９６であり、今回送信したいデータが２５６０である場合について説明する。
【０１３１】
１周期前に送信したデータと今回送信したいデータとの差の絶対値Δは１５３６であり、カウンタ２が示す値の中間値Ｍ２（Ｍ２＝２０４８）よりも小さいことから、送信するカウンタ番号は２、送信するカウンタ値はｘ２（この場合は１０）である。
【０１３２】
受信装置４は、カウンタ番号２とカウンタ値１０とを受信し、仮受信データを６７８４と算出する。仮受信データと１周期前に受信したデータとの差の絶対値Δが、カウンタ２が示す値の中間値Ｍ２（Ｍ２＝２０４８）よりも大きいこと、１周期前に受信したデータよりも仮受信データの方が大きいことから、桁下がりが発生したと判断する。
【０１３３】
このため、受信したカウンタ番号２の１つ上位のカウンタ値（この場合はｘ３）を１つ減らす。ｘ１は負の値にならないので、これで桁下がり処理を終了する。このようにして修正された仮受信データを今回受信したデータとして決定する。
【０１３４】
（誤差の最大値）
次に、今回送信するデータＴｃと今回受信したデータＲｃとの誤差の最大値について説明する。カウンタ番号Ｎを送信した場合、受信側はカウンタ番号０からＮ−２までのカウンタ値を０、カウンタ番号Ｎ−１のカウンタ値を中間値２ｐ−ｑ−１とするため、今回受信したデータＲｃは誤差を含む可能性がある。その最大誤差をＥｒｒＭａｘとすると、次のように表される。
【０１３５】
ＥｒｒＭａｘ＝２Ｎ（ｐ−ｑ）−１      ・・・（３）
したがって、カウンタ番号０からＮ−２までのカウンタ値を０、カウンタ番号Ｎ−１のカウンタ値を中間値２ｐ−ｑ−１とすることで、最大誤差を最小とすることができる。
【０１３６】
（カウンタ用ビットｑの最適値）
次に、カウンタ用ビットｑの最適値について説明する。ｑの値は、ｐ未満の整数であれば値が大きいほど通信できるデータ量も大きくなる。一方で、今回送信するデータＴｃと今回受信したデータＲｃとの誤差が大きくなる可能性と、誤差の大きな値を受信してから誤差のない値を受信するまでの時間が長くなる可能性と、送信値の決定と受信データの決定に時間を要する可能性がある。そのため、通信したいデータ量をＵとすると、次式を満たす最小のｑが最適値である。
【０１３７】
Ｕ≦２ｑ（ｐ−ｑ）    ・・・（４）
例えば、データ量の上限が６ビットである場合、カウンタ番号用ビットとカウンタ値用ビットは次のような値をとることができる。
【表１】
2008072255.tif 000005
【０１３８】
上記の例では、通信したいデータが１４ビットであったので、カウンタ番号用ビットは２が最適値となる。
【０１３９】
（カウンタ値の範囲）
次に、カウンタ値の範囲について説明する。上述したように、カウンタ値の上限且つ最適値は２ｐ−ｑ−１であるが、意図的にカウンタ値の一部あるいは全部の上限を低減して使用することもできる。例えば、カウンタ値のすべての上限を２ｐ−ｑ−１−１とすれば、今回送信するデータＴｃは次のように表される。
【数３】
2008072255.tif 000006
【０１４０】
（作用・効果）
本実施形態によれば、送信装置２がカウンタ番号とカウンタ値とを送信するので、データ量を大幅に削減可能となる。また、送信対象データと１周期前の送信対象データとの差分に応じて行われるので、データ変動量に応じて、送信するカウンタ番号とカウンタ値とを選択可能となる。受信装置４は、このようにして送信されたカウンタ番号及びカウンタ値と、１周期前に得られた受信データとに基づいて受信データを生成する。したがって、あらかじめ定められたデータ量までデータ量を圧縮可能であり、データの変動が小さい場合には高い精度でデータ通信可能なデータ通信システムを提供できる。更に、送信データのカウンタ番号及びカウンタ値のビットを適切に設定可能となるので、限られたデータ量で効率的なデータ通信が実現できる。
【０１４１】
（その他の実施形態）
上記のように、本発明は実施形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなる。
【０１４２】
例えば、上述した実施形態においては、送信装置２及び受信装置４がサーボ系メカトロニクスシステム及びセンシングシステムに適用される一例について説明した。しかしながら、これらに限定されるものではなく、送信対象データの変動が大きい場合には誤差が許容され、送信対象データの変動が小さい場合には誤差が許容されないようなシステムにおいて、高いデータ圧縮率を要求されるようなシステムであれば適用可能である。
【０１４３】
このように本発明は、ここでは記載していない様々な実施形態などを包含するということを理解すべきである。したがって、本発明はこの開示から妥当な特許請求の範囲の発明特定事項によってのみ限定されるものである。
【図面の簡単な説明】
【０１４４】
【図１】図１（ａ）は本発明の実施形態に係る送信装置及び受信装置をサーボ系メカトロニクスシステムに適用した例を示す図であり、図１（ｂ）は本発明の実施形態に係る送信装置及び受信装置をセンシングシステムに適用した例を示す図である。
【図２】本発明の実施形態に係る送信装置の構成例を示す機能ブロック図である。
【図３】本発明の実施形態に係る受信装置の構成例を示す機能ブロック図である。
【図４】本発明の実施形態に係る各カウンタ列の構成例を示す図である。
【図５】本発明の実施形態に係る送信装置による送信処理フロー例を示すフローチャートである。
【図６】本発明の実施形態に係る受信装置による受信処理フロー例を示すフローチャートである。
【図７】本発明の実施形態に係る送信装置及び受信装置の動作の具体例を説明するための図である。
【図８】桁上がり、桁下がりがなく、送信・受信間の誤差が発生しない例を示す図である。
【図９】桁上がり、桁下がりがなく、送信・受信間の誤差が発生する例を示す図である。
【図１０】桁上がり、桁下がりがあり、送信・受信間の誤差が発生しない例を示す図である。
【図１１】桁上がり、桁下がりがあり、送信・受信間の誤差が発生する例を示す図である。
【符号の説明】
【０１４５】
１…コントローラ、２…送信装置、３…ＬＡＮ、４…受信装置、５…モータ、６…センサ、２１，４２…構成制御部、２２…データ圧縮部、２２…第２カウンタ列、２３，４１…通信Ｉ／Ｆ部、４３…データ伸張部、２２１…第１カウンタ列、２２２…第２カウンタ列、２２３…選択部、２２４…カウンタ値算出部、２２５…更新部、２２６…送信データ生成部、４３０…受信データ生成部、４３１…第１カウンタ列、４３１…第２カウンタ列、４３２…第２カウンタ列、４３３…仮受信データ生成部、４３４…判定部、４３５…受信データ出力部、４３６…桁上がり・桁下がり処理部
【図１】
2008072255.tif 000007
【図２】
2008072255.tif 000008
【図３】
2008072255.tif 000009
【図４】
2008072255.tif 000010
【図５】
2008072255.tif 000011
【図６】
2008072255.tif 000012
【図７】
2008072255.tif 000013
【図８】
2008072255.tif 000014
【図９】
2008072255.tif 000015
【図１０】
2008072255.tif 000016
【図１１】
2008072255.tif 000017