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
Alternative to Hilbert Transform
Started by ●October 21, 2005
Reply by ●October 21, 20052005-10-21
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.comLos 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."
Reply by ●October 21, 20052005-10-21
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.
Reply by ●October 22, 20052005-10-22
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?
Reply by ●October 26, 20052005-10-26
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 FFTsand>Hilbert transforms. The signal is a varying frequency sinusoid embeddedin>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 highand>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 reducesthe>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 dependentphase>(and thus the frequency from the time derivative of same), but theHilbert>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 suggestI>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 anovice>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 >