WO2017050005A1 - 抗干扰红外遥控解码的方法和系统 - Google Patents

抗干扰红外遥控解码的方法和系统 Download PDF

Info

Publication number
WO2017050005A1
WO2017050005A1 PCT/CN2016/090732 CN2016090732W WO2017050005A1 WO 2017050005 A1 WO2017050005 A1 WO 2017050005A1 CN 2016090732 W CN2016090732 W CN 2016090732W WO 2017050005 A1 WO2017050005 A1 WO 2017050005A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
pulse
segment
valid
logic
Prior art date
Application number
PCT/CN2016/090732
Other languages
English (en)
French (fr)
Inventor
杨起源
Original Assignee
广州视睿电子科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 广州视睿电子科技有限公司 filed Critical 广州视睿电子科技有限公司
Publication of WO2017050005A1 publication Critical patent/WO2017050005A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C23/00Non-electrical signal transmission systems, e.g. optical systems
    • G08C23/04Non-electrical signal transmission systems, e.g. optical systems using light waves, e.g. infrared

Definitions

  • the invention relates to the field of infrared remote control technology, in particular to a method and system for anti-interference infrared remote control decoding.
  • infrared remote control is very susceptible to external interference, mainly infrared interference from the infrared touch frame.
  • the solution in the prior art does not recognize and correct the infrared interference well, and the infrared remote control cannot be correctly decoded in the case of infrared interference.
  • Infrared remote control decoding methods are generally less considered to be resistant to external interference, and currently infrared remote control decoding is generally instant decoding, that is, instant decoding when each pulse arrives. This method is difficult to resist interference correction, because error correction requires It can be performed by pulse comparison before and after, which results in poor anti-interference performance.
  • some products use edge-triggered interrupt decoding to trigger on both rising and falling edges. In the case of interference, the amount of data is large. Too complicated, resulting in complex anti-interference processing and poor performance.
  • a method for anti-interference infrared remote control decoding comprising the following steps:
  • the pulse sequence comprises an identification pulse and a valid data pulse segment, the valid data pulse segment being after the identification pulse;
  • the decoded data is decoded.
  • a system for anti-interference infrared remote control decoding comprising the following units:
  • An acquiring unit configured to acquire a pulse sequence including infrared remote control data, wherein the pulse sequence includes an identification pulse and a valid data pulse segment, the valid data pulse segment being after the identification pulse;
  • An intercepting unit configured to detect the identification pulse in the pulse sequence, and intercept the valid data pulse segment after the identification pulse
  • a repairing unit configured to repair data of the valid data pulse segment to obtain decoded data
  • a decoding unit configured to decode the decoded data.
  • the effective infrared remote control data pulse segment is intercepted in the pulse sequence including the infrared remote control data, and the repair processing is performed to obtain the decoded data and then decoded.
  • the external interference is considered in the solution of the present invention.
  • 1 is a flow chart of a method for anti-interference infrared remote control decoding in one embodiment
  • Figure 2 is a flow chart for detecting an identification pulse in one of the embodiments
  • 3 is a flow chart of a valid data pulse segment after intercepting an identification pulse in one embodiment
  • Figure 4 is a schematic illustration of a repeating code pulse in one of the embodiments.
  • Figure 5 is a schematic illustration of a repeating code sequence contained in a pulse sequence in one of the embodiments
  • Figure 6 is a schematic illustration of a logic "1" and a logic "0" pulse in one of the embodiments
  • Figure 7 is a schematic illustration of an identification pulse and a valid data pulse in one of the embodiments.
  • Figure 8 is a schematic illustration of a system for anti-jamming infrared remote control decoding in one of the embodiments
  • FIG. 9 is a partial schematic diagram of a system for anti-interference infrared remote control decoding in one embodiment
  • FIG. 10 is a partial schematic diagram of a system for anti-interference infrared remote control decoding in one embodiment
  • Figure 11 is a schematic illustration of a system for anti-interference infrared remote control decoding in one of the embodiments.
  • the method for anti-interference infrared remote control decoding in this embodiment includes the following steps:
  • Step S101 Acquire a pulse sequence including infrared remote control data, wherein the pulse sequence includes an identification pulse and a valid data pulse segment, and the valid data pulse segment is after the identification pulse;
  • Step S102 detecting the identification pulse in the pulse sequence, and intercepting the valid data pulse segment after the identification pulse;
  • the valid data pulse segment follows the identification pulse with no other pulses between the two.
  • Step S103 Repair data of the valid data pulse segment to obtain decoded data.
  • the valid data pulse segment includes valid data and interference data
  • the interference data is repaired by the data repair algorithm, so that the data of the valid data pulse segment becomes the decoded data that can be correctly decoded.
  • Step S104 Decode the decoded data.
  • the method for anti-interference infrared remote control decoding is to intercept an effective infrared remote control data pulse segment in a pulse sequence including infrared remote control data, and perform repair processing to obtain decoded data and then perform decoding, and the present invention provides a solution.
  • the interfered infrared remote control data can be correctly repaired and decoded with a large probability, thereby solving the interference in the infrared remote control data and failing to be correct.
  • the step of repairing data of the valid data pulse segment comprises the following steps:
  • the data of the valid data pulse segment is repaired by using a complementary check algorithm; if the data length of the valid data pulse segment is greater than a preset fixed length And using the merged data algorithm to repair the data of the valid data segment; if the data length of the valid data segment is less than a preset fixed length, the data of the valid data segment is repaired by using a data splitting algorithm. ;
  • the data of the valid data pulse segment is repaired by using the three algorithms of the complementary check algorithm, the merged data algorithm, and the data splitting algorithm.
  • the three types of data lengths are mainly used to repair the three types of data, such as a complementary check algorithm, a merged data algorithm, and a data splitting algorithm. In practical applications, these three types are often used comprehensively. Algorithm, so that the data is better repaired.
  • the data of the infrared remote control effective data pulse segment includes an address code and a command code, and the fixed length is long.
  • the length of the data may be constant, and the length is still fixed, but the error data is included therein.
  • the complementary verification algorithm is needed to repair the data of the valid data pulse segment;
  • the length of the data may be longer than the fixed length, and the data in the original correct data is interfered by the segmentation.
  • the data of the valid data segment is repaired by the combined data algorithm
  • the length of the data may be shorter than the fixed length, and the data in the original correct data is interfered and merged.
  • the data splitting algorithm is used to repair the data of the valid data pulse segment;
  • the data of the valid data pulse segment is a pulse time
  • the data includes a positive code and an inverted code, and in the case of no interference, the positive code and the inverted code are in one-to-one correspondence;
  • the step of repairing the data of the valid data pulse segment by using the complementary check algorithm includes the following steps:
  • the pulse not in the logic 1 or the logic 0 is utilized according to the one-to-one correspondence between the positive code and the inverted code.
  • the inverse code corresponding to the positive code within the effective range of time is repaired.
  • the complementary check algorithm can be used to better repair data whose length is normal but whose value is disturbed.
  • the correct address code and the command code are a total of 32 bits.
  • the 0th to 7th bits are the address code positive code
  • the 8th to 15th bits are the address code inverse code
  • the 16th to 23rd bits are the command code positive code
  • the 24th to 31st bits are the command code inverse code
  • the positive code and The anti-code one-to-one correspondence the positive and negative codes are logic 0 or logic 1, the pulse time of logic 0 should be 1120us, and the pulse time of logic 1 should be 2250us;
  • the fifth bit 175 is not in the Logic1 recognition range (195 to 215), and the sixth bit 133 is not in the Logic0 identification range (93 to 113), and the 13th bit can be utilized.
  • 103 is identified as Logic0, so it is known from the inverse that the fifth bit should be recognized as Logic1; similarly from the 14th bit, the fixable sixth bit should be recognized as Logic0.
  • the data of the valid data pulse segment is a pulse time
  • the step of repairing the data of the valid data segment by using the merged data algorithm includes the following steps:
  • the data of the valid data pulse segment is within the valid interval of the logic time 1 or the logical time of the logic 0, respectively, the data of all the adjacent two pulse times of the logical data pulse segment are respectively combined. Processing, and verifying by the complementary check algorithm, selecting a merge process in which the verification is met.
  • the merged data algorithm can better repair the data with a large length after being interfered.
  • the data length is greater than 32, it indicates that data is interfered with.
  • split data There are generally two cases of split data.
  • the data after splitting is not in the range of Logic0 and Logic1.
  • the adjacent split data is directly merged.
  • 206 is interfered with data.
  • the two adjacent data of 130 and 76 are directly combined to obtain 206 correct data; the other is that Logic1 data can be recognized as two Logic0 data after being split.
  • the data of the valid data pulse segment is a pulse time
  • the step of repairing the data of the valid data segment by using the data splitting algorithm includes the following steps:
  • the data is the sum of the pulse times of logic 1 and logic 0, the data is split into the pulse times of logic 1 and logic 0, and the split logic 1 and logic 0 are verified by the complementary check algorithm.
  • the order of the pulse time is selected, and the order before and after the verification is selected;
  • the data is the sum of the pulse times of logic 1 and logic 1, the data is split into two logical 1 pulse times;
  • the data of the valid data segment is within the valid interval of the logic 1 or the logic 0 pulse time, the data of all the pulse times of the logic 1 in the valid data segment are separately processed and complemented. Verification algorithm verification, select the split processing that meets the verification.
  • the split data algorithm can better repair the data with small length after being interfered.
  • the data length is less than 32, it indicates that at least 2 data are interfered and merged. This situation depends on the size of the data merge.
  • the merged data is equal to the sum of Logic0 and Logic1, it is directly divided into two data, Logic0 and Logic1.
  • the order of Logic0 and Logic1 needs to be confirmed by the complementary check algorithm. As shown in Table 3, 206 and 103 are merged into 309, which are divided into Logic0 and Logic1, and the corresponding inverse codes 103 and 206 are used to determine 309.
  • Logic1 After splitting, Logic1 is in front and Logic0 is in the back; second, if the merged data is equal to Logic1 and The sum of Logic1 can be directly divided into two Logic1 data; if the merged data is equal to the sum of Logic0 and Logic0 (the sum of two Logic0s is equal to one Logic1), it is necessary to perform split verification for all Logic1 separately and pass the complementary check algorithm. Select the correct group to split, and the other remains.
  • the step of detecting the identification pulse in the pulse sequence comprises the steps of:
  • Detecting a length of time of each pulse in the pulse sequence if the length of time of a certain pulse is within a valid range of the length of the identification pulse, determining that the pulse is the identification pulse;
  • the identification pulse can be detected without fail by the above method.
  • the identification pulse can be AGC Burst (automatic gain control high level pulse).
  • AGC Burst is theoretically 13500us.
  • the buffer queue FIFO_A is used for identification, and then according to NEC protocol, the theoretical total length of the address code and command code is 53920us, and the fault tolerance is set to 400us.
  • the pulse segment containing the address code and the command code is then placed in the buffer queue FIFO_B according to the theoretical value and fault tolerance, and is reserved for subsequent repair processing.
  • the specific flow of using the buffer queue FIFO_A to detect the AGC Burst is shown in Figure 2.
  • the buffer queue FIFO_A is initialized, and the queue data is 0; when the rising edge comes, the time interval x between the rising edge and the last rising edge is calculated as the original infrared data, so that the head data of the FIFO_A is out.
  • the team, x is input to the tail of the FIFO_A, and the number n of the original infrared data is recorded, and the sum S of the n values of the tail of the FIFO_A is calculated; if the sum value S is within the range of the valid interval A of the AGC Burst, this indicates The n pulses can be identified as an AGC Burst as a whole; if the sum value S is smaller than the minimum value A_Min of the effective interval A and n is less than N, the subsequent original infrared data is continuously input until the detection identifies the AGC Burst, or the sum does not satisfy the value.
  • the condition that S is smaller than the minimum value A_Min of the effective interval A and n is smaller than N indicates that the AGC Burst is not detected and the original infrared data is reselected for identification.
  • the pulse data is collected by the rising edge trigger and the falling edge is not triggered. This method is less than half of the data collected by the edge trigger, which makes the repair process more convenient and efficient. In addition, only when the AGC Burst is correctly identified The subsequent valid data pulse segments can be intercepted to enter the repair step.
  • the value of the N value is an empirical value. After analysis and algorithm debugging of the oscilloscope waveform, for general interference, N takes 3 to identify the AGC Burst.
  • the step of intercepting the valid data pulse segments after the identification pulse comprises the steps of:
  • the effective data pulse segment after the identification pulse can be effectively intercepted by the above method.
  • the following examples are commonly used in the NEC protocol (other infrared remote control protocols are similar), and the rising edge trigger is used, and the identification pulse can be AGC Burst (automatic gain control high level pulse), according to the NEC protocol, after detecting the AGC Burst , the pulse segment including the address code and the command code is buffered into the valid data queue FIFO_B, and the total length of the pulse code of the address code and the command code of the effective infrared remote control data is constant, and the included address can be divided accordingly. The boundary between the code and the command code data.
  • AGC Burst automatic gain control high level pulse
  • the specific flow of intercepting the valid data pulse segment after the identification pulse is shown in FIG. 3.
  • the AGC Burst is detected first; after detecting the AGC Burst, the valid data queue FIFO_B is initialized; the pulse segment data after the AGC Burst is buffered one by one into the valid data queue FIFO_B until the sum of the data in the valid data queue FIFO_B is valid. Within the range of the valid interval B of the data pulse segment, both the address code and the command code in the valid data are already buffered in the valid data queue FIFO_B.
  • the number of pulses of the address code and the command code is 32 without interference; when there is interference, the address code and the command code are offset, sliced or merged, so the number of pulses should be Around 32, S is used to calculate the total time of the pulse sequence.
  • a pulse sequence (including address code, command code, and interference) of the total length of time in the interval B is input to the buffer queue FIFO_B, and then repaired.
  • This step is mainly to separate the pulse sequence containing the effective address code and command code, so that the next step can be repaired more accurately.
  • the step of intercepting the valid data pulse segment after the identification pulse further comprises the following steps:
  • the data in each repeated code pulse is added after the data of the valid data pulse segment.
  • the generated duplicate code is processed to prevent the omission of the infrared remote control data information.
  • the following examples are commonly used in the NEC protocol (other infrared remote control protocols are similar).
  • NEC protocol After detecting the address code and the command code, there are two cases: one is to release the infrared remote control button, and the case does not generate a duplicate code; The second is to keep pressing the infrared remote control button, and a repeating code will be generated.
  • the processing method is to put the repetition code into the valid data queue FIFO_B, and the FIFO_B is subsequently dequeued to repair and decode the address code and the command code.
  • the decoding encounters a repetition code, the previously decoded key is repeated. Pressed.
  • NEC infrared remote control protocol uses the NEC infrared remote control protocol as an example.
  • each pulse is a 560 us long 38 KHz carrier (approximately 21 carrier cycles).
  • the logic "1" pulse time is 2.25ms and the logic "0" pulse time is 1.12ms.
  • Figure 7 shows a typical pulse train of the NEC protocol, including identification pulses and valid data.
  • the protocol specifies that the lower bits are transmitted first.
  • the transmitted address code is "59" and the command code is "16".
  • the information sent each time is first a 9ms AGC (Automatic Gain Control) high pulse for adjusting the gain of the infrared receiver, followed by a low level of 4.5ms.
  • the whole of the two is the above AGC Burst; the next step is Address code and command code.
  • the address code and the command code are sent twice, and the second time is sent in reverse (for example, the inverse of 1111 0000 is 0000 1111), which is used to verify the accuracy of the received information.
  • each bit sends its inverse code once, the overall transmission time is constant (that is, every time it is sent, whether it is 1 or 0, the time of transmission is the sum of its and the time of its reverse transmission), so it can pass This intercepts the address code and command code of the AGC Burst and its subsequent interval. This means of verifying the reliability of the transmitted code will use this feature when repairing the interference data.
  • the corresponding valid data information can only be sent once. If the infrared remote control button is kept pressed, the transmission is repeated with a period of 110ms.
  • the repetition code is from 9cm AGC high level and 2.25ms. Low level and a high level of 560us, as shown in Figure 5.
  • the pulse time from the rising edge of the AGC Burst before the valid data to the rising edge of the AGC of the repetition code is also 110 ms, which is the same as the period of the repetition code.
  • the invention provides a method for anti-interference infrared remote control decoding.
  • an effective infrared remote control data pulse segment can be intercepted in a pulse sequence containing infrared remote control data, and repaired and processed, and decoded data is obtained, and then decoded.
  • the solution of the present invention considers the influence of external interference, and uses the data repair algorithm to repair the infrared remote control data, so that the interfered infrared remote control data can be correctly repaired and decoded with a large probability, thereby solving the interference in the infrared remote control data. The problem cannot be decoded correctly.
  • the present invention also provides an anti-interference infrared remote control decoding system.
  • an embodiment of the anti-interference infrared remote control decoding system of the present invention will be described in detail.
  • the anti-interference infrared remote control decoding system in this embodiment includes an obtaining unit 201, an intercepting unit 202, a repairing unit 203, and a decoding unit 204, wherein:
  • the acquiring unit 201 is configured to acquire a pulse sequence including infrared remote control data, wherein the pulse sequence includes an identification pulse and a valid data pulse segment, and the valid data pulse segment is after the identification pulse;
  • the intercepting unit 202 is configured to detect the identification pulse in the pulse sequence, and intercept the valid data pulse segment after the identification pulse;
  • the valid data pulse segment follows the identification pulse with no other pulses between the two.
  • the repairing unit 203 is configured to repair data of the valid data pulse segment to obtain decoded data.
  • the valid data pulse segment includes valid data and interference data
  • the interference data is repaired by the data repair algorithm, so that the data of the valid data pulse segment becomes the decoded data that can be correctly decoded.
  • the decoding unit 204 is configured to decode the decoded data.
  • the system for anti-interference infrared remote control decoding is to intercept an effective infrared remote control data pulse segment in a pulse sequence including infrared remote control data, and perform repair processing to obtain decoded data and then perform decoding, and the present invention provides a solution.
  • the interfered infrared remote control data can be correctly repaired and decoded with a large probability, thereby solving the interference in the infrared remote control data and failing to be correct.
  • the repair unit 203 includes:
  • the complementary check unit 2031 is configured to: if the data length of the valid data pulse segment is a preset fixed length, repair the data of the valid data pulse segment by using a complementary check algorithm;
  • the merged data unit 2032 is configured to: if the data length of the valid data pulse segment is greater than a preset fixed length, repair the data of the valid data pulse segment by using a merged data algorithm;
  • the data splitting unit 2033 is configured to: if the data length of the valid data pulse segment is less than a preset fixed length, repair the data of the valid data pulse segment by using a data splitting algorithm;
  • the integrated processing unit 2034 is configured to comprehensively use the complementary check unit, the merged data unit, and the data splitting unit to repair data of the valid data pulse segment.
  • the three types of data lengths are mainly used to repair the three types of data, such as a complementary check algorithm, a merged data algorithm, and a data splitting algorithm. In practical applications, these three types are often used comprehensively. Algorithm, so The data can be better repaired.
  • the data of the infrared remote control effective data pulse segment includes an address code and a command code, and the fixed length is long.
  • the length of the data may be constant, and the length is still fixed, but the error data is included therein.
  • the complementary verification algorithm is needed to repair the data of the valid data pulse segment;
  • the length of the data may be longer than the fixed length, and the data in the original correct data is interfered by the segmentation.
  • the data of the valid data segment is repaired by the combined data algorithm
  • the length of the data may be shorter than the fixed length, and the data in the original correct data is interfered and merged.
  • the data splitting algorithm is used to repair the data of the valid data pulse segment;
  • the data of the valid data pulse segment is a pulse time, including a positive code and an inverse code, and in the case of no interference, the positive code and the inverted code are in one-to-one correspondence;
  • a complementary check unit 2031 configured to detect whether the data of the valid data pulse segment is within a valid interval of a logical time of 1 or a logic 0;
  • the pulse not in the logic 1 or the logic 0 is utilized according to the one-to-one correspondence between the positive code and the inverted code.
  • the inverse code corresponding to the positive code within the effective range of time is repaired.
  • the complementary check algorithm can be used to better repair data whose length is normal but whose value is disturbed.
  • the correct address code and the command code are a total of 32 bits.
  • the 0th to 7th bits are the address code positive code
  • the 8th to 15th bits are the address code inverse code
  • the 16th to 23rd bits are the command code positive code
  • the 24th to 31st bits are the command code inverse code
  • the positive code and The anti-code one-to-one correspondence the positive and negative codes are logic 0 or logic 1, the pulse time of logic 0 should be 1120us, and the pulse time of logic 1 should be 2250us;
  • the fifth bit 175 is not in the Logic1 identification range (195 to 215), and the sixth bit 133 is not in the Logic0 identification range (93 to 113), and the 13th bit can be utilized.
  • 103 is identified as Logic0, so it is known from the inverse that the fifth bit should be recognized as Logic1; similarly from the 14th bit, the fixable sixth bit should be recognized as Logic0.
  • the data of the valid data pulse segment is a pulse time
  • a merge data unit 2032 configured to detect whether the data of the valid data pulse segment is within a valid interval of a logic time of 1 or a logic 0;
  • the data of the valid data pulse segment is within the valid interval of the logic time 1 or the logical time of the logic 0, respectively, the data of all the adjacent two pulse times of the logical data pulse segment are respectively combined. Processing, and verifying by the complementary check algorithm, selecting a merge process in which the verification is met.
  • the merged data algorithm can better repair the data with a large length after being interfered.
  • the data length is greater than 32, it indicates that data is interfered with.
  • split data There are generally two cases of split data.
  • the data after splitting is not in the range of Logic0 and Logic1.
  • the adjacent split data is directly merged.
  • 206 is interfered with data.
  • the two adjacent data of 130 and 76 are directly combined to obtain 206 correct data; the other is that Logic1 data can be recognized as two Logic0 data after being split.
  • the data of the valid data pulse segment is a pulse time
  • the data splitting unit 2033 is configured to detect whether the data of the valid data pulse segment is within a valid range of the logical time 1 and the logical time of the logic 0;
  • the data is the sum of the pulse times of logic 1 and logic 0, the data is split into the pulse times of logic 1 and logic 0, and the split logic 1 and logic 0 are verified by the complementary check algorithm.
  • the order of the pulse time is selected, and the order before and after the verification is selected;
  • the data is the sum of the pulse times of logic 1 and logic 1, the data is split into two logical 1 pulse times;
  • the data of the valid data segment is within the valid interval of the logic 1 or the logic 0 pulse time, the data of all the pulse times of the logic 1 in the valid data segment are separately processed and complemented. Verification algorithm verification, select the split processing that meets the verification.
  • the split data algorithm can better repair the data with small length after being interfered.
  • the data length is less than 32, it indicates that at least 2 data are interfered and merged. This situation depends on the size of the data merge.
  • the merged data is equal to the sum of Logic0 and Logic1, it is directly divided into two data, Logic0 and Logic1.
  • the order of Logic0 and Logic1 needs to be confirmed by the complementary check algorithm. As shown in Table 6, 206 and 103 are merged into 309, which are divided into Logic0 and Logic1, and the corresponding inverse codes 103 and 206 are used to determine 309.
  • Logic1 After splitting, Logic1 is in front and Logic0 is in the back; second, if the merged data is equal to Logic1 and The sum of Logic1 can be directly divided into two Logic1 data; if the merged data is equal to the sum of Logic0 and Logic0 (the sum of two Logic0s is equal to one Logic1), it is necessary to perform split verification for all Logic1 separately and pass the complementary check algorithm. Select the correct group to split, and the other remains.
  • the intercepting unit 202 includes a detecting unit 2021;
  • the detecting unit 2021 is configured to detect a length of time of each pulse in the pulse sequence, and if a time length of a certain pulse is within a valid range of a length of the identification pulse, determining that the pulse is the identification pulse;
  • the identification pulse can be detected without fail by the above method.
  • the identification pulse can be AGC Burst (automatic gain control high level pulse).
  • AGC Burst is theoretically 13500us.
  • the buffer queue FIFO_A is used for identification, and then according to NEC protocol, the theoretical total length of the address code and command code is 53920us, and the fault tolerance is set to 400us.
  • the pulse segment containing the address code and the command code is then placed in the buffer queue FIFO_B according to the theoretical value and fault tolerance, and is reserved for subsequent repair processing.
  • the AGC Burst is a full pulse of 13500us long without interference. According to the actual data analysis, when the AGC Burst is disturbed, it will be divided into several small pulses, but the length of the small pulses is added in the interval A (13300us-13700us). Therefore, it is not possible to judge the identification of the AGC Burst only by detecting that a certain pulse length is in the interval A, but by setting a buffering group of length N (the general interference condition N is set to 3).
  • the specific flow of using the buffer queue FIFO_A to detect the AGC Burst is shown in Figure 2.
  • the buffer queue FIFO_A is initialized, and the queue data is 0; when the rising edge comes, the time interval x between the rising edge and the last rising edge is calculated as the original infrared data, so that the head data of the FIFO_A is out.
  • the team, x is input to the tail of the FIFO_A, and the number n of the original infrared data is recorded, and the sum S of the n values of the tail of the FIFO_A is calculated; if the sum value S is within the range of the valid interval A of the AGC Burst, this indicates The n pulses can be identified as an AGC Burst as a whole; if the sum value S is smaller than the minimum value A_Min of the effective interval A and n is less than N, the subsequent original infrared data is continuously input until the detection identifies the AGC Burst, or the sum does not satisfy the value.
  • the condition that S is smaller than the minimum value A_Min of the effective interval A and n is smaller than N indicates that the AGC Burst is not detected and the original infrared data is reselected for identification.
  • the pulse data is collected by the rising edge trigger and the falling edge is not triggered. This method is less than half of the data collected by the edge trigger, which makes the repair process more convenient and efficient.
  • the correct valid data pulse segment can be intercepted only when the AGC Burst is correctly identified, thereby entering the repair step.
  • the value of the N value is an empirical value. After analysis and algorithm debugging of the oscilloscope waveform, for general interference, N takes 3 to identify the AGC Burst.
  • the intercepting unit 202 is configured to intercept the valid data pulse segment after the identification pulse according to a preset time length of the valid data pulse segment.
  • the effective data pulse segment after the identification pulse can be effectively intercepted by the above method.
  • the following examples are commonly used in the NEC protocol (other infrared remote control protocols are similar), and the rising edge trigger is used, and the identification pulse can be AGC Burst (automatic gain control high level pulse), according to the NEC protocol, after detecting the AGC Burst , the pulse segment including the address code and the command code is buffered into the valid data queue FIFO_B, and the total length of the pulse code of the address code and the command code of the effective infrared remote control data is constant, and the included address can be divided accordingly. The boundary between the code and the command code data.
  • AGC Burst automatic gain control high level pulse
  • the specific flow of intercepting the valid data pulse segment after the identification pulse is shown in FIG. 3.
  • the AGC Burst is detected first; after detecting the AGC Burst, the valid data queue FIFO_B is initialized; the pulse segment data after the AGC Burst is buffered one by one into the valid data queue FIFO_B until the sum of the data in the valid data queue FIFO_B is valid. Within the range of the valid interval B of the data pulse segment, both the address code and the command code in the valid data are already buffered in the valid data queue FIFO_B.
  • the number of pulses of the address code and the command code is 32 without interference; when there is interference, the address code and the command code are offset, split, or Merging, so the number of pulses n should be around 32, S is used to calculate the total time of the pulse sequence.
  • a pulse sequence (including address code, command code, and interference) of the total length of time in the interval B is input to the buffer queue FIFO_B, and then repaired. This step is mainly to separate the pulse sequence containing the effective address code and command code, so that the next unit can be repaired more accurately.
  • the anti-interference infrared remote control decoding system includes a repetition processing unit 205 for detecting each of more than one repeated code pulse after the valid data pulse segment.
  • the data in the repetition code pulse is added after the data of the valid data pulse segment.
  • the generated duplicate code is processed to prevent the omission of the infrared remote control data information.
  • the following examples are commonly used in the NEC protocol (other infrared remote control protocols are similar).
  • the processing method is to put the repetition code into the valid data queue FIFO_B, and the FIFO_B is subsequently dequeued to repair and decode the address code and the command code.
  • the decoding encounters a repetition code, the previously decoded key is repeated. Pressed.
  • NEC infrared remote control protocol uses the NEC infrared remote control protocol as an example.
  • each pulse is a 560 us long 38 KHz carrier (approximately 21 carrier cycles).
  • the logic "1" pulse time is 2.25ms and the logic "0" pulse time is 1.12ms.
  • Figure 7 shows a typical pulse train for the NEC protocol.
  • the protocol specifies that the lower bits are transmitted first.
  • the transmitted address code is "59" and the command code is "16".
  • the information sent each time is first a 9ms AGC (Automatic Gain Control) high pulse for adjusting the gain of the infrared receiver, followed by a low level of 4.5ms.
  • the whole of the two is the above AGC Burst; the next step is Address code and command code.
  • the address code and the command code are sent twice, and the second time is sent in reverse (for example, the inverse of 1111 0000 is 0000 1111), which is used to verify the accuracy of the received information.
  • each bit sends its inverse code once, the overall transmission time is constant (that is, every time it is sent, whether it is 1 or 0, the time of transmission is the sum of its and the time of its reverse transmission), so it can pass This intercepts the address code and command code of the AGC Burst and its subsequent interval. This means of verifying the reliability of the transmitted code will use this feature when repairing the interference data.
  • the corresponding valid data information can only be sent once. If the infrared remote control button is kept pressed, the transmission is repeated with a period of 110ms.
  • the repetition code is from 9cm AGC high level and 2.25ms. Low electricity It is flat with a high level of 560us, as shown in Figure 7.
  • the pulse time from the rising edge of the AGC Burst before the valid data to the rising edge of the AGC of the repetition code is also 110 ms, which is the same as the period of the repetition code.
  • the anti-interference infrared remote control decoding system of the invention has a one-to-one correspondence with the anti-interference infrared remote control decoding method of the present invention, and the technical features and beneficial effects of the embodiment of the anti-interference infrared remote control decoding method are applicable to anti-interference In an embodiment of an infrared remote control decoding system.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Selective Calling Equipment (AREA)
  • Optical Communication System (AREA)

