DSPRelated.com
Forums

Show me the numbers

Started by Cedron May 28, 2015
[...snip...]
> >Hi Julien, > So you were able to implement Cedron's scheme in >software. Good for you! (I mean it.)
I'm extremely glad he did it. [...snip...]
> >Based on your results, it looks like the Cedron method >has similar performance to Candan's method.
I may be biased (pun intended), but I think that Julien's chart shows that mine stands out from the pack. Particularly in the lower noise range where much greater precision is acheived.
>Two papers from Candan can be found at: > >http://www.eee.metu.edu.tr/~ccandan/pub_dir/FineDopplerEst_IEEE_SPL_June2011.pdf >
Thanks for posting the link. Julien's chart is the same as Candan's Figure 5. The "shelf" is clearly visible in both.
>and > >http://www.eee.metu.edu.tr/~ccandan/pub_dir/Orguner_Candan_Freq_Est_From_Many_Bins_Elsevier_SP_Dec_2014.pdf >
[...snip...]
> >This 'freq estimation based on DFT samples' topic has >been attacked by dozens of skilled DSP people for >decades. It's not as simple as Cedron implies.
Which boggles my mind why the exact solution has not been found before. If it had, somebody would have surely pointed it out to me by now. How to prove a negative?
>And the results of all that study and effort are a >collection of "frequency estimation" methods. >And none of those DSP folk, other than Cedron, has >claimed to produce "exact" frequency estimation results. >
The formulas (bin value, frequency, and amplitude/phase) are all exact because no approximation, e.g. higher order terms tossed out, were taken in the derivation from the fundamental definitions.
>I think the word "exact" should be avoided when >discussing this 'freq estimation based on DFT samples' >topic. Measuring the freq of a real-world, >noise-contaminated, sinusoidal signal is never, >as far as I can tell, "exact".
Please don't misquote my claims. The equation is exact which means in the pure tone, noiseless case, the answers will be correct to the precision of the variables. In the presence of noise, it is a robust estimator. Clearly the results of my data table, and Julien's chart, shows that its performance is on par with Candan's/Jacobsen's at almost all noise levels. This is not surprising since, as I have repeatedly said, it can be shown that Jacobsen's equation is an approximation of mine. It's correctness should make it the overwhelming choice in low noise high precision applications.
> >For a trivial example, no computer on Earth can measure >the "exact" frequency of a noise-free input sine wave >sequence whose frequency is 100/3 Hz. For that matter, >no computer screen is capable of displaying the "exact" >frequency of that sine wave in decimal format. :-) >
Did you happen to see the delineation between "Mathematically Exact" and "Engineering Exact" that I made in the Matlab thread?
>I've done a little Matlab modeling on this topic and, >as far as I can tell, Jacobsen's method is the most >accurate method that I've encountered. I'm talking >about processing real-world input signals that have >moderate SNRs (less than, say, 15 dB). >
Then that is the one to compare mine against should you be so inclined. [...snip...]
> >[-Rick-]
Thanks for your input. (I mean it.) Ced --------------------------------------- Posted through http://www.DSPRelated.com
Rick Lyons <R.Lyons@_BOGUS_ieee.org> writes:
> [...] > For a trivial example, no computer on Earth can measure > the "exact" frequency of a noise-free input sine wave > sequence whose frequency is 100/3 Hz.
Rick, I don't think that example is correct in the general sense. It depends on the sample rate, doesn't it? Consider the specific example of Fs = 400/3 samples/second. Then a 100/3 Hz frequency would be at exactly pi/2 radians, or at bin 2^(N-2) for a 2^N-point FFT (N >= 2). Right? -- Randy Yates Digital Signal Labs http://www.digitalsignallabs.com
Randy Yates <yates@digitalsignallabs.com> writes:

