Determine maximum frequency of a discrete vector.
1 次查看(过去 30 天)
显示 更早的评论
Hi there,
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?
0 个评论
回答(1 个)
Terry
2012-10-4
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
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Signal Routing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!