Abstract

本发明涉及一种抗干扰红外遥控解码的方法和系统。现在的红外遥控解码方法,一般较少考虑抗外界干扰的问题,而且目前红外遥控解码一般是即时解码,即每一个脉冲到达时即时解码,此种方式很难抗干扰纠错,因为纠错需要通过前后脉冲对比才能进行,如此导致解码抗干扰性能较差。本发明是在包含红外遥控数据的脉冲序列中截取有效红外遥控数据脉冲段,并对其进行修复处理,获得解码数据后再进行解码,其中考虑了外界干扰的影响,并且使用数据修复算法对红外遥控数据进行修复,能使被干扰的红外遥控数据以较大概率被正确修复并解码。

Description

抗干扰红外遥控解码的方法和系统 技术领域
本发明涉及红外遥控技术领域,特别是涉及抗干扰红外遥控解码的方法和系统。
背景技术
当前,在红外遥控产品中,红外遥控很容易受到外界的干扰,主要是来自红外触摸框的红外干扰。现有技术中的方案不能很好地对红外干扰进行识别并纠错,在有红外干扰的情况下导致红外遥控无法正确解码。
现在的红外遥控解码方法,一般较少考虑抗外界干扰的问题,而且目前红外遥控解码一般是即时解码,即每一个脉冲到达时即时解码,此种方式很难抗干扰纠错,因为纠错需要通过前后脉冲对比才能进行,如此导致解码抗干扰性能较差,另外还有部分产品采用边沿触发中断的方式进行解码,在上升沿与下降沿都会触发,在干扰的情况下数据量很大,数据过于复杂,导致抗干扰处理复杂、性能较差。
发明内容
基于此,有必要针对红外遥控易受到干扰的问题,提供一种抗干扰红外遥控解码的方法和系统。
一种抗干扰红外遥控解码的方法,包括以下步骤:
获取包含红外遥控数据的脉冲序列,其中,所述脉冲序列包括识别脉冲和有效数据脉冲段,所述有效数据脉冲段在所述识别脉冲之后;
检测所述脉冲序列中的所述识别脉冲,截取所述识别脉冲后的所述有效数据脉冲段;
对所述有效数据脉冲段的数据进行修复,获得解码数据;
对所述解码数据进行解码。
一种抗干扰红外遥控解码的系统,包括以下单元:
获取单元,用于获取包含红外遥控数据的脉冲序列,其中,所述脉冲序列包括识别脉冲和有效数据脉冲段,所述有效数据脉冲段在所述识别脉冲之后;
截取单元,用于检测所述脉冲序列中的所述识别脉冲,并截取所述识别脉冲后的所述有效数据脉冲段;
修复单元,用于对所述有效数据脉冲段的数据进行修复,获得解码数据;
解码单元,用于对所述解码数据进行解码。
根据上述本发明的方案,其是在包含红外遥控数据的脉冲序列中截取有效红外遥控数据脉冲段,并对其进行修复处理,获得解码数据后再进行解码,本发明方案中考虑了外界干扰的影响,并且使用数据修复算法对红外遥控数据进行修复,能使被干扰的红外遥控数据以较大概率被正确修复并解码。
附图说明
图1是其中一个实施例中抗干扰红外遥控解码的方法的流程图;
图2是其中一个实施例中检测识别脉冲的流程图;
图3是其中一个实施例中截取识别脉冲后的有效数据脉冲段的流程图;
图4是其中一个实施例中重复码脉冲的示意图;
图5是其中一个实施例中脉冲序列中包含重复码序列的示意图;
图6是其中一个实施例中逻辑“1”和逻辑“0”脉冲的示意图;
图7是其中一个实施例中识别脉冲和有效数据脉冲的示意图;
图8是其中一个实施例中抗干扰红外遥控解码的系统的示意图;
图9是其中一个实施例中抗干扰红外遥控解码的系统的部分示意图;
图10是其中一个实施例中抗干扰红外遥控解码的系统的部分示意图;
图11是其中一个实施例中抗干扰红外遥控解码的系统的示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
参见图1所示,为本发明的抗干扰红外遥控解码的方法的实施例。该实施例中的抗干扰红外遥控解码的方法包括如下步骤:
步骤S101:获取包含红外遥控数据的脉冲序列,其中,所述脉冲序列包括识别脉冲和有效数据脉冲段,所述有效数据脉冲段在所述识别脉冲之后;
步骤S102:检测所述脉冲序列中的所述识别脉冲,截取所述识别脉冲后的所述有效数据脉冲段;
在本实施例中,有效数据脉冲段紧跟在识别脉冲之后,两者之间无其他脉冲。
步骤S103:对所述有效数据脉冲段的数据进行修复,获得解码数据;
在本实施例中,所述有效数据脉冲段中包含有效数据和干扰数据,利用数据修复算法对干扰数据进行修复,使有效数据脉冲段的数据成为可以正确解码的解码数据。
步骤S104:对所述解码数据进行解码。
本实施方式所述的抗干扰红外遥控解码的方法,是在包含红外遥控数据的脉冲序列中截取有效红外遥控数据脉冲段,并对其进行修复处理,获得解码数据后再进行解码,本发明方案中考虑了外界干扰的影响,并且使用数据修复算法对红外遥控数据进行修复,能使被干扰的红外遥控数据以较大概率被正确修复并解码,从而解决了红外遥控数据中存在干扰而无法正确解码的问题。
在其中一个实施例中,所述对所述有效数据脉冲段的数据进行修复的步骤包括以下步骤:
若所述有效数据脉冲段的数据长度为预设的固定长度,则利用互补校验算法对该有效数据脉冲段的数据进行修复;若所述有效数据脉冲段的数据长度大于预设的固定长度,则利用合并数据算法对该有效数据脉冲段的数据进行修复;若所述有效数据脉冲段的数据长度小于预设的固定长度,则利用数据拆分算法对该有效数据脉冲段的数据进行修复;
或者,综合使用所述互补校验算法、所述合并数据算法、所述数据拆分算法这三种算法对所述有效数据脉冲段的数据进行修复。
在本实施例中,主要是对数据长度的三种类型分别使用互补校验算法、合并数据算法、数据拆分算法这三种算法来进行修复,在实际应用中,往往是综合使用这三种算法,如此可使数据较好地被修复。
优选的,红外遥控有效数据脉冲段的数据包括地址码和命令码,它们具有固定的长度,在受到干扰的情况下,数据的长度可能不变,仍为固定长度,但其中有错误数据,此时需采用互补校验算法对有效数据脉冲段的数据进行修复;
在受到干扰的情况下,数据的长度可能比固定长度长,原正确数据中有数据被干扰切分了,此时需采用合并数据算法对有效数据脉冲段的数据进行修复;
在受到干扰的情况下,数据的长度可能比固定长度短,原正确数据中有数据被干扰合并了,此时需采用数据拆分算法对有效数据脉冲段的数据进行修复;
还有很多干扰情况是上述三种的混合,故需综合使用此三种算法对有效数据脉冲段的数据进行修复。
在其中一个实施例中,有效数据脉冲段的数据为脉冲时间,数据包括正码和反码,在未受干扰的情况下,正码和反码一一对应;
利用互补校验算法对该有效数据脉冲段的数据进行修复的步骤包括以下步骤:
检测所述有效数据脉冲段的数据是否在逻辑1或逻辑0的脉冲时间的有效区间范围内;
若所述有效数据脉冲段的数据中正码不在逻辑1或逻辑0的脉冲时间的有效区间范围内,则根据所述正码和反码的一一对应关系,利用不在逻辑1或逻辑0的脉冲时间的有效区间范围内的正码对应的反码,对该正码进行修复。
在本实施例中,使用互补校验算法能较好地修复长度正常,但数值受干扰的数据。
优选的,根据NEC协议,正确的地址码和命令码一共为32个比特位。第0至7位为地址码正码,第8至第15位为地址码反码,第16至第23位为命令码正码,第24至第31位为命令码反码,正码与反码一一对应,正码和反码为逻辑0或逻辑1,逻辑0的脉冲时间应为1120us,逻辑1的脉冲时间应为2250us;
表1中的数据是采用MCU定时器计算的脉冲时间序列,单位均为10us,因定时器的误差问题,逻辑0测得正常值为103,即1030us(103×10us=1030us),逻辑1为205,即2050us(205×10us=2050us),定时器误差为固定的系统误差,不影响正常逻辑判断。设定容错为100us,则逻辑0识别范围为93~113(Logic0_Min=93,Logic0_Max=113),逻辑1识别范围为195~215(Logic1_Min=195,Logic1_Max=215);
当检测到某一位有错误时,如表1中,第5位175不在Logic1识别范围(195~215),第6位133不在Logic0识别范围(93~113),就可以利用第13位为103识别为Logic0,故从反码知道第5位应识别为Logic1;同理从第14位,可修复第6位应识别为Logic0。
表1
Figure PCTCN2016090732-appb-000001
在其中一个实施例中,有效数据脉冲段的数据为脉冲时间;
利用合并数据算法对该有效数据脉冲段的数据进行修复的步骤包括以下步骤:
检测所述有效数据脉冲段的数据是否在逻辑1或逻辑0的脉冲时间的有效区间范围内;
若有不在逻辑1或逻辑0的脉冲时间的有效区间范围内的相邻的数据,则将相邻的该种数据进行合并处理;
若所述有效数据脉冲段的数据均在逻辑1或逻辑0的脉冲时间的有效区间范围内,则对所述有效数据脉冲段中所有相邻两个为逻辑0的脉冲时间的数据分别进行合并处理,并以所述互补校验算法验证,选择其中符合验证的合并处理。
在本实施例中,使用合并数据算法能较好地修复受干扰后长度偏大的数据。
优选的,根据NEC协议,当数据长度大于32时,说明有数据被干扰拆分了。拆分后的数据一般有两种情况,一是被拆分后的数据均不在Logic0和Logic1范围,此种情况直接将相邻的拆分数据进行合并,如表2中,206被干扰数据切分为130和76,则直接将130和76这两个相邻的数据进行合并,得到206这个正确数据;另一种是Logic1数据被拆分后的刚好可以被识别为两个Logic0数据,此种情况需分别验证合并所有前后两个数据均为Logic0的情况,并结合互补校验算法,选择符合互补校验的一组数据进行正确合并。
表2
Figure PCTCN2016090732-appb-000002
在其中一个实施例中,有效数据脉冲段的数据为脉冲时间;
利用数据拆分算法对该有效数据脉冲段的数据进行修复的步骤包括以下步骤:
检测所述有效数据脉冲段的数据是否在逻辑1和逻辑0的脉冲时间的有效区间范围内;
若有数据为逻辑1与逻辑0的脉冲时间之和,则将该数据拆分成逻辑1和逻辑0的脉冲时间,并以所述互补校验算法验证拆分后的逻辑1和逻辑0的脉冲时间的前后顺序,选择其中符合验证的前后顺序;
若有数据为逻辑1和逻辑1的脉冲时间之和,则将该数据拆分成两个逻辑1的脉冲时间;
若所述有效数据脉冲段的数据均在逻辑1或逻辑0的脉冲时间的有效区间范围内,则对有效数据脉冲段中所有为逻辑1的脉冲时间的数据分别进行拆分处理,并以互补校验算法验证,选择其中符合验证的拆分处理。
在本实施例中,使用拆分数据算法能较好地修复受干扰后长度偏小的数据。
优选的,根据NEC协议,当数据长度小于32时,说明至少有2数据被干扰合并了。此种情况得看数据合并的大小,一是若合并数据等于Logic0与Logic1的和,直接将其分成Logic0与Logic1两个数据,但分开后Logic0和Logic1的先后顺序需要用互补校验算法来确认,如表3中,206和103合并为309,将其分成Logic0和Logic1,用对应的反码103和206来确定309拆分后,Logic1在前,Logic0在后;二若合并数据等于Logic1与Logic1的和,直接分成两个Logic1数据即可;若合并数据等于Logic0与Logic0的和(两个Logic0的和等于一个Logic1),就需要对所有Logic1分别进行拆分验证,并通过互补校验算法选出正确的那一组进行拆分,其他保留原状。
表3
Figure PCTCN2016090732-appb-000003
在其中一个实施例中,检测脉冲序列中的识别脉冲的步骤包括以下步骤:
检测所述脉冲序列中各个脉冲的时间长度,若其中某个脉冲的时间长度在所述识别脉冲的时间长度的有效区间范围内,则判断这个脉冲为所述识别脉冲;
或者,
计算所述脉冲序列中连续的若干个脉冲的时间长度之和,若其长度之和值在所述识别脉冲的时间长度的有效区间范围内,则判断所述若干个脉冲为所述识别脉冲。
在本实施例中,通过上述方法可以有效无遗漏地检测识别脉冲。
优选的,以下均以常用的NEC协议举例(其他红外遥控协议类似),采用上升沿触发,识别脉冲可以为AGC Burst(自动增益控制高电平脉冲),根据NEC协议,AGC Burst理论上为13500us,设定容错为200us,即检测到脉冲时间长度处于区间A(13300us-13700us,设A_Min=13300us,A_Max=13700us)就认为识别到AGC Burst,此处需要使用缓冲队列FIFO_A来进行识别,然后根据NEC协议,地址码和命令码的理论总时间长度53920us,设定容错为400us,按照理论值及容错截取其后包含地址码和命令码的脉冲段放入缓冲队列FIFO_B,留作后续修复处理。
具体的,在没有干扰的情况下,AGC Burst是13500us长的完整脉冲。经实际数据分析,当AGC Burst在被干扰的情况下,会被切分成数个小脉冲,但小脉冲的时间长度加起来处于区间A(13300us-13700us)。故不能只通过检测某一个脉冲长度处于区间A来判断识别到AGC Burst,而是通过设置一个长度为N(一般干扰情况N设为3即可)的缓冲队列FIFO_A,用来专门检测AGC Burst,当缓冲队列里面n(1<=n<=N)个脉冲总长度处于区间A,则认为识别到了AGC Burst。使用缓冲队列FIFO_A来检测AGC Burst的具体流程如图2所示。
开始时,对缓冲队列FIFO_A进行初始化,其中的队列数据均为0;当上升沿来临时,计算本次上升沿与上次上升沿的时间间隔x作为原始红外数据,使FIFO_A的队头数据出队,x输入至FIFO_A的队尾,同时记录原始红外数据的个数n,计算FIFO_A的队尾n个值的和S;若和值S在AGC Burst的有效区间A的范围内,则表示这n个脉冲整体可识别为一个AGC Burst;若和值S小于有效区间A的最小值A_Min且n小于N,则继续输入后续的原始红外数据,直至检测识别到AGC Burst,或者,不满足和值S小于有效区间A的最小值A_Min且n小于N这一条件,说明未检测识别到AGC Burst,重新选择原始红外数据进行识别。
采用上升沿触发、下降沿不触发的方式采集脉冲数据,此方式比边沿触发采集的数据少一半,使得修复处理更加方便高效。此外,只有在正确识别到AGC Burst的情况下,才 能截取后面的有效数据脉冲段,从而进入修复步骤。N值的大小是一个经验值,经过示波器波形的分析和算法调试,对于一般的干扰,N取3即可基本无遗漏识别AGC Burst。
在其中一个实施例中,截取识别脉冲后的有效数据脉冲段的步骤包括以下步骤:
根据所述有效数据脉冲段的预设时间长度,截取所述识别脉冲后的所述有效数据脉冲段。
在本实施例中,通过上述方法可以有效地截取识别脉冲后的有效数据脉冲段。
优选的,以下均以常用的NEC协议举例(其他红外遥控协议类似),采用上升沿触发,识别脉冲可以为AGC Burst(自动增益控制高电平脉冲),根据NEC协议,在检测到AGC Burst后,即可将其后包含地址码和命令码的脉冲段缓冲到有效数据队列FIFO_B里,一帧有效红外遥控数据的地址码和命令码的脉冲时间总长度是恒定的,可以据此划分包含地址码和命令码数据的边界。地址码和命令码脉冲的理论总时间长度为(2250+1120)×8×2=53920us,设定容错为400us,即区间B(B_Min=53520us,B_Max=54320us)。截取识别脉冲后的有效数据脉冲段的具体流程如图3所示。
开始时,先检测AGC Burst;检测识别到AGC Burst后,初始化有效数据队列FIFO_B;将AGC Burst后的脉冲段数据逐一缓冲到有效数据队列FIFO_B中,直到有效数据队列FIFO_B中的数据之和在有效数据脉冲段的有效区间B的范围内,此时有效数据中的地址码和命令码均已缓存在有效数据队列FIFO_B中。根据NEC协议,在没有干扰的情况下,地址码和命令码的脉冲数量为32;当有干扰的情况下,地址码和命令码会被偏移、切分或合并,故脉冲数量n应在32左右,S用于计算脉冲序列总时间。
检测到AGC Burst后,将一段总时间长度在区间B的脉冲序列(包含地址码、命令码、干扰)输入到缓冲队列FIFO_B,然后就可以进行修复了。此步骤主要是分离包含有效地址码、命令码的脉冲序列,这样下一步骤就可以更准确地进行修复。
在其中一个实施例中,截取识别脉冲后的有效数据脉冲段的步骤之后还包括以下步骤:
若在所述有效数据脉冲段后检测到一个以上的重复码脉冲,则将每个重复码脉冲中的数据添加到所述有效数据脉冲段的数据之后。
在本实施例中,对产生的重复码进行了处理,防止红外遥控数据信息的遗漏。
优选的,以下以常用的NEC协议举例(其他红外遥控协议类似),在检测到地址码和命令码后会有两种情况:一个是释放了红外遥控按键,此种情况不会产生重复码;二是按着红外遥控按键一直不放,此时就会产生重复码。根据NEC协议,如图4和图5所示, 重复码每110ms出现1次,采用上升沿检测方式,识别到两个连续的脉冲长度11250us(9+2.25=11.25ms)、98750us(110-9-2.25=98.75ms)则表示识别到了重复码。识别重复码的情况因为要考虑干扰的情况,也需要通过AGC Burst类似的识别方法,原理是一样的,只是识别的范围等不一样而已,在此不再详述。识别到重复码后的处理方法就是将重复码也放入有效数据队列FIFO_B中,FIFO_B后续出队对地址码和命令码进行修复和解码,解码时遇到有重复码就表示前面解码的按键重复按下了。
上述各实施例均以NEC红外遥控协议为例,以下对该NEC协议进行说明:
NEC协议根据脉冲时间长短解码。在图6中,每个脉冲为560us长的38KHz载波(约21个载波周期)。逻辑“1”脉冲时间为2.25ms,逻辑“0”脉冲时间为1.12ms。
图7为NEC协议的典型脉冲链,包括识别脉冲和有效数据。协议规定低位首先发送,如图7所示的情况,发送的地址码为“59”,命令码为“16”。每次发送的信息首先是用于调整红外接收器增益的9ms AGC(自动增益控制)高电平脉冲,接着是4.5ms的低电平,这两者的整体就是上述AGC Burst;接下来便是地址码和命令码。地址码和命令码发送两次,第二次发送的是反码(如:1111 0000的反码为0000 1111),用于验证接收的信息的准确性。因为每位都发送一次它的反码,所以总体的发送时间是恒定的(即每次发送时,无论是1或0,发送的时间都是它及它反码发送时间总和),故可以通过此截取AGC Burst及其后一段间隔内的地址码和命令码。这种以发送反码验证可靠性的手段,在修复干扰数据时将使用到这一特征。
按下红外遥控按键后,相应的有效数据信息只能发送一次,若一直按住红外遥控按键,发送的则是以110ms为周期的重复码,重复码是由9ms的AGC高电平和2.25ms的低电平及一个560us的高电平组成,如图5所示。另外,在图5中,从有效数据前的AGC Burst的上升沿到重复码的AGC的上升沿的脉冲时间也是110ms,与重复码的周期相同。
本发明提供了一种抗干扰红外遥控解码的方法,依据该方法可以在包含红外遥控数据的脉冲序列中截取有效红外遥控数据脉冲段,并对其进行修复处理,获得解码数据后再进行解码,本发明方案中考虑了外界干扰的影响,并且使用数据修复算法对红外遥控数据进行修复,能使被干扰的红外遥控数据以较大概率被正确修复并解码,从而解决了红外遥控数据中存在干扰而无法正确解码的问题。
根据上述抗干扰红外遥控解码的方法,本发明还提供一种抗干扰红外遥控解码的系 统,以下就本发明的抗干扰红外遥控解码的系统的实施例进行详细说明。
参见图8所示,为本发明的抗干扰红外遥控解码的系统的实施例。该实施例中的抗干扰红外遥控解码的系统包括获取单元201,截取单元202,修复单元203,解码单元204,其中:
获取单元201,获取包含红外遥控数据的脉冲序列,其中,所述脉冲序列包括识别脉冲和有效数据脉冲段,所述有效数据脉冲段在所述识别脉冲之后;
截取单元202,用于检测所述脉冲序列中的所述识别脉冲,截取所述识别脉冲后的所述有效数据脉冲段;
在本实施例中,有效数据脉冲段紧跟在识别脉冲之后,两者之间无其他脉冲。
修复单元203,用于对所述有效数据脉冲段的数据进行修复,获得解码数据;
在本实施例中,所述有效数据脉冲段中包含有效数据和干扰数据,利用数据修复算法对干扰数据进行修复,使有效数据脉冲段的数据成为可以正确解码的解码数据。
解码单元204,用于对所述解码数据进行解码。
本实施方式所述的抗干扰红外遥控解码的系统,是在包含红外遥控数据的脉冲序列中截取有效红外遥控数据脉冲段,并对其进行修复处理,获得解码数据后再进行解码,本发明方案中考虑了外界干扰的影响,并且使用数据修复算法对红外遥控数据进行修复,能使被干扰的红外遥控数据以较大概率被正确修复并解码,从而解决了红外遥控数据中存在干扰而无法正确解码的问题。
在其中一个实施例中,如图9所示,所述修复单元203包括:
互补校验单元2031,用于若所述有效数据脉冲段的数据长度为预设的固定长度,则利用互补校验算法对该有效数据脉冲段的数据进行修复;
合并数据单元2032,用于若所述有效数据脉冲段的数据长度大于预设的固定长度,则利用合并数据算法对该有效数据脉冲段的数据进行修复;
数据拆分单元2033,用于若所述有效数据脉冲段的数据长度小于预设的固定长度,则利用数据拆分算法对该有效数据脉冲段的数据进行修复;
综合处理单元2034,用于综合使用所述互补校验单元,所述合并数据单元,所述数据拆分单元这三种单元对所述有效数据脉冲段的数据进行修复。
在本实施例中,主要是对数据长度的三种类型分别使用互补校验算法、合并数据算法、数据拆分算法这三种算法来进行修复,在实际应用中,往往是综合使用这三种算法,如此 可使数据较好地被修复。
优选的,红外遥控有效数据脉冲段的数据包括地址码和命令码,它们具有固定的长度,在受到干扰的情况下,数据的长度可能不变,仍为固定长度,但其中有错误数据,此时需采用互补校验算法对有效数据脉冲段的数据进行修复;
在受到干扰的情况下,数据的长度可能比固定长度长,原正确数据中有数据被干扰切分了,此时需采用合并数据算法对有效数据脉冲段的数据进行修复;
在受到干扰的情况下,数据的长度可能比固定长度短,原正确数据中有数据被干扰合并了,此时需采用数据拆分算法对有效数据脉冲段的数据进行修复;
还有很多干扰情况是上述三种的混合,故需综合使用此三种算法对有效数据脉冲段的数据进行修复。
在其中一个实施例中,有效数据脉冲段的数据为脉冲时间,包括正码和反码,在未受干扰的情况下,所述正码和反码一一对应;
互补校验单元2031,用于检测所述有效数据脉冲段的数据是否在逻辑1或逻辑0的脉冲时间的有效区间范围内;
若所述有效数据脉冲段的数据中正码不在逻辑1或逻辑0的脉冲时间的有效区间范围内,则根据所述正码和反码的一一对应关系,利用不在逻辑1或逻辑0的脉冲时间的有效区间范围内的正码对应的反码,对该正码进行修复。
在本实施例中,使用互补校验算法能较好地修复长度正常,但数值受干扰的数据。
优选的,根据NEC协议,正确的地址码和命令码一共为32个比特位。第0至7位为地址码正码,第8至第15位为地址码反码,第16至第23位为命令码正码,第24至第31位为命令码反码,正码与反码一一对应,正码和反码为逻辑0或逻辑1,逻辑0的脉冲时间应为1120us,逻辑1的脉冲时间应为2250us;
表4中的数据是采用MCU定时器计算的脉冲时间序列,单位均为10us,因定时器的误差问题,逻辑0测得正常值为103,即1030us(103×10us=1030us),逻辑1为205,即2050us(205×10us=2050us),定时器误差为固定的系统误差,不影响正常逻辑判断。设定容错为100us,则逻辑0识别范围为93~113(Logic0_Min=93,Logic0_Max=113),逻辑1识别范围为195~215(Logic1_Min=195,Logic1_Max=215);
当检测到某一位有错误时,如表4中,第5位175不在Logic1识别范围(195~215),第6位133不在Logic0识别范围(93~113),就可以利用第13位为103识别为Logic0,故从反码知道第5位应识别为Logic1;同理从第14位,可修复第6位应识别为Logic0。
表4
Figure PCTCN2016090732-appb-000004
在其中一个实施例中,有效数据脉冲段的数据为脉冲时间;
合并数据单元2032,用于检测所述有效数据脉冲段的数据是否在逻辑1或逻辑0的脉冲时间的有效区间范围内;
若有不在逻辑1或逻辑0的脉冲时间的有效区间范围内的相邻的数据,则将相邻的该种数据进行合并处理;
若所述有效数据脉冲段的数据均在逻辑1或逻辑0的脉冲时间的有效区间范围内,则对所述有效数据脉冲段中所有相邻两个为逻辑0的脉冲时间的数据分别进行合并处理,并以所述互补校验算法验证,选择其中符合验证的合并处理。
在本实施例中,使用合并数据算法能较好地修复受干扰后长度偏大的数据。
优选的,根据NEC协议,当数据长度大于32时,说明有数据被干扰拆分了。拆分后的数据一般有两种情况,一是被拆分后的数据均不在Logic0和Logic1范围,此种情况直接将相邻的拆分数据进行合并,如表5中,206被干扰数据切分为130和76,则直接将130和76这两个相邻的数据进行合并,得到206这个正确数据;另一种是Logic1数据被拆分后的刚好可以被识别为两个Logic0数据,此种情况需分别验证合并所有前后两个数据均为Logic0的情况,并结合互补校验算法,选择符合互补校验的一组数据进行正确合并。
表5
Figure PCTCN2016090732-appb-000005
在其中一个实施例中,有效数据脉冲段的数据为脉冲时间;
数据拆分单元2033,用于检测所述有效数据脉冲段的数据是否在逻辑1和逻辑0的脉冲时间的有效区间范围内;
若有数据为逻辑1与逻辑0的脉冲时间之和,则将该数据拆分成逻辑1和逻辑0的脉冲时间,并以所述互补校验算法验证拆分后的逻辑1和逻辑0的脉冲时间的前后顺序,选择其中符合验证的前后顺序;
若有数据为逻辑1和逻辑1的脉冲时间之和,则将该数据拆分成两个逻辑1的脉冲时间;
若所述有效数据脉冲段的数据均在逻辑1或逻辑0的脉冲时间的有效区间范围内,则对有效数据脉冲段中所有为逻辑1的脉冲时间的数据分别进行拆分处理,并以互补校验算法验证,选择其中符合验证的拆分处理。
在本实施例中,使用拆分数据算法能较好地修复受干扰后长度偏小的数据。
优选的,根据NEC协议,当数据长度小于32时,说明至少有2数据被干扰合并了。此种情况得看数据合并的大小,一是若合并数据等于Logic0与Logic1的和,直接将其分成Logic0与Logic1两个数据,但分开后Logic0和Logic1的先后顺序需要用互补校验算法来确认,如表6中,206和103合并为309,将其分成Logic0和Logic1,用对应的反码103和206来确定309拆分后,Logic1在前,Logic0在后;二若合并数据等于Logic1与Logic1的和,直接分成两个Logic1数据即可;若合并数据等于Logic0与Logic0的和(两个Logic0的和等于一个Logic1),就需要对所有Logic1分别进行拆分验证,并通过互补校验算法选出正确的那一组进行拆分,其他保留原状。
表6
Figure PCTCN2016090732-appb-000006
在其中一个实施例中,如图10所示,所述截取单元202包括检测单元2021;
所述检测单元2021,用于检测所述脉冲序列中各个脉冲的时间长度,若其中某个脉冲的时间长度在所述识别脉冲的时间长度的有效区间范围内,则判断这个脉冲为所述识别脉冲;
或者,
计算所述脉冲序列中连续的若干个脉冲的时间长度之和,若其长度之和值在所述识别脉冲的时间长度的有效区间范围内,则判断所述若干个脉冲为所述识别脉冲。
在本实施例中,通过上述方法可以有效无遗漏地检测识别脉冲。
优选的,以下均以常用的NEC协议举例(其他红外遥控协议类似),采用上升沿触发,识别脉冲可以为AGC Burst(自动增益控制高电平脉冲),根据NEC协议,AGC Burst理论上为13500us,设定容错为200us,即检测到脉冲时间长度处于区间A(13300us-13700us,设A_Min=13300us,A_Max=13700us)就认为识别到AGC Burst,此处需要使用缓冲队列FIFO_A来进行识别,然后根据NEC协议,地址码和命令码的理论总时间长度53920us,设定容错为400us,按照理论值及容错截取其后包含地址码和命令码的脉冲段放入缓冲队列FIFO_B,留作后续修复处理。
具体的,在没有干扰的情况下,AGC Burst是13500us长的完整脉冲。经实际数据分析,当AGC Burst在被干扰的情况下,会被切分成数个小脉冲,但小脉冲的时间长度加起来处于区间A(13300us-13700us)。故不能只通过检测某一个脉冲长度处于区间A来判断识别到AGC Burst,而是通过设置一个长度为N(一般干扰情况N设为3即可)的缓冲队 列FIFO_A,用来专门检测AGC Burst,当缓冲队列里面n(1<=n<=N)个脉冲总长度处于区间A,则认为识别到了AGC Burst。使用缓冲队列FIFO_A来检测AGC Burst的具体流程如图2所示。
开始时,对缓冲队列FIFO_A进行初始化,其中的队列数据均为0;当上升沿来临时,计算本次上升沿与上次上升沿的时间间隔x作为原始红外数据,使FIFO_A的队头数据出队,x输入至FIFO_A的队尾,同时记录原始红外数据的个数n,计算FIFO_A的队尾n个值的和S;若和值S在AGC Burst的有效区间A的范围内,则表示这n个脉冲整体可识别为一个AGC Burst;若和值S小于有效区间A的最小值A_Min且n小于N,则继续输入后续的原始红外数据,直至检测识别到AGC Burst,或者,不满足和值S小于有效区间A的最小值A_Min且n小于N这一条件,说明未检测识别到AGC Burst,重新选择原始红外数据进行识别。
采用上升沿触发、下降沿不触发的方式采集脉冲数据,此方式比边沿触发采集的数据少一半,使得修复处理更加方便高效。此外,只有在正确识别到AGC Burst的情况下,才能截取后面的有效数据脉冲段,从而进入修复步骤。N值的大小是一个经验值,经过示波器波形的分析和算法调试,对于一般的干扰,N取3即可基本无遗漏识别AGC Burst。
在其中一个实施例中,所述截取单元202用于根据所述有效数据脉冲段的预设时间长度,截取所述识别脉冲后的所述有效数据脉冲段。
在本实施例中,通过上述方法可以有效地截取识别脉冲后的有效数据脉冲段。
优选的,以下均以常用的NEC协议举例(其他红外遥控协议类似),采用上升沿触发,识别脉冲可以为AGC Burst(自动增益控制高电平脉冲),根据NEC协议,在检测到AGC Burst后,即可将其后包含地址码和命令码的脉冲段缓冲到有效数据队列FIFO_B里,一帧有效红外遥控数据的地址码和命令码的脉冲时间总长度是恒定的,可以据此划分包含地址码和命令码数据的边界。地址码和命令码脉冲的理论总时间长度为(2250+1120)×8×2=53920us,设定容错为400us,即区间B(B_Min=53520us,B_Max=54320us)。截取识别脉冲后的有效数据脉冲段的具体流程如图3所示。
开始时,先检测AGC Burst;检测识别到AGC Burst后,初始化有效数据队列FIFO_B;将AGC Burst后的脉冲段数据逐一缓冲到有效数据队列FIFO_B中,直到有效数据队列FIFO_B中的数据之和在有效数据脉冲段的有效区间B的范围内,此时有效数据中的地址码和命令码均已缓存在有效数据队列FIFO_B中。根据NEC协议,在没有干扰的情况下,地址码和命令码的脉冲数量为32;当有干扰的情况下,地址码和命令码会被偏移、切分或 合并,故脉冲数量n应在32左右,S用于计算脉冲序列总时间。
检测到AGC Burst后,将一段总时间长度在区间B的脉冲序列(包含地址码、命令码、干扰)输入到缓冲队列FIFO_B,然后就可以进行修复了。此步骤主要是分离包含有效地址码、命令码的脉冲序列,这样下一单元就可以更准确地进行修复。
在其中一个实施例中,如图11所示,抗干扰红外遥控解码的系统包括重复处理单元205,用于若在所述有效数据脉冲段后检测到一个以上的重复码脉冲,则将每个重复码脉冲中的数据添加到所述有效数据脉冲段的数据之后。
在本实施例中,对产生的重复码进行了处理,防止红外遥控数据信息的遗漏。
优选的,以下以常用的NEC协议举例(其他红外遥控协议类似),在检测到地址码和命令码后会有两种情况:一个是释放了红外遥控按键,此种情况不会产生重复码;二是按着红外遥控按键一直不放,此时就会产生重复码。根据NEC协议,如图4和图5所示,重复码每110ms出现1次,采用上升沿检测方式,识别到两个连续的脉冲长度11250us(9+2.25=11.25ms)、98750us(110-9-2.25=98.75ms)则表示识别到了重复码。识别重复码的情况因为要考虑干扰的情况,也需要通过AGC Burst类似的识别方法,原理是一样的,只是识别的范围等不一样而已,在此不再详述。识别到重复码后的处理方法就是将重复码也放入有效数据队列FIFO_B中,FIFO_B后续出队对地址码和命令码进行修复和解码,解码时遇到有重复码就表示前面解码的按键重复按下了。
上述各实施例均以NEC红外遥控协议为例,以下对该NEC协议进行说明:
NEC协议根据脉冲时间长短解码。在图6中,每个脉冲为560us长的38KHz载波(约21个载波周期)。逻辑“1”脉冲时间为2.25ms,逻辑“0”脉冲时间为1.12ms。
图7为NEC协议的典型脉冲链。协议规定低位首先发送,如图7所示的情况,发送的地址码为“59”,命令码为“16”。每次发送的信息首先是用于调整红外接收器增益的9ms AGC(自动增益控制)高电平脉冲,接着是4.5ms的低电平,这两者的整体就是上述AGC Burst;接下来便是地址码和命令码。地址码和命令码发送两次,第二次发送的是反码(如:1111 0000的反码为0000 1111),用于验证接收的信息的准确性。因为每位都发送一次它的反码,所以总体的发送时间是恒定的(即每次发送时,无论是1或0,发送的时间都是它及它反码发送时间总和),故可以通过此截取AGC Burst及其后一段间隔内的地址码和命令码。这种以发送反码验证可靠性的手段,在修复干扰数据时将使用到这一特征。
按下红外遥控按键后,相应的有效数据信息只能发送一次,若一直按住红外遥控按键,发送的则是以110ms为周期的重复码,重复码是由9ms的AGC高电平和2.25ms的低电 平及一个560us的高电平组成,如图7所示。另外,在图7中,从有效数据前的AGC Burst的上升沿到重复码的AGC的上升沿的脉冲时间也是110ms,与重复码的周期相同。
本发明的抗干扰红外遥控解码的系统与本发明的抗干扰红外遥控解码的方法一一对应,在上述抗干扰红外遥控解码的方法的实施例阐述的技术特征及其有益效果均适用于抗干扰红外遥控解码的系统的实施例中。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

  1. 一种抗干扰红外遥控解码的方法,其特征在于,包括以下步骤:
    获取包含红外遥控数据的脉冲序列,其中,所述脉冲序列包括识别脉冲和有效数据脉冲段,所述有效数据脉冲段在所述识别脉冲之后;
    检测所述脉冲序列中的所述识别脉冲,截取所述识别脉冲后的所述有效数据脉冲段;
    对所述有效数据脉冲段的数据进行修复,获得解码数据;
    对所述解码数据进行解码。
  2. 根据权利要求1所述的抗干扰红外遥控解码的方法,其特征在于,所述对所述有效数据脉冲段的数据进行修复的步骤包括以下步骤:
    若所述有效数据脉冲段的数据长度为预设的固定长度,则利用互补校验算法对该有效数据脉冲段的数据进行修复;若所述有效数据脉冲段的数据长度大于预设的固定长度,则利用合并数据算法对该有效数据脉冲段的数据进行修复;若所述有效数据脉冲段的数据长度小于预设的固定长度,则利用数据拆分算法对该有效数据脉冲段的数据进行修复;
    或者,综合使用所述互补校验算法、所述合并数据算法、所述数据拆分算法这三种算法对所述有效数据脉冲段的数据进行修复。
  3. 根据权利要求2所述的抗干扰红外遥控解码的方法,其特征在于,
    所述有效数据脉冲段的数据为脉冲时间,所述数据包括正码和反码,在未受干扰的情况下,所述正码和反码一一对应;
    所述利用互补校验算法对该有效数据脉冲段的数据进行修复的步骤包括以下步骤:
    检测所述有效数据脉冲段的数据是否在逻辑1或逻辑0的脉冲时间的有效区间范围内;
    若所述有效数据脉冲段的数据中正码不在逻辑1或逻辑0的脉冲时间的有效区间范围内,则根据所述正码和反码的一一对应关系,利用不在逻辑1或逻辑0的脉冲时间的有效区间范围内的正码对应的反码,对该正码进行修复。
  4. 根据权利要求2所述的抗干扰红外遥控解码的方法,其特征在于,
    所述有效数据脉冲段的数据为脉冲时间;
    所述利用合并数据算法对该有效数据脉冲段的数据进行修复的步骤包括以下步骤:
    检测所述有效数据脉冲段的数据是否在逻辑1或逻辑0的脉冲时间的有效区间范围内;
    若有不在逻辑1或逻辑0的脉冲时间的有效区间范围内的相邻的数据,则将相邻的该种数据进行合并处理;
    若所述有效数据脉冲段的数据均在逻辑1或逻辑0的脉冲时间的有效区间范围内,则对所述有效数据脉冲段中所有相邻两个为逻辑0的脉冲时间的数据分别进行合并处理,并以所述互补校验算法验证,选择其中符合验证的合并处理。
  5. 根据权利要求2所述的抗干扰红外遥控解码的方法,其特征在于,
    所述有效数据脉冲段的数据为脉冲时间;
    所述利用数据拆分算法对该有效数据脉冲段的数据进行修复的步骤包括以下步骤:
    检测所述有效数据脉冲段的数据是否在逻辑1和逻辑0的脉冲时间的有效区间范围内;
    若有数据为逻辑1与逻辑0的脉冲时间之和,则将该数据拆分成逻辑1和逻辑0的脉冲时间,并以所述互补校验算法验证拆分后的逻辑1和逻辑0的脉冲时间的前后顺序,选择其中符合验证的前后顺序;
    若有数据为逻辑1和逻辑1的脉冲时间之和,则将该数据拆分成两个逻辑1的脉冲时间;
    若所述有效数据脉冲段的数据均在逻辑1或逻辑0的脉冲时间的有效区间范围内,则对有效数据脉冲段中所有为逻辑1的脉冲时间的数据分别进行拆分处理,并以互补校验算法验证,选择其中符合验证的拆分处理。
  6. 根据权利要求1至5中任意一项所述的抗干扰红外遥控解码的方法,其特征在于,所述检测所述脉冲序列中的所述识别脉冲的步骤包括以下步骤:
    检测所述脉冲序列中各个脉冲的时间长度,若其中某个脉冲的时间长度在所述识别脉冲的时间长度的有效区间范围内,则判断这个脉冲为所述识别脉冲;
    或者,
    计算所述脉冲序列中连续的若干个脉冲的时间长度之和,若其长度之和值在所述识别脉冲的时间长度的有效区间范围内,则判断所述若干个脉冲为所述识别脉冲。
  7. 根据权利要求1至5中任意一项所述的抗干扰红外遥控解码的方法,其特征在于,所述截取所述识别脉冲后的所述有效数据脉冲段的步骤包括以下步骤:
    根据所述有效数据脉冲段的预设时间长度,截取所述识别脉冲后的所述有效数据脉冲段。
  8. 根据权利要求7所述的抗干扰红外遥控解码的方法,其特征在于,所述截取所述识别脉冲后的有效数据脉冲段的步骤之后还包括以下步骤:
    若在所述有效数据脉冲段后检测到一个以上的重复码脉冲,则将每个重复码脉冲中的数据添加到所述有效数据脉冲段的数据之后。
  9. 一种抗干扰红外遥控解码的系统,其特征在于,包括以下单元:
    获取单元,用于获取包含红外遥控数据的脉冲序列,其中,所述脉冲序列包括识别脉冲和有效数据脉冲段,所述有效数据脉冲段在所述识别脉冲之后;
    截取单元,用于检测所述脉冲序列中的所述识别脉冲,截取所述识别脉冲后的所述有效数据脉冲段;
    修复单元,用于对所述有效数据脉冲段的数据进行修复,获得解码数据;
    解码单元,用于对所述解码数据进行解码。
  10. 根据权利要求9所述的抗干扰红外遥控解码的系统,其特征在于,所述修复单元,包括互补校验单元,合并数据单元,数据拆分单元,综合处理单元;
    所述互补校验单元,用于若所述有效数据脉冲段的数据长度为预设的固定长度,则利用互补校验算法对该有效数据脉冲段的数据进行修复;
    所述合并数据单元,用于若所述有效数据脉冲段的数据长度大于预设的固定长度,则利用合并数据算法对该有效数据脉冲段的数据进行修复;
    所述数据拆分单元,用于若所述有效数据脉冲段的数据长度小于预设的固定长度,则利用数据拆分算法对该有效数据脉冲段的数据进行修复;
    所述综合处理单元,用于综合使用所述互补校验单元,所述合并数据单元,所述数据拆分单元这三种单元对所述有效数据脉冲段的数据进行修复。
