Pulse detector for counting dial generated pulses

Abstract: A pulse detector system for reliably counting pulse signals generated by calling party telephone dials. The system includes generating a dial pulse template based on a sample train of pulses. A preferred embodiment uses a pulse amplitude template comprising an amplitude histogram.

Description: Field of the Invention This invention is concerned with apparatus and procedures for detecting and reliably counting pulses such as those generated by rotary dials. More particularly the invention is concerned with systems for counting such pulses to generate data for use as input information for computer systems having audio inputs. Such system are especially adaptable for banks and/or other institutions performing computer controlled transactions for a calling party. Background of the Invention Telephone dial signals are used to give information and/or instructions to computers. For example, it is known to have calling parties communicate with the bank computer. In greater detail a calling party may want to know the balance in his account at a particular time. He dials the number which causes his to be connected to the bank computer. He then dials an identifying code and a code that will instruct the computer to communicate to him the balance that he has in a particular account. Similiarily, a calling party may telephone signals to instruct a computer of a catalog house or a department store to order material from the catalog according to catalog number. The dial signals use for such instructions have been double tone, multi-frequency (DTMF) dial signals which provides a generally reliable signal that can be used by telephone circuitry on the receiver side of the phone line circuit. It has been found that rotary dial generated pulses are not reliably detected by telephone circuitry in a "called party" environment. Systems using DTMF are effective for such applications. Howeer, most of the telephones in the world still use rotary dials and/or electronic pulse systems for signalling rather than the DTMF signals. Therefore, failure of the prior art to provide a reliable system for detecting and counting rotary dial generated pulses for use by computers has inhibited the adaption of computer systems for telephone transactions by banking and commercial institutions. EP-A- 0 226 325 discloses a pulse detector for counting pulse signals generated by calling party telephone dials. The detector comprises an input buffer including an amplifier and a filter for limiting the frequency range of the dial signals. An analog to digital converter converts the analog dial signals to digital signals. Dial pulses are counted by processing means using a template for the particular dial which generates the dial pulses. The dial pulse template is derived from sample trains generated by the particular dial. The frequency range of dial pulse signals is limited, and pulses appear as an envelope of signals having frequencies within the allowed frequency range, namely the standard telephone band width. For recovering the dial pulse wave form it is necessary to use an envelope detector. This pulse detector uses a time template and an amplitude template by respectively measuring the time per pulse and the minimum and maximum pulse amplitudes in a sample pulse train. With this known pulse detector only a single train of dial pulses, but not the entire train is used. Rather, the known system uses a complete pulse of the train to set up the template in the form of a plurality of windows located at make-break time distances apart. The windows are set to open in accordance with the timing of the sample pulse. The windows are detection windows and provide an amplitude testing portion of the template to test the make-break pulse. The timing test is provided by opening new windows in the window array. Accordingly, the template combines the timing and amplitude tests in only a single template so that, for example, the tail of the pulses is not taken into account. Furthermore, the known system requires only one sample train of pulses which may be repeated for constructing the template. When it is repeated, the same characteristics are repeated. FR-A- 25 56 910 teaches the use of sample trains of dial pulse signals for constructing the separate time and amplitude templates for detecting and counting dial pulses. This system merely is a voice response system. Accordingly, it is an object of the present invention to provide techniques and systems to enable pulses (herein after aometimes referred to generically as pulses generated by rotary dials) that are transmitted over telephone lines to be used by computers. The invention thereby enables transactions such as banking transactions to be accomplished with telephones equipped with pulse generators, such as rotary dials. The obstacle to the use of rotary dials for such purpose in the past has been the fact that the rotary dial generated pulses behave as trains of noisy pulses on the receiver side of the called party's line circuit where the computer systems are connected. Thus, pulse operated computer controlled transaction systems in the past have not been able to accurately and reliabily determine the numbers, (information, instructions, etc.) that the calling party customer is sending to the bank or other commercial institutions (the called party). The most reliable characteristic of the train of rotary dial generated pulses is the time duration of the train. However, even this characteristic is dependent upon the actual dial and the line system between the calling party and the called party. For example every dial generates pulses having slightly different pulse characteristics. Also, there is always cross-talk noises i.e. voice noises on the telephone lines. These noises on the called party side of the line circuit, that is the computer side of the line, can be misinterpreted as pulses and thereby make it impossible for instructions to be sent by the calling party to the computer system. In addition to the other noises the pulse trains generally have what are known as a "tail" at the end of the trains which varies the time length of the pulse train over and above the number of pulses in the train. Accordingly it is an object of the present invention to overcome these and other difficulties in the use of rotary dials for generating pulses to be used by computer systems for carrying out commercial transactions, for example. BRIEF DESCRIPTION OF THE INVENTION In accordance with one broad aspect of the present invention a telephone pulse detector system at a called party's telephone line circuit for reliably determining pulses in the form of trains of pulses generated by a connected calling party's telephone is provided, said detector system comprises: amplifier means for amplifying dial pulse signals to provide amplified pulse signals at said called party's line cirucit, said amplified pulse signals forming a modulation envelope of amplified pulse signals, filter means for filtering said amplified dial pulse signals to limit said evelope to a particular frequency range, envelope detector means for detecing the limited envelope, analog-to-digital converter means for converting the detecting envelope to digital signals, processing means at the called party's line circuit for reliably determining the number of pulses generated at the calling party's line circuit that is attached to the called party's line circuit over telephone lines, said processing means include means for providing pulse template means to determine pulse time and amplitude characteristics for a pulse generator at the calling party's line circuit based on at least two different sample trains of pulse signals generated at the calling party's line circuit, and means for deriving from the at least two different sample trains of pulse signals the time length per pulse and the time length per pulse train tail. According to a related object of the present invention the sample trains of pulse signals comprises a train of at least one pulse signal and a train of multliple pulse signals. In accordance with one preferred embodiment, the trains of sample pulse signals are provided by the calling party dialing "0" and "2", for example. According to a related feature of the present invention, the template is a time template which is indicative of the characteristic time per pulse of the dial. According to another related feature of the invention means are provided for preventing voice signal noises from being mistakenly counted as pulses. More particularly an "amplitude" template is provided. The "amplitude" template is generated by a distance histogram made of different measured distances between extremes on the amplitude versus time characteristic of the sample trains of pulses. The template provides the histogram count per pulse. The template provides a number distance combination which could not be generated by voice signal noises. According to yet another feature of the invention the system is inhibited after the incoming pulse train signals are detected and the number of pulses counted and verified. The system inhibits itself for a set period of time; after which, an audible signal is transmitted to the calling party notifying the calling party that his previous instruction was accepted and he can now dial the next instruction. The inhibit system is designed to inhibit interdigital noise from falsely triggering the system and providing erroneous instructions. The set period of time is equal to what is known in the art as an "interdigital interval". BREIF DESCRIPTION OF THE DRAWINGS. The above named and other features and objects of the present invention will be best understood by referring to the following description of a broad aspect of the present invention in conjunction with the accompanying drawings, wherein: Fig. 1 is a block diagram of the pulse detector for counting pulses generated by rotary dials; Fig. 2 is a flow chart showing the steps in generating a time template; Fig. 3 is a block diagram showing the generation of an amplitude or distance template, and Fig. 4 is a block diagram showing the use of the templates for distinguishing and counting pulses received from the calling party, GENERAL DESCRIPTION The pulse detector system 11 shown in Fig. 1 indicates that the signals are coming over a telephone line 12. The telephone line 12 is connected to a telephone line circuit shown as 13. The detector system 11 is connected to the receiver end of the line circuit 13. A limiter amplifier 14, amplifies the incoming pulses generated by the rotary dial for example. Subsequent to the limiter amplifier, the amplified dial pulse signals are filtered by a band pass filter 16. In a preferred embodiment the pass band of the filter extends from power line frequency to 300 Hertz. The amplified filtered signals are in the form of a modulation envelope. An envelope detector 17 is used to obtain the envelope shape. The output of the envelope detector, that is the detected envelope is then converted to digital signals by analog to digital converter (ADC) 18. The output of the ADC unit is then sent to a processor 19 for assuring that only dial pulses are being counted and that the count is reliable. The resulting number obtained from counting the dial pulses is one of the outputs of the processor. The processor 19 also sends out various control and timing signals not shown. One of the control signals operates an inhibit circuit 21 that inhibits the system after the number of dial pulses is obtained and verified. In one preferred embodiment the inhibit circuit operates for an interdigital time of 700 m.s. At the end of the inhibit period an audio signal is sent by audio signal generator circuit 22 to the calling party; notifying the calling party that the instruction has been received and verified and that he may now send his next instruction. According to a preferred embodiment, the invention overcomes the shortcomings of the prior art by providing template means based on the particular characteristics of the calling party's dial and line over which the information; i.e.; dial pulse trains are sent. After being connected to the line circuit, the calling party, in a preferred embodiment, sends two sample trains of pulses. By way of example, to generate a first train of ten pulses, he dials "0" and as a second sample train of pulses, he transmits 2 pulses by dialing "2" The flow diagram of Fig.2 indicates that the system stores the sample trains at block 26. The sample trains are then measured to determine the time lengths of the trains-as indicated by blocks 27 and 28. The sample trains are tested according to their time duration as indicated by blocks 29 and 31. The sample train of ten pulses in a preferred embodiment must have a time length between 800 and 1300 milliseconds for example, the sample train of two pulses must have a time length between 140 and 260 ms or they are rejected. If they are rejected the audio signal is not transmitted. The calling party redials if there is an absence of an audio signal. The time template is prepared assuming that there are two unknowns. They are the actual time length per pulse plus the length of the tail that follows each pulse train. The two sample trains enables using two linear equations. Therefore it is easy to solve the set of linear equation, to obtain the time length per pulse and the time length per tail as indicated by block 32. The equations for the example of 10 pulses and 2 pulses are; 10 X + Y = T1 2 X + Y = T2 where: X = time per pulse, Y = time per tail, T1 = time duration of the 10 pulses, and T2 = time duration of the 2 pulses. Solving the equations for the time/pulse and the time of the tail enable the construction of a time template or template No. 1 as indicated at block 33. The block diagram of Fig. 3 shows the contruction of an "amplitude" template or template No. 2. Template No 2 provides means for preventing voice signals from falsely triggering the pulse detector system. The signals generated by dialing "0" and "2" are first compared in comparator gate 36 to a certain threshold to ascertain that they are of a minimum amplitude to remove noise signals. The output of the comparator gate are input pulse train signals of a certain minimum amplitude which are stored in a buffer memory 26a. In a preferred enbodiment the minimum amplitude is 120mv volts. The input signals from the comparator are used to operate a timing gate 37 which indicates the beginning and end of the pulse trains. The end of the pulse trains is determined by an absence of pulses for a time period of at least 140 ms. The pulses are then examined to determine points of changes in directions or minima and maxima on the amplitude versus time characteristic as indicated by block 38. The distances between the points of changes in direction is determined as indicated at block 39. The distances are digitized and stored in digital store 41 in accordance to the digital value of the distance. The store for example have 256 levels. The distances are digitized into values between 1 and 256 so that the measured distances are stored in levels corresponding to the digital value of the distance. In this manner the digital store or memory is effectively the template. The sample pulse trains enable determining how many pulses there are per determined distance or counted distances. In the preferred embodiment an ideal pulse train of ten pulses produces 40 distances since there is a maxima and a minima at the beginning and at the end of each individual pulse. After the first sample pulse train the memory 41 is examined to determine which levels of the memory hold the 40 counts, i.e. the largest distances. This determines the range of levels holding the counts as indicated by block 42. After the sample two pulse train the same range of levels is checked to see how many counts are stored. There should be approximately 8 counts usually between 6 and 10 counts. A determination is then made of the counts per pulse. The determination is as follows, 43 counts and 10 counts (for example) for 10 pulses and 2 pulses gives 33/8 or 4.125 counts per pulse. (As indicated at block 43) The second template is used as a final test for the time template determined number of pulses. Thus, if the time template determined number of pulses is 5 than according to the previous example, 15 to 25 histogram counts should be found in the pertinent range of levels of the memory 41. If there are approximately 20 counts (20±5) in the pertinent range then the count is verified and accepted, otherwise it is rejected. Note that once the distance template is set, the ranges of levels and the counts per pulse are noted. The memory is then erased. The next train of incoming pulses are stored in the memory. A count of the pertinent range gives a number that when divided by the count per pulse given the number of pulses. The templates are used in one embodiment as shown in Fig. 4. It should be realized that the embodiments described can be implemented by either hardware or software. In Fig. 4 the signal from the analog digital converter is shown on line 18a connected to a switch 46 of the processor. When the templates are being made, the "0" and "2" pulse trains are sent to a receive sample digit circuit 47. The switch is operated by control signals indicated at 48. The control signals are generated in the processor 19, in a preferred embodiment. The received sample pulse trains are sent through threshold comparator gate 49 to both the time template 50 and the amplitude or distance template 51. The threshold comparator gate assures that the incoming pulse is over a certain minimum value. The set time template 50 determines the time per pulse based upon the characteristics of the particular rotary dial of the calling party and the connections between the calling and the called party. The amplitude template 51 determines the amplitude histogram which determines the actual number of histogram counts per pulse, thereby, overcoming pulse count discrepancies due to various and sundry voice noises such as caused by talk, announcement systems, etc. Once the templates are set then the switch 46 sends subsequent pulse signals to the receive signal pulse circuit 52. From there the received pulses are sent through threshold gate 53 to the set time template and to the set amplitude template for determing the pulse train time length and for determining the distance values. The time and the distance are processed with the templates to determine the number of pulses. The number of pulses determined by the time template and the distance template are compared in compare circuit 54. If the comparisons are favorable, that is if the time template derived number of pulses agree with the amplitude template derived number of pulses (plus or minus the tolerance), the count is determind and an operate signal is sent to an interdigital audio signal generator 56. Responsive to the operate signal, generator 56 sends an audio signal to the calling party and an operating signal to close gate 61 at the input to switch 46. The gate 61 prevents any interdigital voice signals or noises from being misinterpreted as pulse trains during the interdigital time. The audio signal is sent to the calling party during the inhibit time. Subsequently either another pulse train will be sent or the call will be terminated if the calling party's business is finished. Once the template is made, the calling party merely has to send further dial pulse information without any further calibration. The computer responds to the information. Assume, for example, that the information is to a bank and asks for the balance of a certain account. After proper verifications of the code number etc. are made, an audio signal will tell the party the balance of his particular bank account or verify that so much money has been transferred from one account to another account. In operation, the construction of the templates overcomes serious problems that have prevented the use of rotary dial pulses as computer input data. While the time template may be sufficient in certain instancea, almost absolute reliability is obtained through the use of the time template and the amplitude histogram template which are constructed based on sample pulse trains generated by the calling party.

