At 22:08 5/11/99 +1100, you wrote: >Lea wrote: > >> well It is one of my problems, that the tone is not alone, If it was >> the case, will be a little easier, but no, usually there is at least >> 3Khz of modulation in the frecuencies above 600 hz (voice), > > I suspect you mean 300 Hz. The 300 to 600 Hz octave contains the >*essential* fundamentals of male voices (or indeed female voices of >operators trained, unlike my wife and kids I regret to say, to make >themselves *understood* over a communications radio). Yes, but the adverage power of the male voice is around 900Hz, that being said there was some old telephony standards that tested the ref freq at 830Hz. > >> and the subtone (CTCSS) modulation has only 600 hz of deviation, now, >> If I use a 3rd order active LPF (low pass filter) Will be it enough >> H.F. rejection?, > > Based on my lower voiceband limit of 300 Hz, and CTCSS going up to >about 130 Hz, a 3rd order filter will just about reduce the voice level >at 3 KHz deviation to the *same* level as the 600 Hz deviation CTCSS >tone. It's not going to help very much at all. > > THAT'S why I said you would *need* a DSP to do the FFT. You will need a 5th order filter. but a 7th order should be considered. This can be a low pass filter that then passes the result to your CTCSS section. However such a filter is "sorta complex", but as you are not worried about phase and transient response, the overall should be quite easy. But then you will need your PIC to pick out the frequency that you want / looking for. Also there is the problem with LF noise to consider that may mask the tones, and another filter is then required, oh dear even more complex, DSP is easyer. > > In addition, I suspect few respondents have twigged to the fact that >you wanted not to determine whether a particular CTCSS frequency was >present, but to find *which* of all the possible frequencies it was. >To do that, you need to perform the full FFT algorithm and for that, >need plenty of RAM. > Yep, got it in one >> or still it will be a problem to detect the lower frecuencies without >> a DSP? (too complicated to my knownledge level :-) > No, the actulal frequencies should be OK as if we have the low pass filter we don't have to worry about the undersampling problems that may occur. At 20Mz there will be enough processing speed to work out the values. In this case we know what frequencies that should be present, but running 8 possible tabulations sould still be required, hence largish RAM. We have to remember that the CTCSS tones can be detected without DSP, however you would need one analogue section per CTCSS tone, as these only detect one tone at a time. Lots of stuff > I think it will indeed be a problem, and I don't know DSPs either. > > The closest study to this is indeed Scott Dattalo's DTMF >implementation. I think you have a problem that you will be wanting to >reject higher frequencies (voice and noise) at the same time, and are >"combing" for more than eight frequencies also. > I have not seen this one yet, but DTMF is high in level, only present with no other tones are present. THe frequencies are higher than CTCSS, but I would guess that this DTMF decoder may not fully comply (I think that I can recall this thread some time back (Over a year ago) and Scott was not concerned about this) >> what do you mean with zero crossing section?, is a way to count >> frecuencies checking when the value readed in a dac is 0 (the >> transition from + to - or vice versa?)?. > > It means not using a DAC at all, but a "slicer" which compares the >input level to the average level (or removes the AC component with a >capacitor and compares to zero - same thing) to give a straight logic >output (1 or 0) at any given time. > > This however deletes most of the information in the analog signal. >You can *just* afford to do this with DTMF where your filter bandwidth >(ratio of signal frequency to keying frequency) is very wide, but not >for CTCSS where it is very small (200 ms response = 5 Hz keying, tones >are close to that spacing). CTCSS decoding fast, and in the presence of >voice, requires a fully analogue system (such as DSP). Yes, as I posted zero crossing will not be effective > >> about the speed, no problem, 2 seconds will be enough time, but the >> problem is precision (2 hz error max) is important. > > OK, that's ¸ Hz keying but 2 Hz resolution. Can't do that with zero >crossing when there is *any* other signal present, moving those zero >crossings! > > By the way, used DSPs with plenty of performance to do what you want >are nowadays dirt-common and dirt-cheap, if only we could learn to >re-program them. Oh Paul you disapoint me. A TMS 320 can be picked up for around $8 or less (Still need RAM and an EPROM), a very popular for motor control. The FFT stuff that you need can be got from the web (Free). The White Mountain (Texas brought this as it was soo good) development suite will set you back a bit, but will let you do it in "C". You will need to put in a low pass filter prior to the ADC, else you will do undersampling and the CTCSS will be masked out (7th order!) Dennis >-- > Cheers, > Paul B. > >