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²+Q²,
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²+Q² 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
> 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²+Q²,
> 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²+Q² 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
Yes, there is a solution, and I can do it for you.
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
> 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.
> 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
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.
>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.