PCT/CN2016/090732 2015-09-25 2016-07-20 抗干扰红外遥控解码的方法和系统 WO2017050005A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510627693.1A CN105118285B (zh) 2015-09-25 2015-09-25 抗干扰红外遥控解码的方法和系统
CN201510627693.1 2015-09-25

Publications (1)

Publication Number Publication Date
WO2017050005A1 true WO2017050005A1 (zh) 2017-03-30

Family

ID=54666253

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/090732 WO2017050005A1 (zh) 2015-09-25 2016-07-20 抗干扰红外遥控解码的方法和系统

Country Status (2)

Country Link
CN (1) CN105118285B (zh)
WO (1) WO2017050005A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105118285B (zh) * 2015-09-25 2018-09-25 广州视睿电子科技有限公司 抗干扰红外遥控解码的方法和系统
CN106448129A (zh) * 2016-10-26 2017-02-22 青岛海信电器股份有限公司 一种红外遥控数据中干扰脉冲的消除方法和装置
CN108269392B (zh) * 2018-01-10 2020-12-04 海信视像科技股份有限公司 一种红外遥控器的解码方法和装置
CN109272740B (zh) * 2018-11-29 2021-04-02 深圳创维数字技术有限公司 红外遥控的解码处理方法、装置及计算机可读存储介质
CN111402570B (zh) * 2020-02-11 2021-08-17 广州创知科技有限公司 红外遥控信号接收方法、接收系统、接收设备及存储介质
CN111968361B (zh) * 2020-08-31 2022-04-19 成都埃克思智创科技有限公司 一种红外重复码学习方法及应用于物联网的红外遥控系统
CN114627635A (zh) * 2020-12-14 2022-06-14 金卡智能集团股份有限公司 红外通讯方法、燃气表和终端设备
CN113850988B (zh) * 2020-12-24 2022-09-27 广东朝歌智慧互联科技有限公司 键值修正方法、装置、设备和计算机可读介质
CN115065416B (zh) * 2022-04-26 2023-08-01 北京德为智慧科技有限公司 红外信号抗干扰方法、装置及显示设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101088225A (zh) * 2005-01-06 2007-12-12 因弗拉-科姆有限公司 红外脉冲位置调制系统的错误检测和纠正
US20080280586A1 (en) * 2005-12-15 2008-11-13 Koninklijke Philips Electronics, N.V. Remote Control with Rf Protocol
CN103051417A (zh) * 2012-11-30 2013-04-17 浙江西盈科技有限公司 一种用于红外遥控器的固定码长互补型编码方法
CN203422641U (zh) * 2013-08-28 2014-02-05 成都信鑫信息技术有限公司 工业领域中的齿轮箱智能监控系统
CN105118285A (zh) * 2015-09-25 2015-12-02 广州视睿电子科技有限公司 抗干扰红外遥控解码的方法和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404113B (zh) * 2008-11-06 2010-11-17 成都九洲电子信息系统有限责任公司 一种在嵌入式系统中用软件实现红外遥控解码的方法
CN101699533B (zh) * 2009-05-08 2012-02-29 四川和芯微电子股份有限公司 一种应用于无线遥控器的编码、解码方法
CN102467816B (zh) * 2010-11-18 2015-12-16 深圳艾科创新微电子有限公司 一种红外线遥控信号解码方法及装置
CN102779405B (zh) * 2012-07-10 2014-02-19 杭州海康威视数字技术股份有限公司 一种硬盘录像机、红外遥控接收装置及方法
CN102945599B (zh) * 2012-11-17 2014-03-26 福州大学 自适应多制式红外解码方法、模块及用该模块的控制电路

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101088225A (zh) * 2005-01-06 2007-12-12 因弗拉-科姆有限公司 红外脉冲位置调制系统的错误检测和纠正
US20080280586A1 (en) * 2005-12-15 2008-11-13 Koninklijke Philips Electronics, N.V. Remote Control with Rf Protocol
CN103051417A (zh) * 2012-11-30 2013-04-17 浙江西盈科技有限公司 一种用于红外遥控器的固定码长互补型编码方法
CN203422641U (zh) * 2013-08-28 2014-02-05 成都信鑫信息技术有限公司 工业领域中的齿轮箱智能监控系统
CN105118285A (zh) * 2015-09-25 2015-12-02 广州视睿电子科技有限公司 抗干扰红外遥控解码的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MO, FENG.: "hongwaixian244 yaokong24 de ruanjian34 ganrao13 fangfa13", ELECTRONIC PRODUCTION, 28 February 2007 (2007-02-28), pages 58 - 60 *

