stft(短時間フー​リエ変換)で自動生成​される図の作成方法

19 visualizaciones (últimos 30 días)
toshinori
toshinori el 25 de En. de 2023
Comentada: toshinori el 6 de Feb. de 2023
ライブエディターで
stft (短時間フーリエ変換)を実行すると図が出てきますが同じ図を作成することが出来ません。
やってみたコマンド
[x]=stft(M);
XA=abs(x/L) :フーリエ変換で得られた複素数を絶対値に、LはLength of signal
for i
for j
Xd=mag2db(XA)
end
end
image(Xd)

Respuesta aceptada

Hernia Baby
Hernia Baby el 27 de En. de 2023
% edit stft
で中身が見れます。例を見てみましょう。
% EXAMPLE 4:
% Compute and display the STFT of a set of intermittent sinusoid
% signals.
データの用意
clc,clear,close all;
silence = zeros(1,1500);
fs = 1e3;
t = (0:1000-1)/fs;
yStep = [sin(2*pi*50*t) silence sin(2*pi*100*t) silence sin(2*pi*150*t)].';
t = seconds((0:length(yStep)-1)/fs).';
xTable = timetable(t,yStep);
出力数なし
stft(xTable);
出力ありで再現
[S,F,T] = stft(xTable);
smag = mag2db(abs(S));
pcolor(seconds(T),F,smag)
xlabel('Time (s)')
ylabel('Frequency (Hz)')
shading flat
colorbar
clim(max(smag(:)) + [-60 0])
  1 comentario
toshinori
toshinori el 6 de Feb. de 2023
大変参考になりました。ありがとうございました。

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!