接收来自多个发射器的信号的方法和装置的制作方法

文档序号:7568996阅读:480来源:国知局
专利名称:接收来自多个发射器的信号的方法和装置的制作方法
技术领域
本发明涉及一种用来对多个发射器,例如象视听装置的遥控器之类的红外发射器,发射的信号进行接收的方法和装置。同时本发明还涉及一种与上述装置一起使用的遥控器和一个包含一接收装置和多个发射器的系统。本发明在图像和电视领域有重要应用。
人们通常使用的一些电子设备可以通过一无线遥控器来控制,该遥控器向安装于被控电子设备上的接收器发射控制信号。这种发射通常采用红外、超声或者无线电信号,数据由一种适当的载波信号携带。
在某些情况下,对于同一个的接收器能够同时使用多个这样的遥控器是很有益的。于是便出现了这些同时接收的信号之间的干扰问题,以及接收器对每个遥控器的识别问题。
实用新型(Utility Certificate application)n°FR 2698979号介绍了一种包括多个遥控器和单一接收器的系统。
本发明的目的是提供一种能够从至少两个发射器(RCi)接收信号的方法,其中每个发射器发射数据项(“0”,“1”),该数据项由该发射器发射的两个连续脉冲之间的时间间隔(T0i,T1i)来表示,每一发射器以所述时间间隔和脉冲宽度(Tpi)为特征,其中所述方法包括以下步骤接收作为来自所述发射器的信号总和的合成信号;
确定所述合成信号的参数,这些参数包括脉冲的宽度和间隔;分析所述参数并向所述发射器中的一个分配一数据项。
每个发射器以不同的脉冲宽度和时间间隔为特征这一事实使得将所述合成信号有效地分解为其分量信号成为可能。
在一具体实施例中,数据由具有两个数值的二进制码组成。
在一具体实施例中,对第一发射器进行状态变量管理,该变量表示了从发射器接收的信息的当前状态。
在一具体实施例中,所述状态变量的可能值为“等候一条信息的第一二进制码”、“等候更多的二进制码”、“等候该条信息的结束”以及“等候两条信息之间弛豫时间(relax time)的结束”。
在一具体实施例中,当当前脉冲和先前接收到的一个脉冲之间的时间间隔等于对所述指定的发射器规定了二进制码数值的一个时间间隔时,并且当所述先前接收到的脉冲的宽度等于所述指定发射器的脉冲宽度时,该指定发射器的第一个二进制码就被检测到了。
在一具体实施例中,通过增大定义了一数据项的间隔,对存在于所述两脉冲之间的时间间隔和对于所述发射器定义了二进制码数值的间隔进行比较,对于每一定义了二进制码数值的间隔,先前所接收到并存储的所有脉冲都被进行检测。
在一具体实施例中,定义二进制码数值的间隔有两个,如果与一个二进制码数值相关的最短持续时间等于将当前脉冲和先前接收到的脉冲分隔的时间间隔,且除此之外没有二进制码被检测,则所检测的二进制码数值与该最短期间相对应。
在一具体实施例中,只有当当前脉冲的宽度大于或等于指定发射器的脉冲宽度时,该发射器被视为一信息的第一二进制码的来源。
在一具体实施例中,当将至少一个二进制码分配给一发射器时,如果最后脉冲与当前脉冲之间的间隔与该发射器的二进制码间隔(bit intercal)一致,其中最后脉冲将一二进制码分配给该发射器,则另一个二进制码分配给同一发射器。
在一具体实施例中,只有当当前脉冲的宽度大于或等于指定发射器的脉冲宽度时,该发射器被视为一信息的补充二进制码(Supplementary bit)的来源。
在一具体实施例中,如果对一当前脉冲的分析不能使一二进制码分配给一发射器,则该脉冲按脉冲宽度递减的顺序分配给未分配二进制码的第一个发射器,于是所述的如此分配的脉冲定义了一二进制码的起点,该二进制码的第二脉冲将随后来到。
在一具体实施例中,当分配给一发射器的二进制码的数量等于一信息中的二进制码的最大数量时,尽管如此,但该发射器的另一二进制码仍被检测,则该信息的第一二进制码被删除,且检测的最后二进制码加到所述信息上。
在一具体实施例中,如果对当前脉冲的分析不能使一二进制码分配给一发射器,但是该当前脉冲与已存储的倒数第二个脉冲一起形成一个与指定发射器的一二进制数值相应的间隔,并且如果至少有一个二进制码已经分配给该发射器,则分配给该发射器的最后二进制码被新检测值代替。
在一具体实施例中,如果一当前脉冲从未使用过,于是我们寻找一个只分配了一个二进制码的发射器,并确定当前脉冲与分配给所述发射器的第一脉冲之间的间隔是否与所述发射器的一二进制码数值相对应,如果是这样则将该二进制码数值分配给所述发射器。
在一具体实施例中,接收到的每一脉冲的参数在脉冲分析完成后被存储下来。
在一具体实施例中当检测到一二进制码时,从“等候第一二进制码”状态转换为“等候更多二进制码”状态;当根据一条信息的二进制码的最大数目分配给一发射器时,从“等候更多二进制码”状态转换为“等候信息结束”状态;如果在一段时间之后没有接收到根据所述发射器的二进制码,该段时间超过了根据该发射器发出的一二进制码的最长间隔,则从“等候信息结束”状态转换为“等候弛豫时间”状态;当接收到最后的二进制码之后的时间超过所述发射器的弛豫时间(Trn)时,从“等候弛豫时间”状态转换为“等候第一二进制码”状态;在第一二进制码分配之后,当超过所述发射器发出数据的最长间隔的时间后没有接收到其他与该发射器相应的二进制码时,从“等候更多二进制码”状态转换为“等候第一二进制的”状态。
本发明的另一个目的是提供一种用来接收发射器特征信号的设备,包括接收合成信号的装置,该合成信号至少是两个发射器发出的信号的总和,来自每一发射器的数据(0,1)由两个连续脉冲之间的时间间隔确定,该时间间隔以及脉冲宽度表示每一发射器的特征;根据在合成信号中所检测的脉冲宽度以及这些脉冲之间的时间间隔,用来对所述合成信号进行分析的装置。
在一具体实施例中,检测到的脉冲宽度等于由所述发射器发射的脉冲宽度,或与其成比例。
在一具体实施例中,所述接收装置包括一红外接收器,发射红外信号的所述发射器,以及采用同样载波方式的所有装置。
在一具体实施例中,所述分析装置包括一微处理器,一用来存储接收脉冲的数据的存储器,和其他一些用于存储来自所述发射器的与信息相应的二进制码的存储器。
在一具体实施例中,所述接收装置采用根据本发明的信号接收方法。
本发明的另一个目的是提供一种红外遥控器,它与根据本发明的接收装置一同使用。该红外遥控器包括调节脉冲宽度的装置,该脉冲宽度表示发射给所述接收装置的数据,这种调节使得所述脉冲宽度相对于可能同时使用的其他遥控器的脉冲宽度始终具有独特性。
在一具体实施例中,所述遥控器还包括调节两脉冲之间时间间隔的装置,该两脉冲表示所发射的数据(0、1)。
本发明的另一个目的是提供一信号接收系统,包括至少两个发射器,每一发射器以脉冲的形式来表示数据,其脉冲宽度为所述发射器的特征,数据由将该发射器发出的两连续脉冲分开的时间间隔确定,所述间隔也是每一发射器的特征;一接收器,包括接收合成信号的装置,该合成信号是来自所述发射器的信号总和;根据在所述合成信号中检测的脉冲宽度和这些脉冲之间的时间间隔对所述合成信号进行分析的装置。
在一具体实施例中,所述信号接收系统采用根据本发明的信号接收方法。
结合附图,通对下文对一实施例的描述,将对本发明有更好的理解,且其其他优点和特征将更加明了,该实施例仅作为一非限定性的例子。在附图中