> Rick Lyons <R.Lyons@_BOGUS_ieee.org> writes: >> [...] >> For a trivial example, no computer on Earth can measure >> the "exact" frequency of a noise-free input sine wave >> sequence whose frequency is 100/3 Hz. > > Rick, > > I don't think that example is correct in the general sense. > It depends on the sample rate, doesn't it? > > Consider the specific example of Fs = 400/3 samples/second. > Then a 100/3 Hz frequency would be at exactly pi/2 radians, > or at bin 2^(N-2) for a 2^N-point FFT (N >= 2). Right?
PS: I see your point, though. There are an infinite number of numbers (even within the dynamic range of a float) which a float can't represent exactly. However what if Cedron's techniques were considered in the analytic domain only, i.e., using real/complex numbers and analytical operations? -- Randy Yates Digital Signal Labs http://www.digitalsignallabs.com
>Rick Lyons <R.Lyons@_BOGUS_ieee.org> writes: >> [...] >> For a trivial example, no computer on Earth can measure >> the "exact" frequency of a noise-free input sine wave >> sequence whose frequency is 100/3 Hz. > >Rick, > >I don't think that example is correct in the general sense. >It depends on the sample rate, doesn't it? > >Consider the specific example of Fs = 400/3 samples/second. >Then a 100/3 Hz frequency would be at exactly pi/2 radians, >or at bin 2^(N-2) for a 2^N-point FFT (N >= 2). Right? >-- >Randy Yates >Digital Signal Labs >http://www.digitalsignallabs.com
I think he is questioning my use of the word "exact" and alluding to the fact that a finite decimal or binary representation cannot hold a repeating fraction, or an irrational number for that matter. I have seen implementations of a rational data type that keep both a numerator and denominator as integers. That is besides the point though. In mathematics, "exact" has a very well defined meaning that is not misleading. My equations are mathematically exact. Rick also said:
>I've done a little Matlab modeling on this topic and, >as far as I can tell, Jacobsen's method is the most >accurate method that I've encountered. I'm talking >about processing real-world input signals that have >moderate SNRs (less than, say, 15 dB). >
I think that my data tables show that my equations are considerably more accurate than Candan's. What also distinguishes mine from the others examined is that the accuracy is not sample size dependent. Ergo, it doesn't follow the shelf in Julien's/Candan's diagram, but lays right along the Cramer-Rao bound for any sample size. Honestly, my derivations are not that complicated. I did use the n and k subscripts in reverse of what is conventional so that might be a hindrance to understanding them for some. I intend to edit the blogs to correct that. I truly am trying to get folks to understand what I have done. Any one who can understand the typical DSP literature should be able to understand my blog articles. They are meant to be entry level. Ced --------------------------------------- Posted through http://www.DSPRelated.com
[...snip...]
> >However what if Cedron's techniques were considered in the analytic >domain only, i.e., using real/complex numbers and analytical operations? >-- >Randy Yates >Digital Signal Labs >http://www.digitalsignallabs.com
Yes, yes, yes, please do. Sorry I didn't see this post before I posted my reply to your other post. I would also like to point out that understanding my equations of the discrete FT in no way relies on having to have an understanding of the continuous FT. Since the "D" in DSP stands for "Digital" implying "Discrete", I would think that this would be a very attractive attribute for those people entering the field from an audio processing perspective rather than an EE one. Ced --------------------------------------- Posted through http://www.DSPRelated.com
On Fri, 29 May 2015 23:42:22 -0400, Randy Yates
<yates@digitalsignallabs.com> wrote:

>Randy Yates <yates@digitalsignallabs.com> writes: > >> Rick Lyons <R.Lyons@_BOGUS_ieee.org> writes: >>> [...] >>> For a trivial example, no computer on Earth can measure >>> the "exact" frequency of a noise-free input sine wave >>> sequence whose frequency is 100/3 Hz. >> >> Rick, >> >> I don't think that example is correct in the general sense. >> It depends on the sample rate, doesn't it? >> >> Consider the specific example of Fs = 400/3 samples/second. >> Then a 100/3 Hz frequency would be at exactly pi/2 radians, >> or at bin 2^(N-2) for a 2^N-point FFT (N >= 2). Right? > >PS: I see your point, though. There are an infinite number of numbers >(even within the dynamic range of a float) which a float can't represent >exactly. > >However what if Cedron's techniques were considered in the analytic >domain only, i.e., using real/complex numbers and analytical operations?
Hi Randy, If you were born in the Middle Ages your name would have been "Randy, Ever the Thoughtful, Yates." I say that with kindest regards because you're so much more analytical than I. :-) I was somewhat hesitant to give my 'trivial example' because I was worried smart guys like you might poke holes in it. In any case, I was merely trying to make the point that using the word "exact" in the title of a blog is a bit risky. I say that because representing a decimal value based on a finite number of binary bits can sometimes not be "exact". Hope you're doin' well Randy. [-Rick-]
On Fri, 29 May 2015 21:14:48 -0500, "Cedron" <103185@DSPRelated>
wrote:

  [Snipped by Lyons]

>Lyons wrote:
>>I think the word "exact" should be avoided when >>discussing this 'freq estimation based on DFT samples' >>topic. Measuring the freq of a real-world, >>noise-contaminated, sinusoidal signal is never, >>as far as I can tell, "exact". > >Please don't misquote my claims.
Whoa. Wait a minute! I did NOT misquote your claims. You used the word "Exact" in the title of your blogs and I merely suggested that the word "exact" should be avoided when discussing signal processing algorithms. Cedron, it's clear to us that you have some DSP skills and knowledge. OK, this is a good thing so no problem there. Your problem is that you "come on" far too strong. You write things similar to" "I have solved a DSP problem that no one else has ever solved. And my solution is perfect, it's absolutely God-damned exactly perfect!" What you should write is: "I have a solution to a DSP problem that I think is accurate. Please have a look at my solution and I welcome any and all comments." I bought an English translation of Sir Issac Newton's 'Principia' at a garage sale last week. (Newton's Principia is considered by many historians to be one of the greatest discourses ever produced by the human intellect.) In the Preface of that book Newton, with humility, tells his readers that he presents his thoughts not to invite criticism but rather to invite suggestions on how to make his material better. Cedron, if Sir Issac Newton can show a little humility so can you.
>>For a trivial example, no computer on Earth can measure >>the "exact" frequency of a noise-free input sine wave >>sequence whose frequency is 100/3 Hz. For that matter, >>no computer screen is capable of displaying the "exact" >>frequency of that sine wave in decimal format. :-) >> >Did you happen to see the delineation between "Mathematically Exact" and >"Engineering Exact" that I made in the Matlab thread?
What does a Matlab thread have to do with my claim that the word "exact" should be avoided in the literature of DSP? [-Rick-]
On 30.05.2015 7:42, Rick Lyons wrote:

