1. 程式人生 > 其它 >週期序列傅立葉級數的Matlab實現

週期序列傅立葉級數的Matlab實現

**

週期序列傅立葉級數的Matlab實現

**
週期序列離散傅立葉級數正變換:
在這裡插入圖片描述

週期序列離散傅立葉級數反變換:
在這裡插入圖片描述
MATLAB實現:
DFS式的矩陣形式:在這裡插入圖片描述
週期序列的DFS定義,0≤n≤N-1,0≤k≤N-1
在這裡插入圖片描述
因此只需計算WN因子:
在這裡插入圖片描述
程式碼:

function [Xk] = DFS(xn)
% 計算週期序列的離散傅立葉級數
% 輸入:
%      xn 待變換的週期序列
N = length(xn);
n = 0:1:N-1;
k = 0:1:N-1;          % 設定n和k
WN = exp(-j*2*pi/N);  % 設定Wn因子
nk = n'*k;
WNnk = WN.^nk;        % 計算W矩陣
Xk= xn*WNnk;          % 計算DFS的係數Xk
%disp(xn);disp(Xk);   % 顯示計算結果(係數)
end