Dan wrote:> On Aug 14, 11:59 am, Jerry Avins <j...@ieee.org> wrote: >> Dan wrote: >>> On Aug 14, 11:32 am, Jerry Avins <j...@ieee.org> wrote: >>>> Dan wrote: >>>>> On Aug 13, 11:32 pm, Rune Allnor <all...@tele.ntnu.no> wrote: >>>>>> On 14 Aug, 01:36, Dan <danluong...@gmail.com> wrote: >>>>>>> Greetings, >>>>>>> I'm currently working on a problem and would like some suggestions to >>>>>>> 'open my eyes' on alternative ways to estimate the parameters of a >>>>>>> sinusoid, possibly in the presence of noise. The sinusoid I want to >>>>>>> estimate has been sampled, although currently not at a particularly >>>>>>> high rate, but is sufficient. I have experimented with correlation, >>>>>>> which seems to have issues with producing reliable results in the >>>>>>> presence of noise, and Kalman filtering, which while accurate, is very >>>>>>> computationally demanding. I was wondering if there any other methods >>>>>>> that I should take into consideration for this problem? >>>>>> Frequency estimation is a well established field. >>>>>> There are plenty of methods around, MUSIC and ESPRIT >>>>>> are some of the more popular acronyms. There are also >>>>>> quite a few more or less quick'n dirty methods around. >>>>>> One of the former regulars here used to host a web >>>>>> page where a lot of methods were lised. Don't know >>>>>> where it is, though. >>>>> Looks like I've hit upon a bit of a sore topic, but thanks for the >>>>> info/links. I'll look into those soon, but beforehand I'll try to >>>>> clarify the problem. >>>>> I'm trying to estimate the frequency, amplitude, phase and offset of a >>>>> single (real, undamped) sinusoid of the form (A*cos(2*pi*f*t+phi)+K), >>>>> where initially A = 1, f = 5e3, phi = 0, K = 0, that passes through an >>>>> system that can have bursts of noise, and other factors that will >>>>> change each of the parameters. Each of the parameters will need to be >>>>> estimated at the receiver (change in freq, amplitude, phase, offset). >>>>> For the sake of example, the noise is AWGN and the SNR is in the 30dB >>>>> range during those periods. The waveform is sampled at 6.25us (16x >>>>> Nyquist). >>>> How might noise affect the frequency? >>>> Jerry >>>> -- >>>> Engineering is the art of making what you want from things you can get. >>>> ����������������������������������������������������������������������� >>> The sinusoid passes through a system which changes the parameters, and >>> incidentally noise may also be introduced. Think of it like ultrasound >>> where the sinusoid passes through tissue, which changes its amplitude, >>> freq, phase, etc., but where some outside interference could cause >>> noise. So I'm saying the system itself and not the noise would affect >>> the frequency and phase. However, the noise could affect the amplitude >>> and offset. >> As far as I know, Doppler changes frequency, not noise as it's usually >> defined. >> >> Jerry >> -- >> Engineering is the art of making what you want from things you can get. >> ����������������������������������������������������������������������� > > I see what you are getting at, and yes frequency shift is not likely > in the system I am talking about. The input sinusoid frequency could > be taken as given, and the the problem just becomes one about > calculating the other parameters (amplitude, phase, and offset). > > Knowing that, what are the best ways to estimate those values? Like I > mentioned earlier, correlation can give me the accurate values for > high SNR, but is there something better out there for when parts of > the signal are lower SNR?Eliminate offset with a DC blocker (deal with it later) and do a least-squares fit for amplitude and phase. Subtracting the output of the DC blocker from the original signal will yield the offset. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
sinusoidal parameter estimation
Started by ●August 13, 2009
Reply by ●August 15, 20092009-08-15
Reply by ●August 15, 20092009-08-15
On Aug 13, 11:32�pm, Rune Allnor <all...@tele.ntnu.no> wrote:> Frequency estimation is a well established field. > There are plenty of methods around, MUSIC and ESPRIT > are some of the more popular acronyms. There are also > quite a few more or less quick'n dirty methods around. > > One of the former regulars here used to host a web > page where a lot of methods were lised. Don't know > where it is, though.I have a web page with a summary of some "quick & dirty" frequency estimation methods here: http://www.nicholson.com/rhn/dsp.html#1 But farther down this thread, it looks like the OP doesn't really need frequency estimation as much as DC offset, phase, and amplitude estimation. I might try using a quadrature demodulator to estimate phase and relative amplitude changes. . IMHO. YMMV. -- Ron N. rhn A.T nicholson d.0.t C-o-M
Reply by ●August 15, 20092009-08-15
R.Nicholson wrote:> On Aug 13, 11:32 pm, Rune Allnor <all...@tele.ntnu.no> wrote: > >>Frequency estimation is a well established field. >>There are plenty of methods around, MUSIC and ESPRIT >>are some of the more popular acronyms. There are also >>quite a few more or less quick'n dirty methods around. >> >>One of the former regulars here used to host a web >>page where a lot of methods were lised. Don't know >>where it is, though. > > > I have a web page with a summary of some "quick & dirty" > frequency estimation methods here: > http://www.nicholson.com/rhn/dsp.html#1Good list. You mentioned the frequency discriminator, perhaps a PLL would be worth mentioning, too. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Reply by ●August 15, 20092009-08-15
On Aug 15, 7:26�am, Vladimir Vassilevsky <nos...@nowhere.com> wrote:> R.Nicholson wrote: > > On Aug 13, 11:32 pm, Rune Allnor <all...@tele.ntnu.no> wrote: > > >>Frequency estimation is a well established field. > >>There are plenty of methods around, MUSIC and ESPRIT > >>are some of the more popular acronyms. There are also > >>quite a few more or less quick'n dirty methods around. > > >>One of the former regulars here used to host a web > >>page where a lot of methods were lised. Don't know > >>where it is, though. > > > I have a web page with a summary of some "quick & dirty" > > frequency estimation methods here: > > �http://www.nicholson.com/rhn/dsp.html#1 > > Good list. You mentioned the frequency discriminator, perhaps a PLL > would be worth mentioning, too.Thanks. A PLL would seem to be a very good frequency estimation method when the preceding history of the signal likely has a strong or stronger correlation with the current frequency, when compared against the information available in the current or local sample set (due to noise, etc.), and the frequency of interest can be assumed to be "continuous" with its history in some manner as well. IMHO. YMMV. -- Ron N. rhn A.T nicholson d.0.t C-o-M
Reply by ●August 15, 20092009-08-15
On Aug 14, 10:01�am, Dan <danluong...@gmail.com> wrote:> On Aug 13, 11:32 pm, Rune Allnor <all...@tele.ntnu.no> wrote: > > > > > > > On 14 Aug, 01:36, Dan <danluong...@gmail.com> wrote: > > > > Greetings, > > > > I'm currently working on a problem and would like some suggestions to > > > 'open my eyes' on alternative ways to estimate the parameters of a > > > sinusoid, possibly in the presence of noise. The sinusoid I want to > > > estimate has been sampled, although currently not at a particularly > > > high rate, but is sufficient. I have experimented with correlation, > > > which seems to have issues with producing reliable results in the > > > presence of noise, and Kalman filtering, which while accurate, is very > > > computationally demanding. I was wondering if there any other methods > > > that I should take into consideration for this problem? > > > Frequency estimation is a well established field. > > There are plenty of methods around, MUSIC and ESPRIT > > are some of the more popular acronyms. There are also > > quite a few more or less quick'n dirty methods around. > > > One of the former regulars here used to host a web > > page where a lot of methods were lised. Don't know > > where it is, though. > > Looks like I've hit upon a bit of a sore topic, but thanks for the > info/links. I'll look into those soon, but beforehand I'll try to > clarify the problem. > > I'm trying to estimate the frequency, amplitude, phase and offset of a > single (real, undamped) sinusoid of the form (A*cos(2*pi*f*t+phi)+K), > where initially A = 1, f = 5e3, phi = 0, K = 0, that passes through an > system that can have bursts of noise, and other factors that will > change each of the parameters. Each of the parameters will need to be > estimated at the receiver (change in freq, amplitude, phase, offset). > For the sake of example, the noise is AWGN and the SNR is in the 30dB > range during those periods. The waveform is sampled at 6.25us (16x > Nyquist). > > > > > > I would be implementing this algorithm in a fixed point DSP, and would > > > like to keep computational complexity to a minimum, although accuracy > > > is also of importance. > > > Sure. Everybody wants to make do with no tools, > > have to do no work, and still get perfect results. > > You wouldn't happen to have a degree in economy? > > > Rune > > Fair enough, to state it more clearly, a faster method is preferable.Does this need to be done real time or can it be done as a batch of off-line process? Does the amplitude,frequency and offset change quickly or often? The reason I ask is because there are very reliable methods that are computationally expensive because they require a guess and then computing a Jacobian to figure out how the amplitude, frequency and offset need to be updated. However, if the system doesn't change much then the last iteration can be the guess for the next iteration. These methods work by minimizing the sum of squared error between the actual and estimated data. The amount of data required to process each iteration will be dependent on how long your noise busts are. Would it be acceptable to update the amplitude, frequency and offset every 50 milliseconds as a back ground task? Peter Nachtwey
Reply by ●August 17, 20092009-08-17
On 15 Aug., 05:41, Jerry Avins <j...@ieee.org> wrote:> Dan wrote: > > On Aug 14, 11:59 am, Jerry Avins <j...@ieee.org> wrote: > >> Dan wrote: > >>> On Aug 14, 11:32 am, Jerry Avins <j...@ieee.org> wrote: > >>>> Dan wrote: > >>>>> On Aug 13, 11:32 pm, Rune Allnor <all...@tele.ntnu.no> wrote: > >>>>>> On 14 Aug, 01:36, Dan <danluong...@gmail.com> wrote: > >>>>>>> Greetings, > >>>>>>> I'm currently working on a problem and would like some suggestions to > >>>>>>> 'open my eyes' on alternative ways to estimate the parameters of a > >>>>>>> sinusoid, possibly in the presence of noise. The sinusoid I want to > >>>>>>> estimate has been sampled, although currently not at a particularly > >>>>>>> high rate, but is sufficient. I have experimented with correlation, > >>>>>>> which seems to have issues with producing reliable results in the > >>>>>>> presence of noise, and Kalman filtering, which while accurate, is very > >>>>>>> computationally demanding. I was wondering if there any other methods > >>>>>>> that I should take into consideration for this problem? > >>>>>> Frequency estimation is a well established field. > >>>>>> There are plenty of methods around, MUSIC and ESPRIT > >>>>>> are some of the more popular acronyms. There are also > >>>>>> quite a few more or less quick'n dirty methods around. > >>>>>> One of the former regulars here used to host a web > >>>>>> page where a lot of methods were lised. Don't know > >>>>>> where it is, though. > >>>>> Looks like I've hit upon a bit of a sore topic, but thanks for the > >>>>> info/links. I'll look into those soon, but beforehand I'll try to > >>>>> clarify the problem. > >>>>> I'm trying to estimate the frequency, amplitude, phase and offset of a > >>>>> single (real, undamped) sinusoid of the form (A*cos(2*pi*f*t+phi)+K), > >>>>> where initially A = 1, f = 5e3, phi = 0, K = 0, that passes through an > >>>>> system that can have bursts of noise, and other factors that will > >>>>> change each of the parameters. Each of the parameters will need to be > >>>>> estimated at the receiver (change in freq, amplitude, phase, offset). > >>>>> For the sake of example, the noise is AWGN and the SNR is in the 30dB > >>>>> range during those periods. The waveform is sampled at 6.25us (16x > >>>>> Nyquist). > >>>> How might noise affect the frequency? > >>>> Jerry > >>>> -- > >>>> Engineering is the art of making what you want from things you can get. > >>>> ����������������������������������������������������������������������� > >>> The sinusoid passes through a system which changes the parameters, and > >>> incidentally noise may also be introduced. Think of it like ultrasound > >>> where the sinusoid passes through tissue, which changes its amplitude, > >>> freq, phase, etc., but where some outside interference could cause > >>> noise. So I'm saying the system itself and not the noise would affect > >>> the frequency and phase. However, the noise could affect the amplitude > >>> and offset. > >> As far as I know, Doppler changes frequency, not noise as it's usually > >> defined. > > >> Jerry > >> -- > >> Engineering is the art of making what you want from things you can get. > >> ����������������������������������������������������������������������� > > > I see what you are getting at, and yes frequency shift is not likely > > in the system I am talking about. The input sinusoid frequency could > > be taken as given, and the the problem just becomes one about > > calculating the other parameters (amplitude, phase, and offset). > > > Knowing that, what are the best ways to estimate those values? Like I > > mentioned earlier, correlation can give me the accurate values for > > high SNR, but is there something better out there for when parts of > > the signal are lower SNR? > > Eliminate offset with a DC blocker (deal with it later) and do a > least-squares fit for amplitude and phase. Subtracting the output of the > DC blocker from the original signal will yield the offset.If you just need to estimate amplitude, phase and offset you can directly use linear least-squares. The statistical model is y(t) = A cos(w t + phi) + c + measurement_noise(t) = a cos(w t) + b sin(w t) + c + measurement_noise(t) for some measurment instants t, which is linear in the unknown parameters (a,b,c). Back from vacation, Andor
Reply by ●August 17, 20092009-08-17
On Aug 15, 4:22�pm, "R.Nicholson" <rhnlo...@yahoo.com> wrote:> On Aug 15, 7:26�am, Vladimir Vassilevsky <nos...@nowhere.com> wrote: > > > > > > > R.Nicholson wrote: > > > On Aug 13, 11:32 pm, Rune Allnor <all...@tele.ntnu.no> wrote: > > > >>Frequency estimation is a well established field. > > >>There are plenty of methods around, MUSIC and ESPRIT > > >>are some of the more popular acronyms. There are also > > >>quite a few more or less quick'n dirty methods around. > > > >>One of the former regulars here used to host a web > > >>page where a lot of methods were lised. Don't know > > >>where it is, though. > > > > I have a web page with a summary of some "quick & dirty" > > > frequency estimation methods here: > > > �http://www.nicholson.com/rhn/dsp.html#1 > > > Good list. You mentioned the frequency discriminator, perhaps a PLL > > would be worth mentioning, too. > > Thanks. �A PLL would seem to be a very good frequency estimation > method when the preceding history of the signal likely has a strong > or stronger correlation with the current frequency, when compared > against the information available in the current or local sample set > (due to noise, etc.), and the frequency of interest can be assumed > to be "continuous" with its history in some manner as well. > > IMHO. YMMV. > -- > Ron N. > rhn A.T nicholson d.0.t C-o-M- Hide quoted text - > > - Show quoted text -Hello Ron, Here are two methods you may wish to add to your list: http://www.claysturner.com/dsp/3pointfrequency.pdf and http://www.claysturner.com/dsp/4pointfrequency.pdf Clay
Reply by ●August 17, 20092009-08-17
"Clay" <clay@claysturner.com> wrote in message news:0acac163-2e2e-40f6-b412-63ddb3bb3ab7@v20g2000yqm.googlegroups.com... On Aug 15, 4:22 pm, "R.Nicholson" <rhnlo...@yahoo.com> wrote:> On Aug 15, 7:26 am, Vladimir Vassilevsky <nos...@nowhere.com> wrote: > > > > > > > R.Nicholson wrote: > > > On Aug 13, 11:32 pm, Rune Allnor <all...@tele.ntnu.no> wrote: > > > >>Frequency estimation is a well established field. > > >>There are plenty of methods around, MUSIC and ESPRIT > > >>are some of the more popular acronyms. There are also > > >>quite a few more or less quick'n dirty methods around. > > > >>One of the former regulars here used to host a web > > >>page where a lot of methods were lised. Don't know > > >>where it is, though. > > > > I have a web page with a summary of some "quick & dirty" > > > frequency estimation methods here: > > > http://www.nicholson.com/rhn/dsp.html#1 > > > Good list. You mentioned the frequency discriminator, perhaps a PLL > > would be worth mentioning, too. > > Thanks. A PLL would seem to be a very good frequency estimation > method when the preceding history of the signal likely has a strong > or stronger correlation with the current frequency, when compared > against the information available in the current or local sample set > (due to noise, etc.), and the frequency of interest can be assumed > to be "continuous" with its history in some manner as well. > > IMHO. YMMV. > -- > Ron N. > rhn A.T nicholson d.0.t C-o-M- Hide quoted text - > > - Show quoted text -Hello Ron, Here are two methods you may wish to add to your list: http://www.claysturner.com/dsp/3pointfrequency.pdf and http://www.claysturner.com/dsp/4pointfrequency.pdf Clay Hmmm, I think I see a trend here. ;-)
Reply by ●August 18, 20092009-08-18
@Rune, pnachtwey: I would be interested in looking at a few of the parametric and iterative methods mentioned if you know any names off- hand. @Jerry, Andor: I implemented the least squares estimation, and it looks like something with potential, although the matrix inversion may become an issue in implementation in the fixed point DSP down the line. What would you guys recommend as a comparison metric? Right now I'm using MSE and was going to do Monte Carlo simulations, but in some literature I came across the Cramer Rao bound, although it seems to be mostly applied to frequency estimates and not so much to the amplitude and phase parameters.
Reply by ●August 19, 20092009-08-19
On 18 Aug., 20:39, Dan <danluong...@gmail.com> wrote:> @Jerry, Andor: I implemented the least squares estimation, and it > looks like something with potential, although the matrix inversion may > become an issue in implementation in the fixed point DSP down the > line.It may not be necessary to invert a matrix (or solve a linear equation system) to find the least-squares estimator using a DSP. Consider again your problem: you have measurements y(t) which you assume arise from the model y(t) = a cos(w t) + b sin(w t) + c + measurement_noise(t) where w is a known frequency, t are the sampling times and the additive measurement noise is white. You wish to find (a,b,c). An good way to find (a,b,c) is via least-squares. This results in a linear estimator which means that you can find the least-squares estimates (ah,bh,ch) for (a,b,c) via convolution with your measurements: ah = y * ha bh = y * hb ch = y * hc where * denotes convolution and the FIR filters ha, hb and hc can be precomputed (y is your measurement vector). Look up the normal equations to see how to precompute the filter coefficients. If the sampling times are uniformly spaced, this is a simple way to implement an adaptive estimator for (a,b,c) (assuming that they are slowly varying). You can trade adaptivity for accuracy by chosing the size of the filters.> What would you guys recommend as a comparison metric? Right now I'm > using MSE and was going to do Monte Carlo simulations, but in some > literature I came across the Cramer Rao bound, although it seems to be > mostly applied to frequency estimates and not so much to the amplitude > and phase parameters.If the measurement noise is white then the least-squares estimator is the best you can achieve using convolution (best linear unbiased estimator). If, in addition, the noise is Gaussian, then it is the best you can do period (ie. the variance of your estimates equals the Cramer Rao bound). Regards, Andor






