【発明の詳細な説明】
パルスコードビットセルの復調
発明の背景
本発明はパルスコードビットセルの復調に関するものであり、更に詳しくはハ
イ及びローの期間が歪んだパルスコードビットセルを正しく復調するための補償
技術及び装置に関するものである。
リモートコントロールユニットによって、ユーザーはある機器をそこから少し
離れたところから操作することができる。ワイヤレスリモートコントロールユニ
ットは、操作する機器と物理的にケーブルでつながれている必要性を無くしたた
め、ユーザーにとって便利さが更に増す。現在消費者は、オーディオやビデオ機
器など、家庭にある多数の機器のリモートコントロールユニットを使用するのに
慣れている。さらにまた、ワイヤレスリモートコントロールによってもたらされ
る利益は、パーソナルコンピューターなどの他の種類の機器にこの特徴を取り入
れようとする動機を与え続けている。
典型的なリモートコントロールユニットは、制御する機器又はその機器の側に
ある受信機へ向けて赤外線を送ることにより操作する。通常、ユーザーがリクエ
ストしたある特定の機能を見分ける情報に、赤外線を符号化することが必要であ
る。それには、それぞれの機能をそれぞれに対応する1つの「0」と「1」のス
トリングに変換し、そしてパルス幅変調(PWM)の形式を利用してこれらの「0
」及び「1」を送信された赤外線ビームに符号化することにより実行される。機
器側では、変調された赤外線ビームを赤外線インターフェースが受信し、ビーム
を復調して「0」及び「1」に戻し、それから、実行すべきコマンドを識別する
。
パルス幅変調では、パルスキャリアは、符号化される値(この場合は「0」か
「1」)が相対的な継続時間のパルスを発生するように変調される。図1A及び1
Cは、変調されたパルスを示す図である。図1Aは数値「0」に対応するように変
調されたビットセルを示す。このビットセルはハイの期間101と、ローの期間
103によって構成される。このハイの期間101の継続時間はT1であり、ロ
ーの期間の継続時間はT2であり、この場合T1と等しい。
図1Cは数値「1」に対応するように変調されたビットセルを示す。このビッ
トセルもまた、ハイの期間101’と、ローの期間103’とを持つ。このタイ
プの符号化では、ハイの期間101’の継続時間がT1であるように、数値「0
」を符号化する場合と同様にハイの期間が固定されている。しかし、図1Aのビッ
トセルと異なり、図1Cのビットセルはハイの期間101’の継続時間の2倍の
長さであるローの期間103’を持つ。つまり、数値「1」を符号化するために
は、T2’=2×T1’=2×T1である。結果として、与えられたビットセル
の二値の値はどれも、ローの期間に対するハイの期間の割合を求めることにより
決定することができる。もしローの期間がハイの期間と等しい継続時間を持つの
であれば、符号化された数値は「0」である。そうでなければ、ローの期間の継
続時間はハイの期間の継続時間の2倍であり、符号化された数値は「1」である
。
ビットセルの数値を評価するための公知の方法は、ビットセルのハイの期間中
に第1の固定反復レートで、0からカウントアップする。そして、ビットセルの
ローの期間中に、Tupで表される前出のカウントアップをする際のそれぞれのイ
ンターバル(「カウントアップインターバル」)よりも50%長い、TDOWNで表
されるインターバル(「カウントダウンインターバル」)となるように、第1の
反復レートより遅い反復レートで、このカウント値は1秒につき1ずつ減らされ
る。ビットセルの最後で最終的に得られたカウント値の正負記号が、ビットセル
中の符号化された値に対応する。つまり、最終的に得られたカウントが正の値で
あれば、そのビットセルは数値「0」を示していたことになる。もし、最終的に
得られたカウント値が負の値であれば、そのビットセルは数値「1」を示してい
たことになる。
このことを図1B及び図1Dに示す。図1B及び図1Dはそれぞれ、図1A及び
1cに示すビットセルに対応するカウント動作を示す。図1Bにおいて、カウン
トは0から始まり、RATEUP=1/TUPに等しいレートでハイの期間101の間、
COUNTHIGH=T1×RATEUP=T1/Tupになるまでカウントアップする。そして
、ローの期間103の間、最終カウントがCOUNTL0W=COUNTHIGH−(T
2×RATEDOWN)=COUNTHIGH−T1/TDOWNになるまで、RATEDOWN=1/TDOWN
に等しいレートでカウントダウンする。TDOWN=TUP+(Tup/2)でT2=T
1のため、この場合のカウント値は正の数であり、従ってこのビットセルは数値
「0」として符号化されたことを示す。
同様に、図1Dは図1Cに表すビットセルのカウント動作を示す。図1Dにお
いて、やはりカウントは0から始まり、RATEUP=1/TUPに等しいレートでハイ
の期間101’の間、COUNTHIGH’=T1’×RATEUP=T1’/TUPになるまでカ
ウントアップする。そして、ローの期間103’の間、最終カウント値がCOUNTL OW
’=COUNTHIGH’−(T2’×RATEDOWN)=COUNTHIGH’−2×T1’/TDOWN
になるまで、RATEDOWN=1/TDOWNに等しいレートで1回に1ずつカウントダウ
ンする。TDOWN=TUP+(TUP/2)でT1’=T1のため、このカウント値は
負の数になり、このビットセルは数値「1」として符号化されたことを示す。
実際には、変調された赤外線ビームは通常、自動ゲインコントロール(AGC)
バーストに続く二値データストリームとして送信される。AGCバーストの目的は
、データストリームが正しく受信できるように赤外線受信機のゲインが適切に設
定されるように、赤外線受信機にあるAGC回路にサンプル信号を提供することで
ある。赤外線データフォーマットは典型的にはデータの繰り返しを必要とし、先
に送信されたデータにマッチしないデータを廃棄することによってデータストリ
ームの間違った評価を避けることができる。典型的には、3つの続くデータスト
リームが同一の評価結果となって始めて、そのデータが有効なものとして認めら
れる。
上記の従来例における技術の問題点は、データストリーム評価における誤りが
、AGCハードウエアにおいて間違った初期ゲイン設定をさせる結果となってしま
うかも知れないことである。この問題が起きると、受信されたビットセルのハイ
の部分の期間は短くなるのに対して、ローの部分の期間が長くなってしまう。セ
ルのローの部分が長くなった期間はハイの部分が短くなった期間とおおよそ等し
く、従って、ビットセル全体の継続時間は殆ど一定となる。また、AGC回路が反
対方向にタイミングエラーを引き起こす可能性があり、その場合受信したビット
セル
のハイの部分が送信されたビットセルのそれよりも長くなってしまい、また、受
信したビットセルのローの部分は短くなってしまう。
このタイプのエラーが起きるとカウントアップ動作の継続時間が影響を受け、
COUNTHIGHの値が間違う原因となる。このことが間違ったカウントダウンの継続
時間と相まって、最終COUNTLOWの値を間違ったものにしてしまう。このCOUNTLOW
の値が間違った正負記号を持った場合、ビットセルに間違った評価が為される。
この問題は、データストリームがかなりの回数繰り返されてAGC回路が正しい
ゲイン量に落ち着くまで、繰り返し起こる。AGC回路を安定させるのに必要な反
復回数は、信号の質によって異なる。上記の標準的な評価方法を使用すると、最
初の2つのデータストリームは殆どの場合適切に評価されないことが観察されて
いる。
開示
従って、本発明の目的は、受信されたハイ及びローのビットセル期間の継続時
間に影響を与えるエラーが存在する場合に、ビットセルの符号化された値を正確
に評価するための方法及び装置を提供することである。
また本発明の他の目的は、整数算術のみを用いて、ビットセルの符号化された
値を正確に評価するための方法及び装置を提供することである。
本発明によれば、方法及び装置は、「0」と「1」のような、第1と第2の値
からなるグループから選ばれた少なくとも1つのデータ値で以前に変調されたパ
ルス幅変調信号を復調する。パルス幅変調信号は、少なくとも1つのデータ値に
対応する少なくとも1つのビットセルからなる。上記ビットセルのそれぞれは、
第1の期間と第2の期間からなり、第1の期間は第1の継続時間を持ち、第2の
期間は第1の値か第2の値のどちらかに対応するデータ値に対応して、第2の継
続時間か第3の継続時間のどちらかを持つ。
本発明の一形態によると、方法は、それぞれのビットセルについて上記ビット
セルの第1期間の実継続時間を検出し、そしてビットセルの第1期間の実継続時
間と相対的な実第1信号値を生成する。そして、実第1信号値と予想第1信号値
を用いて第1調整量が決定され、実第1信号値を調整するために使用される。次
に方法は、上記ビットセルの第2期間の実継続時間を検出し、最終的な調整済み
値を生成するために調整済みの第1信号値を更に第2調整量によって調整する。
第2調整量は、上記ビットセルの第2期間の実継続時間に相対的である。最後に
、標準値よりも大きい値または以下の値のどちらかを持つ最終的な調整済み信号
に応じて、第1の値か第2の値かのどちらかを持つ信号が生成される。
また、本発明の更なる特徴によると、第1調整量を決定する工程は、ビットセ
ルの予想された第1期間の継続時間からビットセルの実第1期間の継続時間を差
し引いた時間差を決定し、その時間差に予め決められた比率をかけ、第1調整量
を生成する。その予め決められた比率は、更なる調整工程において調整済みの実
第1信号値がある時間毎に調整される値の比であってもよい。
また、本発明の別の例によると、上記の方法は、ビットセルそれぞれについて
実カウント値を第1カウント値に初期化し、ビットセルの第1期間中に第1間隔
でパルス幅変調信号を繰り返しサンプルリングする。第1間隔のそれぞれで、実
カウント値は第1増加量によって調整される。また、この方法は第1期間の終わ
りを検出し、それに応じて、訂正済みカウント値を決定するために調整済み実カ
ウント値と予想カウント値とを用いる。そして、パルス幅変調信号はビットセル
の第2期間中、第2の間隔で繰り返しサンプルリングされ、訂正済みカウント値
は第2の間隔それぞれで第2増加量によって調整される。更に方法は、第2期間
の最後を検出し、それに応じて、標準値より大きい値かそれ以下の値のどちらか
である調整された訂正済みカウント値に応じて、第1の値又は第2の値のどちら
かを持つ信号を生成する。
本発明の別の例によれば、それぞれのビットセルにおいて、第1期間は第2期
間より先にあってもよい。
また、別の例によれば、第1期間はハイの期間であり、第2の期間はローの期
間である。
また、別の例によれば、第2増加量は、第1増加量の正負記号と正反対の正負
記号を持つ。
また、別の例によれば、基準値は0である。
また、別の例によれば、パルス幅変調信号はパルス幅変調赤外線ビームである
。
また、本発明の更なる特徴によると、訂正済みカウント値は、予想カウント値
に、ビットセルの予想第1期間の継続時間とビットセルの実第1期間の継続時間
との時間差を第2の間隔の周波数にかけて得られた値とおおよそ等しい量を加え
ることによって決定される。
また、本発明の更なる例では、訂正済みカウント値を決定する工程は、整数算
術のみを使って行われる。
本発明の更なる例によれば、訂正済みカウント値を決定する工程は、予想カウ
ント値から調整済み実カウント値を差し引いて異なる値を生成し、その差分値を
2等分し、この2等分された差分値に予想カウント値を加えて、訂正済みカウン
ト値を生成する工程を含む。
また、本発明の別の例によれば、減算、乗算、加算のそれぞれの工程は、調整
済み実カウント値が上記予想カウント値よりも小さい時にのみ行われ、また、訂
正済みカウント値を決定する工程は、調整済みカウント値が予想カウント値以上
の場合、調整済み実カウント値を訂正済みカウント値として使用する工程を更に
含む。
更に、本発明の別の例によれば、パルス幅変調信号を復調する装置は、ビット
セルの第1期間の実継続時間を検出するための第1検出手段を持つ。第1カウン
ト手段は第1検出手段と連動し、上記ビットセルの第1期間の実継続時間と相対
的な実カウント値を生成する。カウント訂正手段は第1カウント手段に連動し、
訂正済みカウント値を決定するために実カウント値と予想カウント値とを使用す
る。上記装置は更に、上記ビットセルの第2期間の実継続時間を検出するための
第2検出手段と、上記カウント訂正手段と上記第2検出手段とに連動し、最終的
な調整済みカウント値を生成するために、調整量で訂正済みカウント値を調整す
るための第2カウント手段とを備える。調整量は、ビットセルの第2期間の実継
続時間と相対的である。また、上記装置は、基準値より大きい値又はそれ以下の
値のどちらかを持つ最終的な調整済み値に基づいて、第1の値又は第2の値のど
ちらかを持つ信号を生成するための、第2カウント手段に連動する信号生成手段
を更に備える。
また、本発明によれば、パルス幅調整済み信号はパルス幅調整済み赤外線ビー
ムであり、上記装置は、パルス幅調整済み赤外線ビームを検出して検出した結果
から上記第1検出手段に提供されるパルス幅調整済み電気信号を生成する、上記
第1検出手段と連動する赤外線インターフェースを更に備える。
上記方法及び装置は、ビットセルの第1期間の継続時間を検出し、それによっ
てカウントを調整することにより、ビットセルのハイ及びローの期間の継続時間
を変形するようなエラーがあっても、パルス幅調整済み信号を正しく復調するこ
とができる。
図面の簡単な説明
本発明の目的及び利点は、以下の図面を用いた詳しい説明を読むことによって
理解されるであろう。
図1Aから図1Dは、値「0」及び値「1」を持つように符号化された変調済み
パルス及び、復調処理に含まれる従来技術のカウント操作を示す。
図2Aから図2Dは、短かすぎるハイの期間と長すぎるローの期間とを持つ実
パルスを予想パルスと比較する図である。
図2Eは、本発明における図2Aから図2Dに示すパルスを復調するために使
用されるカウント値のグラフを示す図である。
図3は、本発明を更に詳しく説明するために加えられた追加的な特徴を持つ、
図2Eを拡張した図である。
図4aから図4dは、長すぎるハイの期間と短かすぎるローの期間とを持つ実
パルスを予想パルスと比較する図である。
図4eは、本発明における図4aから図4dに示すパルスを復調するために使
用されるカウント値のグラフを示す図である。
図5は、本発明の実施例における、パルスコードを変調された赤外線ビームを
受信し復調するブロック図である。
図6は、本発明における方法を示すフローチャートである。
実施例
本発明は、ビットセルが「0」または「1」のどちらとして符号化されたもの
であっても、ハイの期間などのようなビットセルの一つの期間というものは既知
の値の定数であろうと予想されるという観察に基づく。従って、受信されたビッ
トセルの測定されたハイの期間で検出されたエラーは、そのビットセルのローの
期間に行われた測定を訂正するために使用される。これは、本発明の一実施例に
おいて、訂正ファクターをビットセルのハイの期間に蓄積されたカウント値に加
算することによって達成される。そして、この訂正されたカウント値は、カウン
トダウン操作の最後に得られる最終的なカウント値が、符号化された値が「0」
かまたは「1」だったかを正確に示す正負記号を持つであろうことを保証する。
上記の方法の適例を、図2Aから図2fを参照にして以下に詳しく説明する。以
下の記述で、「予想(expected)」という言葉は、外乱によるエラーがない場合
において受信又は計算されるであろう波形または他の値を示すために使用される
。これらの波形及び計算値は、このシステムの設計に一致するものである。対照
的に、「実(actual)」という言葉は、実際に受信又は計算されたそのままの波
形又は他の値がおそらくはエラーを引き起こすような信号の処理を受ける対象と
なるために、これらを示すために使用される。実際には、時によりエラーの量が
異なるため、「実」波形及び計算値は予め分からない。その結果、「実」値はビ
ットセルが受信されたときに計測されなければならない。
図2Aは値「0」を示す第1「予想」(つまり、変形していない)ビットセル
を示し、図2Bは値「1」を示す第2予想ビットセルを示す。どちらのビットセ
ルにおいても、「TEXPECTED_HIGH」で表現されているハイの期間の継続時間は、6
00μSとして示されている。図2Aの第1予想ビットセルにおいて、「TEXPECT ED_LOW0」
で表現されているローの期間の継続時間もまた600μSとして示され
ており、このビットセルは「0」を表すものであることを示している。図2Bの
、「TEXPECTED_LOW1」で表現されている第2予想ビットセルのローの期間の継続時
間は1200pSであり、第2予想ビットセルは「1」を表すものであることを
示している。
図2Cは値「0」を示すと仮定される、第1実ビットセルの例を示す。図2D
は値「1」を示すと仮定される、第2実ビットセルの例を示す。しかし、不正確
なゲイン設定のためにAGCハードウエアによって生成される上述のタイプのエラ
ーなどの外乱によるエラーのために、第1及び第2実ビットセルは、継続時間が
変形されたハイ及びローの期間を持つ。この例では、「TACTUAL_HIGH」で表現され
る第1及び第2実ビットセルは両方共400μSである。このように、外乱によ
るエラーは、ハイの期間を600μS−400μS=200μSに相当する時間
だけ短くしてしまう。図2Cの第1実ビットセルでは、「TACTUAL_LOW0」で表現さ
れるローの期間の継続時間は800μSで示されている。値「0」を示すために
は、この値は600μSでなければならないことから、ローの期間の継続時間は
200μS延長されていることになる。図2Dの「TACTUAL_LOW1」で表現される、
第2実ビットセルのローの期間の継続時間は、1400μSである。値「1」を
示すためには、この値は1200μSでなければならないため、この時点でのロ
ーの期間の継続時間はやはり200μS延長されていることになる。どちらの場
合についても、ローの期間が延長された分とおおよそ等しい時間が対応するハイ
の期間で短縮されているので、ビットセル全体の継続時間は、対応する予想ビッ
トセル全体の継続時間と殆ど同じである。もちろん、ここで使われた様々な値は
説明のためだけに他ならず、このような値の選択については設計選択の問題であ
り、本発明の実施に影響しないことは、当業者は気付くだろう。
図2Eは、図2Aから図2Dに示すビットセルのカウント値を時間の関数とし
て表したグラフである。まず予想カウントについて見てみると、0で示された点
では初期のカウンター値は0であることが分かる。この例では、カウントアップ
間隔TUPは10μSであるため、カウント値は第1及び第2予想ビットセルのハ
イの期間中、図2EのグラフのO地点から、COUNTEXPECTED_HIGH=600μS×
1カウント/10μS=60の値へと上昇する。この値を、点B’として図2E
のグラフに示す。
この例では、カウントダウン間隔はTDOWN=TUP+(1/2×TUP)=15μS
である。従って、第1予想ビットセルでは、カウント値は60からCOUNTEXPECTE D_LOW0
=60−600μS×1カウント/15μS=20の値へと減少する。こ
の値を、点Dとして図2Eのグラフに示す。この結果のプラス記号
は、第1ビットセルが値「0」を表すことを正しく示している。
比較として、第2予想ビットセルでは、カウント値は点B’のCOUNTEXPECTED_ HIGH
=60からCOUNTEXPECTED_LOW1=60−1200μS×1カウント/15μ
S=−20の値へと減少する。この値を、点Fとして図2Eのグラフに示す。こ
の結果のマイナス記号は、第2ビットセルが値「1」を表すことを正しく示して
いる。
第1及び第2実ビットセルについては、非常に異なる結果が得られる。第1及
び第2実ビットセルの両方について、カウント値は図2Eのグラフの点Oの値0
からそれぞれのハイの期間にCOUNTEXPECTED_HIGH=400μS×1カウント/1
0μS=40へと上昇する。この値を、点Gとして図2Eのグラフに示す。
そして、第1実ビットセルについては、カウント値はグラフの点Gの40から
、COUNTACTUAL_LOW0=40−800μS×1カウント/15μS=−13.33
3の値へと減少する。この値を、点Hとして図2Eのグラフに示す。ここでは、
この結果のマイナス記号は、実際には第1ビットセルが値「0」を表すべきとこ
ろを、誤って値「1」を表すことを示すことから、エラーの影響は明らかである
。
第2実ビットセルについては、カウントは点GのCOUNTACTUAL_HIGH=40から
COUNTACTUAL_LOW1=40−1400PS×1カウント/15μS=−53.33
3の値へと減少する。この値を、点Iとして図2Eのグラフに示す。この結果の
マイナス記号は、第2ビットセルが値「1」を表すことを正しく示している。し
かし、これが正しい値であったとしても、全てのデータが値「1」として復号さ
れることを考えると、この結果は些細な慰めでしかない。
次に図3を参照して、本発明の技術を更に詳しく説明するために加えられた追
加の特徴と共に、図2Eを拡張した図である。図2Eと図3のグラフで同じ点は
同じ参照記号で示されている。
図2Aから図2Dに関して上記で説明した同じ例を用いると、図3は、点Gに
おいて、第1及び第2実ビットセルが40に等しいCOUNTACTUAL_HIGHの値を生成
したことを示す。本発明によると、図中の点Bで示される値を生成するために、
訂正値がこのカウントに加算される。従って、点Bでの値はCOUNTCORRECTED=CO
UNTACTUAL_HIGH+CORRECTIONの式で表される。
点Bは、実際のビットセルのハイの期間の終わりに対応する、時間=TACTUAL_ HIGH
で評価された線分B'DEF上の点を表す。カウントダウン動作が始まる前にこ
の調整を行っておくことにより、次第に減少するカウントは、線分BB'DEFに添っ
て進み、第1実ビットセルの結果のカウントはCOUNTEXPECTED_LOW0と等しくなり
、また第2実ビットセルの結果のカウントは、COUNTEXPECTED_LOW1と等しくなる
ことを確認することができる。
これでCOUNTCORRECTEDの値を得る方法を導きだすことができる。aを線分BCの
長さ、yを線分CGの長さとすると、図から分かるようにCORRECTION=a+yである
。従って、
COUNTCORRECTED=COUNTACTUAL_HIGH+CORRECTION
=COUNTACTUAL_HIGH+a+y
=(COUNTACTUAL_HIGH+y)+a
=COUNTEXPECTED_HIGH+a
=TEXPECTED_HIGH×RATEUP+a
である。
「a」の値は式a=b×tanAから見つけることができる。ここで、bは線CB’の
長さであり、AはBB'Cがなす鋭角である。また、tanAの値はビットセルのロー
の期間中のカウンター値を表す線分の傾きと対応することが分かる。
bの値は、TEXPECTED_HIGHがシステムの構成によって分かる値、またTACTUAL_ HIGH
が計測された値とすると、式b=TEXPECTED_HIGH−TACTUAL_HIGHから容易に
計算することができる。
A’をB'EC’がなす角とすると、幾何学の原理からA=A’を確認することが
でき、従って、a’を線分B'C'の長さ、b’を線分C'Eの長さとすると、tanA=ta
nA’=a’/b’である。a’の値はCOUNTEXPECTED_HIGH=TEXPECTED_HIGH×RATEUP
と等しいので、その値は既に分かっている。また、b’の値は、b’=(TEXPECT ED_LOW0
+TEXPECTED_L0W1)/2であることに注目すると簡単に決定することがで
きる。
値a’/b’は、ビットセルのローの期間中にカウントが減少するレートと等し
いことが分かる。この値RATEDOWNは、システムが設計された時点で分かる定数
である。従って、実際には、カウントが訂正されるときにこの値を決定する計算
を行う必要はない。
ここで下記の式により訂正済みカウント値を決定することができる。
COUNTCORRECTED=TEXPECTED_HIGH×RATEUP+a
=TEXPECTED_HIGH×RATEUP
+((a’/b’)×(TEXPECTED_HIGH−TACTUAL_HIGH))
ここで、a’及びb’は、分かっている値から上記のとおりに計算された値である
。
従って、本発明にかかる生成された最終的なカウント値は、
COUNTFINAL=COUNTCORRECTED−TACTUAL_LOWX×RATEDOWN
である。ここで、TACTUAL_LOWXは、どのビットセルが受信されたかに応じてTACT UAL
_LOW0もしくはTACTUAL_LOW1であり、この最終カウントは、受信されたハイ及
びローの期間にエラーが外乱によらない場合に生成されるであろうものと同じ値
を持つ。
上記の式は、エラーが実ビットセルのハイの期間を短くしてしまい、実ビット
セルのローの期間を長くしてしまう例に関して導き出されたものである。しかし
、これらの式は、上記の反対の問題、つまり、実ビットセルのハイの期間が延長
されてしまい、また実ビットセルのローの期間が短縮されてしまう場合にも同様
に適用することができる。この状態を図4aから図4eに示す。
図4aから図4eは、それぞれの予想ビットセルが「0」及び「1」の値を表
す場合を示す。
図4cは、間違ったゲイン設定等の、AGCハードウエアが生成したハードウエ
アエラーのために、ハイの期間が200μS延長され、ローの期間が200μS
短縮された「0」の値を表す実ビットセルを示す。同様に、図4dは、ハイの期
間が200μS延長され、ローの期間が200μS短縮された「1」の値を表す
実ビットセルを示す。
図4eは、図4aから図4dに示すビットセルのカウント値を、時間の関数と
して表したグラフである。この状態で分かるように、カウントアップ操作が長く
続き過ぎるため、点G’で表されるCOUNTACTUAL_HIGHの値は高すぎる。また、カ
ウントダウン操作時間が短続き過ぎるため、どのように実ビットセルが符号化
されたかに関わらず、最終カウント値(点H’=53及びI'=13)はプラス
である。
本発明によれば、この状態は、上記と全く同じように計算されて得られたCOUN
TCORRECTEDの値をCOUNTACTUAL_HIGHの値に代入することで訂正することができる
。ハイの期間が誤って延長され、ローの期間が誤って短縮された状況においても
上記と同じ公式を応用できるということは、減算が行われる順番のためbの値が
マイナスになるという事実から知ることができる。a’/b’の値(=tanA)はプ
ラスのままであるが、そのために「a」のマイナスの値を計算し、COUNTCORRECTE D
の値がCOUNTEXPECTED_HIGHの値よりも小さくなる。
本発明の好適な実施例における、パルス幅変調赤外線ビームの受信及び復調を
、図5を参照して説明する。赤外線は赤外線インターフェース501によって検
出され、赤外線インターフェース501は受信した赤外線を、それぞれのビット
を符号化するためのパルス幅変調を用いたパルスコード変調されたシリアル電気
信号の形態の、対応するデータストリームに変換する。この赤外線インターフェ
ース501はパルスコード変調された40kHzのキャリアをパルスコード変調さ
れたシリアルデータストリームに変換する、ソニー(登録商標)SBX1610-51赤外
線リモートコントロールレシーバーであることが好ましい。しかし、自動ゲイン
制御回路が備えられている赤外線受信機であれば、この特定の機器の代わりに使
用することができる。赤外線受信機の構成及び使用については当業者に良く知ら
れているので、ここでは詳しい説明はしない。
赤外線インターフェース501の出力端子は、トラフィックのために赤外線バ
スを監視して赤外線プロトコルを受信したときに復号する機能を持つ、マイクロ
コントローラー503の入力端子に接続されている。マイクロコントローラー5
03は、I/Oポート505と、マイクロプロセッサー507と、プログラム命令
を記憶するプログラムROM 509と、RAM 511とを備える、モトローラMC68HC
05E1/MC68HC705E1マイクロコントローラーであることが好ましい。
ROM509は、入力するパルスコード変調信号をこの説明の内容に従ってマイク
ロプロセッサー507に復号させるプログラムを含む。
この復号方法の実施例で使用されるカウンター513は、RAM511のメモリ
ーロケーションに保持されており、ソフトウエアのルーチンによって維持される
。カウントダウン及びカウントアップインターバル(つまり、ビットセルのサン
プリングを行う時間の間隔)はソフトウエアルーチンの実施時間によって制御さ
れ、そして、そのソフトウエアルーチンの実施時間は、ソフトウエアルーチン中
の指示数と、マイクロプロセッサー指示のそれぞれを実行するために必要とされ
るクロック数と、マイクロコントローラー503に適用されるクロック信号のス
ピードによって決定される。
マイクロコントローラー503は、ビットセルをサンプリングし、そのビット
セルがハイの期間である間はカウントアップし、上記の式を用いて訂正済みカウ
ント値を決定し、そしてビットセルをサンプリングしてビットセルがローの期間
である間、カウントダウンする工程を含む、上記に詳しく記した復号技術を実行
するようにプログラムされてもよい。最終的なカウント値の正負の記号は、ビッ
トセルが「0」又は「1」のどちらに復号されたかに対応する。しかし、他の変
形例が可能であり、その場合、その変形例は単独又は組み合わせで使用されても
よい。
これらの変形例の内、第1の変形例は、分数のカウント値が存在しないように
、全ての計算に整数計算を用いることである。整数計算の使用が許容できないエ
ラーを招くことはなく、また、好ましいマイクロコントローラー503の指示の
セットが整数計算の演算を補助するだけであるので有利である。しかしながら、
分数のカウント値を追いたい場合は、浮動小数点算出のための公知のアルゴリズ
ム等の追加的なソフトウエアアルゴリズムをマイクロコントローラー503に記
憶させなければならない。
実際には、マイクロコントローラー503で実行されるプログラムは、ビット
セルの予め決められたサンプル間隔を維持するために、強制的に有限時間内で実
行される。また、カウント訂正操作をビットセルのハイの部分とビットセルのロ
ーの部分との境界で行う必要がある。しかし、上記の式を用いた正確な計算の実
行に関する実行時間は、サンプル間隔を越える。このことは、ビットセル評価の
最後に、最終カウント値にエラーを招く原因となる。
この問題に関しては、2つの解決法がある。その1つは、補償ファクターを計
算するために必要な時間を補償するために、ビットセル評価の最後に更に訂正値
を用いることである。しかし、この解決法では浮動小数点演算が必要であり、必
要なソフトウエアを複雑にしてしまう。しかも、浮動小数点演算の実行時間は通
常一定ではなく、演算に用いられるパラメーターの関数である。そのため、追加
訂正量を決定することは難しい。
もう一方の解決法は、訂正カウントを計算するために必要な時間がサンプル間
隔よりも短くなるように、計算時間を減らすことである。この解決法は、復号化
処理に大きなエラーを招くことが無いためにより好ましく、追加訂正ファクター
計算を必要としない。この第2の解決法を具体的にする本発明の第2実施例を以
下に詳細に説明する。
このもう一つの実施例の記述のために、予想ビットセル期間を次のように取る
。
TEXPECTED_HIGH=600μS
TEXPECTED_LOW0=600μS
TEXPECTED_LOW1=1200μS
また、サンプル間隔は、
TUP=10μS
TDOWN=15μS
上記の値から、COUNTEXPECTED_HIGH=TEXPECTED_HIGH/TUP=600μS/1
0μS=60を決定することができる。実ビットセルがTACTUAL_HIGH=396μ
S及びTACTUAL_LOW1=1398μSの期間を持つようにエラーが起こったとする
と、ハイ期間の最後での無訂正のカウントは39に等しくなる(整数算術が使用
されたと仮定する)。もし、訂正値が上記の方法で決定されるとすると、13の
値がCOUNTEXPECTED_HIGHの値60に加算され、ビットセルのローの期間が評価さ
れる前にCOUNTCORRECTED=73の値が生成される。しかし、この変形例によれば
、エラーの値として予想カウントと実カウントの差分の半分を取ることにより、
単純に近似値を得ることができる。つまり、CORRECTIONAPPROX=(COUNTEXPECTE D
_HIGH−COUNTACTUAL_HIGH)/2である。そして、COUNTCORRECTED=COUNTEXPEC TED
_HIGH+CORRECTIONAPPROXである。上記の例から、CORRECTIONAPPROX=(60
−39)/2=21/2=10(整数)及
びCOUNTCORRECTED=60+10=70であることが分かる。
この近似訂正カウントを初期値として使用し、ビットセルのローの期間の継続
時間(=TACTUAL_LOW1=1398μS)中、15μSに一回のレートでカウント
ダウンを行うことにより、最終カウント値は、近似値が用いられない場合に生成
されたより厳密な値−20と比べて、−23となることが分かる。この評価の目
的が「1」か「0」のどちらが送信されたかを決定することであり、最終カウン
ト値の正負の記号のみがビットセルの値を示すものであるので、この値の大きさ
は充分に許容できる結果である。つまり、カウンターでの値の大きさは無関係で
ある。
上記の近似法は、割合a/yと近似定数1/2との差が大きすぎないときに、許
容可能な結果を達成する。当業者は、割合a/yが大きく1/2と異なるときは、
別の分数を近似定数として使用できることに気づくであろう。
マイクロコントローラー503の操作を図6のフローチャートを参照にして説
明する。実施例では、マイクロコントローラー503は、訂正されたカウント値
を正確に計算するよりのではなく、上記の近似を行うためにプログラムされてい
る。
ビットセルのハイの期間の最初でビットセルの復号処理がスタートし、ブロッ
ク601でカウンター513は値0に初期化される。次にブロック603でビッ
トセルがハイの期間にあるのかローの期間にあるのかを決定するためにサンプリ
ングされる。もし、ビットセルがハイの期間であるならば、処理はブロック60
5に進み、カウンター513の値が1増加される。次にブロック607で、マイ
クロプロセッサー507は10μSの期間で終わるようにプログラムを実行させ
、その後、ブロック603で処理が再度実行される。ビットセルがハイの期間に
ある間、ブロック603、605、607の処理で構成されるループが繰り返さ
れ、その間中カウンター513の値は10μS毎に上昇する。
ブロック603のテストでビットセルがハイの期間に無いことを示す場合、マ
イクロプロセッサー507は訂正済みカウント値を決定するためにブロック60
9で始まる処理を続ける。ブロック609では訂正値は、60とカウンター51
3に記憶された実値との差分の半分の値を取ることによって決定される。次にブ
ロック611でこの訂正値が60に加算され、その結果がカウンター513に記
憶される。そして処理はブロック613へ続く。
ブロック613、615、617はループを構成し、そのループ中で、ビット
セルがローの期間にある間、カウンター513中の値は15μS毎に減らされる
。ブロック613でビットセルがローの期間に無いと判断されると、処理はブロ
ック619へ進み、カウンター513の最終値の正負記号を調べることによりビ
ットセルの値が決定される。最終カウント値の正負記号がプラスならば、ビット
セルの値は「0」であり、最終カウント値の正負記号がマイナスならば、ビット
セルの値は「1」である。
本発明を特定の実施例に従って説明してきた。しかし、当業者にとって、上記
の好適な実施例と別の形態に本発明を応用できることは明らかである。これは、
発明の精神から離れない範囲で行なうことができる。例えば、赤外線ビームで符
号化されたビットセルに関連して、様々な実施例を表現することができる。しか
し、これは本発明に課される必要事項では決してなく、パルス幅変調を利用する
どのタイプの通信メディアにも応用可能である。また、外乱によるエラーの元は
、AGCハードウエアによって作られた間違ったゲイン設定として説明したが、当
業者にとっては、この発明に関係あることがエラーの物理的な発生事由ではなく
、エラーが現われることであることは明らかであろう。
また、カウントが異なる増加及び減少レートで増加又は減少する技術を上記様
々な実施例で用いたが、別の実施例として、1以外の値で増加したり、増加値と
は異なる値で減少してもよい。また、結果として得られるカウントが上記のもの
と等しくなるのであれば、増加及び減少レートは上記と異なるものでも、お互い
に同じものであってもよい。更に、実カウント操作を行うことは必須ではなく、
例えば、信号積分技術を使用することにより、同様の結果を導きだすことができ
る。
結局、好適な実施の形態は単に説明のためのものであり、制限を加えるものと
考えられるべきではない。本発明の範囲は、上記の説明ではなく以下に示す請求
項によってのみ与えられるものであり、請求項にあてはまる全ての変形例及び同
等のものは、請求項に含まれることを意味する。
─────────────────────────────────────────────────────
フロントページの続き
(81)指定国 EP(AT,BE,CH,DE,
DK,ES,FR,GB,GR,IE,IT,LU,M
C,NL,PT,SE),OA(BF,BJ,CF,CG
,CI,CM,GA,GN,ML,MR,NE,SN,
TD,TG),AP(KE,MW,SD),AM,AT,
AU,BB,BG,BR,BY,CA,CH,CN,C
Z,DE,DK,ES,FI,GB,GE,HU,JP
,KE,KG,KP,KR,KZ,LK,LT,LU,
LV,MD,MG,MN,MW,NL,NO,NZ,P
L,PT,RO,RU,SD,SE,SI,SK,TJ
,TT,UA,US,UZ,VN