Reply by jacobfenton April 26, 20102010-04-26
>On 22 apr, 18:25, "jacobfenton" <jacob.fenton@n_o_s_p_a_m.gmail.com> >wrote: >> I am doing tone detection of 4 known frequencies using the Goertzel >> algorithm. The tones have a large bandwidth that I must be able to
detect
>> them, > >The term 'tone' is usually used about (nearly) monochromatic >signals. A 'tone with a wide bandwidth' is pretty much a >contradiction in terms. > >What kinds of signal are you *really* looking for? > >> up to +/-4% of the tone value. > >What 'value' is this? Amplitude? Frequency? Something else? > >> To do this the Goertzel is set up to >> have large bin width, which makes the SNR not so good. Is there perhaps >> another approach that will have similar computation time as the
Goertzel,
>> but allow for better SNR? > >It depends on what signals you are working with and what >you attempt to do. > >Rune >
The tone frequencies can change up to 4% and I have to still be able to detect them.
Reply by jacobfenton April 26, 20102010-04-26
>>I am doing tone detection of 4 known frequencies using the Goertzel >>algorithm. The tones have a large bandwidth that I must be able to
detect
>>them, up to +/-4% of the tone value. To do this the Goertzel is set up
to
>>have large bin width, which makes the SNR not so good. Is there perhaps >>another approach that will have similar computation time as the
Goertzel,
>>but allow for better SNR? > >Your SNR issues relate to the bandwidth of your 4 receivers. Whether they >are implemented by the Goertzel algorithm or some other algorithm you are >going to get comparable results. The only way to improve those results is >to use further knowledge of the thing you are trying to detect. > >You don't make clear whether you are trying to detect the individual
tones,
>or combinations, and you don't say anything about the tone burst duration >or your required detection time. Greater knowledge of these things can
make
>a big difference. If a sustained tone is to be detected, you may be able
to
>look not just for it being within your 4% band, but being steady. If a >short but well defined length of tone burst is to be detected, testing
the
>length of the burst can make a big difference to detection reliability.
If
>you are looking for combinations of tones there may be further qualities >which you can look for. If they start out with accurate frequencies, but >suffer up to 4% doppler shift, a valid combination will never be tone A >near the low end of its 4% range + tone B near the high end of its range. >Homing on the details of the signal in this heuristic way can greatly >improve detection reliability. > >Steve > > >
The tones are from an FM signal, so they are individual or combined, depending on how many tones are being sent. I will have to inquire more about the 4%, if its due to doppler or not, it is not specified in that detail. I appreciate your response.
Reply by dsp314159265 April 24, 20102010-04-24
Hopefully this is not what you meant by "Goertzel is set up to have large
bin width" but did you try:

and IIR filter with an adjustable BW around the frequencies of interest by
placing two poles just inside the unit circle: 
alpha*exp(j*(w-deltaw)) and alpha*exp(j*(w+deltaw)). alpha is close but
less than 1 and the 4% tolerance can be met by changing deltaw.
-k

