DSPRelated.com
Forums

Improving SNR or a better Goertzel?

Started by Unknown February 25, 2007
Tim,

Thanks for the link. That makes sense. I think I just got lucky
previously... and with the new signal my luck ran out. I'll try a
lower cut-off frequency and see if that helps.

(btw, in my day job I use the UMLE and Star Sapphire....)

Andor,

In my experimentation I thought I remembered that more samples
resulted in better info. I'll read some more about the ALE and see if
there is some way to use it.

Thanks to all for the help. I'll dig into the books again and if I
make any progress I'll report back.

John


On 25 Feb, 15:49, jecottrel...@gmail.com wrote:
> Hello All, > > I'll apologize in advance for the poor (none) DSP knowledge and my > abuse of terminology and theory.... > > Over a year ago I started on an acoustic sensor project and received > some fantastic help from the regulars here. I've run into some > problems and was hoping for some suggestions. > > Background: Detect and classifiy aircraft (piston/prop) from their > acoustic signatures with a PIC processor (not DSPic.... don't have a > compiler yet....) I achieved really good success rates using the > Goertzel algorithm to look for the presence of known frequencies in > the sample. It works well because the unique frequencies stand out so > well. Also, there is little or no background noise when the aircraft > are present. > > Now I'm trying to detect and classify rotor-wing aircraft. I'm running > into problems because the SNR isn't as good. The exhaust noise and tip- > path noise is getting lost in the general 'helicopter self- > destruction' noise. > > Is there any way to solve this problem? > > Interesting freqs: 50-300hz > Sample rate: 1588hz > Number of samples: 512 optimum (1024 max, but really slows things > down)
How much of this is "cut in stone"? Is it possible to get data with other sampling parameters? I would start with a CD-quality recording. You can use your PC's sound card to do that; recorder software is free and mics are cheap. Once you have that sort of data, you can start playing with various algorithms and configurations (bandwidth, sampling, etc) and see what works and what does not. At this stage, computing time is NOT a factor to be considered; that can wait till you have a working algorithm and knows what will be needed. As for the low SNR, helicopter noise is low frequency; the main rotor fundamental is on the order of 10 -- 20 Hz or so. With a 512 pt DFT and a sampling frequency of 1500 Hz, you will have a harmoic every handful of samples. Try to compare dta with the above specs with CD quality data, preferably recordings of the same flight. Rune
> How much of this is "cut in stone"? Is it possible to get data with > other sampling parameters?
Everything is fairly flexible. I can even modify the hardware within reason.
> I would start with a CD-quality recording. You can use your PC's > sound > card to do that; recorder software is free and mics are cheap. Once > you > have that sort of data, you can start playing with various algorithms > and configurations (bandwidth, sampling, etc) and see what works and > what does not. At this stage, computing time is NOT a factor to be > considered; that can wait till you have a working algorithm and knows > what will be needed.
That's exactly what I've been doing :-)
> As for the low SNR, helicopter noise is low frequency; the main rotor > fundamental is on the order of 10 -- 20 Hz or so. With a 512 pt DFT > and > a sampling frequency of 1500 Hz, you will have a harmoic every > handful > of samples. Try to compare dta with the above specs with CD quality > data, preferably recordings of the same flight.
Yes, from what I can see in Spectrum Lab there are pretty good peaks in the sample from 30Hz to 300Hz. The really good ones come from the recip exhaust. I use the original recording to test my algorithms. Unfortunately, my crude approach doesn't lend itself to a low SNR signal. Thanks, John
On 27 Feb, 14:34, jecottrel...@gmail.com wrote:

