2019年07月12日

その学習リモコンであの機器を操作できない原因を探る

はてなブックマークに登録

学習型の赤外線リモコンを使っているとたまにうまく反応しない機器に遭遇することがあります。信号の学習を慎重に行うのは当然として、別の学習リモコン製品では問題のみられないケースもあるためこうした場合にはしばしば「相性」という曖昧な表現が用いられます。しかし、そこには必ず具体的な原因があるはずです。最近の活動の一環として、情報のほとんど見当たらないこの件について調べてみることにしました。

きっかけ

自宅で株式会社ピクセラ様による下記の TV チューナを使っています。

コンパクトでありながら基本性能がとてもしっかりしていることが気に入りプライベートで愛用している製品です。ただ、このチューナは付属のリモコンには機敏に反応するものの、自宅で長年いろいろな機器の操作に使っている手持ち式の某学習リモコンの信号にはほとんど反応しないことを不思議に思っていました。今から 1 年ほど前に導入したあるメジャーなスマートリモコン製品からの操作においても同じ状況だったのですが、すでに純正リモコンでの操作に馴染んでいたこともありあまり気にかけずにいました。

その話題とは無関係に先日高齢の身内のためにできるだけシンプルな学習リモコンが必要になり国外のマーケットから写真の 6 ボタンのみの安価な学習リモコンを調達しました。メーカーは不明、多少割高ながら Amazon.co.jp のマーケットプレイスにも出品されているようです。

このスティック型のリモコンの動作確認を行う過程でふと上のチューナを試してみたところ、これまでの経験が嘘のようにあっさりと反応しました。この結果に驚き、たまたま最近赤外線通信の勉強がてらに ESP32 ボードを使って試作中だった学習リモコン(※)で試してみるとその結果も OK でした。

(※)この試作は所定のリモコン信号をサンプリングした結果をそのまま信号の再現に利用する素朴な内容のものです

この違いは一体何によるものなのか? にわかに興味が湧いてきました。今回はこの件について調べた内容とその結果を紹介します。手元ではこういった視点で事情を掘り下げた例をまだ目にしたことがありませんが、興味深い結果が得られました。

1. 道具立て

一連の実験での題材として、チューナ付属のリモコンの「電源」ボタン押下により照射される信号を利用する。

この信号を以下のよっつの学習リモコンに記憶させ、これらによって再現された信号の内容を検証する。

  1. スティック型リモコン A: チューナ側反応 OK
  2. 試作中のリモコン B: チューナ側反応 OK
  3. 手持ち型リモコン C: チューナ側反応 NG
  4. スマートリモコン D: チューナ側反応 NG

なお、ごのチューナのリモコン信号の形式は家製協フォーマットだった。

2. 信号全体の波形を評価する

まず、各リモコンの信号の波形を確認する。オシロスコープで信号の全体像を観察する要領。以下に各信号をサンプリングした結果のデータとそれを波形の形にプロットした図、さらにそれぞれを元リモコンの信号波形に重ね合わせた図を示す。

  • チューナ付属の純正リモコン信号の波形   (生データ:TSV 形式)
  • スティックリモコン A で再現した信号の波形   (生データ:TSV 形式)

    (元の付属リモコン信号波形との重ね合わせ)
  • 試作リモコン B で再現した信号の波形   (生データ:TSV 形式)

    (元の付属リモコン信号波形との重ね合わせ)
  • 手持ち型リモコン C で再現した信号の波形   (生データ:TSV 形式)

    (元の付属リモコン信号波形との重ね合わせ)
  • スマートリモコン D で再現した信号の波形   (生データ:TSV 形式)

    (元の付属リモコン信号波形との重ね合わせ)

ここでは以下の点に注目したい。

  • 反応 OK だったスティックリモコン A の信号波形が元信号のそれとほぼ一致しているのに対し、反応 NG だった手持ち型リモコン C の波形ではタイミングのずれが目立つ
  • その一方で、同じく反応 NG のスマートリモコン D の照合結果にはあまりこのずれは見られず、むしろ反応 OK だった試作リモコン B の波形のほうがずれが大きい

この結果から、手元のチューナに A, B の信号が受けいれられ、C, D の信号が弾かれる現象の主因は信号全体のタイミングのずれではないことが推察される。

3. 信号を構成するパルスの品質を評価する

パルスに注目する理由

