Skip to main content
6 events
when toggle format what by license comment
Mar 3, 2021 at 21:44 comment added curious individual I ran some tests with multiplying 2 different constant frequency sine functions together and got negative instantaneous frequencies in some spots. There is no noise in this case. I will update the question with some images so you can see what I am observing. Learning so much by running a bunch of tests! This is fascinating stuff! Thanks for your feedback!
Mar 3, 2021 at 20:18 comment added a concerned citizen The domain of atan() is -pi/2...pi/2; atan2() extends that to all the four quadrants. But what I was hinting at was that the wrapping of the phase is not your only problem, it's (probably) the noise, too. And the reason I said "my guess" in the conclusion is because I can't know for sure, you have your data, you can analyze it, and determine if the noise is enough such that the differentiation can cause those high spikes. It could also be that around the wrapping the phase has jitter, and it wraps back and forth. Or other causes.
Mar 3, 2021 at 20:13 comment added curious individual Good questions! It looks like np.angle uses arctan2, which is based on the underlying atan2 function in the C library. I am not sure about it's limitations. Googling now.
Mar 3, 2021 at 18:48 comment added a concerned citizen @amyaner Isn't the phase calculated based on an atan() or atan2()? What are their limits? What happens when they are reached? unwrap() is meant to take care of them, but if the phase is noisy, the derivative will amplify the imperfections.
Mar 3, 2021 at 18:44 comment added curious individual Right, when instantaneous phase has a negative slope, we get negative instantaneous frequencies. But, why is this happening? Why does the phase have a negative slope?
Mar 2, 2021 at 10:59 history answered a concerned citizen CC BY-SA 4.0