Also Published As

Publication number Publication date
CN105118285B (zh) 2018-09-25
CN105118285A (zh) 2015-12-02

Similar Documents

Publication Publication Date Title
WO2017050005A1 (zh) 抗干扰红外遥控解码的方法和系统
US20090248942A1 (en) Posted Memory Write Verification
US10013581B2 (en) Detection of fault injection attacks
WO2011127866A3 (zh) 数据处理方法、装置及系统
MY194398A (en) Method, apparatus, and system for service data processing and verification
EP3493062A3 (en) Data processing system having lockstep operation
WO2013083415A3 (en) Soft decision error correction for memory based puf using a single enrollment
RU2015137789A (ru) СПОСОБ УЛУЧШЕНИЯ ЭФФЕКТИВНОСТИ КАДРОВ УПРАВЛЕНИЯ В 802.11ah
PH12016500652A1 (en) Systems and methods of communicating redundant frame information
BR112022005160A2 (pt) Fornecimento de uma indicação de falha de enlace de rádio
CN106021165B (zh) 一种lin总线解码、触发和分析技术
JP2013539086A5 (zh)
US20210012118A1 (en) System and method for continuous operation of vision/radar systems in presence of bit errors
JP2019176473A5 (zh)
CN107148760A (zh) 将帧经由总线系统从发送器串行传输至至少一个接收器的方法和用于总线系统的参与站
CN102298565A (zh) 一种异步串行总线信号的解码与触发方法
WO2016095569A1 (zh) 降低误检率的方法、装置及存储介质
KR101356552B1 (ko) 블라인드 블록 인터리버 및 채널 부호화의 파라미터 추정 방법
US20140009166A1 (en) Monitoring Circuit with a Signature Watchdog
US9465689B2 (en) Forward error correction synchronization
US10372528B1 (en) Random values from data errors
US10359460B2 (en) ESD detection apparatus and method applied to digital integrated circuit, and integrated circuit
BR112023015726A2 (pt) Método, sistemas e meio legível por processador para gerar um valor de confiança em uma verificação de sobreposição de posição usando modelos de limite de veículo.
CN106209116A (zh) 一种数据处理方法及电子设备
US20160316044A1 (en) Methods And Systems To Embed Valid-Field (VF) Bits In Classification Keys For Network Packet Frames

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16847887

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16847887

Country of ref document: EP

Kind code of ref document: A1