Claims: Telephone pulse detector system at a called party's telephone line circuit (13) for reliably determining pulse signals in the form of trains of pulses generated by a connected calling party's telephone, said pulse detector system comprising: (a) amplifier means (14) for amplifying said pulse signals to provide amplified pulse signals at said called party's line circuit, said amplified pulse signals forming a modulation envelope of amplified pulse signals, (b) filter means (16) for filtering said amplified pulse signals to limit said envelope to a particular frequency range, (c) envelope detector means (17) for detecting the limited envelope, (d) analog-to-digital converter means (18) for converting the detected envelope to digital signals, (e) processing means (19) at the called party's line circuit for reliably determining the number of pulses generated at the calling party's line circuit that is attached to the called party's line circuit over telephone lines (12), (f) said processing means (19) include means for providing pulse template means (50, 51) to determine pulse time and amplitude characteristics for a pulse generator at the calling party's line cirucit based on at least two different sample trains of pulse signals generated at the calling party's line circuit, and (g) means for deriving from the at least two different sample trains of pulse signals the time length per pulse (27, 28) and the time length per pulse train tail (29, 30). Telephone pulse detector system of claim 1, characterised in that said means for providing pulse template means include means for providing a time template (50) for determining the number of pulses as a function of time used by said sample trains of pulse signals said time template comprising the actual time length per pulse and the time length per train tail. Telephone pulse detector system of claim 1, characterised in that said means for providing template means also include means for providing an amplitude template (51) for determining the number of pulse signals as a function of an amplitude characteristic of the pulses in said sample trains of dial pulses. Telephone pulse detector system of claim 3, characterised by means for determining amplitude characteristics that comprise vertical distances between changes of directions of an amplitude vs. time graph. Pulse detector system for reliably determining a number generated by a calling telephone pulse generator where the determined number is used as an input to a computer connected to a called telephone, said pulse detector system comprising (a) means for connecting said detector system to the receiver side of the line circuit of said called telephone, (b) means for providing pulse template means (50, 51) of time and amplitude characteristics for said calling telephone pulse generator, the lines and connections between the calling telephone pulse generator and the pulse detector system from sample trains of pulses generated by the calling telephone pulse generator, (c) said pulse template means (50, 51) include a time template (50) and an amplitude template (51), and (d) said pulse template means are determined from at least two different complete dial pulse sample trains, (e) wherein said time template means include means for deriving the time length per pulse and the time length per pulse train tail from said at least two sample trains. Pulse detector system at a called party's telephone line circuit for reliably computing pulse signals generated by a telephone pulse generator at a calling party's line circuit, said calling party's line circuit being connected to said called party's line circuit, said pulse detector system comprising: (a) amplifier means (14) for amplifying said pulse signals to provide amplified pulse signals, said amplified pulse signals forming a modulation envelope of amplified dial pulse signals, (b) filter means (16) for filtering said amplifier pulse signals to limit said envelope to a particular frequency range, (c) envelope detector means (17) for detecting the limited envelope, (d) analog to digital converter means (18) for converting the detected envelope to digital signals, (e) processing means (19) at the called party's line circuit for processing the digital signals to reliably computing the number of pulse signals generated by the pulse generator of the calling party's line circuit when said calling party's line circuit is connected to the called party's line circuit over telephone lines (12), (f) said processing means (19) include means for providing pulse template means (50, 51) for the calling party's pulse generator based on at least two different sample trains of pulse signals generated by the calling party's telephone pulse generator, (g) said template means (50, 51) include means for providing a time template and an amplitude template, said amplitude template (51) for validating the number of pulse signals as a function of an amplitude characteristic of the dial pulse signals in said at least two different sample trains of pulse signals, (h) said amplitude characteristic comprises the vertical distance between maxima and minima of an amplitude vs. time graph of the sampled trains of dial pulse signals, and (i) said time template comprises the time length per pulse and the time length of the pulse train tail, both time lengths being derived from said sampled trains of dial pulse signals. Pulse detector of claim 6, characterised in that said amplitude template (51) includes a histogram template of distances wherein are provided (a) means for arranging the distances in levels, (b) means for determining ranges of levels, (c) means for holding distance counts obtained from the at least two different sample trains of pulse signals and the number of distance counts per pulse whereby the number of pulses in a determined range is ascertained by dividing the number of counts in the determined range by the number of counts per pulse. Pulse detector system of claim 7, characterised in that said time template (50) comprises the actual time length per pulse and the time length per train tail and is used for determining the number of pulse signals in a transmitted train of pulse signals and means for validating of the number of pulse signals determined with said time template using said distance histogram template. Pulse detector method for reliably counting pulse signals received at a called party's line circuit and generated at a calling party's telephone pulse generator, said method comprising the steps of: (a) amplifying the received pulse signals, (b) said amplifid pulse signals forming a modulation envelope of signals, (c) filtering said amplified pulse signals to limit said envelope to a particular frequency range, (d) detecting the limited envelope, (e) converting the detected envelope to digital signals, (f) counting the number of digital signals generated by the calling party's telephone pulse generator, (g) said counting step includes the step of providing pulse amplitude and time template means for the calling party's telephone pulse generator and the connection to the called party based on amplitude characteristics and time lengths of at least two different sample trains of pulse signals generated at the calling party's telephone pulse generator and received at the called party's line circuit, whereby said amplitude characteristic comprises the distance between maxima and minima of an amplitude vs. time graph of the at least two different sample trains of pulse signals, and said time template comprises the actual time length per pulse and time length per train tail. Pulse detector method of claim 9, characterised in that said at least two different sample trains are complete sample trains and in that the amplitude template comprises a histogram of distances including the steps of placing the distances in a pluralilty of memory levels and determining the count of the number of distances in each of said levels to provide the counts of the pulse signals for the sample trains of pulse signals. Pulse detector method of claim 10, characterised by determining the number of pulse signals in a transmitted train of pulse signals with said time template and checking to ascertain the validity of the number of pulses determined with said time template using said amplitude template.

Inventors: ZVI KAMIL, ZVI, KAMIL
Applicants: AEROTEL LIMITED
Application year: 1988
Main classification: H04Q1
IPC codes: H04Q1