In article <bu8Hg.6423$L6.1003@bignews8.bellsouth.net>, "John E. Hadstate" <jh113355@hotmail.com> wrote:
>
>Have you considered feeding the signal into a delay line,
>making your detection decision on the real-time signal but
>doing your processing on the delayed signal?
>
This sounds like a good idea to me. You have a processor anyway, you might as
well take advantage of it. If your SNR is low, you will need a matched filter
to get a good estimate.
Reply by John E. Hadstate●August 23, 20062006-08-23
"Gery" <gery@ddd.com> wrote in message
news:44ec192f$0$75035$14726298@news.sunsite.dk...
> Hello
>
>
>
> I need to be able to detect the amplitude of a frequency
> faster than 6ms (the measurement is not made
> continuously). The sample frequency is 46800 Hz and the
> frequency to detect is 1650 Hz.
>
>
>
> If I use a IIR filter it has an transient period before it
> gives a steady state output, so I must wait long enough
> for the output to reach steady state before I measure the
> amplitude. So the 6 ms is too short to wait.
>
>
Have you considered feeding the signal into a delay line,
making your detection decision on the real-time signal but
doing your processing on the delayed signal?
Reply by Gery●August 23, 20062006-08-23
"Steve Underwood" <steveu@dis.org> wrote in message
news:echmvd$lik$1@nnews.pacific.net.hk...
> Gery wrote:
>> "Steve Underwood" <steveu@dis.org> wrote in message
>>>need to determine the onset time of the tone? These will determine what
>>>is feasible.
>> What do you mean with "onset time"?
>
> The time at which the tone begins.
>
It's not important.
Reply by Steve Underwood●August 23, 20062006-08-23
Gery wrote:
> "Steve Underwood" <steveu@dis.org> wrote in message
> news:echaig$rvr$1@home.itg.ti.com...
>
>
>>You need to give more information. What else will be in the channel with
>>the 1650Hz tone? What is the tolerance on the tone? How precisely do you
>>need to determine the onset time of the tone? These will determine what is
>>feasible.
>
>
> The closest other signal is at 2200 Hz. (so its pretty close)
>
> What do you mean with "onset time"?
The time at which the tone begins.
Steve
Reply by Gery●August 23, 20062006-08-23
"Steve Underwood" <steveu@dis.org> wrote in message
news:echaig$rvr$1@home.itg.ti.com...
> You need to give more information. What else will be in the channel with
> the 1650Hz tone? What is the tolerance on the tone? How precisely do you
> need to determine the onset time of the tone? These will determine what is
> feasible.
The closest other signal is at 2200 Hz. (so its pretty close)
What do you mean with "onset time"?
Reply by Gery●August 23, 20062006-08-23
Rune Allnor" <allnor@tele.ntnu.no> wrote in message
news:1156326967.177861.155210@p79g2000cwp.googlegroups.com...
> The 6ms window implies that you measure in a band with bandwidth
> 1/6ms = 170 Hz centered at 1650 Hz. Is that OK for you?
The BW is 184 Hz in the calculated IIR-filter.
> The Goetzel may be the "easier" option, but all alternatives will have
> some sort of initial transient. And of course, if your spec is tighter
> than the 170 Hz implied by the 6ms window, it doesn't really matter
> since it is not possible to get tighter with Fourier-based methods.
A 6 ms measurement window gives me 280 samples to evaluate. With the Goetzel
algorithm I would get a frequency bin width of 167 Hz. (i think). And if i
multiply the input signal with a simple window function (triangle) i get
better dampening of other frequency's.
Maby I try that.
Reply by Steve Underwood●August 23, 20062006-08-23
Gery wrote:
> Hello
>
>
>
> I need to be able to detect the amplitude of a frequency faster than 6ms
> (the measurement is not made continuously). The sample frequency is 46800 Hz
> and the frequency to detect is 1650 Hz.
>
>
>
> If I use a IIR filter it has an transient period before it gives a steady
> state output, so I must wait long enough for the output to reach steady
> state before I measure the amplitude. So the 6 ms is too short to wait.
>
>
>
> Is the Goertzel algorithm the easiest alternative or are there other
> alternatives?
You need to give more information. What else will be in the channel with
the 1650Hz tone? What is the tolerance on the tone? How precisely do you
need to determine the onset time of the tone? These will determine what
is feasible.
As you found, a narrow bandpass IIR takes time to pump up. If you want a
Goertzel transform to respond only to a narrow band it will also require
quite a lot of samples to give its answer, and it will not tell you
the exact time on onset, if that is important.
A good way is often to reverse the problem. Measure the total power in
the channel, and measure the output from a narrow bandstop filter,
centred at 1650Hz. If the total is large, but the bandstop output is
small, the bulk of the energy must be in the stop band of the filter -
bingo, you know the tone is there. The total power measurement will
obviously respond quickly. The energy coming out of the notch filter
will initially be large, and take a little time to decay. However, I've
found this approach to work very well in telephony tone detection. When
the tone stops, the output of the bandstop filter can go a bit wild, if
its Q is high, but if the goal is crisp detection of he onset of the
tone it can be very effective.
Regards,
Steve
Reply by Rune Allnor●August 23, 20062006-08-23
Gery wrote:
> Hello
>
>
>
> I need to be able to detect the amplitude of a frequency faster than 6ms
> (the measurement is not made continuously). The sample frequency is 46800 Hz
> and the frequency to detect is 1650 Hz.
The 6ms window implies that you measure in a band with bandwidth
1/6ms = 170 Hz centered at 1650 Hz. Is that OK for you?
> If I use a IIR filter it has an transient period before it gives a steady
> state output, so I must wait long enough for the output to reach steady
> state before I measure the amplitude. So the 6 ms is too short to wait.
>
>
>
> Is the Goertzel algorithm the easiest alternative or are there other
> alternatives?
The Goetzel may be the "easier" option, but all alternatives will have
some sort of initial transient. And of course, if your spec is tighter
than the 170 Hz implied by the 6ms window, it doesn't really matter
since it is not possible to get tighter with Fourier-based methods.
Rune
Reply by Gery●August 23, 20062006-08-23
Hello
I need to be able to detect the amplitude of a frequency faster than 6ms
(the measurement is not made continuously). The sample frequency is 46800 Hz
and the frequency to detect is 1650 Hz.
If I use a IIR filter it has an transient period before it gives a steady
state output, so I must wait long enough for the output to reach steady
state before I measure the amplitude. So the 6 ms is too short to wait.
Is the Goertzel algorithm the easiest alternative or are there other
alternatives?