Path: utzoo!attcan!uunet!world!decwrl!ucbvax!ucsd!sdcc6!am299aw From: am299aw@sdcc6.ucsd.edu (Gregory Breit) Newsgroups: comp.dsp Subject: Re: Practical DSP problem Summary: How about a Linear Least Squares??? Keywords: Prony Spectral Line Estimator Message-ID: <13216@sdcc6.ucsd.edu> Date: 12 Oct 90 00:46:49 GMT References: <5169@hemuli.tik.vtt.fi> <3594@syma.sussex.ac.uk> Organization: University of California, San Diego Lines: 38 In article <3594@syma.sussex.ac.uk> paulr@syma.sussex.ac.uk (Paul T Russell) writes: > >We don't know the absolute phase of the signal but we do know the >exact frequency. We are generating two sine waves at frequencies >f1 and f2 and trying to measure the distortion product at 2f1 - f2. >The signal is swamped by the two much larger components at f1 and >f2, and is close to the noise level. An approach you might consider would be to use a variation on the Prony Spectral Line Estimator. The PSLE is especially well suited for spectral analysis of signals containing a finite number of discrete sinusoids. Check out these papers: Meyer, et al, The Prony Spectral Line Estimation (PSLE) Method for the Analysis of Vascular Oscillations. IEEE Trans. Biomed. Eng. 36(9), 968-971, 1989. Kay, SM, and SL Marple, Spectrum Analysis--A Modern Perspective. Proc. IEEE, 69(11), 1380-1419, 1981. Also, Marple's new book on spectral analysis (I don't remember the title) has a chapter on this stuff. The PSLE is basically a two-step process which utilizes a clever linearization of the problem of fitting a finite # of sinusoids to a signal. The first, and most complicated step actually determines the frequencies themselves (which you already know). The second step is merely a linear least squares fit of those frequencies to the data. The complex amplitude you get from that step allows you to determine the best combination of amplitude and phase which fits the data. You might find it useful to apply a linear least squares to find the most likely amplitude of your sinewave buried in noise. LLS is a pretty common problem, you should be able to find some source code. Good luck. Gregory Breit Department of Applied Mechanics and Engineering Sciences, UCSD am299aw@sdcc6.ucsd.edu