How to get the input unit back with the spectrogram function
6 次查看(过去 30 天)
显示 更早的评论
Hello,
I have a signal (acceleration) in witch I want to know how much of a certain frequency is excited. For that I use spectrogram and I want to extract, at a point in time and frequency, the level of excitation in acceleration unit.
If I take sig as a signal then abs( fft(sig) )*2/window gives me the rigth amplitude (window is the size of the window). I tested it with sig = 300*cos(2*pi*f*t) and it indeed gave me 300 at the frequency f. So it works fine with fft.
But when I use it on the 's' output of spectrogram it dont give me that at all.
Any ideas to recover my acceleration unit from the spectrogram ?
Thx
2 个评论
Mathieu NOE
2021-5-11
hello
sometimes it's not so easy to understand how things are scaled inside matlab's functions
that's why I ended up rebuilding the spectrogram with fft so I know the amplitude of the spectrum matches the input signal
FYI I use hanning window and the corresponding corrrection factor
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Time-Frequency Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
