FFTの結果をグラフ化する方法
136 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
一秀 近藤
el 7 de Dic. de 2022
Comentada: 一秀 近藤
el 12 de Dic. de 2022
44100Hzの音声データをFFT関数を使ったのですが、
データの中身が虚数部と実数部に分かれておりグラフ化をしてもうまくいかないです。
①FFTの結果が虚数と実数部に分かれる理由、また何を意味について
②結果をHzとdbのきれいなグラフにする方法
基礎的な内容で申し訳ございませんが、ご教授いただきたいと存じます。
0 comentarios
Respuesta aceptada
Hernia Baby
el 12 de Dic. de 2022
①フーリエ変換の結果が複素数である理由は位相の成分が隠れているからです。
周波数空間への変換といいつつ位相のズレ量がないと逆変換できません。
複素数の実部と虚部は絶対値と位相として見なすことができます。
として絶対値はで位相はとなります。
絶対値と位相を各周波数であらわさず、ベクトルとしてコンパクトに書けるのが利点です。
②先にいった通り絶対値に直してやれば大丈夫です。
手前ミソですが自分の記事を引用します。
適当な信号を作ります。
dt = 0.01;
L = 512;
t = 0:dt:dt*(L-1);
Fs = 1/dt; %サンプリング周波数
y = .5*sin(2*pi*10*t) + 2*sin(2*pi*30*t);
plot(t,y)
xlim([0 t(end)])
xlabel '時間[sec]'
ylabel '信号'
片側スペクトルをデシベルで計算します。
f = Fs*(0:(L/2))/L;
f = f(1:end-1);
cy = fft(y);
P = abs(cy(1:ceil(length(cy)/2)))./(length(y)/2);
plot(f,10*log10(P.^2))
hold on
xlabel '周波数[Hz]'
ylabel '20log_{10}P_1(f)'
Más respuestas (0)
Ver también
Categorías
Más información sobre フーリエ解析とフィルター処理 en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!