>On 22 apr, 18:25, "jacobfenton" <jacob.fenton@n_o_s_p_a_m.gmail.com> >wrote: >> I am doing tone detection of 4 known frequencies using the Goertzel >> algorithm. The tones have a large bandwidth that I must be able to
detect
>> them, > >The term 'tone' is usually used about (nearly) monochromatic >signals. A 'tone with a wide bandwidth' is pretty much a >contradiction in terms. > >What kinds of signal are you *really* looking for? > >> up to +/-4% of the tone value. > >What 'value' is this? Amplitude? Frequency? Something else? > >> To do this the Goertzel is set up to >> have large bin width, which makes the SNR not so good. Is there perhaps >> another approach that will have similar computation time as the
Goertzel,
>> but allow for better SNR? > >It depends on what signals you are working with and what >you attempt to do. > >Rune >
Reply by Rune Allnor April 23, 20102010-04-23
On 22 apr, 18:25, "jacobfenton" <jacob.fenton@n_o_s_p_a_m.gmail.com>
wrote:
> I am doing tone detection of 4 known frequencies using the Goertzel > algorithm. The tones have a large bandwidth that I must be able to detect > them,
The term 'tone' is usually used about (nearly) monochromatic signals. A 'tone with a wide bandwidth' is pretty much a contradiction in terms. What kinds of signal are you *really* looking for?
> up to +/-4% of the tone value.
What 'value' is this? Amplitude? Frequency? Something else?
> To do this the Goertzel is set up to > have large bin width, which makes the SNR not so good. Is there perhaps > another approach that will have similar computation time as the Goertzel, > but allow for better SNR?
It depends on what signals you are working with and what you attempt to do. Rune
Reply by Gerold Schrutz April 23, 20102010-04-23
"jacobfenton" <jacob.fenton@n_o_s_p_a_m.gmail.com> schrieb im Newsbeitrag
news:WoGdnezIvZLx5U3WnZ2dnUVZ_gWdnZ2d@giganews.com...
>I am doing tone detection of 4 known frequencies using the Goertzel > algorithm. The tones have a large bandwidth that I must be able to detect > them, up to +/-4% of the tone value. To do this the Goertzel is set up to > have large bin width, which makes the SNR not so good. Is there perhaps > another approach that will have similar computation time as the Goertzel, > but allow for better SNR? > > Thanks. > > -Jacob Fenton
Hello Jacob, how about using a window in front of the Goertzel? Choosing the right window, you can control the bandwidth without changing the length of the Goertzel computation. Leaving the lenght of the Goertzel computation should give you better S/N ratio. BR Gerold
Reply by steveu April 22, 20102010-04-22
>I am doing tone detection of 4 known frequencies using the Goertzel >algorithm. The tones have a large bandwidth that I must be able to detect >them, up to +/-4% of the tone value. To do this the Goertzel is set up to >have large bin width, which makes the SNR not so good. Is there perhaps >another approach that will have similar computation time as the Goertzel, >but allow for better SNR?
Your SNR issues relate to the bandwidth of your 4 receivers. Whether they are implemented by the Goertzel algorithm or some other algorithm you are going to get comparable results. The only way to improve those results is to use further knowledge of the thing you are trying to detect. You don't make clear whether you are trying to detect the individual tones, or combinations, and you don't say anything about the tone burst duration or your required detection time. Greater knowledge of these things can make a big difference. If a sustained tone is to be detected, you may be able to look not just for it being within your 4% band, but being steady. If a short but well defined length of tone burst is to be detected, testing the length of the burst can make a big difference to detection reliability. If you are looking for combinations of tones there may be further qualities which you can look for. If they start out with accurate frequencies, but suffer up to 4% doppler shift, a valid combination will never be tone A near the low end of its 4% range + tone B near the high end of its range. Homing on the details of the signal in this heuristic way can greatly improve detection reliability. Steve
Reply by Clay April 22, 20102010-04-22
On Apr 22, 12:25&#2013266080;pm, "jacobfenton"
<jacob.fenton@n_o_s_p_a_m.gmail.com> wrote:
> I am doing tone detection of 4 known frequencies using the Goertzel > algorithm. The tones have a large bandwidth that I must be able to detect > them, up to +/-4% of the tone value. To do this the Goertzel is set up to > have large bin width, which makes the SNR not so good. Is there perhaps > another approach that will have similar computation time as the Goertzel, > but allow for better SNR? > > Thanks. > > -Jacob Fenton
Try Vlad's method described here in his paper: http://www.abvolt.com/research/Multitone%20detect-IEEE.pdf IHTH, Clay
Reply by jacobfenton April 22, 20102010-04-22
>On Apr 22, 12:25=A0pm, "jacobfenton" ><jacob.fenton@n_o_s_p_a_m.gmail.com> wrote: >> I am doing tone detection of 4 known frequencies using the Goertzel >> algorithm. The tones have a large bandwidth that I must be able to
detect
>> them, up to +/-4% of the tone value. To do this the Goertzel is set up
to
>> have large bin width, which makes the SNR not so good. Is there perhaps >> another approach that will have similar computation time as the
Goertzel,
>> but allow for better SNR? >> >> Thanks. >> >> -Jacob Fenton > >One approach might be to use a bank of bandpass filters around the >frequencies of interest. Instead of having 4 fat filters, use 4 >clusters of a few narrower filters (you probably want them to overlap >a bit). You can keep the SNR at the output of each filter relatively >high since they are still narrow. You would have more computations to >do, however. > >Jason >
Yes, it seems other options I am looking at will require more computations.
Reply by Jason April 22, 20102010-04-22
On Apr 22, 12:25&#2013266080;pm, "jacobfenton"
<jacob.fenton@n_o_s_p_a_m.gmail.com> wrote:
> I am doing tone detection of 4 known frequencies using the Goertzel > algorithm. The tones have a large bandwidth that I must be able to detect > them, up to +/-4% of the tone value. To do this the Goertzel is set up to > have large bin width, which makes the SNR not so good. Is there perhaps > another approach that will have similar computation time as the Goertzel, > but allow for better SNR? > > Thanks. > > -Jacob Fenton
One approach might be to use a bank of bandpass filters around the frequencies of interest. Instead of having 4 fat filters, use 4 clusters of a few narrower filters (you probably want them to overlap a bit). You can keep the SNR at the output of each filter relatively high since they are still narrow. You would have more computations to do, however. Jason
Reply by jacobfenton April 22, 20102010-04-22
I am doing tone detection of 4 known frequencies using the Goertzel
algorithm. The tones have a large bandwidth that I must be able to detect
them, up to +/-4% of the tone value. To do this the Goertzel is set up to
have large bin width, which makes the SNR not so good. Is there perhaps
another approach that will have similar computation time as the Goertzel,
but allow for better SNR? 

Thanks.

-Jacob Fenton