How can I get the frequency or amplitude of certain point of the given signal by matlab?
3 次查看(过去 30 天)
显示 更早的评论
How can I get the frequency or amplitude of certain point of the given signal by matlab without using plot?
for example,
Using function A, A(signal x,'certain point') returns frequency or amplitude of that point of time.
0 个评论
采纳的回答
Walter Roberson
2017-11-30
Multiply the time of the "certain point" by the sampling frequency, and add 1, in order to get the sample index in the signal. Access the signal at that index to get the amplitude there.
In order for there to be a "frequency" there has to be a change in value. At any given time, there is no change in value, just the one amplitude. Therefore you cannot have a frequency at any given point in time.
To be able to resolve a frequency of n Hz, you need at least max(2*n, 2 * Fs/n) samples.
Generally what you need to do is a short-time fourier transform (stft) such as is implemented by spectrogram or by https://www.mathworks.com/matlabcentral/fileexchange/45197-short-time-fourier-transformation--stft--with-matlab-implementation
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 변환 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!