stft(短時間フーリエ変換)で自動生成される図の作成方法
14 views (last 30 days)
Show older comments
ライブエディターで
stft (短時間フーリエ変換)を実行すると図が出てきますが同じ図を作成することが出来ません。
やってみたコマンド
[x]=stft(M);
XA=abs(x/L) :フーリエ変換で得られた複素数を絶対値に、LはLength of signal
for i
for j
Xd=mag2db(XA)
end
end
image(Xd)
0 Comments
Accepted Answer
Hernia Baby
on 27 Jan 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])
More Answers (0)
See Also
Categories
Find more on Digital Input and Output 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!
