Recognition of long sinusoidal-like signals with known formula.

Status
Not open for further replies.

Terminator3

Advanced Member level 3
Joined
Feb 25, 2012
Messages
802
Helped
71
Reputation
142
Reaction score
63
Trophy points
1,308
Visit site
Activity points
9,027
I want to recognize sinusoidal-like signals with >10000 samples in it. It can be done with FFT, but noise performance is unsatisfactionary, so thresholding is difficult on FFT spectrogram. I want to use correlation, but afraid it can become too slow.

I came up with a formula that approximates required signal pretty well, changing parameters in formula i can make few hundrends of waveforms that can be correlated with input signal.

Signal already decimated few times, further decimation leads to aliasing. Is there any way to shrink 10000 samples further? For example, signal uses up to 10kHz frequency, any way of "shrinking" it's frequency range to 5kHz, then decimate?

I read papers about birds singing recognition, but their's approach not effective in my case, as i know very close approximation formula. Although noise is very high too.
 

Do You want to recognise the signal i.e. estimate the frequencies, phases and number of tones or just detect the sinusoids from noise?
If You want to detect, then You should try to predict a signal with linear prediction and measure the error
Sinusoidal signal should predict well, so the error should be quite small, in opposite to noise.
 
Saying you get alisiasing with decimation means that you don't suitable decimation filters. Presuming correct decimation, the decimation factor will be of course limited by Nyquist rate realted to the signal frequency plus some margin required by feasible filter characteristic.

If the signal band of interest is small, you may also consider a Goertzel filter or bandpass sampling before further signal processing.
 
You know that the signal is composed by one (or several) sinusoidal components plus noise. Then parametric methods of spectral estimation, like MUSIC algorithm or Pisarenko's method, are well suited for your need, rather than nonparametric (FFT-based) methods.
Regards

Z
 
FvM, simple decimations goes well even without filtering, until highest frequency becomes higher than half of new sampling rate.
cherryman , Can i use prediction for signal with frequency changing over time according to some formula?
zorro, i guess MUSIC and Pisarenko's method applicable to such signal, right?
 

simple decimations goes well even without filtering, until highest frequency becomes higher than half of new sampling rate.

I would call it undersampling rather than decimation.
 
Still have problem with this. I have signal sin(f(t)) with length of 50000 samples, where f(t) is nonlinear. There are few types of f(t) i want to detect, and then it would be possible know parameter of my physical process. Correlation works, but it is too slow, all those multiplications can't be done in realtime using simple method (50000 samples x different f(t) x correlation after each sample arrive).

Maybe it is possible to reduce number of samples? Just throwing samples away is a bad idea, because SNR i too low (signal almost as noise level). Further decimation gives aliasing (fs/2). Looks like the only way is to use higher processing power.
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…