DSPRelated.com
Forums

Alternative to Hilbert Transform

Started by holtkamp October 21, 2005
I am analysing data from an optical velocimetry probe (PDV) using FFTs and
Hilbert transforms. The signal is a varying frequency sinusoid embedded in
a noisy background - with a quasi DC baseline that may also vary more
slowly with time.

I have had good luck using FFT based spectrogram techniques (with high and
low pass filters where appropriate) to extract a weak S/N sinusoid, or
multiple frequencies when there are multiple Doppler shifted velocities
present, but when there is only a single velocity present this reduces the
effective bandwidth of the frequency (i.e. velocity) measurement derived
from the time domain signal.

When there is a single dominant frequency present (and good fringe
contrast), I can use a Hilbert transform to give me a time dependent phase
(and thus the frequency from the time derivative of same), but the Hilbert
transform seems to be very sensitive to DC offsets in the data. And when
the fringe contrast (or S/N in the frequency domain) is poor, it has
trouble.

Is there some other alternative technique that folks here might suggest I
look into? I'd be happy to send samples of data to interested folks if
that's helpful. I'm a physicist so be gentle with me...I'm still a novice
in most DSP topics.

Best wishes,
David Holtkamp
Los Alamos National Lab


		
This message was sent using the Comp.DSP web interface on
www.DSPRelated.com
in article go2dndwwkcdJkMTeRVn-tA@giganews.com, holtkamp at
holtkamp@lanl.gov wrote on 10/21/2005 11:48:

> I am analysing data from an optical velocimetry probe (PDV) using FFTs and > Hilbert transforms. The signal is a varying frequency sinusoid embedded in > a noisy background - with a quasi DC baseline that may also vary more > slowly with time. > > I have had good luck using FFT based spectrogram techniques (with high and > low pass filters where appropriate) to extract a weak S/N sinusoid, or > multiple frequencies when there are multiple Doppler shifted velocities > present, but when there is only a single velocity present this reduces the > effective bandwidth of the frequency (i.e. velocity) measurement derived > from the time domain signal. > > When there is a single dominant frequency present (and good fringe > contrast), I can use a Hilbert transform to give me a time dependent phase > (and thus the frequency from the time derivative of same), but the Hilbert > transform seems to be very sensitive to DC offsets in the data. And when > the fringe contrast (or S/N in the frequency domain) is poor, it has > trouble. > > Is there some other alternative technique that folks here might suggest I > look into? I'd be happy to send samples of data to interested folks if > that's helpful. I'm a physicist so be gentle with me...I'm still a novice > in most DSP topics.
i can turn any decent physicist into a decent EE (and DSPer), but not the other way around.
> Best wishes, > David Holtkamp > Los Alamos National Lab > > > > This message was sent using the Comp.DSP web interface on > www.DSPRelated.com
Los Alamos National Lab doesn't have their own newsserver? i think "DSPRelated.com" is becoming synonymous with "aol.com" here at camp.dsp . perhaps you can try cross correlating a windowed segment of your signal with the unwindowed signal (a form of autocorrelation) and look for that first single peak above the noise floor, determine the period (inverse of frequency) and use that frequency parameter to make a highly resonant BPF track your sinuosoid. with a cleaner sinusoid coming out, maybe the Hilber transformer can work better. you can also just integrate the frequency parameter (w.r.t. time) you get from the autocorrelation to get an incrementing unwrapped phase. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
holtkamp <holtkamp@lanl.gov> wrote:
> When there is a single dominant frequency present (and good fringe > contrast), I can use a Hilbert transform to give me a time dependent phase > (and thus the frequency from the time derivative of same), but the Hilbert > transform seems to be very sensitive to DC offsets in the data. And when > the fringe contrast (or S/N in the frequency domain) is poor, it has > trouble.
Some random things 1) Kalman filter 2) SVD decomposition 3) Empirical mode decomposition (Hilbert-Huang transform) 4) HT via Hilbert transformer 5) Matrix pencil method (Sarkar publications) 6) or even some (robust) regression There is also Kaiser/Teager energy operator, but it's noise sensitive. Filtering is always neccessary - it can be done on original signal and on estimated parameter. Optimal filtering depends on nature of noise (white, colored, correlated with signal). If noise isn't gaussian you can get better results with non-linear filtering (for example median filter). Mirek PS. You can send me some examples.
holtkamp wrote:
> I am analysing data from an optical velocimetry probe (PDV) using FFTs and > Hilbert transforms. The signal is a varying frequency sinusoid embedded in > a noisy background - with a quasi DC baseline that may also vary more > slowly with time. > > I have had good luck using FFT based spectrogram techniques (with high and > low pass filters where appropriate) to extract a weak S/N sinusoid,
Is your aim to amplify the sinusoid against the noise? A standard technique would be an adaptive filter - this is called "line enhancement". Or do you want to estimate the frequency of this sinusoid? Is there more than one sinusoid present at a time? Do you always know how many?
Since the noise and DC offset are not increased in relation to the signal
when taking an FFT, a better approach to generate a Hilbert Transform
might
be to invert the phase of either the real or imaginary FFT vectors and
then
inverse FFT transform back into the time domain.  The easiest way of
doing
that is to modify the logic of the inverse FFT very slightly.  You can
also
choose to have the response 90 degrees advanced or 90 degrees retarded.

Doing that should give you an actual Hilbert Transform rather than a
synthetic one where the output is the original signal shifted by some
arbitrary phase plus another which is the original signal plus the
arbitrary phase plus 90 degrees.

>I am analysing data from an optical velocimetry probe (PDV) using FFTs
and
>Hilbert transforms. The signal is a varying frequency sinusoid embedded
in
>a noisy background - with a quasi DC baseline that may also vary more >slowly with time. > >I have had good luck using FFT based spectrogram techniques (with high
and
>low pass filters where appropriate) to extract a weak S/N sinusoid, or >multiple frequencies when there are multiple Doppler shifted velocities >present, but when there is only a single velocity present this reduces
the
>effective bandwidth of the frequency (i.e. velocity) measurement derived >from the time domain signal. > >When there is a single dominant frequency present (and good fringe >contrast), I can use a Hilbert transform to give me a time dependent
phase
>(and thus the frequency from the time derivative of same), but the
Hilbert
>transform seems to be very sensitive to DC offsets in the data. And when >the fringe contrast (or S/N in the frequency domain) is poor, it has >trouble. > >Is there some other alternative technique that folks here might suggest
I
>look into? I'd be happy to send samples of data to interested folks if >that's helpful. I'm a physicist so be gentle with me...I'm still a
novice
>in most DSP topics. > >Best wishes, >David Holtkamp >Los Alamos National Lab > > > >This message was sent using the Comp.DSP web interface on >www.DSPRelated.com >