Signal reconstruction using recursive data and signal recovery using previous known signals

Techniques for decoding communications transmitted by a remote alarm panel over a communications network to a central monitoring station (CMS) are provided. A first signal from the remote alarm panel can be received by the CMS. The CMS can determine that the first signal cannot be decoded due to errors, missing data, or corrupted data in the first signal. The remote alarm panel can retransmit the signal. The CMS can analyze the first and second signals to determine if the first signal can be reconstructed based on information provided by the second signal. The first signal can subsequently be repaired and decoded, allowing the CMS to more quickly respond to the alarm condition provided in the first signal.

FIELD OF THE INVENTION

Embodiments generally relate to the field of remote monitoring systems. More particularly, embodiments relate to techniques for decoding communications transmitted by a remote alarm panel to a central monitoring station (CMS).

DISCUSSION OF RELATED ART

Typical monitoring systems often include a central monitoring station (CMS) connected to multiple alarm panels located at remote premises. The alarm panels may operate according to a variety of different communication protocols to transmit signals to the CMS to indicate a sensed alarm condition at a remote premise. The signals transmitted by a remote alarm panel often traverse a complex and challenging communications network frequently resulting in signal loss at the CMS.

Conventional approaches to addressing signal loss at the CMS typically involve retransmitting the signal repeatedly until an uncorrupted version of the signal is received and can be decoded. These conventional approaches introduce significant delays in response times due to the need to often retransmit the signal numerous times. Further, retransmissions reduce the efficiency of monitoring systems as they occupy resources that could be used to handle other calls from other remote alarm panels.

In view of the foregoing, there is a need for improved techniques to more quickly and efficiently decode communications from a remote alarm panel transmitted over a communications network to a CMS.

SUMMARY OF THE INVENTION

Various embodiments provide techniques for decoding communications transmitted by a remote alarm panel to a central monitoring station (CMS) over a communications network. The decoding techniques can include reconstructing an initial signal using a retransmitted version of the first signal. A first signal from a remote alarm panel can be received by the CMS. The CMS can determine that the first signal cannot be decoded due to errors, missing data, or corrupted data in the first signal. The remote alarm panel can retransmit the signal. The CMS can analyze the first and second signals to determine if the first signal can be reconstructed based on information provided by the second signal. The first signal can subsequently be repaired and decoded, allowing the CMS to more quickly respond to the alarm condition provided in the first signal.

Various embodiments provide for recovering received data or information in a signal based on previously received data or information. Data or information from a remote alarm panel can be received by the CMS. The CMS can identify the remote alarm panel based on information related to the received signal. When the CMS determines that the data or information cannot be decoded due to errors, missing data, or corrupted data in the signal, the data or information can be compared to a number of stored data or information to determine a match between the stored data or information and the received data or information. The received data or information can subsequently be recovered and decoded, allowing the CMS to more quickly respond to the alarm condition provided in the received data. Other embodiments are disclosed and described.

DESCRIPTION OF EMBODIMENTS

FIG. 1illustrates an exemplary embodiment of a monitoring system100. The monitoring system100can be, for example, a security system and/or an environmental monitoring system. The monitoring system100includes a first alarm panel102located at a first customer premise104and a second alarm panel106located at a second customer premise108. The first and second customer premises104and108may be residential or business premises.

The first alarm panel102is connected to the detector110and the detector111via a wired or a wireless connection. For example, the detector110can be connected to the first alarm panel102over a wireless connection while the detector111can be connected to the first alarm panel102over a wired connection. Similarly, the second alarm panel106is connected to the detector112and the detector113via a wired or a wireless connection. For example, the detector112can be connected to the second alarm panel106over a wireless connection while the detector113can be connected to the second alarm panel106over a wired connection.

The detectors110-113provide information regarding a status of a monitored space such as, for example, environmental and/or security monitoring of a space. For example, the detectors110-113can be motion detectors, glass break detectors, or contact detectors. The detectors110-113may also be environmental detectors including, for example, temperature detectors, smoke detectors, or gas detectors. The alarm panels102and106are each shown connected to two detectors but are not so limited. That is, the first alarm panel102may be connected to any number of detectors located at the first customer premise104and the second alarm panel106can be connected to any number of detectors located at the second customer premise108. The alarm panels102and106can typically include user input and/or output devices (e.g., a keypad or a display) as well as notification systems (e.g., audible and/or visual alarms).

The alarm panels102and106can be connected to a central monitoring station (CMS)116over a communications network118. The communications network118can include a variety of digital and analog networks that operate according to a variety of communication protocols. The communications network118can include portions of the public switched telephone network (PSTN) and/or portions of a cellular or other wireless network. The communications network118can include a variety of communication links (e.g., fiber optic lines and/or T1 lines) that may involve conversions of data across different data formats including voice-over-internet protocol (VoIP) communications, analog-to-digital (A/D) conversions, and packet based routing or circuit based switching.

The CMS116can be located remotely from the alarm panels102and106and connected to the communications network118to facilitate bilateral communication with the alarm panels102and106. The CMS116is shown connected to two alarm panels but is not so limited. That is, the CMS116can be connected to any number of remote alarm panels. The monitoring system100operates to relay information about a monitored space from one of the detectors110-113to the CMS116. Specifically, the detector110can detect a condition of a space monitored by the detector110. The detector110can provide information regarding the detected condition to the first alarm panel102as an alarm condition. An example of a detected condition can be smoke within a monitored space. The first alarm panel102can communicate with the CMS116over the communications network118to report the alarm condition.

The alarm panel102can initiate communications with the CMS116by, for example, dialing a telephone number associated with the CMS116. Once a telephone connection is established between the alarm panel102and the CMS116, the alarm panel102can generate and send data over the communications network118to the CMS116representative of the sensed alarm condition or event. The CMS116can receive and process the data sent by the alarm panel102. Based on the sensed alarm condition, the CMS116can choose an appropriate action or response (e.g., contacting fire department, notifying an owner of the premise104, etc.).

The alarm panels102and106can be different types of alarm panels produced by different manufacturers. Further, the alarm panels102and106may operate differently to generate and transmit data over the communications network118to the CMS116. The alarm panels102and106may operate according to different communication protocols such as, for example, dual-tone multi-frequency (DTMF) or any other data modulation or coding protocol using one or more carrier signals. Accordingly, the CMS116, when connected to a very large number of alarm panels, may be required to receive and process data signals that can be formatted according to one of a relatively large number of different communication protocols. Further, the quality and integrity of the data signals received by the CMS116can suffer due to complexities of the communications network118.

The changing and complex signal paths of the data signals sent by the alarm panels102and106as they travel over the communications network118can result in signal loss at the CMS116. Signal loss at the CMS116can cause slower response times to alarm conditions, missed signals, and additional costs for original signals to be re-attempted and retransmitted.

Conventional approaches to handling signal loss at the CMS116rely on the stability of connections over the communications network118and re-try mechanisms that may be built in to the signaling protocol used for transmitting data signals (e.g., checksums, signal retransmissions if an acknowledgement of signal receipt is not received, etc.). These conventional approaches, however, are not available for all communication formats and protocols. Further, re-sending a data signal can introduce significant delays in response times. Lastly, reliability issues associated with the communications network118may persist for long periods of time, making multiple retransmission attempts necessary or even ineffective against challenging communication conditions.

FIG. 2illustrates an exemplary embodiment of the CMS116depicted inFIG. 1. As shown inFIG. 2, the CMS116can include a memory component202, a central processing unit (CPU) component or a processor component204, a network interface component206, and an application component208. The processor204operates as a controller for the CMS116and is communicatively coupled to the memory202and the network interface206and can control overall operation of the memory202and the network interface206. The memory202can store operational parameters for the CMS116as well as information regarding the first and second alarm panels102and106. The network interface206interfaces with the communications network118to transmit and receive signals to and from the alarm panels102and106. The application208can be computer code or instructions (e.g., non-transitory machine-readable instructions stored in the memory202or other storage medium) operative on the processor204. The application208can direct operation of the CMS116to receive and process data signals to determine a sensed alarm condition reported by the alarm panel102or the alarm panel106.

Generally, the CMS116operates to communicate with the first and second alarm panels102and106to send and receive data. In particular, the CMS116operates to process data from the alarm panels102and106including decoding data representative of a sensed alarm condition and determining an appropriate response thereto. The CMS116receives data signals from the alarm panels102and106over telephone lines. The data signals can be of a variety of forms including, for example, amplitude modulated (AM) data, quadrature amplitude modulated data signals (QAM), frequency shift keyed signals (FSK), phase shift keyed signals (PSK), and DTMF modulated data signals. The data signals can be formatted to include one or bits of data and/or packets of data. The data signals can be indicative of the sensed alarm condition and can be encoded. The CMS116can decode the data signals to determine the reported alarm condition. After decoding a received data signal, the CMS116can determine an appropriate response for the reported alarm condition and can provide an indication to the transmitting alarm panel that communications are established or have been successful. The indication can be in the form of a transmitted acknowledgement signal from the CMS116to the transmitting alarm panel, which can be referred to as a kiss-off.

To address signal loss, the CMS116can operate to reconstruct a data signal using recursive data when the initial data signal cannot be correctly decoded on its own. The CMS116can receive a first or initial signal from one of the remote alarm panels (e.g., the alarm panel102). If the initial signal from the alarm panel102can be correctly decoded, then the CMS116can transmit an acknowledgement reply signal to the alarm panel102. If the initial signal cannot be correctly decoded, then the CMS116can determine that an acknowledgement is not to be transmitted. The CMS116can store the initial signal. When the alarm panel102retransmits the signal (e.g., a second or subsequent signal), the CMS116can attempt to recover or reconstruct the first signal by comparing the subsequent signal with the previously received signal. In particular, the initial corrupted signal can be repaired or recovered based on the second signal. The alarm panel102can transmit the second signal during a same call to the CMS116during which the initial signal is transmitted.

If the subsequent signal is received with no errors, then the CMS116can simply decode the data signal as intended and can send an acknowledgement indicating successful reception. However, if the second signal also contains errors (e.g., the signal is corrupted or includes errors) and cannot be correctly decoded on its own, then the CMS116can make a comparison of the previous failed signal and the newly received signal to attempt to form a repaired signal that can be successfully decoded. The CMS116can then make a determination as to what sensed alarm condition or communication was provided by the alarm panel102and can transmit an acknowledgement signal to the alarm panel102. This process can be applied to any number of subsequently retransmitted signals until the initially transmitted signal is correctly decoded after being reliably reconstructed using one or more subsequently transmitted signals.

FIG. 3illustrates a logic flow300for decoding communications between an alarm panel (e.g., the first alarm panel102) and a CMS (e.g., the CMS116). The logic flow300may be representative of operations executed by the alarm panel102and/or the CMS116to reconstruct signals using subsequently received signals. At302, the alarm panel102contacts the CMS116by sending a signal over the communications network118. As an example, the alarm panel102can contact CMS116by placing a call over a telephone line using a telephone number associated with the CMS116.

At304, the CMS116receives the signal from the alarm panel102. As an example, the CMS116can receive an incoming call over a telephone line from the alarm panel102. During the call, the CMS116can receive the signal transmitted by the alarm panel102.

At306, the CMS116attempts to decode the data provided in the signal received from the alarm panel. If the signal received from the alarm panel102can be correctly decoded, then the CMS116can consider the call from the alarm panel102to be a good call. The CMS116can then send an acknowledgement signal at308to the alarm panel102(shown as “ACK” inFIG. 3) indicating a successful decoding of the signal. The CMS116can then complete event communications with the alarm panel102at310based on the successful decoding of the signal transmitted by the alarm panel102. At312, the CMS116can further process the call from the alarm panel102by responding to the decoded signal. Specifically, at312, the CMS116can initiate a response to the decoded signal from the alarm panel102indicating a sensed alarm condition or other communication.

If the signal received from the alarm panel102cannot be correctly decoded, then the CMS116considers the call from the alarm panel102to be a failed call. Consequently, the CMS116can determine to not transmit an acknowledgement signal to the alarm panel102. At314, the alarm panel102retransmits the signal to the CMS116. The alarm panel102can determine to transmit the same signal again based upon not receiving an acknowledgement signal from the CMS116. The alarm panel102can transmit the signal again on the same call placed to the CMS116. That is, both the first and second signals transmitted by the alarm panel102can be provided over the same call to the CMS116. The CMS116can receive the retransmitted signal at314.

At316, the CMS116attempts to reconstruct the first signal using information from the retransmitted signal. Specifically, the CMS116compares the initial signal and the retransmitted signal in an attempt to reconstruct the initial signal that could not be correctly decoded on its own. If the initial signal can be reconstructed, then at316the CMS116generates and/or outputs a repaired signal and proceeds to318. At318, the CMS116generates and transmits an acknowledgement signal to the alarm panel102. The CMS116can then complete event communications with the alarm panel102at320based on the successful decoding of the reconstructed and/or repaired signals from the alarm panel102. At322, the CMS116further processes the call from the alarm panel102by responding to the decoded repaired signal. Specifically, at322, the CMS116initiates a response to the decoded repaired signal from the alarm panel102indicating a sensed alarm condition or other communication.

As shown inFIG. 3, if the retransmitted signal from the alarm panel102cannot be used to successfully reconstruct the initial data signal at316, then the logic flow300can return to314and another retransmitted signal can be provided. Any number of retransmitted signals can be provided and used in an attempt to reconstruct and/or repair the initial signal from the alarm panel102. The retransmitted signals can be transmitted during the same call to the CMS116. Further, if any of the retransmitted signals can be successfully decoded on its own, then the CMS116can process the retransmitted signal on its own without any need to attempt to reconstruct and/or repair the initial signal.

FIG. 4illustrates a logic flow400for recovering communications between an alarm panel (e.g., the alarm panel102) and a CMS (e.g., the CMS116). The logic flow400may be representative of the operations executed by the CMS116after receiving a first signal that cannot be decoded and after receiving a second retransmitted signal. At402, a signal power of the first received transmission/signal can be determined (shown inFIG. 4as “P”). The first signal can be stored in a memory of the CMS116(e.g., in a first buffer of memory202).

At404, a correlation function between the first and second signals can be determined (shown inFIG. 4as “R”). The second signal can also be stored in a memory of the CMS116(e.g., in a second buffer of the memory202). The first and second signals can be stored in first and second buffer memories, respectively, during the same call from the alarm panel102to the CMS116. At406, a maximum value of the correlation function between the first and second signals can be determined (shown inFIG. 4as “RMAX”). As an example, the maximum correlation value can be determined by shifting the contents of a first buffer storing the first signal and comparing the first signal to the second signal stored in a second buffer.

At408, a difference between the signal power of the first signal and the maximum value of the correlation function can be compared to a threshold. The threshold can be predetermined and can be stored in the memory202of the CMS116. The threshold can be adjusted or varied for a particular alarm panel and/or a particular type of communication format or protocol used by an alarm panel. If the difference between the signal power of the first signal and the maximum value of the correlation function is less than the threshold, then it can be determined that the first and second signals are relatively similar and can be used to reconstruct the first signal. Accordingly, at410the CMS116can analyze the first and second signals to reconstruct the first signal using information from the second data signal (e.g., the shape of the second signal).

Alternatively, if the difference between the signal power of the first signal and the maximum value of the correlation function is greater than the threshold, then it can be determined that the first and second signals are relatively dissimilar and cannot be used to reconstruct the first signal. For example, the alarm panel102may have sent a first signal of a first type and a second different signal of a different type (e.g., two signals carrying different information instead of the same information and/or two signals having different shapes). Accordingly, at412the CMS116can determine that the first signal cannot be reconstructed using the second signal. The CMS116can then attempt to reconstruct the first signal based on a further retransmitted signal provided by the remote alarm panel102. The further retransmitted signal provided by the remote alarm panel102can also be provided during the same call to the CMS116.

Once a signal is reconstructed using a subsequently transmitted signal, the CMS116can verify that the reconstructed signals is corrected. For example, the cyclic redundancy check (CRC) or checksum of the signal can be verified to ensure the reconstructed signal is correctly repaired.

FIG. 5illustrates an exemplary first signal transmission502and an exemplary second signal transmission504that can be sent by the remote alarm panel102and received by the CMS116. The first signal transmission502can include a number of pulses or packets as shown. That is, the first signal transmission502can have a first shape as shown. Likewise, the second signal transmission504can include a number of pulses or packets as shown and can have a second shape. The first signal transmission502can be stored in a first buffer in the memory202of the CMS116. The second signal transmission504can be stored in a second buffer in the memory202of the CMS116. The first and second signal transmission502and504can be transmitted and received during the same call to the CMS116. The first and second signals502and504can represent first and second signals that are compared using a correlation function—for example, as depicted at404inFIG. 4. The correlation function comparison can involve time shifting either of the first and second signal transmissions502and504in either direction (e.g., left or right) relative to a time reference.

FIG. 6illustrates an exemplary technique for reconstructing a first data signal602using a second signal604. The first data signal602can represent a first transmission from the alarm panel102and received by the CMS116. The second data signal606can represent a second transmission from the alarm panel102and received by the CMS116.

As shown, the first data signal602can include seven packets604-1through604-7. All packets other than packet604-4can be successfully decoded or determined by the CMS116. As an example, all packets other than packet604-4can include data while packet604-4can include corrupted data or missing data. Since packet604-4cannot be decoded or determined, the CMS116can determine that the first data signal602overall cannot be decoded or determined.

The second signal606can also include seven packets608-1through608-7. The second signal606can represent a retransmission of the first data signal602. Specifically, the packets608-1through680-7of the second data signal606can include the same data or information as the corresponding packets604-1through604-7of the first data signal when prepared and transmitted by the alarm panel102. At the CMS116, the second data signal606can be analyzed to determine that all packets other than packet608-2can be decoded or determined. As such, the CMS116can determine that the second data signal, like the first data signal602, cannot be fully decoded or determined on its own.

To reconstruct or repair the first data signal602, the CMS116can determine that the first and second data signals602and606are relatively similar signals (e.g., by implementing the logic flow400depicted inFIG. 4). The CMS116can then compare the packets604-1through604-7to the packets608-1through608-7. In doing so, the CMS116can determine a value, data, or decoding of the packet604-4using the information from the packet608-4from the second data signal606. Accordingly, the first data signal602can be fully reconstructed or repaired using the second data signal606. The CMS116can subsequently fully decode the reconstructed first data signal602to determine the sensed alarm condition transmitted by the alarm panel102.

As another technique to address signal loss, the CMS116can also operate to recover data in a signal using prior received data when the initial data within a signal cannot be correctly decoded. The CMS116can receive and store previously received data from signals that were successfully decoded. Over time, the CMS116can develop a library of known data and/or signals from a particular alarm panel (e.g., the alarm panel102). The CMS116can then use the known data to compare to data from a signal that cannot be decoded. As an example, the CMS116can attempt to “pattern match” the data that cannot be decoded to a set of known data from signals that were correctly decoded to determine if any of the stored data matches or approximately matches the data that cannot be decoded. If a match or an approximate match is determined, then the CMS116can recover the data that cannot be decoded on its own by determining that the “matched” data was received.

A library of correctly received data or information can be stored in the memory202of the CMS116. When a data signal received by the CMS116cannot be decoded correctly on its own, the library of data stored in the memory202can be used to attempt to recover the missing or corrupted data of the erroneous signal. As described, the CMS can attempt to match the received erroneous data with data previously stored in the memory202.

As an example, the CMS116can receive a data signal that cannot be decoded (e.g., an erroneous signal). The erroneous signal can include a number of packets. If one of the packets is dropped, then the signal can be missing data in the position of the dropped packet. The erroneous data can be superimposed over one or more known data sequences to line up and determine where the erroneous data matches up with one of the known data sequences to build a “good signal.” This approach allows for a signal to be correctly received and decoded without adding significant delay to the response time of the event as no signal retransmission is necessary.

FIG. 7illustrates a logic flow700for decoding communications between an alarm panel (e.g., the first alarm panel102) and a CMS (e.g., the CMS116). The logic flow700may be representative of operations executed by the alarm panel102and/or the CMS116to recover data using data previously stored.

At702, the alarm panel102contacts the CMS116. The alarm panel102can contact the CMS116by sending a signal over the communications network118. As an example, the alarm panel102can contact the CMS116by placing a call over a telephone line using a telephone number associated with the CMS116. The signal can include data or information for decoding.

At704, the CMS116receives the signal from the alarm panel102. As an example, the CMS116can receive an incoming call over a telephone line from the alarm panel102. At704, the CMS116can determine caller information based on the received call. Specifically, the CMS116can determine which particular remote alarm panel placed the call to the CMS116. The identity of the alarm panel102can be determined, for example, based on caller identification (ID) information, automatic number identification (ANI) information, or dialed number identification service (DNIS) provided as part of the call or signal. The identity of the alarm panel102can also be determined based on a particular time or time period (e.g., predetermined time period) when the signal from the alarm panel102is received. That is, the alarm panel102may routinely transmit a signal to the CMS116at approximately the same time every day (e.g., with the same alarm condition or check-in information). Accordingly, the CMS116can use this information (e.g., time or receipt of signal and/or type of check-in information provided) to determine which alarm panel has placed a call to the CMS116.

At706, the CMS116attempts to decode the data provided in the signal received from the alarm panel. If the data received from the alarm panel102can be correctly decoded, then the CMS116can consider the call from the alarm panel102to be a good call. The CMS116can then send or transmit an acknowledgement signal at708to the alarm panel102(shown as “ACK” inFIG. 7) indicating a successful decoding of the data in the signal. The CMS116can then complete event communications with the alarm panel102at710based on the successful decoding of the data or information transmitted by the alarm panel102. At712, the CMS116can respond to the decoded data by further processing the call from the alarm panel102. Specifically, at712, the CMS116can initiate a response to the decoded data from the alarm panel102indicating a sensed alarm condition or other communication.

At714, the CMS116can store information related to the call from the alarm panel and the processing of the call by the CMS116. For example, information such as the identity of the alarm panel102, the signal transmitted by the alarm panel102, the data included in the signal, the sensed alarm condition or other communication provided by the alarm panel102, and the type and formatting of the data and/or signal from the alarm panel102can be stored by the CMS116. This information can be used to help decode later transmitted data from the alarm panel102.

If the data or information received from the alarm panel cannot be correctly decoded, then the CMS116can consider the call from the alarm panel102to be a failed call. Consequently, the CMS116can determine to not transmit an acknowledgement signal to the alarm panel102.

At716, the CMS116can attempt to decode the received data or information from the alarm panel102by comparing the received data or information to data or information stored in the memory202of the CMS116. The CMS116can compare the data from the alarm panel102to stored data that was previously received from the alarm panel102. The stored data can include data from the alarm panel102that was previously correctly decoded at the CMS116. The CMS116can attempt to recover or repair any missing or corrupted data by matching the received data and/or signal from the alarm panel102with data stored in the memory202. As a result of this recovery operation, the CMS116can repair the data from the alarm panel102, identify matching stored data in the memory202, or determine that the data from the alarm panel cannot be recovered and/or does not have a match and therefore cannot be decoded.

If the data received form the alarm panel102cannot be decoded after the matching operation of716, then the CMS116can wait for the alarm panel102to retransmit the data again to the CMS116. The alarm panel102can determine to transmit the same data again based upon not receiving an acknowledgement signal from the CMS116. The CMS116can receive the retransmitted data and can attempt to decode the retransmitted data at706. The CMS116can verify based on caller identification information that the retransmitted data signal is from the same alarm panel102.

If the initial data can be recovered, then at716the CMS116can generate and/or output recovered data and can proceed to718. At718, the CMS116can generate and transmit an acknowledgement signal to the alarm panel102. The CMS116can then complete event communications with the alarm panel102at720based on the successful decoding of the reconstructed and/or repaired data signal from the alarm panel102. At722, the CMS116can further process the call from the alarm panel102by responding to the decoded recovered data. Specifically, at722, the CMS116can initiate a response to the decoded recovered data from the alarm panel102indicating a sensed alarm condition or other communication.

As shown inFIG. 7, if a corrupt or otherwise erroneous data or information from the alarm panel102cannot be recovered at716—either initial data from the alarm panel102or retransmitted data—then the logic flow700can return to706and a next retransmitted data signal can be provided. Any number of retransmitted data signals can be provided and used in an attempt to reconstruct and/or repair the initial data from the alarm panel102. Further, if any of the retransmitted data can be successfully decoded on its own, then the CMS116can process the retransmitted data on its own without any need to attempt to reconstruct and/or repair the initial data.

The CMS116can create a profile for each alarm panel remotely coupled to the CMS116. For example, the CMS116can generate a library of previously received and successfully decoded data from each alarm panel, with the signals for a particular alarm panel identified based on caller ID information or time of day information as described above. In various embodiments, the CMS116and a particular alarm panel (e.g., the alarm panel102) can initiate an automatic learning process. Specifically, the alarm panel102can transmit all possible data to the CMS116. The CMS116can store the received data to build a library of data received from the alarm panel102. The library of data can then be used by the CMS116for reconstructing data from the alarm panel102and/or matching data or signals from the alarm panel102with data from the constructed data library.

In various embodiments, the logic flow400can be implemented by the CMS116to compare data from an alarm panel to stored previously received data from the alarm panel to determine if the data from the alarm panel can be reconstructed or may match one of the stored data. That is, the logic flow400can be implemented to determine if erroneous or corrupted data from an alarm panel can be reconstructed from a previously known data stored by the CMS116, or if a data match can be identified as a correct or uncorrupted version of the erroneous data.