Reply by jia September 9, 20052005-09-09
Hi, Clay

Thanks to your answer.

CAS Tone needs to be detected during off hook, i.e. present with voice
and others. So the detection is a little more difficult than that of
DTMF.  Someone said we can use the technology of "Voice Elimination",
but I suppose it is too complex.

Maybe we can  make use of  the characteristic of CAS Tone, i.e. Tone
During Time is 75-85ms.

Jia

Reply by Clay S. Turner September 9, 20052005-09-09
"jia" <jia.qinghua@gmail.com> wrote in message 
news:1126253700.629708.139380@z14g2000cwz.googlegroups.com...
> Hi here, > > I want to detect "CAS(CPE Alerting Signal) Tone" with the Goertzel Algo > used in DTMF, is it OK? > I believe that CAS Tone is just a special DTMF Tone, comprised with two > frequency-2130Hz and 2750Hz. CAS Tone detection also has a more strict > aquirement than DTMF, such as accurate detection in hook-off and > hook-on. > 2nd harmonic detection with 8k sampling to CAS Tone is not realistic, > as 2750Hz *2 is more than 4K. So I check (2130*0.5)Hz and (2750*0.5)Hz > to avoid CAS Tone is above frequencies' 2nd harmonic. Does it work? > > Best Regards, > JIa >
Hello JIa, Just use a purity check based on Parseval's (actually the special case known as Bessel's) relation to see if during the tone that nothing else is present. I.e., just compare the energy in the tone detectors to the total time domain energy. You don't need the 2nd harmonic detection this way. Clay
Reply by jia September 9, 20052005-09-09
Hi here,

I want to detect "CAS(CPE Alerting Signal) Tone" with the Goertzel Algo
used in DTMF, is it OK?
I believe that CAS Tone is just a special DTMF Tone, comprised with two
frequency-2130Hz and 2750Hz. CAS Tone detection also has a more strict
aquirement than DTMF, such as accurate detection in hook-off and
hook-on.
2nd harmonic detection with 8k sampling to CAS Tone is not realistic,
as 2750Hz *2 is more than 4K. So I check (2130*0.5)Hz and (2750*0.5)Hz
to avoid CAS Tone is above frequencies' 2nd harmonic. Does it work?

Best Regards,
JIa

Reply by jia September 9, 20052005-09-09
Hi here,

I want to detect "CAS(CPE Alerting Signal) Tone" with the Goertzel Algo
used in DTMF, is it OK?
I believe that CAS Tone is just a special DTMF Tone, comprised with two
frequency-2130Hz and 2750Hz. CAS Tone detection also has a more strict
aquirement than DTMF, such as accurate detection in hook-off and
hook-on.
2nd harmonic detection with 8k sampling to CAS Tone is not realistic,
as 2750Hz *2 is more than 4K. So I check (2130*0.5)Hz and (2750*0.5)Hz
to avoid CAS Tone is above frequencies' 2nd harmonic. Does it work?

Best Regards,
JIa

Reply by Clay S. Turner August 19, 20052005-08-19
"Roman Rumian" <usun_torumian@agh.edu.pl> wrote in message 
news:de46fs$91h$1@galaxy.uci.agh.edu.pl...
> Hello Clay, > > I have already finished ! :-) > > Dsp implementation took one week. > > I use 8 freqencies from 16.6 kHz to 19.8 kHz spaced 400Hz in both - left > and right - audio channels, but complemented. > > The problem is MPEG Audio coding used in communication channel, which do > not tolerate weak tones, specially at low rates, but at 256kbps and -16dB > it works. > > Best regards > > Roman Rumian
Excellent!! Clay
Reply by Roman Rumian August 19, 20052005-08-19
Hello Clay,

I have already finished ! :-)

Dsp implementation took one week.

I use 8 freqencies from 16.6 kHz to 19.8 kHz spaced 400Hz in both - left 
and right - audio channels, but complemented.

The problem is MPEG Audio coding used in communication channel, which do 
not tolerate weak tones, specially at low rates, but at 256kbps and 
-16dB  it works.

Best regards

Roman Rumian
Reply by Jerry Avins July 18, 20052005-07-18
Roman Rumian wrote:
> Hi Jerry, > > Jerry Avins napisa&#322;(a): > (...) > >> >> I don't see that the tones have to persist. Whenever the complete set >> of tones is present, the state they prescribe is entered, That state >> persists until a valid countermand is detected. An on/off tone can be >> replaced with the transmission channel. A tone (or decoded set of >> three tones) on the one channel raises a flag; the same tone on the >> other lowers it. From your answer, I suspect that I'm overlooking a >> constraint or obvious simplification. Am I? > > > No. It seems resonable, but I am afraid, that have to send all 8 inputs > state simultaneously. What then ? > Serial transmission and then parallel buffer ? > > Best regards > > Roman
That's one way. Eight tones with the channel determining on/off is another. I can think of more, but none seems as good. Jerry -- Engineering is the art of making what you want from things you can get. &macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;
Reply by Roman Rumian July 18, 20052005-07-18
Hi Jerry,