(snip)

> In any case, I was merely trying to make the point > that using the word "exact" in the title of a blog > is a bit risky. I say that because representing a > decimal value based on a finite number of binary bits > can sometimes not be "exact".
That's true. However, there's more about DSP than just binary fractions. Any rational factor of the sampling frequency can also be realized exactly. Best regards, Evgeny.
On Friday, May 29, 2015 at 9:16:44 PM UTC-7, Cedron wrote:
 > >Rick Lyons <R.Lyons@_BOGUS_ieee.org> writes:
 > >> [...]
 > >> For a trivial example, no computer on Earth can measure 
 > >> the "exact" frequency of a noise-free input sine wave 
 > >> sequence whose frequency is 100/3 Hz.  
...
> I think he is questioning my use of the word "exact" and alluding to the > fact that a finite decimal or binary representation cannot hold a > repeating fraction, or an irrational number for that matter. I have seen > implementations of a rational data type that keep both a numerator and > denominator as integers. That is besides the point though. In > mathematics, "exact" has a very well defined meaning that is not > misleading. My equations are mathematically exact.
The definition of the DFT is exact and your equations are exact, but only in symbolic form. Common numeric representations cannot exactly implement the DFT (or FFT)or your algorithm. considerable study has gone into the effects of data representation and algorithm. Furthermore, any real-world data that gets to a DFT will have had imperfect band-limiting and imperfect quantization performed as well as other sources of interference. There really is little place for "exact solutions" in DSP applications. Perhaps a symbolic math group could be more interested. More of interest in DSP applications are the details of implementation cost and the effects of noise and interference. Most applications of DFTs use windowing to meet system requirements in the presence of these effects. > Rick also said: > >I've done a little Matlab modeling on this topic and, > >as far as I can tell, Jacobsen's method is the most > >accurate method that I've encountered. I'm talking > >about processing real-world input signals that have > >moderate SNRs (less than, say, 15 dB). > >
> > I think that my data tables show that my equations are considerably more > accurate than Candan's. What also distinguishes mine from the others > examined is that the accuracy is not sample size dependent. Ergo, it > doesn't follow the shelf in Julien's/Candan's diagram, but lays right > along the Cramer-Rao bound for any sample size.
How can the other algorithms be so different when, as you say, they approximate yours? If you'd like to start realistic testing of your algorithms you should find a better noise source than what you have described so far.
> Honestly, my derivations are not that complicated. I did use the n and k > subscripts in reverse of what is conventional so that might be a hindrance > to understanding them for some. I intend to edit the blogs to correct > that. I truly am trying to get folks to understand what I have done. Any > one who can understand the typical DSP literature should be able to > understand my blog articles. They are meant to be entry level. > > Ced
So far, not everyone who can understand typical DSP literature agrees with your content. Dale B. Dalrymple
Hi Rick,

Thank you very much for your feedback and suggested readings!

I know that these kind of comparisons have already been done before, but I
have personal motivations to do this: Having a big limitation, namely I
don't understand really well a DSP technique if I don't program / test it.
Also it is very interesting, because when putting the things into
practive, some interesting questions, even more "theoretical", often
arise.

I have received yesterday many good suggestions and ideas to improve the
comparison by mail from Eric Jacobsen. As a result of these exchanges, you
can find on the link http://92.243.17.111/uploads/mse.pdf an updated
graphic of the comparison. Now the RC bound is shown (minimum variance of
any estimators), and the results are more accurate (removed near-DC and
near-Nyquist frequencies from the test), the gaussian method shows finally
its 'exact' property (no noise floor). My implementation of the Candan
method is still bugged.

Also, I still ask myself a lot of questions about the RC bound, its
dependence on the frequency if we know the phase, and its independance to
frequency if the phase is unknown, this is still not very clear to me (how
can adding information raise the RCB?). I will take now a few days to read
the book "Fundamentals of Statistical Signal Processing: Estimation
Theory" which give both RC formula and graphs (pages 37 and 57).

And another thing that is not very clear, is that I obtain strange results
for all methods at near-DC or near-Nyquist frequency, although I don't
make assumptions about the phase / amplitude. I need to think more about
this.

Also I will read volontiers the references you have given.

I hope to come back in a few days with more solid results,

Many thanks for your help,

Julien




---------------------------------------
Posted through http://www.DSPRelated.com