图1中的a和b表示在本发明一实施例中由两遥控器发射的信号,c表示由接收器接收的合成信号,该信号为图1a和图1b中信号的叠加;图2是根据本发明实施例的一接收装置的框图;图3是实施例中使用的一例遥控器的框图;图4是根据本发明实施例,用来存储与来自一遥控器的信息相应的二进制码的存储栈状态图,每一个遥控器有一个堆栈;图5是用来获取和分析由红外接收器接收的数据的过程的总流程图;图6表示图5所示过程的第一子程序(“确定第一二进制码”)的流程图;图7为一时序图,表示由两个遥控器发出的信号的特别结构;图8是与图5所示过程的第二子程序(“分析当前二进制码”)相应的流程图;图9a和9b一起表示图5所示过程中第三子程序(“检测最后二进制码”)的流程图;图10表示在图9所示子程序中使用的一程序(“分配脉冲”)的流程图;图11a表示由多个遥控器发射的信号的一种特别结构,其可产生由图9中子程序纠正的第一错误;图11b表示由多个遥控器发射的信号的一种特别结构,其可产生由图9中子程序纠正的第二错误;图11c表示由多个遥控器发射的信号的一种特别结构,其可产生由图9中子程序纠正的第三错误;图12表示图9所示子程序中使用的一程序(“假启动”)的流程图;图13表示用来检测信息的中断和结束的程序(“信息结束”)的流程图。
在下文的描述中,为清楚起见,有时参照泛指的N个遥控器的情况,有时参照N=2这一特定的情况。
在本实施例中使用两个遥控器RC1和RC2,他们以相同的载波频率(例如欧洲的400kHz或者美国56.8kHz)发射红外信号,并且使用相同的通讯协议(communication protocol)。数据作为载波调制信号发出。本发明显然不仅局限于红外发射。
图1描绘了第一遥控器RC1使用的信息编码(以一系列二进制码的形式)。以下四个参数用来描述由RC1发射的信号的特征持续时间Tp1定义了脉冲宽度(持续时间);两个连续脉冲上升沿之间的持续时间T01定义了逻辑值“0”;两个连续脉冲上升沿之间的持续时间T11定义了逻辑值“1”;持续时间Tr1定义了两信息之间最小时间间隔的暂停或“弛豫时间”。
图1b与图1相似它描绘了第二遥控器RC2的编码信息。按通常写法,系数n代表遥控器RCn。
在本实施例中,我们假设Tp1<Tp2(这可以说总是正确的,仅需将遥控器按脉冲宽度增加的顺序编号)。
图1c描绘了由一单一红外传感器接收的信号;它与图1a和1b的叠加信号相对应。我们发现RC1的第一脉冲被RC2的第一脉冲遮盖,而RC1和RC2的第二脉冲部分叠加形成一较宽脉冲。
如同我们在下文将详细了解到的,不同遥控器之间的脉冲宽度的差异在对每个遥控器的数据的叠加信号的提取中是十分重要的。
图2是本发明实施例采用的接收装置的框图。该装置包括一由专门接收器电路2控制的红外传感器1。该电路2输出一信号,在下文中该信号假设与图1c中的信号相似。专门的接收器电路2与处理单元3相连,处理单元3可以是例如ST 90E 30型的微控制器(由SGSThomson制造)。电路1和2的功能可由例如一GPIU 527Y的电路(由Sharp制造)来提供。
在一具体实施例中,当接收器电路2从红外传感器1接收到一脉冲时,它输出一个脉冲,其持续时间与所接收到的脉冲的持续时间基本成比例。换言之,由一遥控器发出的持续时间为T的脉冲作为持续时间为μT的脉冲被接收,此处μ为校正系数。在信号处理过程中,在接收器的输入端保持了不同宽度脉冲之间的顺序关系。如果系数μ的精确值不知道,例如μT在一数值范围内,则应预先通过适当选取每一发射器的脉冲宽度来避免这些数值范围的重叠。
处理单元3除了管理别的部分外,还管理3个随机存取存储器(RAM)4至6。这些存储器在图中被分别示出,但它们可以实际上为同一电路的几部分。
第一存储器4用来存储来自红外接收器的数据。每一脉冲记录两个数据项脉冲的持续时间(表示为Pulse_mem[i]),和该脉冲上升沿到来的绝对时间(表示为Start_mem[i])。这两个数据项完全确定了所接受的信号。
在本实施例中,存储器4可至少存储2×(N-1)个脉冲,在先进先出(FIFO)的形式下使用;对于最后存储的脉冲,系数i的值为0,且其值随早先接收到的脉冲而递增。
另外两个存储器5和6,每个分配给遥控器的一个。在写入存储器4之前(其内容记录了所接收到的脉冲的顺序),数据由处理单元3处理。该分析结果通常是对某一特别遥控器的一些信息的识别,随后分析结果存储到与该遥控器相对应的存储器中。然而,如果之后发现先前接收的数据被错误分析了,有必要在一个存储器中删除一二进制码。
图3表示了一个遥控器的框图。一键盘7与处理器8相通,该处理器8以一已知的方式对带有发射二极管10的调制器接口9进行管埋。处理器8是例如一Motorola 68 HC 05C8的微控制器。一振荡器11向调制器接口9提供载波频率。
在一特殊变型的实施例中,遥控器的键盘具有改变由其发射的脉冲的宽度的装置,和/或改变用来编译一二进制码的两脉冲上升沿之间的时间间隔的装置。通过在N个不同位置之一设置开关12可实现这种改变。对于开关的不同位置,脉冲宽度Tp,持续时间T0i和T1i被存入由微控制器8管理的一存储器13。采用这种方式,仅通过选择与其他遥控器不同的参数便可在一现有系统中较容易地与许多遥控器一起使用一新遥控器。
处理单元3为每一遥控器分配一状态和计数器。有四种不同状态(A)等候一信息的第一二进制码
(B)等候一信息的更多的二进制码(C)等候一信息的结束(D)等候弛豫时间计数器表示存储在相应存储器中二进制码的数目。
状态和计数器由处理单元3管理。
图4表示四个不同状态之间的转换。
在A状态,尚未检测到来自遥控器的二进制码,因此没有信息开始。
在B状态,至少第一二进制码已被检测到,但是所期望的每条信息的二进制码的数目(N_Bits)还未收到。例如,N_Bits为8位。
在C状态,信息中所期望的二进制码的数目(N_Bits)已接收到。如果对于该信息此后又有另一二进制码被检测到,则此前必出现了分析错误,于是对存储的信息进行改动。
在D状态,我们试图检测弛豫时间Trn,该弛豫时间是在来自一指定遥控器的一条信息结束后,而在另一信息之前的最短时间。
对于与遥控器n相关的状态,当检测到该遥控器的一二进制码时,就发生状态A到状态B的转换。二进制码计数器此时为1。
当二进制码计数器达到N_Bits时,发生状态B到状态C的转换。
如果在等候一时间Tan后,这里Tan=max(T0n,T1n),没有识别到该遥控器的二进制码,则发生状态C到状态D的转换。在本实施例中,Tan=T1n。
当接收到最后二进制码之后经过的时间大于弛豫时间Trn时,发生状态D到状态A的转换。
如果在接收到第一二进制码之后的一段时间Tan里,没有接收到该遥控器的另一二进制码,则也可能发生从状态B到状态A的转换。
图5是本实施例用来得到并分析由红外接收器2输出的数据的方法的流程图。该流程图为一总图,各种子程序此后将参照其他图进行详细描述。
阶段E1到E4是关于接收信号特征参数的采集。在第一阶段,处理单元3检测一起始脉冲(上升沿)。在E2阶段,一实时钟的状态存储于一变量“start”中。处理单元一直等到该脉冲结束(下降沿)并确定其宽度(变量“Duration”)。一布尔变量(“Pulse_Used”)表明该脉冲是否被分配给一特别遥控器,并用来分配一二进制码。
我们记得遥控器是以它们脉冲宽度Tpn递增的顺序来编号的。在E5到E10阶段,处理单元试图将一检测到的脉冲分配给多个遥控器之一(按其编号一个接一个选择遥控器)。
E5阶段将所检测的脉冲宽度“Duration”与有关当前遥控器的脉冲宽度Tpn进行比较。
如果“Duration”严格地小于Tpn,则所检测的脉冲肯定不能被分配给遥控器n,所以如果所有的遥控器还尚未被考虑那么我们就应考虑下一个遥控器(E6阶段,有可能E7阶段)。
若“Duration”大于或者等于Tpn,可能保持这样一种分配或者脉冲与Tpn完全对应,或者被较宽的脉冲Tpn遮盖。
在这种情况下,我们检测遥控器n的状态(E8阶段)。如果该状态为“等候第一二进制码”(A状态),则处理单元调用第一子程序“确定第一二进制码”(E9阶段)。否则,我们检测“等候信号结束”状态(C状态)。如果是这种情况,我们考虑下一遥控器,如先前所描述的那样(E6和E7阶段);如果不是,则使用第二子程序“分析当前二进制码”(E10阶段)对脉冲进行分析。参照图6和7,下文将详述这两个子程序。
E6阶段在E9和E10阶段之后,其确定是否全部的遥控器已被考虑过。如果是这种情况,步骤转移到E11阶段。随后在一特别的子程序中,对参数“Pulse_Used”进行检测,以确定通过分析该当前脉冲的参数,是否可能将当前分析的脉冲分配给一遥控器。如果不是,则意味着先前的二进制码被不正常中断了。采用一第三子程序(“检测最后二进制码”,E12阶段)来纠正这一反常状态。
一旦E11和E12阶段完成,当前脉冲的参数便存储于存储器4中。
图6所示流程图描述了子程序“确定第一二进制码”。当其状态为“等候第一二进制码”,且当刚刚接收到的脉冲的持续时间能够包括对应遥控器n的一脉冲持续时间Tpn时,则对该遥控器执行该子程序。
该子程序使用的规则如下在本实施例中脉冲宽度T0n小于T1n,我们首先试图确定当前脉冲的开始是否可与先前存储在存储器4中的一脉冲一起形成“0”,该“0”可作为遥控器n的第一二进制码;此操作在E101和E109阶段进行。若没有检测到“0”,则我们在E111和E118阶段寻找“1”。
因此,我们不只是试图分析最近的脉冲(该脉冲尚未存储于存储器4)。在“确定第一二进制码”的子程序中,我们对该最近脉冲的上升沿特别感兴趣。为形成一二进制码,须要两个脉冲。
E119至E121阶段与处理一特殊情况相对应,在该特殊情况中,我们选择识别“0”,尽管这种识别的正规条件并不十分满足。如图7所示,该特殊情况通过名为“PossibleZero”的变量的值来标记。如果该变量值为0,则表明我们未处于特别情况下(PossibleZero的初始值为0)。
此后,我们可以从一二进制码(T0n或T1n)的持续时间识别出脉冲宽度(Tpn)。
E101阶段是关于环路的初始化,它用来对“0”的出现进行检查。每一存储的脉冲,从最近的一个开始(系数i=0),被系统地分析。我们记得在存储器4中存储的数据给出了脉冲宽度和其上升沿到来的时间。
如果脉冲宽度i严格地小于Tpn,该脉冲不会是由遥控器n发出,因为脉冲太窄了(E102)。在该情况下,我们转移至下一个脉冲(E106)。相反,如果脉冲宽度Tpn被包含在脉冲i之内,则我们确定相应二进制码的持续时间。该持续时间(表示为Bit_Duration)等于当前脉冲的上升沿到来时间(变量“Start”)与脉冲i的上升沿到来时间(变量“Start_mem[i]”)之间的差(E103阶段)。
如果对于遥控器n,该二进制码宽度不等于“0”二进制码的持续时间(在宽度误差范围之内,处理单元3在进行比较时总要进行这种考虑),则该脉冲被忽略并且对下一个脉冲进行分析(E104阶段,然后E106和E107阶段)。但是如果T0n等于Bit_Durafion,则我们再次检查是否脉冲是从一弛豫间隔Trn内开始的(E105)。
如果是这样,该脉冲被忽略,通过增加i继续进行搜寻(E106)。
如果不是这样,我们检查是否脉冲i的宽度等于遥控器n的脉冲宽度(同样在宽度误差范围内)(E108)。如果是,则我们识别“0”(E109阶段);相反,即脉冲i的宽度严格大于T0n,于是与“0”相对应的脉冲的前沿有可能,但不一定,被更宽的脉冲遮盖。随后变量“PossibleZero”被置为1,并开始对“1”的搜寻。(E111阶段)。
图7所示的时序图描述了我们想通过该机制解决的特殊情况。该图的第一条线对应于由第一遥控器发射的第一二进制码,其脉冲宽度为Tpa,其值小于如图7中第二条线所示的第二遥控器的脉冲宽度Tpb。间隔T1a和T0a对应于第一遥控器的二进制码持续时间。
如果第二遥控器的一脉冲A落于第一遥控器脉冲B和C的两上升沿之间,使得A的上升沿与C的上升沿之间的时间为T0a,在缺乏对脉冲A的持续时间的检查(E108阶段)的情况下,我们可能错误地检测一“0”二进制码。
如果脉冲A遮盖了来自第一遥控器的一脉冲,这并不造成问题,但是,如图7所示,当其持续时间长于“0”的“1”必须被检测时,便会造成问题,这就是我们为什么试图检测“1”出现的原因。如果检查完存储器4之后这种检测没有实现,且如果变量“Possible-Zero”的值为真(=1),则一“0”被检测。
对“1”的检测与对“0”的检测很相似E101至E107阶段与E111至E117相对应。利用E108比较阶段的纠错机制不用于对“1”的检测。E115阶段的检测(与E108阶段相应)直接用于识别“1”(E118阶段)。
当所有对“1”的可能的检测都进行了而并没有检测到“1”(在E117阶段的检查为正)时,则进行变量“PossibleZero”状态的检查,且如果该变量值为1,识别一“0”二进制码。如果检查为负,则我们通过E122阶段直接退出程序。
在二进制码“0”或“1”都被识别的三种情况之后,一些参数就必须更新。首先,同遥控器n相关的二进制码计数器N_Bits_n就必须被设为1,这表明此时该遥控器的第一二制码已被检测到。
下一步,与遥控器相联系的状态(State_n)从“等候第一二进制码”(A)转换到“等候更多二进制码”(B)。
另外,可对最后存储的脉冲进行分配。变量Pulse_Used于是置为“真”。
最后,我们将当前脉冲的上升沿的时间(“Start”)存入变量Last_time_n。
该更新过后,我们前进至E122阶段。
回到图5的总流程图,假设在E8阶段与遥控器n相关联的状态不是“等候第一二进制码”。随后我们检查该状态是否符合“等候更多二进制码”。例如对于遥控器n已经预先检测到一二进制码就属于这种情况。如果该检测为正,则在E10阶段对存储于存储器4中的脉冲和当前脉冲的上升沿进行分析以确定对遥控器n分配“0”或“1”二进制码。
图8是对应于“分析当前二进制码”程序的流程图。
当对于遥控器n调用此程序时,该遥控器的状态一定为“等候更多二进制码”。至少一二进制码已分配给该遥控器n,并存储于相关的存储器中。而且,我们从变量“Last_time_n”知道用来分配给最后所存储的二进制码的上升沿的检测时间。得到该信息且知道当前脉冲的上升沿的到达时间,我们便可确定二进制码宽度Bit_Duration(E201阶段)。其他阶段的目的是用来确定该二进制码是否与遥控器n所发出的补充的二进制码相对应。
首先,对于遥控器1我们将二进制码宽度Bit_Duration与T1n(逻辑“1”)进行比较(在某一误差范围内)(E202)。如果两个宽度一样,则识别逻辑“1”,并将其插入对应于遥控器n的存储堆栈中(E203阶段)。
如果“1”没有被识别,则二进制码的宽度与T0n(逻辑0)进行比较(E204)。如果两个宽度一致,则识别逻辑“0”,并存入相应的存储器中(E205阶段)。
在逻辑“1”或逻辑“0”识别之后,二进制码计数器N_Bits_n进行累加计数,变量Last_time_n被更新,且通过将变量Pulse_used置1,当前脉冲已被使用这一事实被记录下来(E208阶段)。
随后我们确定接收到并存储的信息是否包括最大数目的二进制码(N_Bits)(E210)。如果是,遥控器n的状态被置为“等候信息结束”(E209)。然后程序转移到图5所示的步骤。
如果对E202和E204阶段的检测证明为负,则在E206阶段进行第三次检测。如果二进制码的宽度Bit_Duration严格大于T1n(T1n在本实施例中比T0n长),则二进制码宽度不能与来自遥控器n的一二进制码相对应,在这种情况下,我们假定遥控器n的信息被中断,且遥控器n的状态变为“等候第一二进制码”(E207)并且存储堆栈被清零。变量“Pulse_assigned_n同样被置1以表明遥控器n已接收到其第一脉冲(但尚未接收到其第一二进制码,一二进制码由两个脉冲来确定)。
如果E206阶段的检测证明为负,则程序将控制转给图5中的步骤(E211)。
回到图5,我们会发现所有的状态E5、E8、E9、E10和E14对每一遥控器都是重复的。
如果E5阶段的检测结果为负,或者如果E14阶段的检测结果为正或在上述两子程序E9和E10之后,则我们确定系数n是否与其最大值N相对应(E6)。如果不是这种情况,则系数递增(E7)且重复E5阶段。
一旦对全部遥控器进行了处理,我们就确定是否已使用当前脉冲将一二进制码分配给一个遥控器(E11)。如果不是,我们则假设对于先前写入一存储器的一二进制码,出现一中断错误。
第三子程序“检查最后二进制码”的作用是改正这种中断错误。随后,与该脉冲相关的参数被存入存储器4(E13)。
图9a和9b描绘了该“检查最后二进制码”程序总的原理。
首先,在E301阶段,我们检查当前的脉冲是否是由一遥控器发出的信息的第一脉冲。在E9和E10之中的一个子程序中,该脉冲尚未被用来分配一二进制码。由于一二进制码是由二个连续脉冲的上升沿之间的时间间隔确定的,分配给一遥控器的第一脉冲不能分配一二进制码。采用变量“Pulse_assigned_i”能使一脉冲分配给其状态为“等候第一二进制码”的单一遥控器。
由此,E301阶段避免了一些需后来纠正的情况。
E301阶段将通过图10所示的流程图作详细介绍。
对于每一遥控器,要经过下列阶段首先,我们检查与遥控器相关联的状态是否为“等候第一二进制码”(E401)。若不是,我们由E402/E406环路(E407阶段用来启动该环路)移至下一遥控器;否则,我们检查脉冲宽度Tp是否与当前处理的遥控器的脉冲宽度相对应,或者前者是否能遮盖后者(E403)。如果比较的结果的为负值,则我们移至下一遥控器;如果比较的结果为正值,我们检查是否已向该遥控器分配了一脉冲(E404)。
一指定脉冲只具有一个超始脉冲。这一条件由变量Pulse_ass-igned_i来存储;若该变量表明一脉冲已被分配(在本实施例中,即表示其值为0),则我们推断当前处理的脉冲不是由所考虑的遥控器发出的,移至下一个遥控器,如果还有的话(E404)。相反,若还没有脉冲分配给所考虑的遥控器,则将脉冲分配给该遥控器(E405)。随后该脉冲标记为曾使用过。另外,变量Pulse_assigned_i被置1以表明一脉冲已分配给遥控器i。如果进行了一次分配,则表明已到达图10所示步骤的结尾。
E301阶段的环路以脉冲宽度Tpi值递减的方式工作。在这种方式下,脉冲将分配给最可能的遥控器。
一旦图10所示步骤完成,我们转至图9所示的步骤。假设所有脉冲来自n个遥控器中的一个,若在E301阶段设有实现分配,则我们得出结论先前脉冲中存在一不正确中断。在这种情况下,对已分配了二进制码的遥控器进行更为细致的分析。
必须考虑三种情况,分别如图11a、11b和11c所示。
在第一种结构中,我们考虑其状态为“等候信息结束”(c)的遥控器,并确定当前脉冲是否能由先前被分配给这些遥控器的脉冲构成“0”或“1”。如果是这样,则我们假设遥控器发出信息的第一二进制码被错误分配了。该第一二进制码被删除并在信息结尾加上新的二进制码。图11a表示能造成这种错误的遥控器信号的结构。
图11a中的第一和第二条线分别对应于第一和第二遥控器发出的信号。脉冲B对应于由第一遥控器发出的第一脉冲。脉冲A由第二遥控器发射,其上升沿与由第一遥控器发出的脉冲B的上升沿之间的时间间隔对应于时间T01。对于第一遥控器,在分析脉冲B过程中,先前描述的“确定第一二进制码”程序将检测“0”。于是,一二进制码在信息实际开始之前被检测。这是因为这样的事实,即第一遥控器发出的脉冲可被较宽的脉冲A遮盖。
在这种情况下,所检测的该第一二进制码被删除,根据在对最近检测的脉冲的分析中检测的二进制码,对整个信息进行转换并加上“0”或“1”。
该第一结构与这样的情况相对应,即遥控器的状态为“等候信息结束”,而对于该遥控器还没有检测到另一二进制码。
图11b表示第二结构,对于第一遥控器,其发出的脉冲(脉冲D)的上升沿与第二遥控器发出的一连续脉冲(脉冲E)上升沿一起形成“0”二进制码。对“分析当前二进制码”程序进行分析,将“0”二进制码分配给第一遥控器(遥控器处于“等候更多二进制码”状态)。如果脉冲E不能遮盖由第一遥控器发出的脉冲,则脉冲F的上升沿与脉冲D的上升沿形成“1”。“0”将被检测到,而不是“1”。
这种纠错与图6所示的E119阶段很相似,但图6中的子程序仅检测第一二进制码,而在本情况下,遥控器的状态可以不是“等候第一二进制码”。
在图11C中所示的第二结构中,在某一错误时刻,“0”被检测。我们假设由第一遥控器发出的两个脉冲(脉冲G和H)的上升沿形成“0”。如已经提到的,用来确定一二进制码的持续时间是否与T0i相对应的检测考虑了关于T0i值的误差范围±Δ,如果由第二遥控器发出的脉冲I的上升沿和脉冲G的上升沿之间的时间间隔落在此范围内,则检测“0”。“0”值本身并不错(因为脉冲I和H产生相同结果),但变量“Last_time_i”将包含一错误值,该值可导致随后所接收的二进制码的错误中断。
该第三结构可同样导致错误地检测“1”二进制码。
为第二和第三结构所进行的纠错包括在分析脉冲F的过程中检测该脉冲是否对指定遥控器n提供有关倒数第二二进制码的不变的数据。如果该信息对应于“1”或“0”,则分配给该遥控器的最后二进制码被该信息替代。
回到图9,我们可看到所使用方法的更多细节。E301阶段现在已完成,在E302阶段我们测试脉冲是否在E301阶段被分配。如果是,则上述三个结构不需要被纠错,且程序完成(E303)。
与先前一样,采用一环路(通过E304、E305和E306阶段)来按顺序检测每一遥控器。
首先(E304),我们确定所分析的脉冲是否与来自遥控器i的一脉冲相同或能将其遮盖。如果不是,通过递增遥控器的系数(E306)我们移至下一遥控器;否则,我们根据正在分析的脉冲的上升沿与为遥控器存储的最后上升沿(Last_time_i)之间的时间间隔来确定二进制码宽度(Bit_Duration)。
首先,通过E309到E313阶段,我们测试一下是否处于上述第一结构(图11a)。测试时,我们首先检测所考虑的遥控器的状态是否是“等候信息结束”。若不是,则检测该条件是否满足第二和第三结构。若是,E310或E312分别检测二进制码宽度是否与“1”或“0”相对应。如果两测试之一为正,则为正在检测的遥控器所记录的信息被转换,并分别加上“1”或“0”(E311和E313阶段)。在最接近的脉冲作为已使用过的脉冲被遮盖后,程序在E303阶段结束。
如果未检测到第一结构,或者遥控器的状态为“等候更多二进制码”(E314),则我们检测该条件是否满足第二或第三结构(图11b和11c)。
然后我们确定为所检测遥控器存储的最后二进制码的值(E316)。我们计算正分析的脉冲的上升沿(例如在图11b和11c中脉冲F或H的上升沿,其到达时间由变量Start存储)与所存储的倒数第二个脉冲的上升沿(例如在图11b和11c中的脉冲D或G)之间的时间间隔。该计算通过计算Duration与Last_time_i之间的时间间隔,并根据存储的最后二进制码的值加上T0i或T1i来进行(分别是阶段E317或E318)。
然后,对于正在检测的遥控器,我们将该时间间隔与“0”和“1”二进制码的持续时间相比较。(在E319和E320阶段的持续时间T0i和T1i)。如果这些持续时间中的一个与先前计算的时间间隔相对应,则为遥控器存储的最后二进制码被删除,且由新确定值替代。另外,表示一脉冲的最后上升沿的变量被更新(Last_time_i),该脉冲使一二进制码分配给遥控器。
在对应于上述三种结构的检测完成后,如果一脉冲不能分配给任何一遥控器,则调用称为“假启动”的另一程序。仅对于分配了第一二进制码的遥控器执行该程序(E321)。相应的流程图如图12所示。我们注意到已描述过的“确定第一二进制码”程序被调用。
回到图5所示的主流程图,所有要做的就是使存储的信息生效,如有必要,确定这些信息在传输过程中是否已经被中断过。
图13表示在本实施例中使用的有关过程的流程图(称为“信息结束”)。当未检测到脉冲时,调用该程序(E1阶段)。也可以在其他情况下调用该程序。
如前所述,采用一环路来按顺序考虑每一遥控器(E501、E502和E503阶段)。
对于每个遥控器,通过计算系统时钟与last_time_i(E504阶段)之间的差值,我们确定从分配给该遥控器的最后脉冲的上升沿过去之后的时间。然后我们检查(E505)该持续时间是否超过该遥控器的最大二进制码宽度(在本实施例中为T1i)。如果不是这种情况,我们就不能考虑将全部收到的信息,因为它不是象所需要的那样完整或正确,且指定遥控器的脉冲仍被接收器接收。于是,我们转到下一遥控器(E502)。
在另一方面,如果对E505阶段的检测为正,则已确定将没有脉冲分配给所考虑的遥控器。根据信息的状态,然后认为是完整的还是中断的。首先我们确定信息的状态是否是“等候信息结束”。若不是,我们检测自从最后的脉冲分配给遥控器之后的时间是否大于该遥控器的弛豫时间。如果是这种情况,则该信息认为被中断,且其状态重置为“等候第一二进制码”(E508)。如果持续时间小于弛豫时间,我们将转至下一遥控器(E502)。
如果信息的状态为“等候信息结束”,则该状态转变为“等候弛豫时间”(E508)。然后该信息认为是完全的,且能以一已知方式进行分析以确定其意义(E509)。当之后再次调用图13所示程序时,信息状态将重置为“等候第一二进制码”,这便能够接收新的信息。
上述实施例包括对各种信号结构的纠错组合。根据设备和所进行的处理的复杂性的需要,可从不同的实施例中省略某些纠错。这样可使过程简单化,尽管对其功能会有不利的影响。
最后,虽然所述实施例使用两个时间间隔(T0i和T1i)来说明二进制码值的编码,但本发明不局限于这类编码。
本发明有许多潜在的应用,包括视频游戏、交互电视机、通过一个传感器从许多遥控器接收信号来控制许多装置,等等。
权利要求
1.一种从至少两个发射器(RCi)接收信号的方法,其中每个发射器发射数据项(“0”,“1”),所述数据项通过由发射器发射的两个连续脉冲之间的时间间隔(T0i,T1i)来表示,所述时间间隔和脉冲宽度(Tpi)为每一发射器的特征,其中所述方法包括以下步骤接收合成信号,其为来自所述多个发射器的信号的总和;确定所述合成信号的参数,这些参数包括宽度和脉冲跨度;分析所述参数,并将一数据项分配给多个所述发射器之一。
2.根据权利要求1所述的方法,其中所述数据由二进制码的两个可能值构成。
3.根据权利要求2所述的方法,其中对于每个发射器进行一状态变量的管理,该变量代表从发射器接收的信息的当前状态。
4.根据权利要求3所述的方法,其中所述状态变量的可能值为“等候信息的第一二进制码”、“等候更多二进制码”、“等候信息结束”和“等候两信息之间的弛豫时间的结束”。
5.根据权利要求2所述的方法,其中当当前脉冲和先前所接收的脉冲中的一个之间的时间间隔等于为所述发射器定义了一二进制码值的间隔(T0i,T1i)中的一介时,且当所述先前接收到的脉冲的宽度等于所述指定的发射器的脉冲宽度时,对一指定发射器检测第一二进制码。
6.根据权利要求5所述的方法,其中通过增加定义了一数据项的间隔,将具有为所述发射器定义了一二进制码值的间隔同所述两脉冲之间的时间间隔进行比较,对定义了一二进制码值的每一间隔检测所有先前所接收并存储的脉冲。
7.根据权利要求6所述的方法,其中定义一二进制码值的间隔(T0i,T1i)有两个,若没有检测到二进制码,但根据一二进制码值(T0i)的最短持续时间同当前和先前接收到的脉冲间的时间间隔相等,则所检测二进制码值对应该最短持续时间。
8.根据权利要求5所述方法,其中只有当当前脉冲的宽度大于或等于指定发射器的脉冲宽度时,该发射器被认为是一信息的第一二进制码的来源。
9.根据权利要求2所述的方法,其中当至少一个二进制码已经分配给一发射器时,如果使一二进制码分配给该发射器的最后脉冲与当前脉冲之间的间隔与该发射器的二进制码间隔相对应,则另一二进制码被分配给同一发射器。
10.根据权利要求9所述的方法,其中只有当当前脉冲的宽度大于或等于指定发射器的脉冲宽度时,该发射器被认为是一信息的补充二进制码的来源。
11.根据权利要求5所述的方法,其中如果当前一脉冲不能使一二进制码分配给一发射器,则该脉冲以脉冲宽度递减的顺序分配给尚未被分配二进制码的第一发射器,所述分配的脉冲然后定义一二进制码的起点,此二进制码的第二脉冲将随后到达。
12.根据权利要求5所述的方法,其中当分配给一发射器的二进制码的数目等于信息中二进制码的最大数目,但对于该发射器检测到另一二进制码时,信息的第一二进制码被删除,且最后检测到的二进制码加到所述信息上。
13.根据权利要求5所述的方法,其中如果对当前脉冲的分析不能使一二进制码分配给一发射器,但该当前脉冲与所存储的倒数第二脉冲一起形成同一指定发射器的一二进制码值相关的间隔,且如果已向该发射器分配了至少一个二进制码,则分配给该发射器的最后二进制码被所检测的新值代替。
14.根据权利要求13所述的方法,其中如果一当前脉冲以前未曾使用过,则我们寻找只分配了一个二进制码的一发射器,并确定当前脉冲与分配给所述发射器的第一脉冲之间的间隔是否与所述发射器的二进制码值相对应,如果是这样,则将二进制码值分配给所述发射器。
15.根据权利要求5所述的方法,其中每一接收到的脉冲的参数在对其进行分析之后被存储起来。
16.根据权利要求4所述的方法,其中当检测到一二进制码时,进行“等候第一二进制码”状态到“等候更多二进制码”状态的转换;当最大数目的二进制码被分配给一发射器时,进行“等候更多二进制码”状态到“等候信息结束”状态的转换;如果在一段时间之后,该段时间超过了同来自该发射器一二进制码相关的最长间隔,没有接收到对应于所考虑的发射器的二进制码,则进行“等候信息结束”状态到“等候弛豫时间”状态的转换;当所接收的最后二进制码之后的时间超过了所考虑的发射器的弛豫时间(Trn)时,进行“等候弛豫时间”状态到“等候第一二进制码”状态的转换;在第一二进制码分配之后,当超过了来自一发射器的数据的最长间隔的一段时间过后,未接收到所考虑的发射器的其他二进制码时,则进行“等候更多二进制码”状态到“等候第一二进制码”状态的转换。
17.用来接收多个发射器的特征信号的设备包括用来接收一合成信号的装置,该合成信号是由至少两个发射器发射的信号的总和,来自每一发射器的数据(0,1)由两连续脉冲之间的时间间隔定义,所述时间间隔与脉冲宽度为每一发射器的特征;根据从合成信号中检测的脉冲宽度和这些脉冲之间的时间间隔来分析所述合成信号的装置。
18.根据权利要求17所述的装置,其中所检测的脉冲宽度等于由所述发射器发射的脉冲宽度,或者与其成比例。
19.根据权利要求17所述的装置,其中所述接收装置包括一红外接收器,所述发射器发射红外信号和采用同样载波的其他发射器和接收器。
20.根据权利要求17所述的装置,其中所述分析装置包括一微处理器,一用来存储所接收的脉冲参数的存储器,和用来存储同来自所述发射器的信息相关的二进制码的其他存储器。
21.根据权利要求17所述的装置,其采用权利要求1所述的信号接收方法。
22.与权利要求17中的装置一起使用的红外遥控器(RC1,RC2),它包括可调整脉冲宽度的装置,这些脉冲用来表示向所述接收装置提供的数据,这种调节使得所述脉冲宽度始终与可能同时使用的其他遥控器的脉冲宽度不同。
23.根据权利要求22所述的遥控器,其还包括用来调节表示所发射的数据(0,1)的两脉冲之间的时间间隔的装置。
24.信号接收系统包括至少两个发射器,每一发射器以脉冲的形式来表示数据,该脉的宽度(Tpi)表示所述发射器的特征,数据由该发射器发出的两连续脉冲的时间间隔(T0i,T1i)来定义,所述间隔也是每一发射器的特征。一接收器,包括接收合成信号的装置,该合成信号为由所述发射器发射的信号的总和;根据在合成信号中检测的脉冲宽度和这些脉冲之间的时间间隔来分析合成信号的装置。
25.根据权利要求24所述系统,其中所述发射器包括一与权利要求23一至的遥控器。
全文摘要
一种从至少两个发射器(RCi)接收信号的方法,其中由一发射器发出的两连续脉冲之间的时间间隔(T0i,T1i)表示该发射器的数据(“0”,“1”),所述时间间隔和脉冲宽度(Tpi)为每一发射器的特征,其中所述方法包括接收合成信号;确定合成信号参数;分析所述参数并向所述发射器分配一数据项。本发明还涉及一接收装置,一遥控器和一接收系统。本发明在电视及图像领域有重要应用。
文档编号H04Q9/14GK1142145SQ9610811
公开日1997年2月5日 申请日期1996年5月23日 优先权日1995年5月23日
发明者埃里克·迪尔, 伊维斯·梅兹, 诺尔-埃丁尼·泰兹尼 申请人:汤姆森多媒体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1