VIR-USB 接続赤外線学習リモコン

VIR: USB 接続赤外線学習リモコンユニットが入出力する赤外線信号のテキストフォーマットについての解説です

VIR: 赤外線学習リモコンユニットと V-IR コマンドの動作

UNIX では root 権限が必要です

デコード用 Perl スクリプト

標準出力に出力される赤外線信号は、AVR マイコンの RAM を節約するために、最初から可変長の数値フォーマットで表現され、また圧縮されています。これをデコードして通常の表現に戻すために、次の perl スクリプトを用意してあります。

※ "V-IR -raw R" のように -raw オプションを付けて学習すれば、最初からデコード済みの無圧縮、2バイトコードの赤外線信号データが標準出力に得られますが、その場合長い信号は AVR の RAM に入りきらずに学習に失敗することがあります。

decode.pl

% decode.pl <irdata.txt >irdata.csv
(実行結果)
Remote controller IR DATA Decoder for VIR
Header Text:  #
Command: 01H
Frequency: D9, 217(38.02 kHz), 13.2 us
(*):2byte value(>127), (-):repeated value(run-length compressed)
1,265,3498,us,(*)
0,130,1716,us,(*)
1,33,435.6,us
0,34,448.8,us
1,30,396,us
0,99,1306.8,us
1,33,435.6,us
0,34,448.8,us
1,30,396,us
0,32,422.4,us
(中略)
Original=198(byte), Compressed=44(byte), 22.2%

graph.pl

% graph.pl <irdata.txt >irgraph.csv
(実行結果)
us, data.txt
0.00,0
0.00,1
3485.15,1
3485.15,0
5194.85,0
5194.85,1
5628.85,1
5628.85,0
6076.00,0
6076.00,1
6470.55,1
6470.55,0
7772.55,0
7772.55,1
8206.55,1
(後略)

graph1.png

Excel の散布図でグラフ化した例

赤外線信号のテキストフォーマットの解説

図1 は VIR で Panasonic TV リモコンの「入力切替」ボタンの信号を学習したときの出力例です。

irdata1.png
図1: R コマンドによる赤外線データの取得結果(Panasonic TV リモコン「入力切替」ボタンの例)
 

テキストフォーマットの詳細(可変長表現とランレングス圧縮)

図1の「④赤外線信号本体」部分は1バイトまたは2バイトの可変長で表現されています。図2図1の「④赤外線信号本体」の先頭部分のデコード結果です。(A) が図1 の生データで、(B) はこれを図3に従ってデコードした結果です。(C) が (B) に単位時間を乗じて求めた実際の時間です。

この回路では、単位時間はキャリア周波数によって変わります。キャリア周波数を2倍して逆数を取ると単位時間が求められます。この例では単位時間は 13.2μs です。

irdata3.png
図2: 図1の ④赤外線信号本体 の先頭部分
 
irdata2.png
図3: デコードの方法
 

可変長表現

変形ランレングス圧縮

Counter: 4449, today: 1, yesterday: 3

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS