Apparatus and method for monitoring a trunked radio communications system
The present invention provides a method and apparatus for monitoring a trunked radio communications system by using some type of radio scanning receiver that is not designed for that purpose. In addition, the invention provides a method for automatically determining the polarity of the received control channel data. Further, the invention provides a method for automatically determining the type of trunked radio communications system. In addition the invention provides a method for automatically determining the channels in a trunked radio system and a method for automatically determining the bit rate of transmitted digital signals over a control channel of a trunked radio communications system.
1. Field of the Invention
The invention relates generally to the field of radio systems, and more specifically to methods and apparatus for monitoring trunked radio communications, decoding the digital data from trunked radio control channels, and to methods and apparatus for determining the type of trunked radio system by observing the characteristics of the digital data transmitted on a control channel.
2. Description of the Related Art
Modernly, the two types of mobile radio communication systems. The first is a conventional radio communication system. Here, mobile radio units are assigned a single radio frequency channel. All subscribers to the system share the same channel, and cooperate by monitoring the channel for activity. Most conventional radio communication systems work well when there is a small number of subscribers and the usage patterns for all the subscribers is similar.
To overcome the limitations of the conventional radio communications system, an implementation of a trunked communications system is employed. In the trunked communication system, a central controller allocates a number of channels among many subscribers. Generally, the subscribers are organized into fleets, sub-fleets or groups, and individuals. Accordingly, each subscriber has a fleet, group, and an individual identification code. A mobile radio initiates communications by transmitting a digital request message to a system central controller via a predetermined inbound frequency. Here, the mobile unit generates a channel request that includes the necessary information to identify it to the central controller. The central controller responds to the mobile unit with a digital message via a separate and distinct predetermined outbound frequency that, in turn, authorizes the mobile unit to operate on an n another channel. This outbound digital message is often referred to as an outbound signaling word (OSW) or a channel assignment message or a channel grant message. Both the inbound and outbound channel is often referred to as a “system control channel”. In addition, the mobile unit also responds to other commands that are received from the central controller.
There are a number of trunked radio systems that are currently use in the United States. One of these trunked radio systems is described in U.S. Pat. Nos. 4,692,945 and 4,723,264 issued to Motorola. These two patents disclose an improved dispatch trunked radio system having an expanded unifying signaling protocol used to implement several enhanced system features. Here, the subscriber or mobile units are capable of generating and receiving signaling information in a single word or concatenated in a dual-word signaling scheme. The central control unit is able to decode and generate signaling information in either a single or concatenated dual-word signaling scheme, as well as generates channel controlling information in accordance with either signaling scheme.
In addition, U.S. Pat. Nos. 4,055,832 and 4,312,070 also issued to Motorola describes the method used to encoding data transmitted over the control channel of a trunked radio system implemented by Motorola. Here, En and Coombes, et al. discloses an encoding and decoding system suited for use in a mobile trunked dispatch communication system capable of error correction, error detection, and detection of loss of synchronization. More specifically, the system disclosed in En and Coombes, et al., respectfully, provides an error correction system that can correct one random error out of every four bits transmitted with a minimum of time delay in transmission and a minimum number of components for system implementation.
In U.S. Pat. No. 4,905,302 issued to Childress, et al. discloses another trunked radio communications system, known as EDACS, that provides substantial improvements in channel acquisition and channel drop, and in reliability of critical control signaling. The system uses a much higher digital signaling rate than is typically found in prior art systems, and uses a control channel to convey digital channel request and assignment messages between the central site and mobile transceivers. The mobile radio systems transmit channel requests on the inbound control channel (if no response is received, the mobile retries during a retry time window which increases in duration in dependence on the number of retries). The mobile transceiver switches to a working channel in response to an assignment message received on the control channel. Digital signals transmitted on the control channel and subaudible digital signal transmitted on active working channels allow late entry, shifting to higher priority calls, and other advanced functions. Message and transmission trunking capabilities are both present so as to maximize working channel usage without compromising channel access for high priority communications. During transmission, the calling as well as the calling transceivers return to the control channel after each transmission (and called transceivers may be inhibited from transmitting) but grant higher priority to calls from the other transceivers being communicated with to ensure continuity over an entire conversation.
It is desirable to monitor various users of a communication system, but without any capability of transmitting. Conventional communication systems are easily monitored with a variety of radio communication receivers. One example of this type of radio communication receiver is a scanner. Scanners are radio receivers that typically cover a range of frequencies between approximately 30 MHz and 1 GHz. The scanning receiver is sequentially tuned through a set of predetermined, user selected frequencies. If a signal is detected, the scanner stops scanning and remains tuned to that frequency until the signal ceases, whereupon the scanner resumes searching for another frequency. The typical scanner is comprised of a receive-only radio without any capability of transmitting a signal. Such scanning receivers are inexpensive and enable a user to hear transmissions on a conventional radio system with little effort on the part of the user, and little or no effort on the part of the communications systems operator. A conventional scanner is not able to correctly follow a sequence of transmissions on a trunked radio system because the scanner has no ability to understand the outbound channel assignment messages sent by the trunking system controller.
U.S. Pat. No. 5,784,388 issued to Knox discloses several significant improvements to a conventional scanner and improves the ability to decode the messages from a Motorola trunked system control channel. The system disclosed in Knox decodes encoded data from the control channel of a trunked radio communications system. The decoder includes a de-interleave, an auto synchronization sequence combiner, and a table lookup error detector to recover the transmitted information and also indicates whether any errors are present in the recovered information. However, the advancement disclosed by Knox requires that the scanner be specifically designed and manufactured to operate for use with Motorola trunked radio communications systems. Additionally, the system disclosed by Knox requires that the operator of the scanner be able to identify the various types and characteristics of a trunked system, the particular radio frequencies of the system as well as to program these details into the scanner or computer.
In the case of the EDACS trunking system, the data messages transmitted by the system controller do not contain frequency information. EDACS messages only contain logical channel numbers. EDACS mobile units are pre-programmed with a frequency table that allows the mobile unit to associate a specific radio frequency with logical channel numbers. To properly tune a scanning radio to an EDACS working channel, the user must know which frequencies are assigned to the system.
Therefore, there is a need for providing a method and apparatus for monitoring trunked radio communications system that automatically determines the characteristics and frequencies of trunked radio communications systems, thus, eliminating the need for a user to program these details.
SUMMARY OF THE PRESENT INVENTIONA preferred embodiment of the present invention provides a method and apparatus for monitoring a trunked radio communications system by using some type of radio scanning receiver that is not designed for that purpose.
In accordance with the purpose of the invention, as embodied and broadly described herein, the invention relates to provide a method for automatically determining the polarity of the received control channel data.
Further in accordance with the purpose of the invention, as embodied and broadly described herein, the invention provides a method for automatically determining the type of trunked radio communications system. In addition the invention provides a method for automatically determining the bit rate of transmitted digital signals over a control channel of a trunked radio communications system.
Further in accordance with the purpose of the invention, as embodied and broadly described herein, the invention provides a method for automatically determining the frequencies used in a trunked radio communications system.
The preferred embodiment of the present invention for monitoring communications in a trunked radio communication system includes a personal computer with a sound card for sampling the baseband, a frequency tunable receiver, a zero crossing detector to convert PCM samples to NRZ equivalent, a plurality of preamble correlators to detect the phase, bit rate, polarity and type of trunked radio communication system, a bit phase compensator to recover the transmitted data from the sampled data stream, decoding means to decode transmitted digital control channel messages and respond to channel assignment messages from a decoded working channel.
An alternative of the preferred embodiment uses a micro-controller such as the one used to control a receiver scanner. In this embodiment, the pre-calculation steps are carried out once, during the programming of the micro-controller. Additionally, the incoming data bits are sampled directly using an input port on the micro-controller, rather than using a sound card. Here, the sample rate is selected from a possible set of values for a given the micro-controller architecture and its associated clock rate.
Advantages of the invention will be set forth, in part, in the description that follows and, in part, will be understood by those skilled in the art from the description herein. The advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims and equivalents.
BRIEF DESCRIPTION OF THE DRAWINGSThe accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several embodiments of the invention and, together with the description, sever to explain the principles of the invention.
The present invention now will be described more fully with reference to the accompanying drawings, in which the preferred embodiments of the invention are shown. The present invention may, however, embodied in many different forms and should not be construed as limited to the embodiment set forth herein; rather these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the invention to those skilled in the art.
As
By selecting a sampling rate substantially higher than the highest expected trunking control channel data rate, the signal processing software can be designed to identify and decode any of the desired trunking systems without changing the sampling rate. This is advantageous, since most personal computer sound cards are limited to only a few rates. For example, most common personal computer sound cards can sample at 11.025 kHz, 22.05 kHz and 44.1 kHz.
By using the appropriate sampling rate generated by the sound card, as well as a unique signal processing application facility, the present invention scans a range of frequencies, determines the type of radio system, analyzes the extracted information to obtain the channel assignment code and talk group identification code and comparing the agency or group talk identification code, tuning the frequency tuned radio receiver to a working voice channels in order to monitor a trunked communications system. As will be disclosed in detail in
For example, selecting a sampling rate of 11.025 kHz maybe acceptable for on a Motorola system running at 3600 baud, but it does not provide enough samples to accurately decode data from an EDACS radio system running at 9600 baud. Selecting a sampling rate of 22.05 kHz allows for the accurate decoding of an incoming data stream from either Motorola radio systems or EDACS radio systems.
Furthermore, a person of ordinary skill in the art will understand the systems 100 may also includes such components as a keyboard, a mouse, and a one or more display devices, such as a high resolution monitor. In addition, the storage device 106 for system 100 will includes devices such as floppy disk drives, CD-ROM drives, or DVD players that are capable of reading computer instructions that has been stored on a compatible computer readable medium.
In the following discussion, it is understood that the appropriate processors 102 (or similar processors) perform the steps of methods and flowcharts discussed preferably executing instructions stored in storage device 104. It is also be understood that the invention is not limited to any particular implementation or programming technique and that the invention may be implemented using any appropriate techniques for implementing the functionality described herein. In addition, the present invention is not limited to any particular programming language or operating system.
The software stored in storage device 106 may have been supplied from computer-readable medium 116. Execution of the sequence of instructions retrieved from the storage device 106 causes the processor 102 to perform the steps of monitoring a trunked communications system described herein. In addition, alternative embodiments of the present invention are not limited to any specific combination of hardware and software.
The term “computer-readable medium” as used refers to any medium that provides the sequence of instructions to a processor for execution. Such a medium may take many forms including, but not limited to, volatile media, non-volatile media or through a transmission media. Non-volatile refers to includes either optical or magnetic data storage media. Volatile media refers to various types of dynamic memory. Transmission media includes application content and data sent via coaxial or fiber optic cable or those transmitted via acoustic, light, radio, or infrared data communications facilities. Common forms of computer-readable media include, a floppy disk, a flexible disk, a hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium or any other physical media such as PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, a carrier wave as or any other medium from which a computer is able to read a sequence of program instructions, applications content or data.
Various forms of computer readable media may be involved in carrying one or more sequences of instructions to a processor for execution. For example, the instructions may initially be carried on a magnetic or optical disk to and from a remote computer. As shown in
Reference is now made to
As shown in
Responsive to the results of the correlator array 304, the radio system selector 310 switches to the appropriate radio system and selects the appropriate BPC table 314. As shown here, the inbound data stream is introduced to the polarity inverter 306 that inverts the polarity of any data bits or samples in the received data stream from negative to positive, thus, directing an all positive data stream to the sample selector 312. The sample selector 312 receives the data stream and reconstructs the coded information frame in accordance with the corresponding bit selection from the BPC table 314.
Also as
Each row of the BPC table 314 has an indicator for the best bit for each sample. When a BPC row is accessed that is designated as a best bit, the incoming high rate bit is transferred to the output. If the best-bit indication is off, the high rate sample is ignored. Since the sample counter 308 is preset by the one of the correlators in the correlator array 304 when a preamble is detected, the BPC table 314 is then synchronized to the proper point in the repeating phase sequence of samples. Thus the output from the BPC table 314 contains fewer bits than the number of samples in the incoming data stream. This corresponds to the difference between the chosen sampling rate and the information data rate sent by the trunking control channel transmitter.
The reconstructed information data stream is then presented to the OSW processing element 128. This element scans the data stream for the beginning of the information data frame, determines the type of message, and extracts frequency and talk group codes from the messages. Once the frequency and talk group information have been extracted, the radio receiver processing element 130 the tunes the radio to the appropriate frequency in order to receive the voice transmission.
In the case of the EDACS trunking system, the OSW messages do not contain frequency information, only contain logical channel numbers. To properly tune a radio to an EDACS working channel, the receiver processing element 130 must know the frequency that corresponds to the logical channel number in the message.
To discover the frequencies in use in an EDACS system, the receiver processing element employs an adaptive search method described here. First, tables in the computer memory are created containing five integer data elements for each potential radio frequency. The data elements are the active count, inactive count, test count, fail count and the lock indicator. One table is created for each logical channel whose frequency is unknown. The number of possible radio frequencies is large, but limited by factors such as channel spacing and the way frequencies are assigned to users by the government frequency management authority.
When an OSW message is received with a logical channel number whose frequency is unknown, the receiver processing element 130 begins a frequency search. When searching, frequencies above and below the control channel are sequentially tuned at fixed steps. As each frequency is tuned, the receiver processing element determines if a signal is present on the frequency. If a signal is present, the active count is incremented. If a signal is not present, the inactive count is incremented. After the appropriate counter is incremented, another frequency is selected and the process is repeated. This process continues for a user configurable time, typically two seconds, the receiver processing element then terminates the search and returns to the trunking system control channel to decode more OSW messages.
The receiver processing element 130 takes an additional step to validate the information collected during the searching process. Each time a new OSW message with an unknown logical channel number is decoded, the frequency with the highest ratio of active to inactive counts is tuned first, before the sequential search is begun. If a signal is found to be present, the test count in the table is incremented. If there is no signal, the fail count is incremented. Channels with more than a few fail counts can be ruled out.
If the test count for a frequency exceeds a user configurable threshold level, and the fail count is very small or zero, the receiver processing element forgoes the searching process and remains tuned to the frequency to allow the user to listen to the transmission. The user can decide to accept the frequency, in which case the receiver processing element will permanently associate the frequency with the logical channel. The user can also decide that the transmission being heard is not from the trunking system, and the receiver processing element sets the lock indicator. Once the lock indicator is set, the frequency is no longer considered a candidate, and will be ignored in future searching activities. If the user takes no action, the receiver processing element 130 handles the transmission the same way as it would a normal EDACS transmission where the logical channel association was known, i.e. returning to the control channel after the transmission ends. Thus, after some period of time, the receiver processing element 130 will gradually discover the logical channel to frequency relationship, and scanning the EDACS system will approach normal.
As shown by
As
At this point in the process, the monitoring system performs a number of subroutines to determine what will be the best sample to use. As
Once the position of the sample has been determined relative distance from the center of the data bit is calculated at step 535. This then is used, at step 537, to determine if the sample is either in front of or behind the center data bit. Then at step 539, the sample closest to the center is selected and store in the bit phase compensation table. If the table is not complete (i.e. the best sample has not been found) then, at step 545, a new sample time is calculated and steps 529 to 545 are repeated. But, if the table is complete, then, at step 571 process of finding the best sample is done and the monitoring system proceeds back to step 510 to calculate the preamble test value.
The signal processor, at step 510, selects the preamble subset for each radio system to be monitored. The preamble subset is then used by the correlator to detect the presence of the desired radio system. This means that the bit phase compensation table calculated at step 508 for a Motorola radio system with a sampling rate of 22.05 kHz has 49 entries and spans 8 bits of 3600 Baud data, while a EDACS data sampled at 22.05 kHz requires 147 samples to span 64 bits of 9600 baud of data. Thus, in the case of Motorola systems, where each data frame contains an eight-bit preamble, the entire preamble fits exactly in a complete set of 49 samples. Thus, the Motorola correlator for samples at 22.05 kHz will require only a single preamble value. On the other hand, the EDACS data format has a 48-bit preamble. As a result, there are thirteen possible positions for the EDACS preamble in a set of 64 samples. For maximum speed, the EDACS correlator should compare each of the thirteen possible values. However, if simplicity is desired over speed, then less than thirteen values can be used.
Once the preamble subset has been determined, at step 512, the preamble test values used by the correlator are then calculated. The value is computed by setting bits in the test value corresponding to the preamble bit values selected in the previous step. Thus, a portion of system memory that is large enough to accommodate the test values is reserved. Since the Motorola system at 22.05 kHz requires 49 bits, seven eight-bit bytes are required, or two 32-bit words. The initial value of each bit is set to zero. For Motorola systems a preamble value of ‘AC’ in hexadecimal notation is used. The first bit from the preamble subset from step 506 is placed in each bit position of the test value according to a predefined sequence of data bits. Likewise, the remaining bits are similarly placed in the test value and those bits in the test value that are to be ignored are set to zero. If the preamble subset contains fewer bits than are spanned in one set of samples (EDACS for example), additional test values are calculated by shifting the original preamble value and repeating this process.
Now that the preamble test value has been calculated, at step 514 the inverted preamble test value is calculated. In this step, the correlator test value is calculated for an inverted system. This additional value is calculated by inverting the bits calculated for a test value (step 508), and then resetting bits in the inverted test value that are marked as ignored are set to zero. At step 516, the correlation mask value is then calculated for each preamble test value. The correlator uses this value to select which bits will be compared. Each mask value has the same number of bits as the preamble test value. Each mask value initially contains all zeroes. Bits in the mask value that are set correspond to the bits found in the bit phase compensation table that are not ignored. Thus, for the Motorola radio system sampled at 22.05 kHz will have the following values:
Motorola preamble: ‘AC’
Motorola test value: ‘01F81F81FFE000’
Motorola mask value: ‘01F7DF7CFBEFBE’
Then the system, at step 518, determines the minimum preamble alignment interval. In this step the expected frequency of a preamble aligned in a set of successive samples is determined. First, the number of incoming samples per transmitted data word is calculated. For a Motorola system that transmits a data word containing an 8 bit preamble and a 76 bit information frame, a set of 49 samples at 22.05 kHz will span 8 bits of transmitted data will require approximately 514.5 successive samples (i.e. 84/18×49). Since this result is not a whole number, the correlator will only be able to detect a preamble in the incoming data every 1029 samples (514.5×2). It also should be noted that even though the preamble may not be aligned for every message, the bit phase compensator will render the correct transmitted data. Once these values have all been calculated, at step 520, they are stored in an appropriate set of tables to be used by the signal processor 126 to decode and monitor a plurality of trunked radio systems.
Reference is now directed to
As
It should be also noted that it is possible for the preamble bit sequence to appear in the body of a data message, thus giving rise to the possibility of a false detection of the preamble. Looking for multiple preamble codes in the incoming sample stream at intervals of the expected message length reduces, but does not eliminate, the possibility of a false detection. It is understood that the error correction and cyclic redundancy features inherent in a transmitted data message will further reduce the possibility of decoding an invalid message to an acceptable level, as well
An alternative embodiment of the present invention envisions uses a micro-controller such as the one used to control a receiver scanner. In this embodiment, the pre-calculation steps are carried out once, during the programming of the micro-controller. Additionally, the incoming data bits are sampled directly using an input port on the micro-controller, rather than using a sound card. Here, the sample rate is selected from a possible set of values for a given the micro-controller architecture and its associated clock rate.
Although the invention has been described with respect to certain preferred embodiments, modifications and additions within the spirit of the invention will occur to those of skill in the art. Therefore, the scope of the invention is not limited by the foregoing description but is defined solely by the following claims.
Claims
1. A method of monitoring communications in a trunked communication system comprising the steps of: setting both an appropriate data and sampling rate, wherein the sampling rate is set substantially higher than the data rate; receiving a plurality of digital data messages on a control channel transmitted from at least one trunking radio system wherein each digital data message includes a preamble and a coded information frame; identifying the polarity of the incoming digital data messages; sampling the received digital message at the sample rate; identifying type and data rate of the trunking system, wherein the type and date rate are identified by comparing incoming samples to pre-calculated set of preamble patterns; selecting an appropriate set of parameters and values based upon the system type identified; reconstructing the stream of digital messages by selecting samples from the sample data stream to produce an output data stream.
2. The method as recited in claim 1, wherein if the polarity of the data stream of an incoming digital data message is negative, inverting the polarity of that data stream to be positive.
3. The method as recited in claim 1, includes the step of searching a selected frequency band to discover a logical channel to frequency associations.
4. The method as recited in claim 1, wherein the selected sample rate must be high enough so as to generate a bit phase compensator table can be built to encompass all required incoming bits.
5. The method as recited in claim 1, wherein calculating the plurality of parameters and values are used by the monitoring system to select an optimally aligned bit pattern and to synchronize the decoding element of the monitoring system further includes the steps of; calculating the required values and parameters of the bit phase compensation table: generating a subset of the message preamble, wherein the subset of the preamble message is used by a correlator array to detect the presence of the radio system to be selected; calculating the preamble test value wherein the preamble test value is used be the correlator array to establish the type of radio system and speed at which the radio system is transmitting its digital message; computing the inverse preamble test value used for the data messages of those radio systems that are found inverted radio system wherein the inverse test value is calculated by inverting the bits of the preamble test value; generating a plurality of correlator mask values wherein a mask value is calculated for each test value that the correlator array uses to select the data bits in the preamble to compared; and determining an appropriate preamble alignment interval.
6. The method as recited in claim 5, wherein the plurality of parameters and values are stored in at least one lookup table.
7. The method as recited in claim 1, wherein the codes that specify the talk group and channel assignment are extracted from the reconstructed coded information frame.
8. The method as recited in claim 6, wherein the talk group and channel assignment codes are compared to an array of stored, predefined codes.
9. The method as recited in claim 7, wherein if the codes match tuning the frequency tuned radio receiver of the monitoring system to the appropriate working voice channel and monitoring the resultant radio communications traffic.
10. A computer program product including a computer useable medium having computer readable code embodied therein for monitoring analog voice communications traffic in a trucked radio communications system where the computer program product comprising a computer readable program code devices of the monitoring system configured to set both an appropriate data and sampling rate, wherein the sampling rate is set substantially higher than the data rate; a computer readable program code devices of the monitoring system configured to receive a plurality of digital data messages on a control channel transmitted from at least one trunking radio system wherein each digital data message includes a preamble and a coded information frame; a computer readable program code devices of the monitoring system configured to identify the polarity of the incoming digital data messages; a computer readable program code devices of the monitoring system configured to sample the received digital message at the sample rate; a computer readable program code devices of the monitoring system configured to identify type and data rate of the trunking system, wherein the type and date rate are identified by comparing incoming samples to pre-calculated set of preamble patterns; a computer readable program code devices of the monitoring system configured to select an appropriate set of parameters and values based upon the system type identified; a computer readable program code devices of the monitoring system configured to reconstruct the stream of digital messages by selecting samples from the sample data stream to produce an output data stream.
11. The computer program product as recited in claim 10, wherein if the polarity of the data stream of an incoming digital data message is negative, inverting the polarity of that data stream to be positive.
12. The computer program product as recited in claim 10, includes the step of searching a selected frequency band to discover a logical channel to frequency associations.
13. The computer program product as recited in claim 10, wherein the computer readable program code devices of the monitoring system is configured to select a sample rate high enough so as to generate a bit phase compensator table built to encompass all required incoming bits.
14. The computer program product as recited in claim 10, wherein the computer readable program code devices of the monitoring system is configured to calculate the plurality of parameters and values used by the monitoring system to select an optimally aligned bit pattern and to synchronize the decoding element includes the steps of, a computer readable program code devices of the monitoring system configured to calculate the required values and parameters of the bit phase compensation table; a computer readable program code devices of the monitoring system configured to generate a subset of the message preamble, wherein the subset of the preamble message is used by a correlator array to detect the presence of the radio system to be selected; a computer readable program code devices of the monitoring system configured to calculate the preamble test value wherein the preamble test value is used be the correlator array to establish the type of radio system and speed at which the radio system is transmitting its digital message; a computer readable program code devices of the monitoring system configured to compute the inverse preamble test value used for the data messages of those radio systems that are found inverted radio system wherein the inverse test value is calculated by inverting the bits of the preamble test value; a computer readable program code devices of the monitoring system configured to generate a plurality of correlator mask values wherein a mask value is calculated for each test value that the correlator array uses to select the data bits in the preamble to compared; and a computer readable program code devices of the monitoring system configured to determine an appropriate preamble alignment interval.
15. The computer program product as recited in claim 14, wherein the computer readable program code devices of the monitoring system is configured to store the plurality of parameters and values in at least one lookup table.
16. The computer program product as recited in claim 10, wherein the computer readable program code devices of the monitoring system is configured to extract the codes that specify the talk group and channel assignment from the reconstructed coded information frame.
17. The computer program product as recited in claim 16, wherein the computer readable program code devices of the monitoring system is configured to compare the talk group and channel assignment codes to an array of stored, predefined codes.
18. The computer program product as recited in claim 16, wherein the computer readable program code devices of the monitoring system is configured to tune the frequency tuned radio receiver of the monitoring system to the appropriate working voice channel and monitoring the resultant radio communications traffic, if the codes match.
19. A system for monitoring communications in a trunked communication system comprising of: circuitry for setting both an appropriate data and sampling rate, wherein the sampling rate is set substantially higher than the data rate; circuitry for receiving a plurality of digital data messages on a control channel transmitted from at least one trunking radio system wherein each digital data message includes a preamble and a coded information frame; circuitry for identifying the polarity of the incoming digital data messages; circuitry for sampling the received digital message at the sample rate; circuitry for identifying type and data rate of the trunking system, wherein the type and date rate are identified by comparing incoming samples to pre-calculated set of preamble patterns: circuitry for selecting an appropriate set of parameters and values based upon the system type identified; and circuitry for reconstructing the stream of digital messages by selecting samples from the sample data stream to produce an output data stream.
20. The apparatus as recited in claim 19, wherein if the polarity of the data stream of an incoming digital data message is negative, inverting the polarity of that data stream to be positive.
21-28. (canceled)
Type: Application
Filed: Oct 9, 2006
Publication Date: Jun 28, 2007
Inventor: Sam Dunham (San Jose, CA)
Application Number: 11/539,644
International Classification: H04B 17/00 (20060101);