Skip to main content
39 events
when toggle format what by license comment
Jul 22, 2023 at 10:41 history edited Royi CC BY-SA 4.0
added 74 characters in body
Jul 17, 2023 at 5:32 comment added Royi @robertbristow-johnson, Do you mean the Maximum Likelihood textbook?
Jul 16, 2023 at 20:29 comment added robert bristow-johnson I'm gonna write my answer first. There is some commonality, but mine is more from the textbook.
Jul 16, 2023 at 19:36 comment added Royi @robertbristow-johnson, Yes, I know. OverLordGoldDragon is not satisfied. It's OK.
Jul 16, 2023 at 19:33 comment added robert bristow-johnson But I am unhappy with the answer. The downvote came from someone else.
Jul 16, 2023 at 19:24 comment added Royi @robertbristow-johnson, You're welcome! Sharing knowledge is the reason to be here :-).
Jul 16, 2023 at 19:01 comment added robert bristow-johnson And thanks for making a copy of the Kay paper available.
Jul 16, 2023 at 18:58 comment added robert bristow-johnson I need the phase increment in order to get instantaneous frequency. And then the averaging shown in the following lines is an LPF that smooths out instantaneous frequency. But at least that tells me one reason why it's better that defining the principal argument $\arg(-1) = \pi$ instead of $\arg(-1) = -\pi$. (Should be capital A for principal arg.)
Jul 16, 2023 at 17:55 comment added Royi @robertbristow-johnson, Exactly. Very simple. It can be optimized for that case.
Jul 16, 2023 at 17:49 comment added robert bristow-johnson Then what is meant by the angle in this: angle(vX(ii)' * vX(ii + 1))? If vX is just real, all we get is $\pi$ or $0$.
Jul 16, 2023 at 17:36 comment added Royi @robertbristow-johnson, It doesn't have to be. The algorithm works if it is and if it is not. The performance is different as you can see in the 2 sets of graphs. The performance is better when it is analytical. Whether you take real signal and apply hilbert() on it or if you get it from the sensor (Like in RF).
Jul 16, 2023 at 17:23 comment added robert bristow-johnson Is vX the analytic signal or not?
Jul 16, 2023 at 17:13 comment added Royi @robertbristow-johnson. What you see in the code block above is the estimation algorithm. Not the simulation. The simulation generates harmonic signal (Real or Signal) and pushes it to the estimator. The code block the simpler estimator (Type 1). In the 1st set of graphs you can see its performance on real harmonic signals. In the 2nd set of graphs you may see its performance on analytic signal (Hilbert on the real noisy signal). Its performance on the model of pure complex harmonic signal will be a bot better. I hope it clarifies things. If not, ping me.
Jul 16, 2023 at 17:04 comment added Royi @robertbristow-johnson, If you mean the code above. Then it can be sine / cosine or analytic (Harmonic Exponent). You can see I posted the performance for either case. The CRLB is Cramer Rao Lower Bound for single tone estimation. There is one for the complex case and one for the real case. Basically factor of 2 between them.
Jul 16, 2023 at 16:13 comment added robert bristow-johnson Sorry, Roy. You're simply not answering the question. You haven't said clearly if vX[ii] does indeed come out of hilbert() (and is the analytic signal of the real sinusoidal plus noise input). And you haven't said what "CRLB" is.
Jul 16, 2023 at 5:24 comment added Royi @robertbristow-johnson, In the code vX = vS + vW;. Where vW is the noise so the model is lie you wrote. Indeed hilbert() returns the analytic signal. the CRLB is just the classic CRLB for single tone estimation. Factor 12 for real signal and factor 6 for complex.
Jul 16, 2023 at 0:49 comment added robert bristow-johnson You have $$ x[n] = \cos \left( 2 \pi \frac{f}{f_\mathrm{s}} n + \phi \right) + w[n]$$ which might correspond to $$ x_\mathrm{a}[n] =e^{j2\pi \frac{f}{f_\mathrm{s}} n + j\phi} + w[n]$$ But I have see references to Kay that have $$ x_\mathrm{a}[n] =e^{j2\pi \frac{f}{f_\mathrm{s}} n + j\phi + e[n]}$$ Is that the "MSE" in your plots above? This answer is a little lacking if all it does is point to Kay and show (without demonstration) the error performance. I would like to see a more explicit and complete answer. But I didn't downvote this. That was someone else.
Jul 16, 2023 at 0:38 comment added robert bristow-johnson It's not me, honest. I will +1 soon, but I want some questions answered. 1. So, is vX(ii) the complex analytic signal from using hilbert() in MATLAB? 2. I can't get the Kay paper (paywall), but your code is the Kay Type1 alg? What is the Kay Type 2 alg? and 3. What is the CRLB alg?
Jul 15, 2023 at 13:49 history edited Royi CC BY-SA 4.0
added 160 characters in body
Jul 15, 2023 at 11:56 comment added Royi Could the one who -1 explain?
Jul 11, 2023 at 11:57 comment added Peter K. Ya. As soon as you’ve hit the CRLB, you’ve done as well as possible without some other information (which will probably have a different CRLB). Of course, this assumes the regime is below (above?) threshold, and the estimator hasn’t broken down so it’s still operating in the “linear” regime.
May 26, 2022 at 18:56 comment added Royi @GideonGenadiKogan, It will achieve the CRLB. This is the very definition of as good as it gets. The DFT analysis can't do better than the CRLB as well. I haven't check which method is better for SNR < 10 [dB] but for SNR >= 10 [dB] this method is as good as DFT and I'd say it is simpler (No need to apply interpolation, etc...).
May 26, 2022 at 18:45 comment added Gideon Genadi Kogan @Royi, It will add complexity but results will be as good as it gets without DFT analysis.
May 26, 2022 at 18:43 comment added Royi @GideonGenadiKogan, What's the problem with the 2nd bullet? It says exactly what I wrote. To get the CRLB you need the Analytic Signal. But it works pretty well without it as well.
May 26, 2022 at 18:42 comment added Gideon Genadi Kogan @Royi, please consider editing the second bullet in the summary...
May 26, 2022 at 18:40 comment added Royi @GideonGenadiKogan, It works without the analytic signal extension as well. Indeed this method was created with complex harmonic signal in mind.
May 26, 2022 at 18:35 comment added Gideon Genadi Kogan @Royi, Hilbert transform is using DFT. So, is it better than max likelihood-DFT?
Aug 18, 2021 at 5:49 history edited Royi CC BY-SA 4.0
deleted 1 character in body
Aug 11, 2021 at 13:24 history edited Royi CC BY-SA 4.0
added 2726 characters in body
Aug 9, 2021 at 16:11 history edited Royi CC BY-SA 4.0
added 9 characters in body
S Aug 9, 2021 at 16:09 history suggested Mark Omo CC BY-SA 4.0
Added direct PDF link
Aug 9, 2021 at 14:43 review Suggested edits
S Aug 9, 2021 at 16:09
Aug 9, 2021 at 14:06 comment added Royi @Engineer, Indeed. This is a really nice trick with simple intuition. It is much more robust than the 3 points method in time domain.
Aug 9, 2021 at 14:05 comment added Royi @Neil_UK, This will work: citeseerx.ist.psu.edu/viewdoc/….
Aug 9, 2021 at 13:11 comment added Engineer This is cool. The tradeoff is being able to operate at lower SNR with MLE but computation time takes longer, or have a quicker computation time but require a higher SNR
Aug 9, 2021 at 11:17 comment added Mark This is great. Specifically the intuition behind it.
Aug 9, 2021 at 11:16 history edited Royi CC BY-SA 4.0
added 84 characters in body
Aug 9, 2021 at 11:04 comment added Neil_UK The Stephen Kay link is paywalled. If there a free version of the paper available?
Aug 9, 2021 at 10:12 history answered Royi CC BY-SA 4.0