天天看點

matlab 離散傅裡葉變換_Matlab中的傅裡葉變換

matlab 離散傅裡葉變換_Matlab中的傅裡葉變換
兩種一般的方法:
  • 根據傅裡葉變換的定義:
matlab 離散傅裡葉變換_Matlab中的傅裡葉變換

​典型程式:

t=0:1000;

xt=sin(t).*exp(-0.02*t); %随時間變化的信号 (時間空間)

subplot(2,1,1);

plot(t,xt); %時間圖

N=length(xt); %傅裡葉變換公式中的n,N和k

k=0:N-1;

n=0:N-1;

xk=xt*exp(-1j*2*pi/N).^(n'*k); %傅裡葉變換公式

subplot(2,1,2);

plot(n,xk); %傅裡葉變換後的信号(頻率空間)

title('x(k)');

  • FFT指令實作

典型程式:

clear all

f0 = 100;

fs = 500;

Ts = 1/fs;

n=1:1:1000;

N = length(n);

y = sin(2*pi*f0*n*Ts);

plot(n,y)

y_fft=fft(y);

P2_y_fft =abs(y_fft/N);

P1_y_fft = P2_y_fft(1:N/2+1);

P1_y_fft(2:end-1) = 2*P1_y_fft(2:end-1)

f = fs*(0:N/2)/N;

figure

plot(f,P1_y_fft)

xlabel('f (Hz)')

參考資料:
           

matlab關于fft的應用(一) - 你好,我是洪大帥~ - CSDN部落格​blog.csdn.net

matlab 離散傅裡葉變換_Matlab中的傅裡葉變換

繼續閱讀