How spectrogram amplitude works?

7 views (last 30 days)
Ivan Gasparini
Ivan Gasparini on 13 Apr 2019
Hi all,
I am using the spectrogram function to perform a time-frequency analysis (STFT). I am doing my analysis on a simple signal like chirp, to better understand how to use this command.
However, I noticed that using:
figure
spectrogram(Sign,window,N_overlap,N_fft,f_samp);
the amplitudes are plotted in dB/Hz. Since the signal that I generated has an amplitude between -1 and 1, I would like to see the real amplitudes also in the STFT graph, namely between 0 and 1 (abs (A)).
I also tried to use the command:
[STFT,F,T] = spectrogram(Sign,window,N_overlap,N_fft,f_samp);
where STFT are the complex vectors for each windows but plotting the abs(STFT), the amplitude not yet the real ones.
In conclusion, I tried to generate the STFT manually (see the script in attached), but alsoin this case I don't understand how to elaborate the amplitudes to get those of the real signal.
Can anyone explain me how to get the amplitudes of the correct signal in the STFT graph?
If the default amplitudes are in dB/Hz, I can transform the decibel with 10^(N/20) but for which frequency are they normalized?
Best regards,
Ivan

Answers (0)

Categories

Find more on Time-Frequency Analysis in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!