前項ではまず各信号の全体の波形に注目したが、機器側の反応が異なる原因をそこから探り当てることはできなかった。別の評価軸として、それぞれの信号を構成するパルス群の粒度に目を向けることを思い立った。そのきっかけは、先だって赤外線リモコン信号からビットデータの抽出を試みていた折に次の点が気になったことにある。

  • 受信した赤外線信号に含まれるパルスの幅の揺れをどの程度許容すべきか?

赤外線発光素子から発信された信号を受光素子経由で受信した結果の信号に含まれるパルスの幅には理論値から外れた「揺れ」の要素がつきものであるため、そこからデータを読み取る際にはパルス幅および ON / OFF パルス比率の理論値とのずれを見越した許容範囲の設定に注意が必要となる。この許容範囲を逸脱したパルスからは適切にデータを読み取ることができないためその線を疑った。

パルス品質を評価するための基準

残念ながら手元では今のところ家製協フォーマット規約の一次資料の発掘には至っていない。代わりに、このフォーマットを読み解くための情報源として、赤外線リモコンの信号形式に関する話題においてしばしば言及される次の貴重な資料を参照させて頂いている。

これらの資料から、家製協フォーマット信号に含まれるビットデータは以下の構成であることが解釈される。

  • パルス幅の基本長 T は Typical 425 マイクロ秒
  • ビット値 0 は先行する 1T の ON パルスと後続 1T の OFF パルスのペアで表現される
  • ビット値 1 は先行する 1T の ON パルスと後続 3T の OFF パルスのペアで表現される

そのため、家製協フォーマット信号に含まれる各パルスの品質の良否は次のふたつの尺度で客観的に判定することができると考えた。

  1. 「T = 425 マイクロ秒」により近いこと
  2. 「'0' = ON パルス 1T : OFF パルス 1T」 「'1' = ON パルス 1T : OFF パルス 3T」の比率により近いこと

  • 好ましい例: パルス幅と先行・後続パルスの比率が理論値に近い
  • 好ましくない例 1: パルス比は適正でもパルス幅が逸脱 (※図中の値は説明用の例でありあまり意味はない)
  • 好ましくない例 2: パルス比が逸脱 (※図中の値は説明用の例でありあまり意味はない)

以上の内容にもとづき、まずこのチューナの純正リモコン信号のサンプリングデータをもとに、そこに含まれる揺れの要素を排除し理論値に置き換えた「理想形」の信号データを構成することにした。その内容と各リモコンの発する信号データを比較すれば一連の評価を行う上で便宜があるだろう。

3-1 理想形の信号

元信号のデータに含まれる揺れを取り除き理論値にそって 1T = 425 マイクロ秒, 3T = 1,275 マイクロ秒に置き換えたデータとそれをプロットした図を以下に示す。

A: 生データ:TSV 形式

B: 波形
C: データ中のパルス長を順番に 1T で除算した結果
  • 0, 1 の先行パルス、および 0 の後続パルスは 1T = 425 につき 100% が理想
  • 1 の後続パルスは 3T = 1275 につき 300% が理想
D: データに出現するビット値 0, 1 を構成する後続パルス長と先行パルス長の比率
  • 0 は 1T / 1T につき 1.0 が理想
  • 1 は 3T / 1T につき 3.0 が理想
C: のヒストグラム  (生データ:TSV 形式)
D: のヒストグラム  (生データ:TSV 形式)

3-2 チューナ付属の純正リモコンの信号

A: 生データ:TSV 形式

B: 波形
上の元信号(青)と理想形(赤)との重ね合わせ。このようにかなり理想形に近い。
C: データ中のパルス長を順番に 1T で除算した結果
D: データに出現するビット値 0, 1 を構成する後続パルス長と先行パルス長の比率
C: のヒストグラム  (生データ:TSV 形式)
D: のヒストグラム  (生データ:TSV 形式)

評価

波形の全体像が理想形にきわめて近いことに驚いた。パルス幅およびパルス比の粒度に注目。これが純正リモコンのクオリティ。

3-3 スティックリモコン A による再現信号

A: 生データ:TSV 形式

B: 波形
C: データ中のパルス長を順番に 1T で除算した結果
D: データに出現するビット値 0, 1 を構成する後続パルス長と先行パルス長の比率
C: のヒストグラム  (生データ:TSV 形式)
D: のヒストグラム  (生データ:TSV 形式)

評価

パルス幅・パルス比とも元信号と同等(以上?)に良好。入手以来漠然と品質の高さを感じていたが、今回の調査を通じてこの製品が廉価であるにもかかわらず非常に優れた学習リモコンであることが客観的に明らかになった。

