An important part in both standard telecommunications and VoIP gateways, dialtone detection is challenging due to the variation of dial tone parameters (e.g. frequency, duration, cadence, etc.) depending on the geographic area. In literature one can find many algorithms that facilitate tone detection for different purposes but not many concentrate on implementation constraints.
The algorithm proposed here is designed to detect dial tones as specified in ITU recommendation E.180 and various tones used in national networks (according to ITU-T recommendation E.180) [5].
The design difficulty comes from elaborating an algorithm that is computationally efficient has a small memory footprint and that reliably indicates the presence of a specific dial tone (single or multiple frequencies) in an input stream.
The amount of persistent data is very important in a multi-channel environment considering that the latencies to memory and caches increase considerably leading to higher power consumption.
Having in mind that the frequencies to be detected are in a tolerance interval of about 25Hz the design has to distinguish between frequencies 25Hz apart. The algorithm has also to cope with impairments that come from real life environments (white noise, attenuation, impulse noise).
The algorithm proposed here will detect some relevant dial tone frequencies and will not give a complete indication of dial tone (the user has to set cadence conditions, duration conditions and other validity checks depending on geographic area).
The frequencies (expressed in Hz) taken into consideration are part of the Set S, below.
S = {2125, 1800, 1400, 900, 770, 760, 740, 733, 720, 600, 500, 480, 467, 460, 450, 445, 440, 433, 425, 424, 420, 400, 380, 376, 375,367,360,350,340,330,300}
Due to the fact that a dial tone is composed from maximum 3 frequencies, the design has to be able to detect 3 frequencies at a time. The signal level for the tones that will be detected are considered greater than -27dbm0 (considering ITU E.180 recommendation and the maximum admissible line attenuation on EIA5).
The sampling rate considered here is 8 KHz and the input signal is split in 5ms frames (40 samples). The output of the model is the indication of presence of the specific frequencies.