Get STFT plot with matrix Input

5 次查看(过去 30 天)
Nour
Nour 2019-9-16
编辑: nur dsc 2021-4-6
Hello,
I am working with a radar output Q/ I matrix and I want to apply stft on the complex matrix (I + j Q) using matlab.
The stft function didn't accept Matrix Input. Is there a way to do it ?
Thank you so much in advance :)

回答(2 个)

nur dsc
nur dsc 2021-4-6
编辑:nur dsc 2021-4-6
Hi Nour,
You do not need a matrix format actually. I+j*Q is also in vector format and you can apply stft this complex data.
If you have orijinal x signal you can use hilbert(x).
result = hilbert(x)
then you can apply stft to result.

Priyanshu Mishra
Priyanshu Mishra 2019-9-19
Hi Nour,
In the documentation page of stft, under the input argument section, it is mentioned that x can take vector and matrix both. You may refer to examples given in the documentation page of stft.
  4 个评论
Nour
Nour 2019-9-20
Perfect I used this version and it works, but it does not plot the result. Do you have any idea how to get the plot? Thank you so much in advance :)
Sara James
Sara James 2019-10-21
The stft function in 2019b only supports plotting of vector inputs. If you want to use the convenience plot of stft for your matrix input, you could do so within a for loop. Alternatively, you could specify your own plots using pcolor and subplot like in the following example:
fs = 1e3; % Sampling frequency (Hz)
t = 0:1/fs:1-1/fs; % Time (sec)
x = [chirp(t,100,1,300,'quadratic',45,'concave');
chirp(t,200,1,600,'quadratic',[],'convex');
chirp(t,300,1,500,'logarithmic')]'; % Multi-channel signal
[S,F,T] = stft(x,fs,'Window',hamming(128,'periodic'),'OverlapLength',50);
smag = mag2db(abs(S)); % Convert to dB
caxisLims = max(smag(:)) + [-60 0]; % Color axis limits
figure('Name','STFT')
numChannels = size(x,2);
for ii = 1:numChannels
subplot(2,2,ii)
pcolor(T,F,smag(:,:,ii))
xlabel('Time (s)')
ylabel('Frequency (Hz)')
shading flat
colorbar
caxis(caxisLims)
title(sprintf('Channel %d',ii))
end

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by