Jerry Avins napisa&#4294967295;(a):
(...)
> > I don't see that the tones have to persist. Whenever the complete set of > tones is present, the state they prescribe is entered, That state > persists until a valid countermand is detected. An on/off tone can be > replaced with the transmission channel. A tone (or decoded set of three > tones) on the one channel raises a flag; the same tone on the other > lowers it. From your answer, I suspect that I'm overlooking a constraint > or obvious simplification. Am I?
No. It seems resonable, but I am afraid, that have to send all 8 inputs state simultaneously. What then ? Serial transmission and then parallel buffer ? Best regards Roman
Reply by Roman Rumian July 18, 20052005-07-18
Hello Clay,


many thanks for help ! :-)))

Kind regards

Roman
Clay S. Turner napisa&#4294967295;(a):

> Hello Roman, > > 4 days? Ouch. I feel for you if this is a real constraint. You can certainly > use multiple tones all in parallel and use only certain combinations as > legal symbols. You could even go so far as to treat each frequency as a bit > and then have error correction by using some frequencies as parity bits. You > have more than enough bandwidth to support a lot of tones. Since you are on > a clear channel, you can used arithmetically spaced frequencies and then the > FFT becomes attractive as a tone decoder. I don't know the exact > computational crossover between when using the FFT becomes better than a > handful of DFTs via Goertzel, but I think the number is small on the order > of 10 to 20 frequencies or so. You can implement a Hamming (perfect 1 bit > error correction), common BCH (2 bit error correction) or a Golay (perfect 3 > bit error correction) code. You won't need a fancy error corrector, just > use a simple look up table that contains all of the error permuted versions > of the allowed codewords. I recall for the Golay this is a table of 4096 > entries. Your others will likely be much smaller. If you want your tones to > not be very loud, then certainly use a long duration and have your decoder > integrate over this time to afford some immunity against noise. You have the > advantage of near perfect frequency and a large bandwidth. Also with > parallel tones require them to all start and end at the same time. > > I hope this helps, > > Clay
Reply by Clay S. Turner July 17, 20052005-07-17
"ma" <ma@nowhere.com> wrote in message 
news:pdzCe.161621$Vj3.94795@fe2.news.blueyonder.co.uk...
> Interesting! > Can it be extended to several frequncy? > How pure is each frequncy? > How can it be implimented in DSP? > best regards >
Hello Ma, Yes you can extend to many frequencies but some practical issues arise. The tones are as pure as your math allows. A simple example: Single tone generator (biquad design) y(z) 1 ---- = ------------------------ x(z) 1 - 2cos(a) z^-1 + z^-2 This transfer equation can be found by many methods, but a DSP oriented one is to find the z transform of cos(at) or sin(at). Then the numerator is changed to 1 to simplify things. All the numerator does is scale the output and adjust the phase of the impulse response. Hence we have made an all pole filter. Another way to look at it is we have found the 2nd order linear prediction coefficients of a sinusoid. They are: 2 cos(a) and -1 Now a dual tone oscillator may be found by simply adding together two z transforms (i.e., summing two oscillators) and finding the new common denominator. Again the resulting numerator may be changed to just 1. The 4 feedback coefs are: 2(cos(a) +cos(b)) -2-4cos(a)cos(b) 2(cos(a)+cos(b)) -1 Here a= 2pi*f1/fs and b= 2pi*f2/fs and fs is the sampling rate. So you can implement a 4th order all pole filter to generate two simultaneous tones. The 4 initial values will determine the amplitudes and phases of the sinusoids. Of course most would rather implement two 2nd order oscillators and simply sum their outputs. But as you can see multifrequency generation is possible with a single filter structure, and I have even implemented this method for generating DTMF, MF and MFC tones. I was able to save a few cycles this way and I was using two 40MHz DSPs to handle an E-1 trunk. Since the tones' durations were short, amplitude control was not needed. I used a 24 bit DSP so a 45mSec or 100mSec tone burst was well tamed. For fun you ought to look at changing the 4th order all pole design to a lattice filter design. If you recall many speech algorithms use LPC analysis and use lattice filters since an all pole filter model is commonly used for the vocal tract. So an LPC-10 model could create 5 simultaneous frequencies. Clay