![](https://i.imgur.com/lsRF9fE.png)
Common 簡介
![](https://i.imgur.com/75T4uLr.jpg)
Application 應用
![](https://i.imgur.com/hc58Fhv.jpg)
Code 程式碼
![](https://i.imgur.com/xwRTyvT.jpg)
- 變數
- c:振幅大小
- fn:頻率
- dt:資料時間解析度
- N:資料筆數 (資料長度)
- n:要分解的頻率
- k:要合併的時間
- 以下僅為 Function 副程式的部分
function [c, fn] = fourierTransform(xvalue, dt)
N=length(xvalue);
k=0:N-1;
for n=0:N-1
fexp=exp(-i*2*pi*n*k/N);
c(n+1)=sum(xvalue.*fexp*dt);
fn(n+1)=n/(N*dt);
end
![](https://i.imgur.com/CECJhId.jpg)
- 變數
- c:振幅大小
- tk:位置,xvalue
- dt:資料時間解析度
- N:資料筆數 (資料長度)
- n:要分解的頻率
- k:要合併的時間
- 以下僅為 Function 副程式的部分
function [tk] = fourierInverseTransform(c, dt)
N=length(c);
n=0:N-1;
for k=0:N-1
fexp=exp(i*2*pi*n*k/N);
tk(k+1)=sum(c.*fexp)/(N*dt);
end
Example 範例
clear all
close all
load 'ffttest_data.mat'
N=length(xvalue);
T=max(tvalue)-min(tvalue);
dt=T/N;
[c, fn] = fourierTransform(xvalue, dt);
plot(fn, abs(c), '-');
xlabel('Frequency (Hz)');
ylabel('Amplitude');
title '<Fourier Transform> Frequency-Amplitude'
set(gca,'fontsize',16)
print '-dpng' 'Fourier Transform.png';
- Result 結果
![](https://i.imgur.com/HBH8wEA.png)
clear all
close all
load 'ffttest_data.mat'
N=length(xvalue);
T=max(tvalue)-min(tvalue);
dt=T/N;
[c, fn] = fourierTransform(xvalue, dt);
[tk]=fourierInverseTransform(c, dt);
plot(tvalue, tk, '-');
xlabel('Time');
ylabel('Amplitude');
title '<Fourier Inverse Transform> Time-Amplitude'
set(gca,'xlim',[0 10.23], 'fontsize',16)
print '-dpng' 'Fourier Inverse Transform.png';
- Result 結果
![](https://i.imgur.com/9aKXzDM.png)
Filter 篩選資料
clear all
close all
load 'ffttest_data.mat'
N=length(xvalue);
T=max(tvalue)-min(tvalue);
dt=T/N;
[c, fn] = fourierTransform(xvalue, dt);
f=find(c<5);
c(f)=0;
[tk]=fourierInverseTransform(c, dt);
plot(tvalue, tk, 'r-');
xlabel('Time');
ylabel('Amplitude');
set(gca,'xlim',[0 10.23], 'fontsize',16)
print '-dpng' 'Fourier Inverse Transform-Filter.png';
- Result 結果
- Fourier Transform 傅立葉轉換
![](https://i.imgur.com/fDMWoAN.png)
- Fourier Inverse Transform 傅立葉反轉換
![](https://i.imgur.com/tAv3rHx.png)
Comparison 比較
|
作圖 |
原始資料 |
![](https://i.imgur.com/mVxS7T0.png) |
傅立葉反轉換 |
![](https://i.imgur.com/9aKXzDM.png) |
振幅大於5 |
![](https://i.imgur.com/tAv3rHx.png) |
合併比較 |
![](https://i.imgur.com/mBphfsW.png) |
Matlab 傅立葉相關 原生方法
- 方法名稱:ifft
- 使用方式:
x=fft(y,n)
Reference 參考資料
- 大氣資料處理、分析與展示 上課講義
- fft 官方文件:https://www.mathworks.com/help/matlab/ref/fft.html
- ifft 官方文件:https://www.mathworks.com/help/matlab/ref/ifft.html
沒有留言:
張貼留言