リモコン装置
【課題】常にノイズ等の影響による受信エラーを低減することができるリモコン装置を提供すること
【解決手段】コードの先頭にノイズの影響が及んだ場合の受信エラーを防止するため、受信機が行う信号処理は、a)第一変換コードを一つシフトさせその一つ分先頭に“0”を挿入したコードと、第二変換コードとをAND演算処理して得られたコード、b)第一変換コードを二つシフトさせその二つ分先頭に“01”を挿入したコードと、第二変換コードとをAND演算処理して得られたコード、c)第二変換コードを一つ分シフトさせその一つ分先頭に“0”を挿入したコードと、第一変換コードとをAND演算処理して得られたコード、d)第二変換コードを二つ分シフトさせその二つ分先頭に“01”を挿入したコードと、第一変換コードとをAND演算処理して得られたコード、のいずれかが特定コードと一致しないかどうかを判断する工程を含む。
【解決手段】コードの先頭にノイズの影響が及んだ場合の受信エラーを防止するため、受信機が行う信号処理は、a)第一変換コードを一つシフトさせその一つ分先頭に“0”を挿入したコードと、第二変換コードとをAND演算処理して得られたコード、b)第一変換コードを二つシフトさせその二つ分先頭に“01”を挿入したコードと、第二変換コードとをAND演算処理して得られたコード、c)第二変換コードを一つ分シフトさせその一つ分先頭に“0”を挿入したコードと、第一変換コードとをAND演算処理して得られたコード、d)第二変換コードを二つ分シフトさせその二つ分先頭に“01”を挿入したコードと、第一変換コードとをAND演算処理して得られたコード、のいずれかが特定コードと一致しないかどうかを判断する工程を含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リモコン装置に関し、さらに詳しくは、ノイズの影響によるエラーを低減するリモコン装置に関するものである。
【背景技術】
【0002】
下記特許文献1には、正常なリモコンコードを受信してから所定時間内に一部が正常でないリモコンコードを受信した際には、その正常でない部分を無視し、受信した正常なコードの範囲でリモコンコードを特定するようにしたリモコン装置が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−197578号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載の構成は、連続して同じリモコンコードが送信機から送られる場合(同じボタンが連続操作される場合)に限ってノイズ等の影響を排除できるものであり、それ以外のケースには適用できるものではない。各種機器に搭載されるリモコン装置においては、どのような操作を行った場合であってもノイズ等の影響を排除することが求められる。
【0005】
上記実情に鑑み、本発明が解決しようとする課題は、常にノイズ等の影響による受信エラーを低減することができるリモコン装置を提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するために本発明は、リモコン信号を送信する送信機と、この送信機から送信されたリモコン信号を受信する受信機と、を備え、前記受信機から出力される単位時間Tとする論理「0」の波形が時間1TのLレベルとそれに続く時間1TのHレベルからなり、論理「1」の波形が時間1TのLレベルとそれに続く時間3TのHレベルからなる標準フォーマットを採用したリモコン装置であって、前記送信機は、複数種のコードを有する第一フレーム、および、この第一フレームと同じ信号である第二フレームを含むリモコン信号を前記受信機に送信し、前記受信機は、前記送信機から受信したリモコン信号を、
(1)第一フレームのあるコードとこのあるコードと同種の第二フレームのコードそれぞれの0を含む自然数である「n」の「(2n+1)T」時間目における信号を抽出し、Lレベルを“0”、Hレベルを“1”として並べた、第一変換コードおよび第二変換コードを得る
(2)前記(1)工程で得られた第一変換コードと第二変換コードをAND演算処理し、得られたコードが予め対応づけられた特定コードの一つと一致するときには、当該得られたコードを正しいコードと判断し、当該コードに一致した前記特定コードの処理を実行する
(3)前記(2)工程において得られたコードが特定コードの一つと一致しない場合には、前記第一変換コードまたは第二変換コードのいずれか一方をシフトさせ、先頭に補助コードを挿入し、他方のコードとAND演算処理することで得られたコードが前記特定コードの一つと一致するか否かを判断し、一致したときには、当該得られたコードを正しいコードと判断し、当該コードに一致した前記特定コードの処理を実行する
(4)前記(2)工程および前記(3)工程において前記特定コードの一つと一致するコードが得られなかったときには、受信した前記リモコン信号を無効とする
前記(1)工程から(4)工程を含む手順で処理することを要旨とする。
【0007】
また、この場合、前記(3)工程において前記特定コードの一つと一致しない場合に得られるコードは、
a)前記第一変換コードを一つシフトさせ、その一つ分先頭に補助コード“0”を挿入したコードと、前記第二変換コードとをAND演算処理して得られたコードとする
b)前記第一変換コードを二つシフトさせ、その二つ分先頭に補助コード“01”を挿入したコードと、前記第二変換コードとをAND演算処理して得られたコードとする
c)前記第二変換コードを一つシフトさせ、その一つ分先頭に補助コード“0”を挿入したコードと、前記第一変換コードとをAND演算処理して得られたコードとする
d)前記第二変換コードを二つシフトさせ、その二つ分先頭に補助コード“01”を挿入したコードと、前記第一変換コードとをAND演算処理して得られたコードとする
前記a)からd)に示すいずれかの手順で得られるようにすればよい。
【0008】
さらに、前記特定コードは、リモコン装置が搭載された機器の種別や各動作と予め対応づけられたものであればよい。
【発明の効果】
【0009】
本発明にかかるリモコン装置では、送信機は、第一フレームとこの第一フレームと同じ信号である第二フレームを含むリモコン信号を受信機に送る。そして、受信機は、(2)工程において、第一フレームのあるコードを変換して得られた第一変換コードと、それと同種の第二フレームのあるコードを変換して得られた第二変換コードをAND演算処理する。第一フレームまたは第二フレームの信号データにおけるいずれかの信号(コードの先頭(1T時間目)の信号を除く)が、ノイズによりL(LOW)レベルからH(HI)レベルに変化したとしても、AND演算処理により得られたコードは、正常なコードとなる。例えば、第一フレーム(第二フレーム)のある箇所の信号が、ノイズによりLレベルからHレベルに変化したとしても、第二フレーム(第一フレーム)の同一箇所の信号が正しくLレベルと受信できていれば、AND演算処理後の当該箇所の信号は正しく修正される(Lレベルとして受信される)。すなわち、当該AND演算処理により、第一フレームと第二フレームの同一箇所の信号が両方ともLレベルからHレベルに変化してしまうという稀なケースを除き、正常なコードが得られる。
【0010】
一方、コードの先頭の信号がノイズによりLOWからHIに変化してしまうと、上記(2)工程の処理を行っても正常なコードが得られないおそれがある。論理「0」の波形および論理「1」の波形は、いずれも先頭がLレベルであるため、ダウンエッジが発生した時点(信号がHレベルからLレベルに変化した時点)からコードの認識を開始する。しかし、この先頭のLレベルの信号がHレベルに変化してしまった場合、コードの認識を開始する時点がずれてしまうことになる。このとき、上記(3)工程のa)〜d)の処理(変換コードを一つまたは二つシフトさせ、そのシフトさせた部分(先頭)に“0”または“01”を挿入する処理)を行うことにより、先頭のLレベルの信号がHレベルに変化したことによって生じる影響が除去され、正常なコードが得られる。なお、(3)工程のa)〜d)におけるAND処理は、コードの先頭の信号を除く以外の部分が、ノイズによりLレベルからHレベルに変化することによって生ずる影響を除去するための処理である(すなわち、(2)工程における処理と同じ目的の処理である)。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態にかかるリモコン装置の概念図である。
【図2】受信機が受信したリモコン信号の処理工程を示したフローチャートである。
【図3】図3(a)は受信機から出力される論理「0」および論理「1」の波形を示したものであり、図3(b)はデータコード「10100001」のときの受信機の出力波形を示したものであり、図3(c)はそのときの変換コードを示したものである。
【図4】第一フレームのデータコード(データコードの先頭を除く)がノイズの影響を受けた場合に、(2)工程の処理によってそのノイズの影響が除去される点を説明するための図である。
【図5】第一フレームおよび第二フレームのデータコード(データコードの先頭を除く)がノイズの影響を受けた場合に、(2)工程の処理によってそのノイズの影響が除去される点を説明するための図である。
【図6】図6(a)はデータコード先頭の論理「0」を示す時間1TのLレベルの信号がHレベルに変化した場合に、コードの認識を開始する時点が時間2T分遅れる点を説明するための図であり、図6(b)はデータコード先頭の論理「1」を示す時間1TのLレベルの信号がHレベルに変化した場合に、コードの認識を開始する時点が時間4T分遅れる点を説明するための図である。
【図7】データコード「10100001」のときの受信機の出力波形および変換コードを示した図であり、図7(a)はノイズの影響を受けていない第一フレームのコードの波形および変換コードを、図7(b)は時間1TのLレベルの信号がHレベルに変化した第二フレームのコードの波形および変換コードを示した図である。
【図8】図7に示したケースにおいて、手順a)から手順d)の処理((3)工程)を行った結果を示した図である。
【図9】データコード「10100001」のときの受信機の出力波形および変換コードを示した図であり、図7(a)はコードの途中がノイズの影響を受けた第一フレームのコードの波形および変換コードを、図7(b)は時間1TのLレベルの信号がHレベルに変化した第二フレームのコードの波形および変換コードを示した図である。
【図10】図9に示したケースにおいて、手順a)から手順d)の処理((3)工程)を行った結果を示した図である。
【図11】データコード「01100001」ときに、第一フレームのデータコードの先頭がノイズの影響を受けた場合に(3)工程の処理を行った結果を示した図である。
【図12】リモコンコードマップ(一例)を示した図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について図面を参照しつつ詳細に説明する。なお、以下の説明において、論理レベルの信号データは「 」を付して表し、後述する変換データは“ ”を付して表している。また、各図においては、四角の枠内に“0”や“1”の数値を収めたものを並べることで変換データを表している。
【0013】
図1に示すように、本実施形態にかかるリモコン装置1は、送信機10および受信機20を備える赤外線リモコンである。送信機10は、装置利用者のボタン操作などを受け、それに基づく動作を行わせるリモコン信号(信号データ)を受信機20に向けて送信する。受信機20は、この送信機10から発信されたリモコン信号を受け、その信号を図2に示す流れで処理する。本実施形態のリモコン装置1では、家電製品協会が規定する標準フォーマットに基づいてリモコン信号の送受を行う。具体的には、送信機10からの信号を受信した受信機20から出力される信号の波形は、図3(a)に示すような波形となる。すなわち、ノイズ等の影響が全くなく、正常なデータを受信機20が受信した場合、論理「0」は、時間1TのLレベルの信号とそれに続く時間1TのHレベルの信号として出力され、論理「1」は、時間1TのLレベルの信号とそれに続く時間3TのHレベルの信号として出力される。受信機20が備えるリモコン受光モジュールは、一般的に信号入力の無い場合(Lレベルの信号として受光したもの)がHレベルの信号として出力されるものであり、赤外線に対するフィルタを搭載している。そのため、受けた信号をノイズと判断することがあり、本来、信号を受信して、Lレベルの信号として出力とすべきところをHレベルの信号として出力とすることがある。逆にノイズを受けてHレベルの信号として出力すべきところをLレベルの信号として出力することは少ない。以下で詳細に説明する本発明は、リモコン受信モジュールのかかる特性を利用したものである。
【0014】
本実施形態にかかるリモコン装置1は、送信機10および受信機20が所定の位置に固定された固定式のリモコンである。また、受信機20には、受信された信号における一定レベル以下の部分をカットするノイズフィルタが搭載されている。
【0015】
送信機10が送信するリモコン信号は、複数種のコードを有する第一フレーム、および、この第一フレームと同じ信号である第二フレームを含む。各フレームに含まれるコードには、操作対象機器90(種別)ごとに定められた機器を識別するためのカスタムコードや、リモコン装置1が搭載された操作対象機器90に所定の動作を行わせるためのデータコードなどがある。一般的に家電製品協会が規定する標準のデータフォーマットでは、これからデータを送信しますという宣言のコードであるリーダーコードに続いて、上記カスタムコードやデータコードが送信され、場合によっては最後にストップコードが送信される。本実施形態の送信機10は、これらのコードを有する同じフレームを二回続けて送信する。すなわち、第一フレームに続いてそれと同じ第二フレームを送信する。
【0016】
このようなリモコン信号を受信する受信機20は、リモコン設置環境下に存在するノイズ等の影響を除去するため、具体的にはノイズ等によってLレベルの信号がHレベルに変化した影響を除去するため、受信したリモコン信号を次の(1)工程から(4)工程を含む手順(図2に示す流れ)で処理する。以下、各工程について詳細に説明する。なお、以下の説明では、データコードを例に当該処理を説明するが、カスタムコードにも同様の処理を適用することができる。また、その他のコードを含むリモコン信号の場合には、そのコードにも同様の処理を適用することができる。
【0017】
(1)工程では、第一フレームの第一フレームのあるコードとこのあるコードと同種の第二フレームのコードそれぞれの「(2n+1)T」時間目(奇数時間目、「n」は0を含む自然数である)における信号を抽出し、Lレベルを“0”、Hレベルを“1”として並べた、第一変換コードおよび第二変換コードを得る(図2「S1」)。例えば、正しいデータコードが「10100001」である場合、受信機20から出力されるデータコードの信号の波形は、図3(b)に示す形状となる。ここから、それぞれの「(2n+1)T」時間目における信号を抽出し、Lレベルを“0”、Hレベルを“1”として並べると、図3(c)に示すように“01001000001”となる。これが変換コードである。第一フレームのデータコードおよび第二フレームのデータコードの両方が正しく受信されていれば、第一変換コードおよび第二変換コードは両方とも“01001000001”となる。
【0018】
(2)工程では、まず、前記(1)工程で得られた第一変換コードと第二変換コードをAND演算処理する(図2「S2」)。なお、本実施形態におけるAND演算処理とは、第一変換コードおよび第二変換コードの同じ箇所(位置)がいずれも“1”である場合にのみ演算結果として“1”を出力する処理である。この処理は、「(2n+1)T」時間目におけるいずれかの信号(コードの先頭、すなわちn=0の信号を除く)が、ノイズ等によりLレベルからHレベルに変化した場合に、その影響を取り除く処理である。
【0019】
以下、この処理について、第一フレームのリモコン信号がノイズ等の影響を受けた場合(第二フレームのリモコン信号は正常に受信された場合)を例に説明する。第一フレームのデータコードにおける、図4(a)において図示した部分がLレベルからHレベルに変化したとする(なお、この場合の第一フレームのデータコードは「10101001」となるため、正しいコードではない)。このときの第一変換コードは、“01001001001”(8番目(15T時間目)の“1”がノイズ等の影響によるものである)となる。一方、図4(b)に示すように、第二フレームのリモコン信号は正常に受信されているのであるから、第二変換コードは、“01001000001”である。そして、図4(c)に示すように、この第一変換コードと第二変換コードをAND演算処理して得られるコードは、“01001000001”である。つまり、かかるAND演算処理により、第一フレームのリモコン信号が受けたノイズ等の影響は除去される。
【0020】
これは、第一フレームのリモコン信号がノイズ等の影響を受けた場合の例であるが、第二フレームのリモコン信号がノイズ等の影響を受けた場合も同様である。つまり、ノイズ等の影響によってデータコードの「(2n+1)T」時間目におけるいずれかの信号(コードの先頭、すなわちn=0(1T時間目)の信号を除く)がLレベルからHレベルに変化するということは、変換コードにおいて正常値“0”である部分が“1”になるということである。そのため、ノイズ等の影響を受けていないフレームの当該部分の信号レベルが正しく受信されていれば、上記AND演算処理を行うことにより、ノイズ等の影響を受けたフレームにおける当該“1”になってしまった部分を“0”に修正できる。なお、「(2n)T」時間目における信号が、ノイズ等の影響によってLレベルからHレベルに変化したとしても、「(2n+1)T」時間目における信号を抽出した変換コードに与える影響はない。
【0021】
また、第一フレームと第二フレームの両方のリモコン信号がノイズ等の影響を受けた場合であっても、同じ箇所の信号がLレベルからHレベルに変化しない限り、上記AND演算処理によりノイズ等の影響が除去される。具体的には、第一フレームのリモコン信号のある箇所の信号がLレベルからHレベルに変化し(図5(a)参照)、第二フレームのそれとは別の箇所の信号がLレベルからHレベルに変化してしまった(図5(b)参照)としても、AND演算処理後には正しいコードが得られる(図5(c)参照)。
【0022】
このように、第一変換コードにおいて正常値“0”である部分が“1”になってしまい、第二変換コードにおけるそれと同じ箇所の正常値“0”である部分が“1”になってしまわない限り、ノイズ等の影響によって“1”になってしまった部分を“0”に修正できる。
【0023】
(2)工程では、このAND演算処理後、得られたコードが特定コードの一つと一致するときには、当該得られたコードを正しいコードと判断する(図2「S2」Yes)。すなわち、当該コードに一致した特定コードの処理を実行する。上記の例では、変換コード“01001000001”(=データコード「10101001」)の処理を実行する。なお、「特定コード」とは、例えば、リモコン装置1が搭載された操作対象機器90の種別や各動作と予め対応づけられたコードのことである。リモコン装置1の受信機20側には、予め各種の特定コードが一覧化された図12に示すようなリモコンコードマップが記憶されており、受信したコードがリモコンコードマップのいずれか一つの特定コードと一致すれば、そのコードは正常であると判断し、そのコードに対応づけられた処理(動作)を実行する。上記の例では、変換コード“01001000001”に対応づけられた動作Cを行う命令が操作対象機器90に送られる。
【0024】
この(2)工程において、AND演算処理後、得られたコードが特定コードの一つと一致しないときは(3)工程に進む(図2「S3」No)。この(3)工程の処理は、ノイズ等の影響によってデータコードの先頭、すなわち1T時間目の信号がLレベルからHレベルに変化することによって発生する次のようなエラーを防止するものである。本実施形態において、論理「0」の波形および論理「1」の波形は、いずれも先頭がLレベルであるため、受信機20において、コードの認識はダウンエッジが発生した時点(信号がHレベルからLレベルに変化した時点)から開始する。そのため、この先頭のLレベルの信号がHレベルに変化してしまった場合、データコードの認識を開始する時点が1ビット分ずれてしまう(1ビット分遅れてしまう)ことになる(図6参照)。この認識を開始する時点のずれは、上記(2)工程のAND演算処理によって解消することができないため、以下の(3)工程を行う。
【0025】
(3)工程は、以下のa)〜d)の四つの手順からなる。なお、このa)〜d)の手順を行う順番は問わない。
【0026】
手順a)では、まず、第一変換コードを一つシフトさせ(単位時間1T分シフトさせ)、その一つ分先頭に補助コードである“0”を挿入する(図2「S3」)。この処理は、『第一フレームにおけるデータコードの先頭が論理「0」であるケースにおいて、その論理「0」を示す最初の時間1TのLレベルの信号がノイズ等の影響によってHレベルの信号に変化してしまった』と仮定して、当該ノイズ等の影響を除去するための処理である。例えば、図6(a)に示すように、データコードにおける先頭の論理「0」を示す最初の時間1TのLレベルの信号がHレベルに変化した場合、データコードの認識を開始する時点が1ビット分(時間2T分)遅れ、この先頭の論理「0」を示す信号は検出されないことになるから、この先頭の論理「0」の信号が含まれていた構成の第一変換コードを得る必要がある。つまり、第一変換コードは、データコードの「(2n+1)T」時間目の信号を抽出したものであるから、データコードの先頭である論理「0」の信号が認識されない場合、その影響を除去するための補助コードとして変換コードの先頭に“0”を挿入すればよいことになる。
【0027】
続いて、これによって得られたコード(補正後の第一変換コード)と、第二変換コードとをAND演算処理する(図2「S4」)。このAND演算処理は、(2)工程で行うAND演算処理と同様の意味合いをもつ処理である。つまり、「(2n+1)T」時間目におけるいずれかの信号(コードの先頭、すなわちn=0の信号を除く)が、ノイズ等によりLレベルからHレベルに変化した場合に、その影響を取り除く処理である。そして、このAND演算処理によって得られたコードが特定コードの一つと一致するとき(図2「S4」Yes)には、当該得られたコードを正しいコードと判断し(上記仮定が真であると判断し)、当該コードに一致した特定コードの処理を実行する。特定コードの全てと一致しない場合(図2「S4」No)には、第一フレームにおけるデータコードの先頭が論理「0」でないか、あるいは先頭が論理「0」であったとしてもその論理「0」を示す最初の時間1TのLレベルの信号がノイズ等の影響によってHレベルの信号に変化していないということである(上記仮定が偽ということである)から、この手順a)で得られたコードに基づく処理(動作)は実行しない。
【0028】
手順b)では、まず、第一変換コードを二つシフトさせ(単位時間2T分シフトさせ)、その二つ分先頭に補助コードである“01”を挿入する(図2「S5」)。この処理は、『第一フレームにおけるデータコードの先頭が論理「1」であるケースにおいて、その論理「1」を示す最初の時間1TのLレベルの信号がノイズ等の影響によってHレベルの信号に変化してしまった』と仮定して、当該ノイズ等の影響を除去するための処理である。すなわち、図6(b)に示すように、データコードにおける先頭の論理「1」を示す最初の時間1TのLレベルの信号がHレベルに変化した場合、データコードの認識を開始する時点が1ビット分(時間4T分)遅れ、この先頭の論理「1」を示す信号は検出されないことになるから、当該処理によってこの先頭の論理「1」の信号が含まれた構成の第一変換コードを得る。つまり、第一変換コードは、データコードの「(2n+1)T」時間目の信号を抽出したものであるから、データコードの先頭である論理「1」の信号がノイズ等の影響を受けて認識されない場合、その影響を除去するための補助コードとして変換コードの先頭に“01”を挿入すればよいことになる。
【0029】
続いて、これによって得られたコード(補正後の第一変換コード)と、第二変換コードとをAND演算処理する(図2「S6」)。このAND演算処理は、手順a)と同様に、(2)工程で行うAND演算処理と同様の意味合いをもつ処理である。そして、このAND演算処理によって得られたコードが特定コードの一つと一致するとき(図2「S6」Yes)には、当該得られたコードを正しいコードと判断し(上記仮定が真であると判断し)、当該コードに一致した特定コードの処理を実行する。特定コードの全てと一致しない場合(図2「S6」No)には、第一フレームにおけるデータコードの先頭が論理「1」でないか、あるいは先頭が論理「1」であったとしてもその論理「1」を示す最初の時間1TのLレベルの信号がノイズ等の影響によってHレベルの信号に変化していないということである(上記仮定が偽ということである)から、この手順b)で得られたコードに基づく処理(動作)は実行しない。
【0030】
手順c)では、まず、第二変換コードを一つシフトさせ(単位時間1T分シフトさせ)、その一つ分先頭に補助コードである“0”を挿入する(図2「S7」)。この処理は、『第二フレームにおけるデータコードの先頭が論理「0」であるケースにおいて、その論理「0」を示す最初の時間1TのLレベルの信号がノイズ等の影響によってHレベルの信号に変化してしまった』と仮定して、当該ノイズ等の影響を除去するための処理である。すなわち、第一フレームのデータコードについて行う手順a)と同様の処理を、第二フレームのデータコードについて行うものである。かかる処理により、コードの先頭に論理「0」の信号が含まれていた構成の第二変換コードが得られる。
【0031】
続いて、これによって得られたコード(補正後の第二変換コード)と、第一変換コードとをAND演算処理する(図2「S8」)。このAND演算処理は、手順a)および手順b)と同様に、(2)工程で行うAND演算処理と同様の意味合いをもつ処理である。そして、このAND演算処理によって得られたコードが特定コードの一つと一致するとき(図2「S8」Yes)には、当該得られたコードを正しいコードと判断し(上記仮定が真であると判断し)、当該コードに一致した特定コードの処理を実行する。特定コードの全てと一致しない場合(図2「S8」No)には、第二フレームにおけるデータコードの先頭が論理「0」でないか、あるいは先頭が論理「0」であったとしてもその論理「0」を示す最初の時間1TのLレベルの信号がノイズ等の影響によってHレベルの信号に変化していないということである(上記仮定が偽ということである)から、この手順c)で得られたコードに基づく処理(動作)は実行しない。
【0032】
手順d)では、まず、第二変換コードを二つシフトさせ(単位時間2T分シフトさせ)、その二つ分先頭に補助コードである“01”を挿入する(図2「S9」)。この処理は、『第二フレームにおけるデータコードの先頭が論理「1」であるケースにおいて、その論理「1」を示す最初の時間1TのLレベルの信号がノイズ等の影響によってHレベルの信号に変化してしまった』と仮定して、当該ノイズ等の影響を除去するための処理である。すなわち、第一フレームのデータコードについて行う手順b)と同様の処理を、第二フレームのデータコードについて行うものである。かかる処理により、コードの先頭に論理「1」の信号が含まれていた構成の第二変換コードが得られる。
【0033】
続いて、これによって得られたコード(補正後の第二変換コード)と、第一変換コードとをAND演算処理する(図2「S10」)。このAND演算処理は、手順a)から手順c)と同様に、(2)工程で行うAND演算処理と同様の意味合いをもつ処理である。そして、このAND演算処理によって得られたコードが特定コードの一つと一致するとき(図2「S10」Yes)には、当該得られたコードを正しいコードと判断し(上記仮定が真であると判断し)、当該コードに一致した特定コードの処理を実行する。特定コードの全てと一致しない場合(図2「S10」No)には、第二フレームにおけるデータコードの先頭が論理「1」でないか、あるいは先頭が論理「1」であったとしてもその論理「1」を示す最初の時間1TのLレベルの信号がノイズ等の影響によってHレベルの信号に変化していないということである(上記仮定が偽ということである)から、この手順d)で得られたコードに基づく処理(動作)は実行しない。
【0034】
この(3)工程における手順a)から手順d)の処理を具体例を用いて説明する。例えば、図7に示すように、正しいデータコードが、先頭が論理「1」である「1010001」である具体例1の場合、受信機20から出力されるデータコードの信号の波形は、図7(a)に示す形状となる。よって、正しい変換コードは“01001000001”となる。この場合において、図7(b)に示すように、第二フレームのデータコードの先頭の信号が、ノイズ等の影響によりLレベルからHレベルに変化したとする。そうすると、データコードを認識を開始する時点が遅れ、コードの先頭の論理「1」の信号は認識されない。したがって、受信機20は誤った第二変換コード“001000001”を取得する。第一変換コードは正常な“01001000001”である(図7(a)参照)。
【0035】
受信機20は、手順a)から手順d)の順で処理を実行するように設定されているとする。図8に示すように、手順a)では、第一変換コードを一つシフトさせ、その一つ分先頭に補助コード“0”を挿入したコード“001001000001”(補正後の第一変換コード)と、第二変換コード“001000001”とをAND演算処理することによって、コード“001000000000”を得る。かかる得られたコードは、特定コードの全てと一致しないため、正常なコードとして採用されない。手順b)では、第一変換コードを二つシフトさせ、その二つ分先頭に補助コード“01”を挿入したコード“0101001000001”(補正後の第一変換コード)と、第二変換コード“001000001”とをAND演算処理することによって、コード“0000000000000”を得る。かかる得られたコードは、特定コードの全てと一致しないため、正常なコードとして採用されない。手順c)では、第二変換コードを一つシフトさせ、その一つ分先頭に補助コード“0”を挿入したコード“0001000001”(補正後の第二変換コード)と、第一変換コード“01001000001”とをAND演算処理することによって、コード“00000000000”を得る。かかる得られたコードは、特定コードの全てと一致しないため、正常なコードとして採用されない。
【0036】
そして、手順d)では、第二変換コードを二つシフトさせ、その二つ分先頭に補助コード“01”を挿入したコード“01001000001”(補正後の第二変換コード)と、第一変換コード“01001000001”とをAND演算処理することによって、コード“01001000001”を得る。このコード“01001000001”(=データコード「10101001」)は、図12に示すリモコンコードマップの動作Cを行う特定コードと一致するから、この動作Cを行う命令が操作対象機器90に送られることになる。
【0037】
なお、データコードの先頭を除く信号が、ノイズ等によりLレベルからHレベルに変化した場合には、当該ノイズ等の影響はAND演算処理によって除去される。例えば、図9(a)に示すように、第一変換コードがノイズ等の影響によって“01001001001”(8番目(15T時間目)の“1”がノイズ等の影響によるものである)となった場合であっても、手順d)によって“01001000001”となる正しいコードが得られ、その他の手順a)から手順c)では正しいコードが得られない(図10参照)。
【0038】
その他の例(具体例2)を用いて(3)工程を説明する。正しいデータコードが、先頭が論理「0」である「01100001」である場合、正しい変換コードは“00101000001”となる。この場合において、図11(a)に示すように、第一フレームのデータコードの先頭の信号が、ノイズ等の影響によりLレベルからHレベルに変化したとする。そうすると、データコードを認識を開始する時点が遅れ、コードの先頭の論理「0」の信号は認識されない。したがって、受信機20は誤った第一変換コード“0101000001”を取得する。第二変換コードは正常な“00101000001”である(図11(b)参照)。
【0039】
この場合、図11(c)に示す手順a)では、第一変換コードを一つシフトさせ、その一つ分先頭に補助コード“0”を挿入したコード“00101000001”(補正後の第一変換コード)と、第二変換コード“00101000001”とをAND演算処理することによって、コード“00101000001”を得る。このコード“00101000001”(=データコード「01100001」)は、図12に示すリモコンコードマップから分かるように、動作Dを行う特定コードと一致するから、この動作Dを行う命令が操作対象機器90に送られることになる。なお、データコードの先頭を除く信号が、ノイズ等によりLレベルからHレベルに変化した場合には、当該ノイズ等の影響はAND演算処理によって除去される。例えば、第二変換コードがノイズ等の影響によって“00101001001”(8番目の“1”がノイズ等の影響によるものである)となった場合であっても、AND演算処理して得られるコードは、“00101000001”である。なお、このようにして手順a)の処理によって正しいコードが得られた場合、未だ実行していないその他の手順(手順b)〜手順d))は行わないように設定してもよい。
【0040】
以上のように、手順a)から手順d)を実行する(3)工程によれば、ノイズ等の影響によってデータコードの先頭の信号が、ノイズ等によりLレベルからHレベルに変化することによって発生するエラーが防止される。(3)工程の処理は、データコードの先頭の信号がLレベルからHレベルに変化するケース全ての場合を仮定して、当該全ての場合について網羅的にノイズ等の影響を除去する処理を行う工程であるからである。ゆえに、データコードの先頭の信号がLレベルからHレベルに変化した場合には、上記手順a)から手順d)のいずれかの手順によって正しいデータコードが得られる。なお、具体例2で示したように、手順a)から手順d)を所定の順番で行う場合、いずれか一つの手順で特定コードと一致する正しいデータコードが得られた後、その他の手順は行わなくてもよい。
【0041】
しかし、極めて稀なケースではあるが、第一フレームと第二フレーム両方の同じ箇所の信号がLレベルからHレベルに変化した場合等には、正しいデータコードは得られない。このように、上記(2)工程および上記(3)工程において特定コードの一つと一致するデータコードが得られなかったときには、受信したリモコン信号を無効とする((4)工程)。信号を無効にした後、受信機20は待機状態となる。
【0042】
以上説明した本実施形態にかかるリモコン装置1によれば、次のような作用効果が奏される。リモコン装置1が備える送信機10は、第一フレームとこの第一フレームと同じ信号である第二フレームを含むリモコン信号を受信機20に送る。そして、受信機20は、(2)工程において、第一フレームのあるコードを変換して得られた第一変換コードと、それと同種の第二フレームのあるコードを変換して得られた第二変換コードをAND演算処理する。第一フレームまたは第二フレームの信号データにおけるいずれかの信号(コードの先頭の信号を除く「(2n+1)T」時間目における信号)が、ノイズ等によりLレベルからHレベルに変化したとしても、AND演算処理により得られたコードは、正常なコードとなる。例えば、第一フレーム(第二フレーム)のある箇所の信号が、ノイズ等によりLレベルからHレベルに変化したとしても、第二フレーム(第一フレーム)の同一箇所の信号が正しくLレベルと受信できていれば、AND演算処理後の当該箇所の信号は正しく修正され、Lレベルとして受信される。すなわち、当該AND演算処理により、第一フレームと第二フレームの同一箇所の信号が両方ともLレベルからHレベルに変化してしまうという稀なケースを除き、正常なコードが得られる。
【0043】
さらに、上記(3)工程のa)〜d)の処理(変換コードを一つまたは二つシフトさせ、そのシフトさせた部分(先頭)に補助コード“0”または補助コード“01”を挿入する処理)を行うことにより、先頭のLレベルの信号がHレベルに変化したことによって生じる影響が除去され、正常なコードが得られる。すなわち、あるコードの先頭の信号が、ノイズ等の影響によりLレベルからHレベルに変化することによって発生するエラーが防止される。
【0044】
また、本実施形態にかかるリモコン装置1のように、送信機10および受信機20が固定されて使用される固定式のリモコンの場合、信号の送信ラインが一方向になるため、常にノイズ等の影響を受けてしまうおそれがあるが、上記信号処理によってこのノイズ等の影響を除去できる。
【0045】
また、本実施形態にかかるリモコン装置1のように、受信機20に一定レベル以下の信号をカットするノイズフィルタを設ける場合、Lレベルの信号であると判断するレベルを厳しくする(Lレベルの信号であると判断するレベルを上げる)必要がある。そのため、このようなノイズフィルタが設けられている場合には、Lレベルの信号がノイズによってHレベルの信号として誤認されてしまう確率が高まってしまうおそれのあるところ、上記信号処理によってそのノイズの影響を除去できる。
【0046】
以上、本発明の実施形態について詳細に説明したが、本発明は上記実施形態に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の改変が可能である。
【符号の説明】
【0047】
1 リモコン装置
10 送信機
20 受信機
【技術分野】
【0001】
本発明は、リモコン装置に関し、さらに詳しくは、ノイズの影響によるエラーを低減するリモコン装置に関するものである。
【背景技術】
【0002】
下記特許文献1には、正常なリモコンコードを受信してから所定時間内に一部が正常でないリモコンコードを受信した際には、その正常でない部分を無視し、受信した正常なコードの範囲でリモコンコードを特定するようにしたリモコン装置が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−197578号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載の構成は、連続して同じリモコンコードが送信機から送られる場合(同じボタンが連続操作される場合)に限ってノイズ等の影響を排除できるものであり、それ以外のケースには適用できるものではない。各種機器に搭載されるリモコン装置においては、どのような操作を行った場合であってもノイズ等の影響を排除することが求められる。
【0005】
上記実情に鑑み、本発明が解決しようとする課題は、常にノイズ等の影響による受信エラーを低減することができるリモコン装置を提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するために本発明は、リモコン信号を送信する送信機と、この送信機から送信されたリモコン信号を受信する受信機と、を備え、前記受信機から出力される単位時間Tとする論理「0」の波形が時間1TのLレベルとそれに続く時間1TのHレベルからなり、論理「1」の波形が時間1TのLレベルとそれに続く時間3TのHレベルからなる標準フォーマットを採用したリモコン装置であって、前記送信機は、複数種のコードを有する第一フレーム、および、この第一フレームと同じ信号である第二フレームを含むリモコン信号を前記受信機に送信し、前記受信機は、前記送信機から受信したリモコン信号を、
(1)第一フレームのあるコードとこのあるコードと同種の第二フレームのコードそれぞれの0を含む自然数である「n」の「(2n+1)T」時間目における信号を抽出し、Lレベルを“0”、Hレベルを“1”として並べた、第一変換コードおよび第二変換コードを得る
(2)前記(1)工程で得られた第一変換コードと第二変換コードをAND演算処理し、得られたコードが予め対応づけられた特定コードの一つと一致するときには、当該得られたコードを正しいコードと判断し、当該コードに一致した前記特定コードの処理を実行する
(3)前記(2)工程において得られたコードが特定コードの一つと一致しない場合には、前記第一変換コードまたは第二変換コードのいずれか一方をシフトさせ、先頭に補助コードを挿入し、他方のコードとAND演算処理することで得られたコードが前記特定コードの一つと一致するか否かを判断し、一致したときには、当該得られたコードを正しいコードと判断し、当該コードに一致した前記特定コードの処理を実行する
(4)前記(2)工程および前記(3)工程において前記特定コードの一つと一致するコードが得られなかったときには、受信した前記リモコン信号を無効とする
前記(1)工程から(4)工程を含む手順で処理することを要旨とする。
【0007】
また、この場合、前記(3)工程において前記特定コードの一つと一致しない場合に得られるコードは、
a)前記第一変換コードを一つシフトさせ、その一つ分先頭に補助コード“0”を挿入したコードと、前記第二変換コードとをAND演算処理して得られたコードとする
b)前記第一変換コードを二つシフトさせ、その二つ分先頭に補助コード“01”を挿入したコードと、前記第二変換コードとをAND演算処理して得られたコードとする
c)前記第二変換コードを一つシフトさせ、その一つ分先頭に補助コード“0”を挿入したコードと、前記第一変換コードとをAND演算処理して得られたコードとする
d)前記第二変換コードを二つシフトさせ、その二つ分先頭に補助コード“01”を挿入したコードと、前記第一変換コードとをAND演算処理して得られたコードとする
前記a)からd)に示すいずれかの手順で得られるようにすればよい。
【0008】
さらに、前記特定コードは、リモコン装置が搭載された機器の種別や各動作と予め対応づけられたものであればよい。
【発明の効果】
【0009】
本発明にかかるリモコン装置では、送信機は、第一フレームとこの第一フレームと同じ信号である第二フレームを含むリモコン信号を受信機に送る。そして、受信機は、(2)工程において、第一フレームのあるコードを変換して得られた第一変換コードと、それと同種の第二フレームのあるコードを変換して得られた第二変換コードをAND演算処理する。第一フレームまたは第二フレームの信号データにおけるいずれかの信号(コードの先頭(1T時間目)の信号を除く)が、ノイズによりL(LOW)レベルからH(HI)レベルに変化したとしても、AND演算処理により得られたコードは、正常なコードとなる。例えば、第一フレーム(第二フレーム)のある箇所の信号が、ノイズによりLレベルからHレベルに変化したとしても、第二フレーム(第一フレーム)の同一箇所の信号が正しくLレベルと受信できていれば、AND演算処理後の当該箇所の信号は正しく修正される(Lレベルとして受信される)。すなわち、当該AND演算処理により、第一フレームと第二フレームの同一箇所の信号が両方ともLレベルからHレベルに変化してしまうという稀なケースを除き、正常なコードが得られる。
【0010】
一方、コードの先頭の信号がノイズによりLOWからHIに変化してしまうと、上記(2)工程の処理を行っても正常なコードが得られないおそれがある。論理「0」の波形および論理「1」の波形は、いずれも先頭がLレベルであるため、ダウンエッジが発生した時点(信号がHレベルからLレベルに変化した時点)からコードの認識を開始する。しかし、この先頭のLレベルの信号がHレベルに変化してしまった場合、コードの認識を開始する時点がずれてしまうことになる。このとき、上記(3)工程のa)〜d)の処理(変換コードを一つまたは二つシフトさせ、そのシフトさせた部分(先頭)に“0”または“01”を挿入する処理)を行うことにより、先頭のLレベルの信号がHレベルに変化したことによって生じる影響が除去され、正常なコードが得られる。なお、(3)工程のa)〜d)におけるAND処理は、コードの先頭の信号を除く以外の部分が、ノイズによりLレベルからHレベルに変化することによって生ずる影響を除去するための処理である(すなわち、(2)工程における処理と同じ目的の処理である)。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態にかかるリモコン装置の概念図である。
【図2】受信機が受信したリモコン信号の処理工程を示したフローチャートである。
【図3】図3(a)は受信機から出力される論理「0」および論理「1」の波形を示したものであり、図3(b)はデータコード「10100001」のときの受信機の出力波形を示したものであり、図3(c)はそのときの変換コードを示したものである。
【図4】第一フレームのデータコード(データコードの先頭を除く)がノイズの影響を受けた場合に、(2)工程の処理によってそのノイズの影響が除去される点を説明するための図である。
【図5】第一フレームおよび第二フレームのデータコード(データコードの先頭を除く)がノイズの影響を受けた場合に、(2)工程の処理によってそのノイズの影響が除去される点を説明するための図である。
【図6】図6(a)はデータコード先頭の論理「0」を示す時間1TのLレベルの信号がHレベルに変化した場合に、コードの認識を開始する時点が時間2T分遅れる点を説明するための図であり、図6(b)はデータコード先頭の論理「1」を示す時間1TのLレベルの信号がHレベルに変化した場合に、コードの認識を開始する時点が時間4T分遅れる点を説明するための図である。
【図7】データコード「10100001」のときの受信機の出力波形および変換コードを示した図であり、図7(a)はノイズの影響を受けていない第一フレームのコードの波形および変換コードを、図7(b)は時間1TのLレベルの信号がHレベルに変化した第二フレームのコードの波形および変換コードを示した図である。
【図8】図7に示したケースにおいて、手順a)から手順d)の処理((3)工程)を行った結果を示した図である。
【図9】データコード「10100001」のときの受信機の出力波形および変換コードを示した図であり、図7(a)はコードの途中がノイズの影響を受けた第一フレームのコードの波形および変換コードを、図7(b)は時間1TのLレベルの信号がHレベルに変化した第二フレームのコードの波形および変換コードを示した図である。
【図10】図9に示したケースにおいて、手順a)から手順d)の処理((3)工程)を行った結果を示した図である。
【図11】データコード「01100001」ときに、第一フレームのデータコードの先頭がノイズの影響を受けた場合に(3)工程の処理を行った結果を示した図である。
【図12】リモコンコードマップ(一例)を示した図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について図面を参照しつつ詳細に説明する。なお、以下の説明において、論理レベルの信号データは「 」を付して表し、後述する変換データは“ ”を付して表している。また、各図においては、四角の枠内に“0”や“1”の数値を収めたものを並べることで変換データを表している。
【0013】
図1に示すように、本実施形態にかかるリモコン装置1は、送信機10および受信機20を備える赤外線リモコンである。送信機10は、装置利用者のボタン操作などを受け、それに基づく動作を行わせるリモコン信号(信号データ)を受信機20に向けて送信する。受信機20は、この送信機10から発信されたリモコン信号を受け、その信号を図2に示す流れで処理する。本実施形態のリモコン装置1では、家電製品協会が規定する標準フォーマットに基づいてリモコン信号の送受を行う。具体的には、送信機10からの信号を受信した受信機20から出力される信号の波形は、図3(a)に示すような波形となる。すなわち、ノイズ等の影響が全くなく、正常なデータを受信機20が受信した場合、論理「0」は、時間1TのLレベルの信号とそれに続く時間1TのHレベルの信号として出力され、論理「1」は、時間1TのLレベルの信号とそれに続く時間3TのHレベルの信号として出力される。受信機20が備えるリモコン受光モジュールは、一般的に信号入力の無い場合(Lレベルの信号として受光したもの)がHレベルの信号として出力されるものであり、赤外線に対するフィルタを搭載している。そのため、受けた信号をノイズと判断することがあり、本来、信号を受信して、Lレベルの信号として出力とすべきところをHレベルの信号として出力とすることがある。逆にノイズを受けてHレベルの信号として出力すべきところをLレベルの信号として出力することは少ない。以下で詳細に説明する本発明は、リモコン受信モジュールのかかる特性を利用したものである。
【0014】
本実施形態にかかるリモコン装置1は、送信機10および受信機20が所定の位置に固定された固定式のリモコンである。また、受信機20には、受信された信号における一定レベル以下の部分をカットするノイズフィルタが搭載されている。
【0015】
送信機10が送信するリモコン信号は、複数種のコードを有する第一フレーム、および、この第一フレームと同じ信号である第二フレームを含む。各フレームに含まれるコードには、操作対象機器90(種別)ごとに定められた機器を識別するためのカスタムコードや、リモコン装置1が搭載された操作対象機器90に所定の動作を行わせるためのデータコードなどがある。一般的に家電製品協会が規定する標準のデータフォーマットでは、これからデータを送信しますという宣言のコードであるリーダーコードに続いて、上記カスタムコードやデータコードが送信され、場合によっては最後にストップコードが送信される。本実施形態の送信機10は、これらのコードを有する同じフレームを二回続けて送信する。すなわち、第一フレームに続いてそれと同じ第二フレームを送信する。
【0016】
このようなリモコン信号を受信する受信機20は、リモコン設置環境下に存在するノイズ等の影響を除去するため、具体的にはノイズ等によってLレベルの信号がHレベルに変化した影響を除去するため、受信したリモコン信号を次の(1)工程から(4)工程を含む手順(図2に示す流れ)で処理する。以下、各工程について詳細に説明する。なお、以下の説明では、データコードを例に当該処理を説明するが、カスタムコードにも同様の処理を適用することができる。また、その他のコードを含むリモコン信号の場合には、そのコードにも同様の処理を適用することができる。
【0017】
(1)工程では、第一フレームの第一フレームのあるコードとこのあるコードと同種の第二フレームのコードそれぞれの「(2n+1)T」時間目(奇数時間目、「n」は0を含む自然数である)における信号を抽出し、Lレベルを“0”、Hレベルを“1”として並べた、第一変換コードおよび第二変換コードを得る(図2「S1」)。例えば、正しいデータコードが「10100001」である場合、受信機20から出力されるデータコードの信号の波形は、図3(b)に示す形状となる。ここから、それぞれの「(2n+1)T」時間目における信号を抽出し、Lレベルを“0”、Hレベルを“1”として並べると、図3(c)に示すように“01001000001”となる。これが変換コードである。第一フレームのデータコードおよび第二フレームのデータコードの両方が正しく受信されていれば、第一変換コードおよび第二変換コードは両方とも“01001000001”となる。
【0018】
(2)工程では、まず、前記(1)工程で得られた第一変換コードと第二変換コードをAND演算処理する(図2「S2」)。なお、本実施形態におけるAND演算処理とは、第一変換コードおよび第二変換コードの同じ箇所(位置)がいずれも“1”である場合にのみ演算結果として“1”を出力する処理である。この処理は、「(2n+1)T」時間目におけるいずれかの信号(コードの先頭、すなわちn=0の信号を除く)が、ノイズ等によりLレベルからHレベルに変化した場合に、その影響を取り除く処理である。
【0019】
以下、この処理について、第一フレームのリモコン信号がノイズ等の影響を受けた場合(第二フレームのリモコン信号は正常に受信された場合)を例に説明する。第一フレームのデータコードにおける、図4(a)において図示した部分がLレベルからHレベルに変化したとする(なお、この場合の第一フレームのデータコードは「10101001」となるため、正しいコードではない)。このときの第一変換コードは、“01001001001”(8番目(15T時間目)の“1”がノイズ等の影響によるものである)となる。一方、図4(b)に示すように、第二フレームのリモコン信号は正常に受信されているのであるから、第二変換コードは、“01001000001”である。そして、図4(c)に示すように、この第一変換コードと第二変換コードをAND演算処理して得られるコードは、“01001000001”である。つまり、かかるAND演算処理により、第一フレームのリモコン信号が受けたノイズ等の影響は除去される。
【0020】
これは、第一フレームのリモコン信号がノイズ等の影響を受けた場合の例であるが、第二フレームのリモコン信号がノイズ等の影響を受けた場合も同様である。つまり、ノイズ等の影響によってデータコードの「(2n+1)T」時間目におけるいずれかの信号(コードの先頭、すなわちn=0(1T時間目)の信号を除く)がLレベルからHレベルに変化するということは、変換コードにおいて正常値“0”である部分が“1”になるということである。そのため、ノイズ等の影響を受けていないフレームの当該部分の信号レベルが正しく受信されていれば、上記AND演算処理を行うことにより、ノイズ等の影響を受けたフレームにおける当該“1”になってしまった部分を“0”に修正できる。なお、「(2n)T」時間目における信号が、ノイズ等の影響によってLレベルからHレベルに変化したとしても、「(2n+1)T」時間目における信号を抽出した変換コードに与える影響はない。
【0021】
また、第一フレームと第二フレームの両方のリモコン信号がノイズ等の影響を受けた場合であっても、同じ箇所の信号がLレベルからHレベルに変化しない限り、上記AND演算処理によりノイズ等の影響が除去される。具体的には、第一フレームのリモコン信号のある箇所の信号がLレベルからHレベルに変化し(図5(a)参照)、第二フレームのそれとは別の箇所の信号がLレベルからHレベルに変化してしまった(図5(b)参照)としても、AND演算処理後には正しいコードが得られる(図5(c)参照)。
【0022】
このように、第一変換コードにおいて正常値“0”である部分が“1”になってしまい、第二変換コードにおけるそれと同じ箇所の正常値“0”である部分が“1”になってしまわない限り、ノイズ等の影響によって“1”になってしまった部分を“0”に修正できる。
【0023】
(2)工程では、このAND演算処理後、得られたコードが特定コードの一つと一致するときには、当該得られたコードを正しいコードと判断する(図2「S2」Yes)。すなわち、当該コードに一致した特定コードの処理を実行する。上記の例では、変換コード“01001000001”(=データコード「10101001」)の処理を実行する。なお、「特定コード」とは、例えば、リモコン装置1が搭載された操作対象機器90の種別や各動作と予め対応づけられたコードのことである。リモコン装置1の受信機20側には、予め各種の特定コードが一覧化された図12に示すようなリモコンコードマップが記憶されており、受信したコードがリモコンコードマップのいずれか一つの特定コードと一致すれば、そのコードは正常であると判断し、そのコードに対応づけられた処理(動作)を実行する。上記の例では、変換コード“01001000001”に対応づけられた動作Cを行う命令が操作対象機器90に送られる。
【0024】
この(2)工程において、AND演算処理後、得られたコードが特定コードの一つと一致しないときは(3)工程に進む(図2「S3」No)。この(3)工程の処理は、ノイズ等の影響によってデータコードの先頭、すなわち1T時間目の信号がLレベルからHレベルに変化することによって発生する次のようなエラーを防止するものである。本実施形態において、論理「0」の波形および論理「1」の波形は、いずれも先頭がLレベルであるため、受信機20において、コードの認識はダウンエッジが発生した時点(信号がHレベルからLレベルに変化した時点)から開始する。そのため、この先頭のLレベルの信号がHレベルに変化してしまった場合、データコードの認識を開始する時点が1ビット分ずれてしまう(1ビット分遅れてしまう)ことになる(図6参照)。この認識を開始する時点のずれは、上記(2)工程のAND演算処理によって解消することができないため、以下の(3)工程を行う。
【0025】
(3)工程は、以下のa)〜d)の四つの手順からなる。なお、このa)〜d)の手順を行う順番は問わない。
【0026】
手順a)では、まず、第一変換コードを一つシフトさせ(単位時間1T分シフトさせ)、その一つ分先頭に補助コードである“0”を挿入する(図2「S3」)。この処理は、『第一フレームにおけるデータコードの先頭が論理「0」であるケースにおいて、その論理「0」を示す最初の時間1TのLレベルの信号がノイズ等の影響によってHレベルの信号に変化してしまった』と仮定して、当該ノイズ等の影響を除去するための処理である。例えば、図6(a)に示すように、データコードにおける先頭の論理「0」を示す最初の時間1TのLレベルの信号がHレベルに変化した場合、データコードの認識を開始する時点が1ビット分(時間2T分)遅れ、この先頭の論理「0」を示す信号は検出されないことになるから、この先頭の論理「0」の信号が含まれていた構成の第一変換コードを得る必要がある。つまり、第一変換コードは、データコードの「(2n+1)T」時間目の信号を抽出したものであるから、データコードの先頭である論理「0」の信号が認識されない場合、その影響を除去するための補助コードとして変換コードの先頭に“0”を挿入すればよいことになる。
【0027】
続いて、これによって得られたコード(補正後の第一変換コード)と、第二変換コードとをAND演算処理する(図2「S4」)。このAND演算処理は、(2)工程で行うAND演算処理と同様の意味合いをもつ処理である。つまり、「(2n+1)T」時間目におけるいずれかの信号(コードの先頭、すなわちn=0の信号を除く)が、ノイズ等によりLレベルからHレベルに変化した場合に、その影響を取り除く処理である。そして、このAND演算処理によって得られたコードが特定コードの一つと一致するとき(図2「S4」Yes)には、当該得られたコードを正しいコードと判断し(上記仮定が真であると判断し)、当該コードに一致した特定コードの処理を実行する。特定コードの全てと一致しない場合(図2「S4」No)には、第一フレームにおけるデータコードの先頭が論理「0」でないか、あるいは先頭が論理「0」であったとしてもその論理「0」を示す最初の時間1TのLレベルの信号がノイズ等の影響によってHレベルの信号に変化していないということである(上記仮定が偽ということである)から、この手順a)で得られたコードに基づく処理(動作)は実行しない。
【0028】
手順b)では、まず、第一変換コードを二つシフトさせ(単位時間2T分シフトさせ)、その二つ分先頭に補助コードである“01”を挿入する(図2「S5」)。この処理は、『第一フレームにおけるデータコードの先頭が論理「1」であるケースにおいて、その論理「1」を示す最初の時間1TのLレベルの信号がノイズ等の影響によってHレベルの信号に変化してしまった』と仮定して、当該ノイズ等の影響を除去するための処理である。すなわち、図6(b)に示すように、データコードにおける先頭の論理「1」を示す最初の時間1TのLレベルの信号がHレベルに変化した場合、データコードの認識を開始する時点が1ビット分(時間4T分)遅れ、この先頭の論理「1」を示す信号は検出されないことになるから、当該処理によってこの先頭の論理「1」の信号が含まれた構成の第一変換コードを得る。つまり、第一変換コードは、データコードの「(2n+1)T」時間目の信号を抽出したものであるから、データコードの先頭である論理「1」の信号がノイズ等の影響を受けて認識されない場合、その影響を除去するための補助コードとして変換コードの先頭に“01”を挿入すればよいことになる。
【0029】
続いて、これによって得られたコード(補正後の第一変換コード)と、第二変換コードとをAND演算処理する(図2「S6」)。このAND演算処理は、手順a)と同様に、(2)工程で行うAND演算処理と同様の意味合いをもつ処理である。そして、このAND演算処理によって得られたコードが特定コードの一つと一致するとき(図2「S6」Yes)には、当該得られたコードを正しいコードと判断し(上記仮定が真であると判断し)、当該コードに一致した特定コードの処理を実行する。特定コードの全てと一致しない場合(図2「S6」No)には、第一フレームにおけるデータコードの先頭が論理「1」でないか、あるいは先頭が論理「1」であったとしてもその論理「1」を示す最初の時間1TのLレベルの信号がノイズ等の影響によってHレベルの信号に変化していないということである(上記仮定が偽ということである)から、この手順b)で得られたコードに基づく処理(動作)は実行しない。
【0030】
手順c)では、まず、第二変換コードを一つシフトさせ(単位時間1T分シフトさせ)、その一つ分先頭に補助コードである“0”を挿入する(図2「S7」)。この処理は、『第二フレームにおけるデータコードの先頭が論理「0」であるケースにおいて、その論理「0」を示す最初の時間1TのLレベルの信号がノイズ等の影響によってHレベルの信号に変化してしまった』と仮定して、当該ノイズ等の影響を除去するための処理である。すなわち、第一フレームのデータコードについて行う手順a)と同様の処理を、第二フレームのデータコードについて行うものである。かかる処理により、コードの先頭に論理「0」の信号が含まれていた構成の第二変換コードが得られる。
【0031】
続いて、これによって得られたコード(補正後の第二変換コード)と、第一変換コードとをAND演算処理する(図2「S8」)。このAND演算処理は、手順a)および手順b)と同様に、(2)工程で行うAND演算処理と同様の意味合いをもつ処理である。そして、このAND演算処理によって得られたコードが特定コードの一つと一致するとき(図2「S8」Yes)には、当該得られたコードを正しいコードと判断し(上記仮定が真であると判断し)、当該コードに一致した特定コードの処理を実行する。特定コードの全てと一致しない場合(図2「S8」No)には、第二フレームにおけるデータコードの先頭が論理「0」でないか、あるいは先頭が論理「0」であったとしてもその論理「0」を示す最初の時間1TのLレベルの信号がノイズ等の影響によってHレベルの信号に変化していないということである(上記仮定が偽ということである)から、この手順c)で得られたコードに基づく処理(動作)は実行しない。
【0032】
手順d)では、まず、第二変換コードを二つシフトさせ(単位時間2T分シフトさせ)、その二つ分先頭に補助コードである“01”を挿入する(図2「S9」)。この処理は、『第二フレームにおけるデータコードの先頭が論理「1」であるケースにおいて、その論理「1」を示す最初の時間1TのLレベルの信号がノイズ等の影響によってHレベルの信号に変化してしまった』と仮定して、当該ノイズ等の影響を除去するための処理である。すなわち、第一フレームのデータコードについて行う手順b)と同様の処理を、第二フレームのデータコードについて行うものである。かかる処理により、コードの先頭に論理「1」の信号が含まれていた構成の第二変換コードが得られる。
【0033】
続いて、これによって得られたコード(補正後の第二変換コード)と、第一変換コードとをAND演算処理する(図2「S10」)。このAND演算処理は、手順a)から手順c)と同様に、(2)工程で行うAND演算処理と同様の意味合いをもつ処理である。そして、このAND演算処理によって得られたコードが特定コードの一つと一致するとき(図2「S10」Yes)には、当該得られたコードを正しいコードと判断し(上記仮定が真であると判断し)、当該コードに一致した特定コードの処理を実行する。特定コードの全てと一致しない場合(図2「S10」No)には、第二フレームにおけるデータコードの先頭が論理「1」でないか、あるいは先頭が論理「1」であったとしてもその論理「1」を示す最初の時間1TのLレベルの信号がノイズ等の影響によってHレベルの信号に変化していないということである(上記仮定が偽ということである)から、この手順d)で得られたコードに基づく処理(動作)は実行しない。
【0034】
この(3)工程における手順a)から手順d)の処理を具体例を用いて説明する。例えば、図7に示すように、正しいデータコードが、先頭が論理「1」である「1010001」である具体例1の場合、受信機20から出力されるデータコードの信号の波形は、図7(a)に示す形状となる。よって、正しい変換コードは“01001000001”となる。この場合において、図7(b)に示すように、第二フレームのデータコードの先頭の信号が、ノイズ等の影響によりLレベルからHレベルに変化したとする。そうすると、データコードを認識を開始する時点が遅れ、コードの先頭の論理「1」の信号は認識されない。したがって、受信機20は誤った第二変換コード“001000001”を取得する。第一変換コードは正常な“01001000001”である(図7(a)参照)。
【0035】
受信機20は、手順a)から手順d)の順で処理を実行するように設定されているとする。図8に示すように、手順a)では、第一変換コードを一つシフトさせ、その一つ分先頭に補助コード“0”を挿入したコード“001001000001”(補正後の第一変換コード)と、第二変換コード“001000001”とをAND演算処理することによって、コード“001000000000”を得る。かかる得られたコードは、特定コードの全てと一致しないため、正常なコードとして採用されない。手順b)では、第一変換コードを二つシフトさせ、その二つ分先頭に補助コード“01”を挿入したコード“0101001000001”(補正後の第一変換コード)と、第二変換コード“001000001”とをAND演算処理することによって、コード“0000000000000”を得る。かかる得られたコードは、特定コードの全てと一致しないため、正常なコードとして採用されない。手順c)では、第二変換コードを一つシフトさせ、その一つ分先頭に補助コード“0”を挿入したコード“0001000001”(補正後の第二変換コード)と、第一変換コード“01001000001”とをAND演算処理することによって、コード“00000000000”を得る。かかる得られたコードは、特定コードの全てと一致しないため、正常なコードとして採用されない。
【0036】
そして、手順d)では、第二変換コードを二つシフトさせ、その二つ分先頭に補助コード“01”を挿入したコード“01001000001”(補正後の第二変換コード)と、第一変換コード“01001000001”とをAND演算処理することによって、コード“01001000001”を得る。このコード“01001000001”(=データコード「10101001」)は、図12に示すリモコンコードマップの動作Cを行う特定コードと一致するから、この動作Cを行う命令が操作対象機器90に送られることになる。
【0037】
なお、データコードの先頭を除く信号が、ノイズ等によりLレベルからHレベルに変化した場合には、当該ノイズ等の影響はAND演算処理によって除去される。例えば、図9(a)に示すように、第一変換コードがノイズ等の影響によって“01001001001”(8番目(15T時間目)の“1”がノイズ等の影響によるものである)となった場合であっても、手順d)によって“01001000001”となる正しいコードが得られ、その他の手順a)から手順c)では正しいコードが得られない(図10参照)。
【0038】
その他の例(具体例2)を用いて(3)工程を説明する。正しいデータコードが、先頭が論理「0」である「01100001」である場合、正しい変換コードは“00101000001”となる。この場合において、図11(a)に示すように、第一フレームのデータコードの先頭の信号が、ノイズ等の影響によりLレベルからHレベルに変化したとする。そうすると、データコードを認識を開始する時点が遅れ、コードの先頭の論理「0」の信号は認識されない。したがって、受信機20は誤った第一変換コード“0101000001”を取得する。第二変換コードは正常な“00101000001”である(図11(b)参照)。
【0039】
この場合、図11(c)に示す手順a)では、第一変換コードを一つシフトさせ、その一つ分先頭に補助コード“0”を挿入したコード“00101000001”(補正後の第一変換コード)と、第二変換コード“00101000001”とをAND演算処理することによって、コード“00101000001”を得る。このコード“00101000001”(=データコード「01100001」)は、図12に示すリモコンコードマップから分かるように、動作Dを行う特定コードと一致するから、この動作Dを行う命令が操作対象機器90に送られることになる。なお、データコードの先頭を除く信号が、ノイズ等によりLレベルからHレベルに変化した場合には、当該ノイズ等の影響はAND演算処理によって除去される。例えば、第二変換コードがノイズ等の影響によって“00101001001”(8番目の“1”がノイズ等の影響によるものである)となった場合であっても、AND演算処理して得られるコードは、“00101000001”である。なお、このようにして手順a)の処理によって正しいコードが得られた場合、未だ実行していないその他の手順(手順b)〜手順d))は行わないように設定してもよい。
【0040】
以上のように、手順a)から手順d)を実行する(3)工程によれば、ノイズ等の影響によってデータコードの先頭の信号が、ノイズ等によりLレベルからHレベルに変化することによって発生するエラーが防止される。(3)工程の処理は、データコードの先頭の信号がLレベルからHレベルに変化するケース全ての場合を仮定して、当該全ての場合について網羅的にノイズ等の影響を除去する処理を行う工程であるからである。ゆえに、データコードの先頭の信号がLレベルからHレベルに変化した場合には、上記手順a)から手順d)のいずれかの手順によって正しいデータコードが得られる。なお、具体例2で示したように、手順a)から手順d)を所定の順番で行う場合、いずれか一つの手順で特定コードと一致する正しいデータコードが得られた後、その他の手順は行わなくてもよい。
【0041】
しかし、極めて稀なケースではあるが、第一フレームと第二フレーム両方の同じ箇所の信号がLレベルからHレベルに変化した場合等には、正しいデータコードは得られない。このように、上記(2)工程および上記(3)工程において特定コードの一つと一致するデータコードが得られなかったときには、受信したリモコン信号を無効とする((4)工程)。信号を無効にした後、受信機20は待機状態となる。
【0042】
以上説明した本実施形態にかかるリモコン装置1によれば、次のような作用効果が奏される。リモコン装置1が備える送信機10は、第一フレームとこの第一フレームと同じ信号である第二フレームを含むリモコン信号を受信機20に送る。そして、受信機20は、(2)工程において、第一フレームのあるコードを変換して得られた第一変換コードと、それと同種の第二フレームのあるコードを変換して得られた第二変換コードをAND演算処理する。第一フレームまたは第二フレームの信号データにおけるいずれかの信号(コードの先頭の信号を除く「(2n+1)T」時間目における信号)が、ノイズ等によりLレベルからHレベルに変化したとしても、AND演算処理により得られたコードは、正常なコードとなる。例えば、第一フレーム(第二フレーム)のある箇所の信号が、ノイズ等によりLレベルからHレベルに変化したとしても、第二フレーム(第一フレーム)の同一箇所の信号が正しくLレベルと受信できていれば、AND演算処理後の当該箇所の信号は正しく修正され、Lレベルとして受信される。すなわち、当該AND演算処理により、第一フレームと第二フレームの同一箇所の信号が両方ともLレベルからHレベルに変化してしまうという稀なケースを除き、正常なコードが得られる。
【0043】
さらに、上記(3)工程のa)〜d)の処理(変換コードを一つまたは二つシフトさせ、そのシフトさせた部分(先頭)に補助コード“0”または補助コード“01”を挿入する処理)を行うことにより、先頭のLレベルの信号がHレベルに変化したことによって生じる影響が除去され、正常なコードが得られる。すなわち、あるコードの先頭の信号が、ノイズ等の影響によりLレベルからHレベルに変化することによって発生するエラーが防止される。
【0044】
また、本実施形態にかかるリモコン装置1のように、送信機10および受信機20が固定されて使用される固定式のリモコンの場合、信号の送信ラインが一方向になるため、常にノイズ等の影響を受けてしまうおそれがあるが、上記信号処理によってこのノイズ等の影響を除去できる。
【0045】
また、本実施形態にかかるリモコン装置1のように、受信機20に一定レベル以下の信号をカットするノイズフィルタを設ける場合、Lレベルの信号であると判断するレベルを厳しくする(Lレベルの信号であると判断するレベルを上げる)必要がある。そのため、このようなノイズフィルタが設けられている場合には、Lレベルの信号がノイズによってHレベルの信号として誤認されてしまう確率が高まってしまうおそれのあるところ、上記信号処理によってそのノイズの影響を除去できる。
【0046】
以上、本発明の実施形態について詳細に説明したが、本発明は上記実施形態に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の改変が可能である。
【符号の説明】
【0047】
1 リモコン装置
10 送信機
20 受信機
【特許請求の範囲】
【請求項1】
リモコン信号を送信する送信機と、
この送信機から送信されたリモコン信号を受信する受信機と、を備え、
前記受信機から出力される単位時間Tとする論理「0」の波形が時間1TのLレベルとそれに続く時間1TのHレベルからなり、論理「1」の波形が時間1TのLレベルとそれに続く時間3TのHレベルからなる標準フォーマットを採用したリモコン装置であって、
前記送信機は、複数種のコードを有する第一フレーム、および、この第一フレームと同じ信号である第二フレームを含むリモコン信号を前記受信機に送信し、
前記受信機は、前記送信機から受信したリモコン信号を、
(1)第一フレームのあるコードとこのあるコードと同種の第二フレームのコードそれぞれの0を含む自然数である「n」の「(2n+1)T」時間目における信号を抽出し、Lレベルを“0”、Hレベルを“1”として並べた、第一変換コードおよび第二変換コードを得る
(2)前記(1)工程で得られた第一変換コードと第二変換コードをAND演算処理し、得られたコードが予め対応づけられた特定コードの一つと一致するときには、当該得られたコードを正しいコードと判断し、当該コードに一致した前記特定コードの処理を実行する
(3)前記(2)工程において得られたコードが特定コードの一つと一致しない場合には、前記第一変換コードまたは第二変換コードのいずれか一方をシフトさせ、先頭に補助コードを挿入し、他方のコードとAND演算処理することで得られたコードが前記特定コードの一つと一致するか否かを判断し、一致したときには、当該得られたコードを正しいコードと判断し、当該コードに一致した前記特定コードの処理を実行する
(4)前記(2)工程および前記(3)工程において前記特定コードの一つと一致するコードが得られなかったときには、受信した前記リモコン信号を無効とする
前記(1)工程から(4)工程を含む手順で処理することを特徴とするリモコン装置。
【請求項2】
前記(3)工程において前記特定コードの一つと一致しない場合に得られるコードは、
a)前記第一変換コードを一つシフトさせ、その一つ分先頭に補助コード“0”を挿入したコードと、前記第二変換コードとをAND演算処理して得られたコードとする
b)前記第一変換コードを二つシフトさせ、その二つ分先頭に補助コード“01”を挿入したコードと、前記第二変換コードとをAND演算処理して得られたコードとする
c)前記第二変換コードを一つシフトさせ、その一つ分先頭に補助コード“0”を挿入したコードと、前記第一変換コードとをAND演算処理して得られたコードとする
d)前記第二変換コードを二つシフトさせ、その二つ分先頭に補助コード“01”を挿入したコードと、前記第一変換コードとをAND演算処理して得られたコードとする
前記a)からd)に示すいずれかの手順で得られる請求項1に記載のリモコン装置。
【請求項3】
前記特定コードは、リモコン装置が搭載された機器の種別や各動作と予め対応づけられたものであることを特徴とする請求項1または請求項2に記載のリモコン装置。
【請求項1】
リモコン信号を送信する送信機と、
この送信機から送信されたリモコン信号を受信する受信機と、を備え、
前記受信機から出力される単位時間Tとする論理「0」の波形が時間1TのLレベルとそれに続く時間1TのHレベルからなり、論理「1」の波形が時間1TのLレベルとそれに続く時間3TのHレベルからなる標準フォーマットを採用したリモコン装置であって、
前記送信機は、複数種のコードを有する第一フレーム、および、この第一フレームと同じ信号である第二フレームを含むリモコン信号を前記受信機に送信し、
前記受信機は、前記送信機から受信したリモコン信号を、
(1)第一フレームのあるコードとこのあるコードと同種の第二フレームのコードそれぞれの0を含む自然数である「n」の「(2n+1)T」時間目における信号を抽出し、Lレベルを“0”、Hレベルを“1”として並べた、第一変換コードおよび第二変換コードを得る
(2)前記(1)工程で得られた第一変換コードと第二変換コードをAND演算処理し、得られたコードが予め対応づけられた特定コードの一つと一致するときには、当該得られたコードを正しいコードと判断し、当該コードに一致した前記特定コードの処理を実行する
(3)前記(2)工程において得られたコードが特定コードの一つと一致しない場合には、前記第一変換コードまたは第二変換コードのいずれか一方をシフトさせ、先頭に補助コードを挿入し、他方のコードとAND演算処理することで得られたコードが前記特定コードの一つと一致するか否かを判断し、一致したときには、当該得られたコードを正しいコードと判断し、当該コードに一致した前記特定コードの処理を実行する
(4)前記(2)工程および前記(3)工程において前記特定コードの一つと一致するコードが得られなかったときには、受信した前記リモコン信号を無効とする
前記(1)工程から(4)工程を含む手順で処理することを特徴とするリモコン装置。
【請求項2】
前記(3)工程において前記特定コードの一つと一致しない場合に得られるコードは、
a)前記第一変換コードを一つシフトさせ、その一つ分先頭に補助コード“0”を挿入したコードと、前記第二変換コードとをAND演算処理して得られたコードとする
b)前記第一変換コードを二つシフトさせ、その二つ分先頭に補助コード“01”を挿入したコードと、前記第二変換コードとをAND演算処理して得られたコードとする
c)前記第二変換コードを一つシフトさせ、その一つ分先頭に補助コード“0”を挿入したコードと、前記第一変換コードとをAND演算処理して得られたコードとする
d)前記第二変換コードを二つシフトさせ、その二つ分先頭に補助コード“01”を挿入したコードと、前記第一変換コードとをAND演算処理して得られたコードとする
前記a)からd)に示すいずれかの手順で得られる請求項1に記載のリモコン装置。
【請求項3】
前記特定コードは、リモコン装置が搭載された機器の種別や各動作と予め対応づけられたものであることを特徴とする請求項1または請求項2に記載のリモコン装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2013−70295(P2013−70295A)
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2011−208351(P2011−208351)
【出願日】平成23年9月26日(2011.9.26)
【出願人】(000000011)アイシン精機株式会社 (5,421)
【Fターム(参考)】
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願日】平成23年9月26日(2011.9.26)
【出願人】(000000011)アイシン精機株式会社 (5,421)
【Fターム(参考)】
[ Back to top ]