既存データに対してスペクトログラムを作成する方法

MATLABでFourier変換を用いてスペクトル解析を行うことができます。手順は以下の通りです。

  1. 変数xにすでにデータが保存されているとします。
  2. x = fft(x);
  3. N = length(x);
    f = (-N/2:N/2-1)*(1/N);
    f = fftshift(f);
  4. absX = abs(X);
  5. plot(f, abs(X));
  6. stem(f, abs(x))

完全なコードの例:

% 已有数据示例
x = [1, 2, 3, 4, 5, 4, 3, 2, 1];

% 计算傅里叶变换
X = fft(x);

% 计算频率轴
N = length(x);
f = (-N/2:N/2-1)*(1/N);
f = fftshift(f);

% 计算幅度谱
absX = abs(X);

% 绘制频谱图
plot(f, absX);
title('频谱图');
xlabel('频率');
ylabel('幅度');

上記のコードを実行すると、既存のデータのスペクトルグラフが得られます。

bannerAds