> > As for the low SNR, helicopter noise is low frequency; the main rotor > > fundamental is on the order of 10 -- 20 Hz or so. With a 512 pt DFT > > and > > a sampling frequency of 1500 Hz, you will have a harmoic every > > handful > > of samples. Try to compare dta with the above specs with CD quality > > data, preferably recordings of the same flight. > > Yes, from what I can see in Spectrum Lab there are pretty good peaks > in the sample from 30Hz to 300Hz. The really good ones come from the > recip exhaust. > > I use the original recording to test my algorithms. Unfortunately, my > crude approach doesn't lend itself to a low SNR signal.
Then start over and see what works. Start with 2-3 seconds worth of CD data (150,000 samples @ 44kHz), and compute the DFT. This will give bin width of some 0.2 - 0.5 Hz. Inspect the resulting spectrum in the frequency range 0 - 1 kHz. Is the SNR still poor? Can you see any main rotor harmonics? If so, what is the peak-to-background noise ratio? How close are the harmonics? Now you have a clue what to look for, and can start playing with numbers to see when your algorithm breaks down. Rune
> Start with 2-3 seconds worth of CD data (150,000 samples @ 44kHz), > and > compute the DFT. This will give bin width of some 0.2 - 0.5 Hz. > Inspect the resulting spectrum in the frequency range 0 - 1 kHz.
The waterfall in Spectrum Lab looks pretty good.
> Is the SNR still poor? Can you see any main rotor harmonics? > If so, what is the peak-to-background noise ratio? How close are > the harmonics?
Yes, the SNR still isn't that great. Yes, the harmonics are obvious in the waterfall. Not sure of the precise SNR. I'll have to look at it again. Harmonics are generally: 18, 36, 55, 70, 90, 115, 178, 227Hz.
> Now you have a clue what to look for, and can start playing with > numbers to see when your algorithm breaks down.
General algorithm is this: Take sample. Look for peak between 50-90Hz. Is the peak right around 70Hz? Is that peak > 2x the average of the surrounding freqs. Yes, look for peak at 1.28 x peak of first band (1.28x70 = 90). Is that peak > 2x the average of the surrounding.... etc. This way, an incremental approach is used and processing is minimized. As each parameter is met, confidence grows in the data. Maybe I should reduce the sample rate to decrease the bin size? I really can't increase the number of samples because of processing time. Thanks, John
jecottrell65@gmail.com wrote:

   ...

> Harmonics are generally: 18, 36, 55, 70, 90, 115, 178, 227Hz.
Don't the specific numbers depend on engine speed? Is that necessarily constant? ... Jerry -- Engineering is the art of making what you want from things you can get. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
On 27 Feb, 17:44, jecottrel...@gmail.com wrote:

> General algorithm is this: > > Take sample. > Look for peak between 50-90Hz. > Is the peak right around 70Hz? > Is that peak > 2x the average of the surrounding freqs.
This is where all sorts of things might happen. Where did the factor 2 come from? What happens if you have a broad peak, that may be 2 or even 3 bins wide?
> Yes, look for peak at 1.28 x peak of first band (1.28x70 = 90). > Is that peak > 2x the average of the surrounding.... > etc. > > This way, an incremental approach is used and processing is minimized. > As each parameter is met, confidence grows in the data. > > Maybe I should reduce the sample rate to decrease the bin size? I > really can't increase the number of samples because of processing > time.
Try to decrease the sample rate. Make sure to use anti-alias filters before decimation. What happens to the width and SNR of the peaks? Rune
On 27 Feb, 18:17, Jerry Avins <j...@ieee.org> wrote:
> jecottrel...@gmail.com wrote: > > ... > > > Harmonics are generally: 18, 36, 55, 70, 90, 115, 178, 227Hz. > > Don't the specific numbers depend on engine speed? Is that necessarily > constant?
I think helicopter rotors are designed to rotate at a fixed speed. Engine power varies, though, depending on lift and load. Rune
"Rune Allnor" <allnor@tele.ntnu.no> wrote in message 
news:1172597519.134222.261390@m58g2000cwm.googlegroups.com...
> On 27 Feb, 18:17, Jerry Avins <j...@ieee.org> wrote: >> jecottrel...@gmail.com wrote: >> >> ... >> >> > Harmonics are generally: 18, 36, 55, 70, 90, 115, 178, 227Hz. >> >> Don't the specific numbers depend on engine speed? Is that necessarily >> constant? > > I think helicopter rotors are designed to rotate at a fixed speed. > Engine power varies, though, depending on lift and load. > > Rune >
That's true, but the Doppler effect will cause the frequencies heard by a fixed microphone to vary. I put a couple of aircraft spectrograms taken by my company on a web page. http://home.comcast.net/~pomartel/signatures.html First image is a small plane passby, second is a helicopter.
On 1 Mar, 02:42, "Philip Martel" <pomar...@comcast.net> wrote:
> "Rune Allnor" <all...@tele.ntnu.no> wrote in message > > news:1172597519.134222.261390@m58g2000cwm.googlegroups.com...> On 27 Feb, 18:17, Jerry Avins <j...@ieee.org> wrote: > >> jecottrel...@gmail.com wrote: > > >> ... > > >> > Harmonics are generally: 18, 36, 55, 70, 90, 115, 178, 227Hz. > > >> Don't the specific numbers depend on engine speed? Is that necessarily > >> constant? > > > I think helicopter rotors are designed to rotate at a fixed speed. > > Engine power varies, though, depending on lift and load. > > > Rune > > That's true, but the Doppler effect will cause the frequencies heard by a > fixed microphone to vary. I put a couple of aircraft spectrograms taken by > my company on a web page.http://home.comcast.net/~pomartel/signatures.html First image is a small > plane passby, second is a helicopter.
Nice images! Haven't seen that sort of stuff for a long time. What type of plane was it? P51? One or two gazelles? Rune