MTALAB中的fourier(傅里葉級數)變換提取諧波分量

MTALAB中的fourier(傅里葉級數)變換提取諧波分量

在研究中通常需要對某個數據的波形進行分析,利用傅里葉級數變換分解高次諧波和低頻分量

在simulink可以用powergui裏的FFT分析,但是其分析後的漂亮統計圖難以導出,通常僅截圖作爲他用,因此可導出到工作區重新畫出。

首先,在simulink中將需要進行分析的波形數據利用to workspace模塊導入到工作區;然後返回matlab界面創建腳本,編程分析並畫出各頻率下的分量。例子如下:

在simulink隨機生成一個波形,如圖:
在這裏插入圖片描述
將其導入工作區中,創建腳本文件,程序如下:

clf;
fs=1000;  %採樣頻率
N=1024;  %採樣數據點數
n=0:N-1;
t=n/fs;  %時間序列
y=fft(y2.signals.values(:,1),N);  %進行快速傅里葉變換   先查看time採樣總數,再按照時間比例算出相應時間對於的採樣點,帶入signal中可畫出對於採樣時間點的信號值大小
mag=abs(y);  %求傅里葉變換後的振幅
f=n*fs/N;  %頻率序列
subplot(2,1,1),plot(f,mag);  %繪製隨頻率變化的振幅
xlabel('f/Hz');
ylabel('振幅');
% title('N=128');
grid on;

subplot(2,1,2),plot(f(1:N/2),mag(1:N/2));  %繪製Nyquist頻率之前隨頻率變換的振幅
xlabel('f/Hz');
ylabel('振幅');
% title('N=128');
grid on;

% subplot(2,2,3);
% plot(Ik0.time,Ik0.signals.values(:,1),'b','LineWidth',1);
% grid on;


作者此處用y2裝導入的數據,具體程序功能見註釋

最後點擊運行,得到如下結果:
在這裏插入圖片描述
在simulink裏的powergui中的FFT analysis的結果如圖,其僅對0秒到0.02秒時間段的波形進行變換,可能會有參數設置不同帶來的較大區別,可自行進行對比:
在這裏插入圖片描述

歡迎關注公衆號獲取matlab/simulink學習資料:
在這裏插入圖片描述
說明:本文僅助力於學習,歡迎交流

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章