Reply by Rick Lyons March 11, 20072007-03-11
On 9 Mar 2007 10:13:03 -0800, "Clay" <physics@bellsouth.net> wrote:

>On Mar 9, 12:21 pm, Vladimir Vassilevsky <antispam_bo...@hotmail.com> >wrote: >> patrick.me...@dmradiocom.fr wrote: >> > why do you think my approach is ineficient ? >> >> > I have to decode 6 tones with 6 tone decoder, and the 6 frequency can >> > be change >> >> > So I have to make a structure that is universal... you know >> >> IEEE Signal Processing Magazine >> Volume: 24 Issue: 2 Date: 2007 >> Efficient Multitone Detection >> Vassilevsky, V.L. >> Page(s): 144-147 >> >> Vladimir Vassilevsky >> >> DSP and Mixed Signal Design Consultant >> >> http://www.abvolt.com > >Hello Vladimir, > >I just checked IExplore, and the new mag is online, so I down loaded >and read your article. Quite interesting! Thanks for alerting me to >it. > >Clay
Hi Clay, Yep, I agree. Vladimir has a number of clever tricks he used to reduce the computational complexity of his tone detectors. See Ya', [-Rick-]
Reply by Clay March 9, 20072007-03-09
On Mar 9, 12:21 pm, Vladimir Vassilevsky <antispam_bo...@hotmail.com>
wrote:
> patrick.me...@dmradiocom.fr wrote: > > why do you think my approach is ineficient ? > > > I have to decode 6 tones with 6 tone decoder, and the 6 frequency can > > be change > > > So I have to make a structure that is universal... you know > > IEEE Signal Processing Magazine > Volume: 24 Issue: 2 Date: 2007 > Efficient Multitone Detection > Vassilevsky, V.L. > Page(s): 144-147 > > Vladimir Vassilevsky > > DSP and Mixed Signal Design Consultant > > http://www.abvolt.com
Hello Vladimir, I just checked IExplore, and the new mag is online, so I down loaded and read your article. Quite interesting! Thanks for alerting me to it. Clay
Reply by Vladimir Vassilevsky March 9, 20072007-03-09

patrick.melet@dmradiocom.fr wrote:

> why do you think my approach is ineficient ? > > I have to decode 6 tones with 6 tone decoder, and the 6 frequency can > be change > > So I have to make a structure that is universal... you know
IEEE Signal Processing Magazine Volume: 24 Issue: 2 Date: 2007 Efficient Multitone Detection Vassilevsky, V.L. Page(s): 144-147 Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Reply by March 9, 20072007-03-09
why do you think my approach is ineficient ?

I have to decode 6 tones with 6 tone decoder, and the 6 frequency can
be change

So I have to make a structure that is universal... you know

so i have chosen to sampling at 300 kHz (4 times the upper frequency
74kHz)...

and I think that to cutoof at 500 Hz I need a IIR filter with 24 bits
coeffcients...

I took the idea of James Gilley : "Tone detection with a quadrature
receiver" found on google

best regards...



Reply by Vladimir Vassilevsky March 9, 20072007-03-09

patrick.melet@dmradiocom.fr wrote:

> My input signal is a frequency multiplex with tone up to 74 kHz, so I > need to sample at 300 kHz to make a NCO with about 4 samples...
No problem here: 74kHz will be aliased to 14kHz and fitered out.
> And then, in your solution you don't have a low pass filter that > reject others tones, my tones are speparated by 1 kHz so I need a 500 > Hz low pass filter
Make a CIC filter with a span of 1ms.
> > So I need to decimate before low pass filter at this low frequency > (500 Hz), I cannot make a IIR filter with 300 kHz frequency sampling > and 500 Hz cut off
It is not a problem at all to make an IIR with 300kHz sample rate and 500Hz cutoff. However the approach that you took is extremely inefficient. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Reply by March 9, 20072007-03-09
My input signal is a frequency multiplex with tone up to 74 kHz, so I
need to sample at 300 kHz to make a NCO with about 4 samples...

And then, in your solution you don't have a low pass filter that
reject others tones, my tones are speparated by 1 kHz so I need a 500
Hz low pass filter

So I need to decimate before low pass filter at this low frequency
(500 Hz), I cannot make a IIR filter with 300 kHz frequency sampling
and 500 Hz cut off


Reply by Vladimir Vassilevsky March 9, 20072007-03-09

patrick.melet@dmradiocom.fr wrote:

> Hi all, >=20 > I made a quadrature tone decoder like this : > I first sampling the input signal at 300 kS/s from an 8 bit ADC >=20 > Then I mix this signal with sine and cosine at the frequency I want to > decode (22 kHz) > Then I have a decimate filter to sampling at 60 kHz, then I can > lowwpass filter at cutoof frequency of 500 Hz with an IIR filter to > remove the other tone frequency > then I compute the square of the two I and Q branch and compute I=B2+Q=B2=
,
> so if the tone 22kHz is present I have a constant continue value and > zero if the tone is not present
Here is how I would do it: 1. Sample the signal at 88 KHz. 2. Multiply the signal by 1 1 -1 -1 1 1 -1 -1.... pattern for Q and -1 1 = 1 -1 -1 1 1 -1 -1... pattern for I. 3. Accumulate, get I^2 + Q^2. A simple 8-bit microcontroller like PIC or AVR would do.
> My problem is that I have a little amplitude offset on the ouput of > the decimation filter and when I compute the square, I don't have a > constant amplitude on I=B2+Q=B2 due to the offset, I have a ripple at v=
ery
> low frequency 0,5 Hz
> Is there a solution to remove this offset ? I don't know why I have > this little amplitude offset
Yes, there is a solution, and I can do it for you. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Reply by March 9, 20072007-03-09
Hi all,

I made a quadrature tone decoder like this :

I first sampling the input signal at 300 kS/s from an 8 bit ADC

Then I mix this signal with sine and cosine at the frequency I want to
decode (22 kHz)
Then I have a decimate filter to sampling at 60 kHz, then I can
lowwpass filter at cutoof frequency of 500 Hz with an IIR filter to
remove the other tone frequency
then I compute the square of the two I and Q branch and compute I=B2+Q=B2,
so if the tone 22kHz is present I have a constant continue value and
zero if the tone is not present

My problem is that I have a little amplitude offset on the ouput of
the decimation filter and when I compute the square, I don't have a
constant amplitude on I=B2+Q=B2 due to the offset, I have a ripple at very
low frequency 0,5 Hz

Is there a solution to remove this offset ? I don't know why I have
this little amplitude offset

Thanks