Plotting matrix as spectrogram
7 views (last 30 days)
I want to plot a matrix of 256* 16, as spectrogram. But when I use surf command to do so, I got spectrogram of size 343*436. I want the image to be of same size as that of matrix i.e. 256*16. Kindly suggest any solution without cropping or resizing the image as both of them distorts the quality.
Robert U on 26 Aug 2022
Hi Sania Gul,
The values you provide are not consistent. I assume your "audio" is a vector of a certain length N, sampled with the frequency Fs.
Applying the function spectrogram with the window-length 512, overlap 256 and NFFT of 512 lead certainly to the dimension of Q of NFFT/2+1 = 257 and ((N - 512)/(512-256)).
If you want Q to be 257 x 16 you would have to provide a snippet of roughly 4600 samples.
fs = 60e3;
t = 0:1/fs:4599/fs;
x1 = vco(sawtooth(2*pi*t,0.5),[0.1 0.4]*fs,fs);
[Q,F,T] = spectrogram(x1,hann(512),256,512,fs,'yaxis');