3-4 試作リモコン B による再現信号

A: 生データ:TSV 形式

B: 波形
C: データ中のパルス長を順番に 1T で除算した結果
D: データに出現するビット値 0, 1 を構成する後続パルス長と先行パルス長の比率
C: のヒストグラム  (生データ:TSV 形式)
D: のヒストグラム  (生データ:TSV 形式)

評価

おおむね元の信号に近いパルス品質を確保できている。自作の信号が受けいれられてホッとしました。

3-5 手持ち型リモコン C による再現信号

A: 生データ:TSV 形式

B: 波形
C: データ中のパルス長を順番に 1T で除算した結果
D: データに出現するビット値 0, 1 を構成する後続パルス長と先行パルス長の比率
C: のヒストグラム  (生データ:TSV 形式)
D: のヒストグラム  (生データ:TSV 形式)

評価

ビット値 0, 1 ともに先行パルス長がコンスタントに理論値をオーバー、0 の後続パルス長は逆に大きくアンダーとなる傾向が顕著にみられる。先行パルス長の影響でパルス比は全体的に目立って低い。かなり癖のある信号と考えられる。パルス幅のばらつき、パルス比の低さ、そのいずれかあるいは両方がチューナ側に許容されなかったことが反応 NG の原因と考えられる。

3-6 スマートリモコン D による再現信号

A: 生データ:TSV 形式

B: 波形
C: データ中のパルス長を順番に 1T で除算した結果
D: データに出現するビット値 0, 1 を構成する後続パルス長と先行パルス長の比率
C: のヒストグラム  (生データ:TSV 形式)
D: のヒストグラム  (生データ:TSV 形式)

評価

元信号との波形全体の照合でのタイミングずれは目立たなかったが、パルス幅にもパルス比にも非常にばらつきが大きい。はた目には多くの機器がこの製品の信号でコントロールできていることのほうが不思議にさえ感じられる。一般の家電製品においてリモコン信号データ解釈の許容範囲が広く設定されていることが察せられる。広く利用されている製品であるにもかかわらずこれほど乱れた信号を出しているとは想像していなかった。手元の個体固有の問題? ロットによる品質のばらつき? あるいはスマートリモコンの性質上複数の赤外線 LED を搭載していることの何らかの影響か? いずれにせよ、前掲の「手持ち型リモコン C」の信号を受けいれない機器にこの信号が通用するとは考えにくい。

4. 結論

前項に掲げたパルス幅・パルス比のヒストグラムの図をあらためて並べてみる。俯瞰すると「手持ち型リモコン C」「スマートリモコン D」の信号に含まれるパルス群の品質の乱調がはっきりと見てとれる。他のリモコン分の特徴との差違が顕著であることから、このふたつの学習リモコンの信号が手元のチューナに受けいれられない現象の主因はこのパルスの粒度の乱れにあるものと想定される。












所感

今回の調査を通じて、おそらくは赤外線リモコンの信号に限らずパルス信号全般に共通する品質評価軸の一端を学ぶことができたように思います。目視では波形の全体像が元のリモコン信号のそれとよく似ているにもかかわらず、スマートリモコン D による再現信号(以下に元信号波形との照合図を再掲)が実在の機器で弾かれるケースのあることは象徴的です。

オシロスコープ等で巨視的に信号波形全体を観察することには便宜があり、またその確認はこういった調査を行う際には欠かせませんが、無線通信に用いられる信号はあくまでも先頭から順を追って内容を汲んでいくものであり時間の概念を含まないバーコードのように視覚を通じ一瞬で全体をとらえそこから情報を採取していく性質のものではありません。そのため、信号の品質を判断するためには時間軸にそってミクロに解釈を行う必要もあることを認識する良い機会となりました。


(tanabe)
klab_gijutsu2 at 07:47│Comments(0)IoT 

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
Blog内検索
Archives
このブログについて
DSASとは、KLab が構築し運用しているコンテンツサービス用のLinuxベースのインフラです。現在5ヶ所のデータセンタにて構築し、運用していますが、我々はDSASをより使いやすく、より安全に、そしてより省力で運用できることを目指して、日々改良に勤しんでいます。
このブログでは、そんな DSAS で使っている技術の紹介や、実験してみた結果の報告、トラブルに巻き込まれた時の経験談など、広く深く、色々な話題を織りまぜて紹介していきたいと思います。
最新コメント