To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016
If I have an nx1 vector u plotted against time, I was wondering if there is a way to determine the maximum frequency and if possible, the period of time over which this frequency occurs. I'm fairly certain that the sample frequency for the vector u is much higher than the frequency I'm looking for.
I've attached some images of the u plotted against time in what appears to be in order of decreasing frequency.
If it helps at all, u is a control signal that's a function of several control parameters and the dynamics of the system that I'm trying to control. What I'm trying to do is reduce the tracking error of my system without the frequency of the controlled input, the vector u, going above a set frequency. I can reduce the tracking error by setting my control parameters arbitrarily high or low but the problem is that this comes with the drawback very high controller activity.
So basically what I'm asking is for a given 1D vector u, obtained over a 1D vector of sample times t, how do I determine (or estimate) the maximum frequency of the vector u. Also, if it does go above a given frequency, is there a way to determine how many times it does or over which time intervals it occurs? Can I also determine the local amplitudes at these times?
No products are associated with this question.
This signal looks artificial. Is it a test signal you created?
You are asking several very different question. 1) How to determin the highest frequency in a signal. Real world signal contain noise and will be the highest frequency component. I assume you mean highest significant frequency related to the signal. For an offline result nun an FFT.
< Can I also determine the local amplitudes at these times?> Yes